From owner-acpi-jp@jp.freebsd.org  Mon Nov 22 23:04:54 1999
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id XAA04141;
	Mon, 22 Nov 1999 23:04:54 +0900 (JST)
	(envelope-from owner-acpi-jp@jp.FreeBSD.org)
Received: from light.imasy.or.jp (root@light.imasy.or.jp [202.227.24.4])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id XAA04135
	for <acpi-jp@jp.freebsd.org>; Mon, 22 Nov 1999 23:04:52 +0900 (JST)
	(envelope-from iwasaki@jp.FreeBSD.org)
Received: from tasogare.imasy.or.jp (daemon@tasogare.imasy.or.jp [202.227.24.5])
	by light.imasy.or.jp (8.9.3+3.2W/3.7W-light) with ESMTP id XAA18636
	for <acpi-jp@jp.freebsd.org>; Mon, 22 Nov 1999 23:04:48 +0900 (JST)
	(envelope-from iwasaki@jp.FreeBSD.org)
Received: from localhost (isdn33.imasy.or.jp [202.227.24.225])
	by tasogare.imasy.or.jp (8.9.3+3.2W/3.7W-tasogare/smtpfeed 1.01) with ESMTP id XAA01697
	for <acpi-jp@jp.freebsd.org>; Mon, 22 Nov 1999 23:04:46 +0900 (JST)
	(envelope-from iwasaki@jp.FreeBSD.org)
Message-Id: <199911221404.XAA01697@tasogare.imasy.or.jp>
To: acpi-jp@jp.freebsd.org
In-Reply-To: Your message of "Mon, 22 Nov 1999 18:11:52 +0900"
	<199911220911.SAA23137@tasogare.imasy.or.jp>
References: <199911220911.SAA23137@tasogare.imasy.or.jp>
X-Mailer: Mew version 1.93 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Date: Mon, 22 Nov 1999 23:04:34 +0900
From: Mitsuru IWASAKI <iwasaki@jp.freebsd.org>
X-Dispatcher: imput version 980905(IM100)
Lines: 143
Reply-To: acpi-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+990727
X-Sequence: acpi-jp 102
Subject: [acpi-jp 102] Re: AML interpreter
Errors-To: owner-acpi-jp@jp.freebsd.org
Sender: owner-acpi-jp@jp.freebsd.org
X-Originator: iwasaki@jp.freebsd.org

> $B$=$&$$$($P!"IQHK$K(B ($B?tI42s(B?) malloc()/free() $B$9$k$H(B
> $B$=$l$J$j$K%*!<%P%X%C%I$H$J$k$N$H!"2rJ|%b%l$,$"$k$H(B
> $B$$$d$J$N$G!"4JC1$J%a%b%j4IM}$N;EAH$_$,M_$7$$$H;W$$$^$7$?!#(B

$B$H$$$&$3$H$G!":n$j$^$7$?(B :-)
$B:G=i9M$($F$$$?$3$H$NB>$K!"(Bmalloc() $B$N2s?t$r8:$i$9$@$1$G$J$/(B
$B=i4|3d$jEv$F%a%b%jNN0h$r(B compile $B;~$K:n$j9~$`(B ($B$G!"$"$o$h$/$P(B
$B$=$l$@$1$G:Q$^$9(B) $B9)IW$r$7$F$_$^$7$?!#(B
$B$^$?!"%a%b%j4IM}4D6-$rJ#?t;}$F$k$h$&$K$7$F$$$^$9!#(B

$B%a%b%jMW5a%5%$%:$,>.$5$$>l9g$O4IM}MQNN0h$NL5BL$,5$$K$J$k$+$b(B
$B$7$l$J$$$N$G!"4IM}BP>]$H$9$k%*%V%8%'%/%H$N<oN`$r8BDj$9$k$h$&$K(B
$B$7$F$$$^$9!#(B

$B0J2<$N$h$&$J%F%9%H%W%m%0%i%`$rN.$7$F!"%(%i!<=hM}$r4^$`4|BT$7$?(B
$B7k2L$,F@$i$l$?$N$G!"$H$j$"$($:N.$7$F$*$-$^$9!#(B

int
main()
{
	int	i;
	struct foo *tmp = 0;

	memman_free(&ahun_memman, memid_foo, tmp);	/* error */
	for (i = 0; i < 5000; i++) {
		tmp = memman_alloc(&ahun_memman, memid_foo);
		if (i % 10) {	/* $B$?$^$K2rJ|K:$l$7$F$_$k(B */
			memman_free(&ahun_memman, memid_foo, tmp);
		}
	}
	memman_free(&ahun_memman, memid_unkown, tmp);	/* error */
	memman_free(&ahun_memman, memid_foo, tmp);
	memman_statistics(&ahun_memman);	/* $BE}7W>pJs=PNO(B */

	for (i = 0; i < 5000; i++) {
		tmp = memman_alloc(&ahun_memman, memid_bar);
		if (i % 1000) {	/* $B$4$/$?$^$K2rJ|K:$l$7$F$_$k(B */
			memman_free(&ahun_memman, memid_bar, tmp);
		}
	}
	memman_free(&ahun_memman, memid_foo, tmp);	/* error */
	memman_statistics(&ahun_memman);

	memman_freeall(&ahun_memman);	/* $B2rJ|%b%l$rA4It$+$?$:$1$k(B */
	memman_statistics(&ahun_memman); /* $B$$$A$*$&3NG'(B */

	return 0;
}

% ./m
memman_free: invalid address
memman_free: invalid memory type id
memman_free: invalid address
memman: reporting statistics
    alloc():		5000 times	# memman_alloc() $B$,8F$P$l$?2s?t(B
    system malloc():	161 times	# $BFbIt$G(B malloc() $B$r8F$s$@2s?t(B
    free():		4500 times
    system free():	144 times
    required memory:	1310720 bytes
    allocated memory:	1395420 bytes	# $B>e$H$N:9J,$O4IM}MQNN0h$H4]$a8m:9(B
    reclaimed memory:	1255392 bytes
memman_free: invalid address
memman: reporting statistics
    alloc():		10000 times
    system malloc():	162 times	# $B4IM}MQNN0hJ,$@$1A}$($?!#2sE>N(9b$7!#(B
    free():		9495 times
    system free():	144 times
    required memory:	1310720 bytes
    allocated memory:	1395960 bytes
    reclaimed memory:	1255392 bytes
memman: reporting statistics		# memman_freeall() $B8F$S=P$78e(B
    alloc():		10000 times
    system malloc():	162 times	# malloc() $B8F$S=P$72s?t$r(B 1.62% $B$KM^$($?(B
    free():		10000 times
    system free():	162 times
    required memory:	1310720 bytes
    allocated memory:	1395960 bytes
    reclaimed memory:	1395960 bytes	# $B$9$Y$F2s<}(B/ free() $B$5$l$?(B :-)

$B$^$@(B 300$B9TDxEY$GHs>o$KC1=c$J9=B$$J$N$G!"@'Hs$[$I$$$F8+$F$/$@$5$$!#(B
$B4IM}MQNN0h$N%9%j%`2=!"A4BNE*$J8zN(8~>e$J$I2~A1$NM>CO$,$"$k$H;W$$$^$9!#(B
$B$^$?!"%P%0Js9pEy$b$*4j$$$7$^$9!#(B

begin 644 memman.tar.gz
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
#4```
`
end
