From owner-FreeBSD-users-jp@jp.freebsd.org  Fri Nov  1 12:08:22 1996
Received: by jaz.jp.freebsd.org (8.7.3+2.6Wbeta5/8.7.3) id MAA12579
	Fri, 1 Nov 1996 12:08:22 +0900 (JST)
Received: by jaz.jp.freebsd.org (8.7.3+2.6Wbeta5/8.7.3) with SMTP id MAA12574
	for <FreeBSD-users-jp@jp.freebsd.org>; Fri, 1 Nov 1996 12:08:18 +0900 (JST)
Received: from ns.trl.ibm.com ([9.116.1.23]) by dino.trl.ibm.co.jp (5.65c/2.7Wd)
	id AA17689; Fri, 1 Nov 1996 12:09:51 +0900
Received: from ayame.trl.ibm.com by ns.trl.ibm.com (AIX 3.2/UCB 5.64/TRL4.3SRV)
	id AA13837; Fri, 1 Nov 1996 12:08:01 +0900
Message-Id: <9611010308.AA13837@ns.trl.ibm.com>
To: FreeBSD-users-jp@jp.freebsd.org
In-Reply-To: Your message of "Thu, 31 Oct 1996 06:08:00 +0900"
References: <199610302110.GAA17869@inetnif.niftyserve.or.jp>
X-Mailer: Mew version 1.05 on Emacs 19.28.1, Mule 2.3
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Date: Fri, 01 Nov 1996 12:08:10 +0900
From: Kenichi Okuyama <okuyama@trl.ibm.co.jp>
Reply-To: FreeBSD-users-jp@jp.freebsd.org
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=19]
X-Sequence: FreeBSD-users-jp 5787
Subject: [FreeBSD-users-jp 5787] Re: Re: Realloc is b
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org

