An adaptive, region-based allocator for java

$ %'&)(+*-,.*0/21+&)354618759;:=< />(?,.3@,#9=,A*'48&)BC/#D 18/ E#&)7.3'FHG-,A(6/I9@,AJ)JK7L< ,A487.1 M 7.1ONC,IB#,5P $ %'/QG=,.(6&)<R&K9'/I,"&)(S487?,.J)J)7L<I,A48/Q3=7.3'FH/ (6<I,A*=&)3=E+7.G;TU/ <>48( &)3VJK7L< ,.J518/ E#&)7#3'( D#WS%'&K< %",X18/ ,.J)J)7L<I,X48/I9",.3=9 M 18/ /I9Q&K3Q< 7.3.TY:'3=<>48&)7.3 WS&Z48%"48%'/ &Z1[,A(6(67L< &K,A48/I9+(Y4 ,A<2\ M 1 ,.]+/>( P!^ _Q18/ J)/I,.(6&)3=ER]+/ ]+7A16_V,.(YF (67L<>&`,X48/I9+WS&)48%"48%'/ (6/S(Y4 ,.< \ M 1 ,.]+/ ( DC48%'/SG=:'1 9;/ 3"7.3"48%=/ EC,X18G-,AE#/ <>7#J)J)/ <>487.1a&)(S18/ 9':=<>/I9 D;*07#(6(6&)G'J)_b18/ (6:=JZ48&)3=E &K3 M />W[/>1 < 7#J)J)/ <>48&)7#3'( P $ %'/b3'7XBC/ JZ4U_c7 M 7.:'1",.*=*;187C,A<2%d&)( 48%-,X4"&Z4+9;7L/ ("3'7.4 18/ e5:'&Z18/ (Y4 ,X48&)<b/ (6< ,.*0/f,.3=,.JZ_;(6&K( D!*;187#EA1 ,.]+]+/>1V,.3'3=7A4 ,A48&)7#3'( D!7.1Q(6*0/ < &K,.J 4g_;*0/a(Y_;(Y48/ ]+( P!$ %'/O,.*'*'187#,.< % &)([461 ,.3'(6*-,X18/ 3L4 487V48%'/ONC,IB.,Q*;187.F EA1 ,.]+]+/>1O,.3=9h18/>J`,X48&)BC/ JZ_i(6&K]+*'J)/Q487b,#9'9h487b,.3i/>j;&)(Y48&)3=EbN#kmlnP $ %'/o(Y_'(Y48/>]p(Y4 ,X1648(bGL_q,.(6(6:']+&K3'Er48%-,X4 ,AJ)Jm,.J)J)7L<I,A48/ 9s7.G;TU/ <>48( ,X18/hJ)7L<I,.JS487n48%'/ &Z1+(Y4 ,.< \c18/ E#&)7#3 DS,.3=9t48%'/ 3@< ,A48< %=/ (+/ (6< ,.*=&)3'E 7.G;TU/ <>48( B5&`,QW 18&)48/mG=,A1618&)/>18( P uv%=/>3w,.3b7#G5TY/ <24a&)(S<I,.:'E#%L4 / (6<I,A*'F &)3'E'D &Z48(",.(6(67L<>&`,X48/I9q,AJ)JK7L< ,A48&)7#3@(6&)48/f&)( ]?,X18\C/I9r,A(",h3=7.3'FHJ)7L<I,.J (6&Z48/#D (67h48%-,X4Q(6:=G=(6/ e5:'/ 3L4V,.J)J)7L<I,A48&)7#3'("WS&)JKJ G0/?*':'4V9'&Z18/ <>48JZ_x&K3 48%'/ E.JK7.G-,AJ 18/ E.&)7#3 P"$ %5:=( Dy,.(m/>j;/ < :;48&)7#3x*;187L< / /I9;( Dy7.3=JZ_h48%=7.(6/ ,AJ)JK7L< ,A48&)7#3r(6&Z48/ ( 48%-,A4O,A18/VJK&)\C/>J)_h487?*;18759':=<>/ 3=7.3'FH/ (6<I,A*=&)3=E?7.G'F TU/ <>48( ,A18/R,AJKJ)7L<I,X48/I9 487 48%'/ &Z1 J)7L<I,AJy(Y4 ,A<2\?18/ E#&)7.3 P $ %'/h*-,A*0/>1f*'18/ (6/ 3L48("48%'/h7AB#/>1 ,.J)J &`9;/I,;D ,A3-9@48%'/ 3q*;187XB;&K9;/ ( 9;/>4 ,.&)J)(Q7 M , (6*0/>< &Zz-<?9'/>(6&KE.3c,.3=9x&)]+*=J)/ ]+/ 3L4 ,X48&K7.3 P+{g3x*=,A1648&)<>F :'JK,A1ID-W[/V*;18/ (6/ 3L4 , 18/ E#&)7#3;FHG-,.(6/ 9i,AJ)JK7L< ,A487.1m,.3-9 48%'/m3=/ <>/ (6(8,A16_ ]+759;&Zz-<I,X48&K7.3=(S7 M 48%'/RN#&)\C/ (S|ykOl}G-,.(6/>JK&)3'/VN.{Y$~,.3=9w, < 7.*5_;&)3=E <>7#J)J)/ <>487.1IP a:;1O/>j;*0/>18&)]+/ 3L4 ,.Jy(Y48:-9;_ / B.,.J):-,X48/ (a48%=/Q&K9'/I,?:=(6&)3'E 48%'/Q€' ‚[ƒvN#kOlw„#…"G0/ 3'<2%']?,A18\5( D;*=J):=(S7.3=/m7.48%'/>1 JK,A18E#/RG0/ 3'<2%;F ]?,X18\0Pyur/[(6%=7IWd48%-,A4 ,S18/ E#&)7#3;FHG-,.(6/ 9+,.J)J)7L<I,A487A1[&)( , 18/I,A(67#3-,AG=J)/ < %=7.&)< /#D-48%=,A4 7AB#/>18%=/I,.9'( <I,.3hG0/m\#/ *'4 J)7IWmD ,.3-9f48%-,A4 48%=/R,.9=,A*'F 48&)BC/ (Y_;(Y48/ ]†&)( (6:=< <>/ (6( M :'J-,A4!z=3-9'&)3'EOJ)7L<I,.J;18/ E#&)7#3'( 48%=,A4 < 7#3L4 ,A&K3 3'7"/ (6<I,A*=&)3=E+7.G;TU/ <>48( P Categories and Subject Descriptors ‡VP ˆ5P ‰@Š ‹OŒX-Ž-ŒX0xx‘“’yŽ•” -’ Ž0–y=Ž=—'˜>™›š?œ187L< / (6(67A18(UsžnŸ2 +¡.¢ £ "¤.¥0¤ ¦LŸ2 ?Ÿ2¥=§a ̈“¦C¤A¢ ©8¤I¦LŸ"a8¡#«“«KŸ6a>§­¬›¡A¥C® General Terms ̄ ,.3'E#:-,AE#/ ( D0 />1 M 7A18]?,.3=<>/#D-‚œj;*0/>18&)]+/ 3L4 ,A48&)7#3 Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. ISMM’02, June 20-21, 2002, Berlin, Germany. Copyright 2002 ACM 1-58113-539-4/02/0006 ... ° 5.00. 1. INTRODUCTION $ %=/ NC,IB.,fŠ ±X™ *;187#EA1 ,.]+]+&)3=ERJK,.3'E#:-,AE#/ &K]+*'J)&K<>&)48JZ_+:'(6/ ( ,mEC,X16F G-,AE#/+< 7.J)JK/><>487.1 ,.(R&Z48(R]+/ ]+7.16_h]?,A3-,AE#/>1IPb2O,X18G-,.E./?< 7#J)J)/ <>48&)7#3 %-,A(O48%=/+,.9'B.,.3L4 ,.E./ 7 M M 18/ />&K3'Ew]+/ ]+7A16_h(8, M / JZ_x,A3-9i7 M 48/>3x*'18/2F < &)(6/ JZ_LPd3a7IW[/ BC/>1ID!461 ,.<>&K3'Er,A3-9c< 7#J)J)/ <>48&)3'Ex7#G5TY/><>48(?,#9'9'( 7XBC/216F %=/ ,#9w487+48%=/R*'187.E.1 ,.]wD (67+18/I9;:=< &)3'E?48%'/ M 18/IeL:=/>3=<>_h7 M EC,A18G=,.E./ < 7.JKJ)/ <248&K7.3 ́<I,A3@G0/fG0/ 3=/2z-< &K,.J­Pq€54 ,A<2\LFg,.J)J)7L<I,X48&K7.3q7 M 7#G5TY/><>48(+&)( 7#3'/o*'187#]+&)(6&)3=Er,.*=*;187C,A<2% ́487x18/ 9':=<>/o48%'/wW 7A18\@7 M ,rEC,A18G=,.E./ < 7.JKJ)/ <2487.1+Š …A™›P { M ,.3o7.G;TU/ <>4m9;7L/ (a3'7.4 / (6<I,A*0/",+]+/>48%=759 D-&Z4 <I,.3 G0/"<>18/ ,A48/I9i7#3o48%=/"(Y4 ,A<2\ M 1 ,.]+/"&)3=(Y48/ ,#9n7 M &)3n48%'/ %'/I,.* P?aG'F TY/><>48(S7#3b48%'/O(Y4 ,.< \?<I,.3bG0/a18/ < JK,A&K]+/ 9fWS&Z48%=7.:'4S&)3L48/>18BC/ 3L48&)7#3bG5_ 48%=/aEC,A18G=,.E./Q<>7#J)J)/ <>487.1IP $ %=/218/ ,X18/S(6/ BC/>1 ,AJ=*07.48/>3548&K,AJ-7#G'(Y4 ,.< J)/ ( 487m*0/>1 M 7A18]+&K3'Em7#G5TY/ <24 (Y4 ,.< \LFg,.J)J)7L<I,A48&)7#3~&)3v,rN.kmlnP[‚!j;&)(Y48&)3=Ec(Y4 ,.< \LFg,.J)J)7L<I,A48&)7#3 ́48/><2%;F 3=&KeL:=/>( 18/IeL:=&Z18/R, (Y4 ,A48&)<fŸ2μ2a8¤2¶'Ÿ ¤.¥-¤#« £Aμ ¬·μOŠ ̧5D'‰'D 1IoA™›D'WS%=&)<2%b:=(6:;F ,.J)JZ_s18/IeL:=&Z18/ (o,tWS%'7#J)/c*'187.E.1 ,A]»,.3-,AJZ_'(6&)(i,.3=91⁄4&)(o3=7A4o/I,.(6&)JZ_ ,.]+/>3-,.G'J)/w487c,cN#kml1⁄2WS&Z48%v9;_;3=,.]+&)<w< JK,.(6(bJ)7C,#9;&)3=Ed,.3=9 ́N#{U$ < 7.]+*=&)JK,A48&)7#3 P[3⁄4':'1648%=/21ID;,.( 9'&)(6< :'(6(6/I9bGL_b2O, _b,.3-9 €548/ />3=(6EC,.,A1 9 Š …A™›DL48%=/218/S,A18/ (6/ BC/21 ,.J'18/>(Y4618&K<248&K7.3=( 7#3 48%'/ \;&)3=9'(œ7 M 7.G;TU/ <>48( 48%-,A4 <I,A3wG0/m<>18/I,X48/I9 7#3b48%=/m(Y4 ,.< \0P[aG;TU/ <>48(SWS&)48% 3=7#3;F›4618&KB5&K,.J'¿ ¥-¤#«ZÀ ¬KÁXŸ ]+/248%=759'( ,A18/Q3=7A4O/I,A(6&)J)_o*'JK,.< /I9h7.3o48%'/V(Y4 ,A<2\0D ,X161 , _'(a]?,I_ G0/ 487L7QJK,A18E./#D-,A3-9+7#G5TY/><>48( <>18/I,X48/I9f&)3f,RJK7L7.*fWS&Z48%f7XBC/>18JK,.*'*=&)3=E J)& M />48&)]+/ ( ,A18/m3'7.4S(Y4 ,.< \.,.G=J)/#P $y7Q,#9'9;18/ (6( 48%=/ (6/ &K(6(6:'/ ( &)3f,VN.kmlnDLW / (6:=E.E#/ (Y4 ,.3b,#9=,A*'48&)BC/ 18/ E.&K7.3'FHG-,A(6/I9d,.J)J)7L<I,A487A1IPx{g3c7#:;1",A*=*'187#,.< %rW /?4618/I,A4VJ)7L<I,.J 18/2F E#&)7.3=(S,.( /2j;48/>3=(6&)7#3'( 7 M (Y4 ,A<2\ M 1 ,.]+/ ( P $ %5:'( D'(Y4 ,A<2\.,.G'J)/a7#G5TY/><>48( <I,A3 G0/[<218/I,A48/I9Q&)3V18/ E.&K7.3=(!&)3=(Y48/I,.9V7 M (Y4 ,.< \ M 1 ,A]+/ ( WS&Z48%=7#:;4œ48%=/ ,.G07XBC/!18/ (Y4618&)<>48&)7#3'( Pœ{ M , 18/ E.&K7.3V<>7#3L4 ,.&)3=( 7#3'J)_O3=7#3;FH/ (6<I,.*'&)3=ES7#G;F TY/><>48( Dœ48%=/ 3nWS%=/ 3r&Z48(V,.(6(67L< &K,X48/I9c(Y4 ,.< \ M 1 ,A]+/+&)(V*07.*=*0/I9 D 48%=/ 18/ E.&K7.3o<I,.3oG0/Q9'/I,AJ)JK7L< ,A48/I9oGL_b18/>48:;183=&)3=E+&Z48( ,.(6(67L< &K,X48/I9n*=,.E#/>( 487 48%'/ M 18/ /RJ)&)(Y4 7 M 48%=/a%=/I,A* P €;&)3'< / W[/ WS&)(6%b487V,IBC7#&K9+*07.48/>3548&K,AJKJZ_?/>j;*0/ 3'(6&)BC/ (Y4 ,X48&)<m,.3=,.JZ_5F (6/ ( D W /V&)3=(Y48/I,.9h4 ,A\C/R48%=/V,.*=*;187C,A<2%i7 M ,.3o- =à ÄI‘`Å0—w(Y461 ,A48/ EA_ WS%=&)< %d9;_;3-,A]+&)<I,.J)JZ_i<I,A48/ E.7.18&)Æ / (",.J)J)7L<I,A48&)7#3t(6&Z48/ (V,.(f«)¡Ia ¤.«y,A3-9 ¥0¡A¥-ÀH«)¡Ia ¤.« PO{U3'&Z48&`,AJ)J)_o7.G;TU/ <>48(m,X18/ ,A(6(6:=]+/I9w487?G0/?«)¡Ia8¤#«-,A3-9w48%=/ kml†18/ J)&)/ ( 7#3OW 18&Z48/ G-,A1618&)/>18( 487 9'/>48/ <24 / (6<I,A*=&)3=ES7.G;TU/ <>48( P uv%'/ 3 ,.3n7#G5TY/ <24 / (6< ,.*0/ ( D 4gW 7h,A<>48&)7#3'(V,X18/"4 ,.\C/>3 P?3⁄4 &Z18(Y4IDy48%'/"< 7A1618/>F (6*07#3=9'&)3=Ef18/ E#&)7.3x&)(m]?,A18\C/ 9i,A(R9'&Z164U_LP €5/ < 7#3=9 D 48%=/ ,.J)J)7L<I,A48&)7.3 (6&Z48/[7 M 48%=/ / (6<I,A*=&)3=E 7#G5TY/ <24œ&)(œ<I,A48/ E.7.18&)Æ /I9V,.( 3'7#3;FgJ)7L<I,AJ­DC(67S48%-,A4 (6:=G'(6/IeL:=/ 3L4S,AJ)JK7L< ,A48&)7#3'( M 187#]Ç48%-,X4S(6&Z48/aWS&)JKJ G0/O*=:;4S9'&Z18/ <248J)_f&)3 ,"E#J)7.G-,.J 18/ E#&)7.3 P ȕ9'&Z164U_?18/ E.&K7.3h&)(a9;/I,.J)J)7L<I,A48/ 9oGL_b,.*'*0/ 3-9;&)3=E 48%=/?*=,.E#/>( ,A(6(67L< &K,A48/I9cWS&Z48%r48%-,A4Q18/ E.&K7.3c487w48%=/+E#J)7.G-,.J 18/>E#&)7#3 W ,A&Z48&K3'E M 7A1Q48%'/+3=/>j54RE#,A18G-,AE#/?< 7.JKJ)/ <248&K7.3 D WS%'&)JK/+48%'/"*-,AE#/ (Q7 M ,+< J)/I,.3h18/ E.&)7#3o<I,.3oG0/m18/ < JK,A&K]+/ 9o&)]+]+/I9;&K,A48/ JZ_LPSÈ (a/>j;/ < :;48&)7#3 *'187L<>/ /I9'( D5]+7A18/S,.J)J)7L<I,A48&)7.3b(6&Z48/ ( <>18/I,A48&)3'Em/ (6<I,.*'&)3=ER7#G5TY/ <248( ,A18/ ]?,A18\#/I9+,.( 3'7#3;FgJ)7L<I,AJ­D=(67R48%-,X4 J)7L<I,.J018/ E.&)7#3=(S,X18/a]+7A18/ J)&)\C/ JZ_"487 (Y4 , _ <>JK/ ,.3 P a:'1 ,A*=*'187#,.< % 18/IeL:=&Z18/ ( ,V18/ E.&)7#3'FHG=,.(6/I9h,AJKJ)7L<I,X487.1R,A( &Z48( G-,XF (6&)( P•{U3qE./ 3=/21 ,.J­D %=/I,A*=(?7.18E#,.3=&)Æ / 9v,.(?*-,AE#/ ( X<2%5:=3'\5(f*;187XB;&K9;/ , -/>j;&)G=J)/ W , _c487r9'&)B5&K9'/b]+/ ]+7.16_c&)3L487o18/ E#&)7#3'( M 7.1f9;& />18/ 3L4 *':'18*07.(6/ ( D M 7A1m/>j',.]+*'JK/.D=18/ E.&K7.3=("ŠZ1>‰'D!1Iˆ5D oA™!7.1 48%'18/I,.9;FH(6*0/ < &Zz=< %'/I,.*'(SŠ)1I±X™›P!3a7IW[/ BC/>1ID.48%=/ ]?,A&K3L48/ 3=,.3'< / 7 M 18/>E#&)7#3'([,A3-9V:'35:=(6/I9 (6*=,.< /Q7#3 *-,.E./ (a< ,.3hJ)/I,#9 487+/2j;461 ,V< 7#(Y48(a,.3-9b7AB#/>18%=/I,.9'(SWS%=/ 3 <>7#]+*-,X18/I9x487o, 0,X4 %'/I,.*c7A18EC,A3=&)ÆI,A48&)7.3 Pn$ %5:=( DœW /?z=18(Y4Q7.:'46F J)&)3=/m48%'/R9'/ (6&)E#3h7 M , 18/ E#&)7.3'FHG-,A(6/I9h,.J)J)7L<I,A487A1m,A3-9bW[/Q(6%'7IW1⁄448%'/ G0/>%-,IB5&K7A1 7 M NC,IB., *'187.E.1 ,.]+(S7.3w*-,AE#/>FHG-,A(6/I9 %'/I,.*'( ­&­P /#P)D-%'/I,.*'( <>7#3=(6&)(Y48&)3=E?7 M ,"(6/24a7 M <2%5:=3'\5( A*-,AE#/ ( 2PSa:'1 (Y48:-95_b(6%'7IWS( 48%-,X4 ]+7.(Y4œ,AJKJ)7L<I,X48&)7#3=(!<I,A3RG0/ (8,X48&K(Yz=/I9mWS&)48%Q&)3=/>j;*0/ 3'(6&)BC/ 7.*0/>1 ,A48&)7.3=( ,A3-9V48%=,A4!48%=/[< 7.1618/ <24[< %=7.&K<>/ 7 M *-,AE#/ (6&)Æ /SJ)/I,#9;( 487OJ)&Z4648J)/ W ,.(Y48/ 9 (6*=,.< /.P[$ %'&)( (6:=E#E./ (Y48( 48%-,X4 48%=/O*=,.E./>FHG-,.(6/ 9f%'/I,.*b7.18EC,A3=&)ÆI,X48&K7.3 &)( M /I,A(6&)G=J)/ M 7.1 NC,IB., kml ( P ux/a48%=/>3b(6%'7XW~%'7IWv487 G=:'&)J`9?48%=/a,#9=,A*'48&)BC/O(Y_;(Y48/ ] M 7.1 <I,X48/>F E.7.18&)Æ &)3=Ef,AJKJ)7L<I,X48&)7#3=(a&K3L487 48%'7#(6/mWS%=&)< %w(6%=7.:=JK9wG0/R,.J)J)7L<I,X48/I9h&K3 J)7L<I,AJ 18/ E#&)7.3=(+,A(6(67L< &K,A48/I9cWS&Z48%t(Y4 ,A<2\ M 1 ,A]+/ ( D ,.3=9x48%=7#(6/?48%-,X4 (6%'7#:'J`9 ́G0/n9'&Z18/ <248J)_ ́,.J)J)7L<I,A48/ 9s&)3 ́48%=/oE.JK7.G-,AJa18/ E#&)7.3 P {U3q48%'/ 9;/ (6&)E#3qW[/w<I,X18/ M :'JKJZ_@< 7#3'(6&K9'/>1?48%=/b7XBC/>18%=/ ,#9'( D G07.48%t&K3@(6*-,A< / ,A3-9d/>j5461 ,oW 18&Z48/bG-,A1618&)/>1?7XBC/218%=/I,.9 D[,.3-9cW /b*'187.*07#(6/ B.,A18&)7.:=( ,A*=*;187C,.< %=/>( M 7.1 \C/ / *'&)3=EV48%'/ (6/m7XBC/>18%'/I,#9;(S18/ ,.(67#3=,.G'J)_b(6]?,.J)J­P $ %'&)( *=,.*0/>1 ]?,A\C/ ( 48%=/ M 7#J)J)7IWS&)3=E?< 7#3L4618&)G=:;48&)7#3=( š 1.P ur/ eL:-,.3L48&Z4 ,A48&)BC/>J)_w(Y4