$B1|;3!w#I#B#M$G$9!#(B
>>>>> "$B8^H?ED(B" == NCA03530  <NCA03530@niftyserve.or.jp> writes:
$B8^H?ED(B> $BLdBj$J$N$O!"!X(Brealloc $B4X?t$N%3!<%I$NCf$G!"85$N%V%m%C%/$r(B free $B$7$?(B $B!v(B
$B8^H?ED(B> $B8e$G!v(B $B?7$?$J%V%m%C%/$r(B malloc $B$7D>$7!"$=$l$+$iFbMF$r%3%T!<$7$F$$$k$?(B
$B8^H?ED(B> $B$a!"%3%T!<$5$l$kA0$K85$N%a%b%j%V%m%C%/$,:FMxMQ$5$l$F$7$^$C$F!J$$$k$H$7(B
$B8^H?ED(B> $B$+;W$($J$$!K%3%T!<$5$l$?!J$D$^$j(B realloc $B$,JV$7$F$/$k%a%b%j%V%m%C%/$N!K(B
$B8^H?ED(B> $BFbMF$,2=$1$F$7$^$C$F$$$k!YE@$J$N$G$9!#(B

$BB?J,2=$1$F$$$kM}M3$O$3$l$G$O$J$$$H$*$b$$$^$9!#(B
$B0lEY(B free $B$9$k$N$O6K$a$FEv$?$jA0$N9M$($G!"ESCf$G<h$i$l$5$($7$J$1$l$P(B
$B$$$$$N$G$9$+$i!#(B

$BNc$($P$D$.$N>l9g$r9M$($F$/$@$5$$!#3FJ8;z$O(B 16byte $B$0$i$$$r0UL#$7$^$9!#(B

. $B!'6u$$$F$$$kNN0h(B
u $B!':#!"(Brealloc $B$7$h$&$H$7$F$$$k%a%b%jNN0h(B
x $B!'(Brealloc $B$7$h$&$H$7$F$$$k(Bchunk $B0J30$,;H$C$F$$$k%a%b%jNN0h(B

$B"+%"%I%l%9$,(B 0x0000 $B$K6a$$J}"+(B
xxxxxxxxx..uuuuxxxxxxx

$B:#!"$"$J$?$O(B64byte $B;H$C$F$$$k$H$7$^$7$g$&!#$=$7$F!"(B 80byte $B$K3HD%$7(B
$B$?$$$H$7$^$9!#(B

$BEvA3$N$4$H$/!"(Buuuu $B$N8e$m$K(B16byte $B$OB8:_$7$^$;$s!#$G$b(B uuuu $B$N!XA0$K(B
$B$O!Y==J,$J%9%Z!<%9$,$"$j$^$9!#$3$N>l9g!"(B

i $B!'(Bfree list$B$KEPO?$7$?$,!"FbMF$OGK2u$7$F$$$J$$NN0h!#(B

$B"+%"%I%l%9$,(B 0x0000 $B$K6a$$J}"+(B
xxxxxxxxx..uuuuxxxxxxx
         $B"-(B
xxxxxxxxx..iiiixxxxxxx

$B$H$7$F!"(Bfree list $B$K(B ..iiii $B$r0l$D$N%A%c%s%/$H$7$FEPO?$7!"(B

xxxxxxxxx..iiiixxxxxxx
         $B"-(B
xxxxxxxxxuuuuu.xxxxxxx

$B$N$h$&$KNN0h$r3NJ]$9$k$N$,0lHVNI$$<j$K$J$j$^$9!#0lC6(B free $B$9$k$N$O!"(B
$B$3$l$r<BAu$9$k$?$a$G$9!#(B


$B$G$9$+$i>e$N<BAu$O$3$lC1BN$G$O4V0c$C$F$$$J$$$N$G$9!#LdBj$O$D$.$N>l9g(B
$B$G$9!'(B


$B#1!K(Bmalloc $B$r3d$j9~$_%k!<%A%s$G;H$C$F$$$k>l9g!'(B
  $B3d$j9~$_$,(B realloc $B=hM}$N??$C:GCf$KH/@8$9$k$H!"(Bfreelist $B$N%G!<%?$,(B
  $B@09g@-$N$J$$>uBV$N$^$^3d$j9~$_=hM}$KFMF~$9$k$3$H$K$J$j$^$9!#(B
    $B$3$l$rHr$1$k$?$a$K!"0lHL$K(B malloc $B$r3d$j9~$_=hM}$G;H$C$F$O$$$1$J(B
  $B$$$N$G$9!#$3$l$O!V%=%U%H%&%'%"$G$O%V%m%C%/$G$-$J$$3d$j9~$_!W$,B8:_(B
  $B$9$k$+$i$G$9!#(B

$B#2!K%^%k%A%9%l%C%I%k!<%A%s$N>l9g!'(B
  phkmalloc $B$N0N$$$H$3$m$N0l$D$K!"$3$l$KBP1~$7$F$$$kE@$,$"$k$N$G$9$,!"(B
  multi thread $B4D6-$G$O!"J#?t$N(B thread $B$,F1$8(B task $B$rMxMQ$7$F$$$^$9!#(B
  malloc $B$O(B task $B4IM}5!9=$N0lIt$G$9$+$i!"(Brealloc $B$N$h$&$J(B critical
  section $B$r;}$C$F$$$k$b$N$N>l9g$O!"$A$c$s$H4m81$J$H$3$m$G(B thread
  switch $B$,H/@8$7$J$$$h$&$K%V%m%C%/$7$J$/$F$O$$$1$^$;$s!#(B
    $B$=$&$G$J$$$H!"(Brealloc $B$7$F$$$k:GCf$K(B thread switch $B$,H/@8$7$F!"(B
  $BJL$N(B thread $B$,2rJ|$7$?D>8e$NNN0h$r;H$C$F$7$^$&2DG=@-$,$"$j$^$9!#(B

$B#3!K(Bmemmove $B$,4V0c$C$F$$$k!'(B
  $BF0$+$9$H$3$m$^$G$O$$$$$N$G$9$,!"F0$+$9$H$-$K$O(B memmove $B$r;H$$$^$9!#(B
  $B>e$NNc$N$h$&$K!VNN0h=EJ#!W$,$"$k$H$-$O(B memmove $B$r;H$&$N$,0lHLE*$G(B
  $B$9$,!"$3$N4X?t$K%P%0$,$"$k$HEvA3FbMF$,2u$l$F$7$^$$$^$9!#(B

$B#4!K(Brealloc $BBP>]$H$7$FAw$j$D$1$F$$$k%a%b%j%"%I%l%9$,4V0c$C$F$$$k!#(B
  realloc $B$G$-$k$N$O(B malloc $B$G3NJ]$7$?NN0h$r!"!X(Bmalloc $B$G3NJ]$7$?$^(B
  $B$5$K$=$N@hF,%"%I%l%9$+$i!Y$G$9!#Nc$($P(B

	char *old, *old2, *old3;
	old	= malloc( 1024 );
	old2	= old + 512;

	old3	= realloc( old2, 1024 );

  $B$J$I$H$d$C$F$$$k$H!"$&$^$/F0$-$^$;$s!#(Bchunk $B$OBgDq$N>l9g!"(B
  (long *)(old - 4)
  $B$H$$$&%"%I%l%9$K$=$N(B chunk $B$N%5%$%:$,3JG<$5$l$F$$$^$9!#(B
  old2 $B$N$h$&$J3NJ]$N;EJ}$r$7$?(B 512 byte $B$NNN0h$K$O!"EvA3$3$N(B
  $B%5%$%:>pJs$O3JG<$5$l$F$$$^$;$s$+$i!"(Bold3 $B$N(B realloc $B7k2L$O(B
  $BHa;45g$^$jL5$$$3$H$K$J$j$^$9!#(B


$B;d$O!"8^H?ED$5$s$,<B:]$K7P83$7$?$N$O!"#4$N$h$&$J%?%$%W$N%P%0$G$O$J$$(B
$B$+!"$HM=B,$7$F$$$k$N$G$9$,!"$$$+$,$G$9$+!)(B
----
$B1|;3(B $B7r0l(B@$BEl5~4pAC8&5f=j(B.$BF|K\#I#B#M(B($B3t(B)[$BFzLn#F#C(B:No.0000000015]
http://karin.ip.titech.ac.jp/~okuyama/index.html
#$B:#F|$N$*8@MU!X%,%!%G%s%W%l%$%9%%!Y(B:Adobe $B$N(BPS3$B$N@bL@2q$@$!!#(B
