+ All Categories
Home > Documents > Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of...

Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of...

Date post: 13-Aug-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
23
University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer 7-1-1993 Garbage Collection Using a Dynamic reatening Boundary ; CU-CS-659-93 David A. Barre University of Colorado Boulder Benjamin G. Zorn University of Colorado Boulder Follow this and additional works at: hp://scholar.colorado.edu/csci_techreports is Technical Report is brought to you for free and open access by Computer Science at CU Scholar. It has been accepted for inclusion in Computer Science Technical Reports by an authorized administrator of CU Scholar. For more information, please contact [email protected]. Recommended Citation Barre, David A. and Zorn, Benjamin G., "Garbage Collection Using a Dynamic reatening Boundary ; CU-CS-659-93" (1993). Computer Science Technical Reports. 632. hp://scholar.colorado.edu/csci_techreports/632
Transcript
Page 1: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

University of Colorado, BoulderCU Scholar

Computer Science Technical Reports Computer Science

Summer 7-1-1993

Garbage Collection Using a Dynamic ThreateningBoundary ; CU-CS-659-93David A. BarrettUniversity of Colorado Boulder

Benjamin G. ZornUniversity of Colorado Boulder

Follow this and additional works at: http://scholar.colorado.edu/csci_techreports

This Technical Report is brought to you for free and open access by Computer Science at CU Scholar. It has been accepted for inclusion in ComputerScience Technical Reports by an authorized administrator of CU Scholar. For more information, please contact [email protected].

Recommended CitationBarrett, David A. and Zorn, Benjamin G., "Garbage Collection Using a Dynamic Threatening Boundary ; CU-CS-659-93" (1993).Computer Science Technical Reports. 632.http://scholar.colorado.edu/csci_techreports/632

Page 2: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

������������� ������������ �������������� "!#�$��%&����')(*�+����+��,���$�.-/ ��*��0*���1!

243�57698;:=<?>@31ABADC�EBEF31G?8H>$C�G�IJ3�KL6MGON=<�P?QRABG2SC�T?3�ABEDKUC�GVE@Q1W�X*QRKYT�Z�EDC�A\[V]^6MC�G?]_C

X�3�KUT�Za`S>$Q�bOc=dfe+ghiG�6M5fC�AJ`j6kEml/Q�W$X*Q�nMQRAJ3+8�Q�op>$QRZ�n98�C�ArqRg+eRg+s�tVg�dfefg

X�hiuvX@[fu�wRx+s1u�sRe yfZ�nMlOz�s+sRe

{;�,�j|}V�R���j�~!� ����/ ��� ��+�0* ����H-/ ��,��0�V�

�C�]J��G�69]�3�n#�@C�T?QRADE4X�hSumX@[fujw+xRs�ujs+e2iC�T?31ADEBKYC�GVE@Q1W�X*QRKYT�Z�EBC�A�[V]J6kC�G?]_C

X�3�KUT�Z?`S>$Q�b�dfe+ghiG�6M5fC�AJ`j6kEmlYQ1W@X*Q�nMQRAJ3+8�Q>$QRZ�n98�C�A�o�X*Q1nMQRA�3R8�QHq+gReRg+s

Page 3: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

������������ ��������������� ���������! #"%$&���'�)(*�'����+,�-$&(*+*.*��/0�+-10"324���'+

��(*�,���)�'/5(*+��6�879����/5�;:,�'(*�=< � �(*+ � (����/5�,:,>?$&�A@CB0D ��E

F6+G���(H�'>I��I�-��7J����K����'���,�,L3$&��:GK��,(*�NM E���E��AO,E D ��E

Page 4: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

�������������� ������������ �������������! #"$����%!���'&)(���*�+�,��-������./ 0�1��2����3"�4

243�5f698;: <?>@3�ABABC�EBE@3�G?8;>$C�G�IJ31K�6MG"N=<�P?Q+ABG2iC�T?31ADEBKYC�GVE@Q1W�X*QRKYT�Z�EBC�A�[V]J6kC�G?]_C

X�31KYT�Z?`i>$Q�bOc d eRghSG�6M5fC�A�`�6MEml/Q1W�X*Q1nMQ+AJ3R8VQ�o>$Q+Z�n98�C�ArqRgRe+gRs�tVg1d efg

5 e+gRe�6�dfs871u dfe+sRq9;: 3�ABABC�EBE�o=<�QRADG?>�@r]�`_< X*Q1nMQRA�3R8�Q�<BA*24h

yfZ�nMl�z�s+sRe

CD�E�F�G�HJIKFL?MONPMRQRSUTWVYXZN[SZ\,T]M�^]_`NJVYaUbPM�cd_[S�eUM*f;M�MONgeUMOQRhcWb[^�^�M�c]cWiBbJ\�V=N0QRMkjlb[^OV=NPmTW_[M?Vonp[SU^�T,XZi,mqSZQ]f[SUmUMr^�X�\o\YM�^�TWVYXZNsSZ\YmUX�t

Q]VYTW_Jnuc;b`pvXZNTW_[Mdp;MOQ]iwX�Q]nuS�NP^kMdXZiPpJQRXUm�QRSZnsc�x�y�XZz{M�eUMOQ�|�VYT3VBc3V=np;XUc]cWV=f`\YM}iwX�Q,j`MkcWVBm�NPMOQRc,XZiv^�XZ\=\BMk^�TWVBX�N�S�\BmqXZQ]VYTW_`nscT]XS�NJTWVB^OV=p[SUT]M�TW_[M+nsMOnsXZQRhSZ\=\YXK^�SUTWVYXZN$f;MO_[S�eUVBX�QrXZi~S�\o\,S�p`pJ\oVY^�SqTWVBX�NPc?V=N$SUjJe�SZN[^�MUx����KVYc]TWVoN[mumqMONPMRQRSUTWVYXZN[SZ\{^�XZ\=t\YM�^�T]X�QRc}QRMO\Yh�bJp;X�N�TW_[M?SZpJpJ\oVY^�SUTWVYXZN[c}pJQRXUm�QRSZnnsMOQdT]XrTWbJNPM�TW_PM~f;MO_[SZeUVYXZQ�X�i3TW_[M?^kXZ\=\BM�^kT]XZQ~T]XrSU^]_`VYM�eqM�nsSZ�KV=n�bJnpvMOQ]iwXZQ]nsS�NP^�M*iwX�Q?MkSU^]_�S�p`pJ\oVY^�SqTWVBX�N3x���NJiwXZQRTWbJN[SUT]MO\YhU|;f;M�^�S�bPc]M�TW_[M*nuS�NJhTWb`NJVoN[m0p[SZQRS�nsM�T]MOQRc�QRMkaUb`V=QRM+jJM�T]S�Vo\YM�j�KN[X�zd\BM�jJmUM�X�i?f;XqTW_�TW_[Mu^�X�\o\YM�^�TWVYXZN�S�\BmqXZQ]VYTW_`n�SZN[j�TW_[M0pJQRXUmZQRS�n�SZ\=\BXK^kSUTWVYXZN�fvMO_PS�eUVYXZQV=N�X�QRj`MRQuT]X�f;MbPc]M�jMR�;M�^�TWVYeUMO\YhU|JcWb[^�_gTWb`NJVoN[m+VYcdjKVo�^Rb`\YTdSZN[j�MOQ]QRX�Q]�UpJQRXZN[MUxd�$M�pJQRXZp;Xqc]M+S*N[M�z�mqSZQ]f[SUmqM*^�XZ\=\BMk^�TWVBX�NsSZ\YmUXZQ]VYTW_Jn�TW_PSqTb[c]M�c;�]bPc]T,TWzdX*MkSUcWV=\BhU�qb`N[j`MRQRc]T]XKXKjuTWbJN`V=NPm*p[SZQRSZnsM�T]MRQRc}TW_[SUTdjKV=QRM�^�TW\Yh�QRMO�[M�^�T,TW_[M�nsSZ�KV=n�bJn�nsMOnsXZQRh*S�NPj�p[SZb[c]MTWV=nsM~^�XZN[c]TWQRSZV=NJT]c�iwS�nVo\=VBS�QdT]X�SZpJp`\=VB^kSUTWVYXZNupJQRXUm�QRSZnnsMOQRcdS�NPjub[c]MOQRc�x��V=�KM�mqMONPMRQRSUTWVYXZN[SZ\{^�XZ\=\BMk^�T]XZQRc�|8XZbJQRc*jlVYeUVYj`M�c*nsMOnsXZQRh�V=NJT]X0T�zdXucWp[SU^kM�c�|3X�NPM�iwX�Q*cW_[XZQRTW�q\oVYeUM�j;|�S�NPj$SZN[XUTW_[MOQ

i�XZQ*\YXZN[mZ�U\=VYeUM�j�X�f��OM�^�T]c�x�~N`\=Vo��M+pJQRM�eUVBX�bPcrzdX�Q]�;|�XZbJQ�^kXZ\=\BM�^kT]XZQrjJhUNPS�n0VY^�S�\o\Yh�SUjk��b[c]T]c+TW_[M+f;X�b`N[j`S�QRh�f;M�TWz{M�MONTW_[M�c]MTWz{XucWp[SU^�M�c*V=N�X�QRj`MOQ�T]XujKV=QRM�^�TW\YhunuMkM�T*TW_PMrQRM�c]XZbJQR^�M^�XZN[c]TWQRSZV=NJT]c�cWp;Mk^OVo�[M�j-fJh$TW_[M+bPc]MRQ�xu�$M�jJM�c]^OQ]V=f;MT�zdX�nuMkTW_PXKjJc�iwXZQsSUjk��b[c]TWVoN[m�TW_`VYc�f;XZbJN[j`S�QRhU|?^kXZnpPS�QRM�TW_PMRn�z�VYTW_�c]MkeUMOQRS�\*MO�KVYc]TWVoN[m�S�\BmqXZQ]VYTW_`nsc�|dS�NPj�cW_[X�z_[X�z�MO�;M�^�TWVYeUMR\Bh$XZbJQRc?nsM�M�T]c*TW_[M�cWp;M�^OV=�[M�j�^�XZN[c]TWQRSZV=NJT]c�xs��b`Q*p[SZb[c]MO��TWVonsM^�XZ\=\YM�^�T]XZQrc]S�eqM�j-nsMOnsXZQRh�fJh�_PX�\BjKtV=N[m0nsM�jKVBS�N�pPS�bPc]M�TWV=nsM�c?^R\BXqc]MOQ*T]XsTW_PM�^kXZN[c]TWQRSZV=NJT*TW_PS�N�TW_PMrXUTW_[MOQrpPS�bPc]MR�KTWV=nuMr^�X�NPc]TWQRS�VoN[M�j�S�\BmqXZQ]VYTW_`n)S�NPj;|zd_[MONNPXqTdX�eUMOQ]��^�XZN[c]TWQRSZV=N[M�j�|[XZbJQdnsMOnsXZQRhU��^�XZN[c]TWQRSZV=NPMkj0^kXZ\=\BM�^kT]XZQ{MO�K_`V=fJVBT]M�jTW_[M�\YX�zdM�c]T{���,��XZeqMOQ]_[M�SUjXZi�TW_PMS�\BmqXZQ]VYTW_`nscdz{M�nsM�SUcWbJQRM�jshUM�T~zdSqc�^kSZp[SZfJ\BMrXZi�nsSZV=NJT]SZV=NJVoN[m+SrnuS��KVon�b`n�nsMOnsXZQRhr^�XZN[c]TWQRSZV=NJT�x

  ¡�¢s£~¤~¥$¦¨§1©*£~ªU¥�¢

?>#� � .*( � � O ���I�(*+��'(*��K���+,��:;����(H>N>': � ��> �*«�« � ( � ��/5( /5���'(0�4���,:�K����HLJ/5���'(0�,�)�����)��/5/5(*�)>N���)(5/5�J¬��+;� ;(*�����(*�

:,>)( �87 �,��+,��/0 � >'�)���)����(=�8K K�� � ���I���+ "61=��� � ����( � ��K K�( � ����+ �>6�0:,>)( 7 :�K 7 (*���):,�'(=�87 �,�)�����)��/5/0�+,�NK���+,��:,����(*> � ( � ��:;>'(

��5�8K K��K­6>5�' ,( �,�)�����)��/5/5(*�0�'� �8K K�� � ���'( >)�'���)����( �;��+;��/0 � ��K K��®­���' ;��:,�5 ,�����+,� �)��­����)�'��� � ��:,�0�'( � K����/0�+,���' ,(

>'�)���)����(5��+ � (0��=�>0+,� K���+,��(*� � ( �+,� :,>'(*� "! 6K��' ,��:,�� �,�)�����'��/ �,(*��( K����,/5(*+��N�>N(*��>I�(H�s­���' ����� � ����( � �8K K�( � �I���+ L

�' ;( �)(*>':GK��I�+,�!�;�'�����'��/5> /5���5 ,����(?:,+;� �*� (H�,�'� � K�(N�4(*�7 ���)/5��+ � (�­6 ,(H+ �) ,(=/5(*/5���)�5:,>'����(��,���)�'(*�)+,>?�,�0+,��� /5��� �

¯O°3±K²=³3´rµ�¶�·�¸�²=µ�¹q²=³�ºJµ�³�·O»?¼K½[¾�¿rÀ3¾�¸WÁr³w¼K½K½P¾�¸]¶�·O»~ºKÂ*¶w±J·dÃ}µ�¶w²=¾�¿Jµ�¹[ÄUÅ]²=·�¿JÅR·,ÆK¾�¼K¿J»Kµ�¶w²=¾�¿~¼K¿J»K·]¸,Ç}¸]µ�¿�¶�Ã}¾qÈ�É�É3Ê�ËwÌqÍZÎ�Í�Î�Ï�ÌUÈ

Page 5: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

�' ;��>'(=��+�� � ��,���)(*� � �5�,(*>I���+,(H�?��7 �' ,(������ � ����( � ��K K�( � ����+ ��K������I��) ,/ :,>)(*� "��6 ,(?�)(*>':�K��6�>6�' ,��� �,�)�����'��/5>&/5���N7 �8 K

�'� � ��/5��K�(*�'( � ( � ��:,>)(?�87%/5(*/5���'�0( @, ,��:;>'�I���+ L�( @ � (*>)>I���( ���JF ����(*�) ,(*��� L����J:,+,� �*� (*�,�)� � K��0K���+,�N���>'�':;�,�I���(=�,��:;>'(*>

­6 � K�(N�) ,(N����� � ����( � �8K K�( � �'��� �):,+,>H"

1=(*+,(H�'������+,��K ����� � ����( � ��K K�( � ����+ ��K��������' ;/5> �,�)������,(��N�,���)�I���K >'��K�:,�I���+ �'�#�' ,(*>)(=�3(*�7 ���)/5��+ � (?�,�)� � K�(*/5>*"6$J�

/5�J¬��+,�!:,>)( �87 �' ;( � � >'(*�)��������+ �) ,����/5��>)�?�,��+,��/0 � �8K K�� ��K K�� � ���'(*� � � .*( � �)> � (*��>'(5�'� � (0:,>)(*� ��(*�'� >' ,���'�IK�� �87 �'(H�

�' ;( �� � �)(*������+�� ��� L9MGL ��� L � L ��(*+,(*�)������+;��K � ��K K�( � �)���'> �'(*�;: � ( �,��:;>'( �I�/5(*> � � �)( � K��8�/0�+,� >'�)���'����( 7 ���N�'( � (*+��IK��

��K K�� � ���'(*� � � .H( � �'>�/5���)(?��7 �'(*+ �' ,��+!��K��,(*�6� � .*( � �)>*"��6 ,(=>': �*� (*>)>?��7 ��(*+;(*�'���I���+,��K � ��K K�( � ����+ ��K������I��) ,/5>&�>6(*���+ � (*�

� �!�) ,( �� 7 �'( ��:;(*+��?:,>)(?�+ K���+,��:;����(=(*+�����)��+,/5(H+��)>?�) ,���6�)(���:���)( ��:,�'��/5���I � >'�'���'����(=�'( � K���/5���I���+�� � L � L � L,D "

��(*>'����'(N�) ,( ��?>': �*� (*>)>*L ��(*+;(*�'���I���+,��K � ��K K�( � �'���)>=/ :,>)� � (=�':,+;(*� 7 ���J���,��K � ���I���+,>=�' ,��� :;>'(=/5(*/5���)�5���� (*�)(*+��IK��

�' ;��+-��+�� � ��,���)(*� � � �' ,( � ��K K�( � �'��� � > �,(H>I���+,(*�H"������G � �8K K�� �':;+��+,� 7 :,+ � �I���+,>N���'(0�,�'������;(*� �) ,�������)( ( @,�,�)(*>'>)(*� �+

�'(H�'/5>6��7 �' ,(=���3(*�)������+ �87 �' ;(?����� � ����( � �8K K�( � �'���?�'���' ,(H�6�' ,��+ �) ,(=�'(*>)��:,� � ( � ��+,>'�)�'�8�+��'>���+,� �'(���:���'(*/5(*+��)> �87 �' ,(

���;��K � ������+ "��;���0�,�'�����)��/5/5(*�)> +,���N7 ��/0 K ����s­���' �' ,(H/ L �':;+��+,� ��(H+,(*�'���I���+,�8K ����� � ����( � ��K K�( � �)���)>5�> � ��/5��K�( @

��+;� ��/5( O � ��+,>):,/0�+;� � ( � ��:,>)(!�,(H�'(*�)/0�+��+,� ;�K­ (*� � �87 �) ,(5�':;+��+,� �,���'��/5(*�'(*�)> ���%( � �N�'(H>'��:;� � ( � ��+,>):,/5�,����+

�>#���� � :GK��*"�� �!/5�`¬�(0/5���'�)(*�'>0­ ���'>'(8L �) ,(5���,�GK � ���I���+�� >0�,�'�����)��/5/5(*�=/5��� +,����¬�+,�K­ �' ,(5�)(*>'��:,� � ( � ��+;>'�'�)���+��)>

:,+,�;(*��­6 � � ��' ,(��3+,�8K �;�'�����'��/ /5��� � (!�':;+ � � �' ,( :,>'(H�*"��;���N( @G��/5��K�(8L � � ��/5�� K�(*�!�;(*��( K����4(*�5��7 �'(*+�¬�+;�K­6>

+,( ��' ,(H� �) ,(N>��*(0��7J�' ;(N�,�'�����)��/ � ( �+,� � ��/5�� K�(*� +,���6�) ,(N/5(*/5���'� ������ K�� � K�(�L3+;���?(H��(*+-�) ,(N�)( K����I���(N�/5�3���'�)��+ � (

�'�5�) ,(=:,>'(H�?��7 >'�4(*(*� ��(*�)>':,>�/5(*/5���)� � ��+;>':,/5�,����+ "

� ( �;�'���4��>)(5� +,(�­ ����� � ����( � ��K K�( � ����+ �8K������I��' ,/ �' ,���=�>#(*��> K�� �':;+,(*� �'� ����'( � �IK���/5(*(*�N�) ,(5�'(H>'��:;� � ( � ��+!

>'�)�'�8�+��'>5>)�3( � ��3(*� � � �' ,( �,�'�����'��/5/5(*�N���N:,>'(H�*"�"4B¬�(5��(H+,(*�'���I���+,�8K � ��K K�( � �)���)>*L6��:,�)> �G�����,(H>5/5(*/5���)�-�+��)�-�]­��

>'�;� � (*>HL?��+;( 7 ���5>) ,���)� O K ���(*� L?��+,� ��+,���) ,(*�07 ���0K���+;� O K ���(*� � � .H( � �'>H" F6+GK Y¬�(-�,�)(*�����:;>1­����O¬4L ��:;� � �8K K�( � �'��� �;�#

+,��/0 � �8K K������*.H:,>'�)>N�' ,( � ��:,+,�,���'� � (*�]­�(*(*+ �' ,(H>'( �]­ � >'�,� � (*>5�,(*�4(*+,�G�+,� :,�4��+ ;�K­ ­�( K K?�' ,( >'�4( � �� � �'(*>)��:,� � (

� ��+,>'�)�'���+��'>=���)( � ( �+,�!/5(*�H"

�,��� ( @,��/5��K�(�L���(H+,(*�'���I���+,�8K3����� � ����( � ��K K�( � ����+!�'�)���,(H> �+ � �'(*��>'(*� >'�,� � (�7 ��� �'(*�;: � (*�5�,��:,>'(6��/5(*> � �=�)( � K��8�/0�+,�

��+GK�� �' ,(=�4���)�I���+-��7J/5(*/5���'� � ��+��'�8�+��+,�!>) ,���)� O K ���(*� � � .*( � �'>*"��6 ,(#>'/5��K K�(*�=�) ��>��3���'�I���+ L �) ,(N>' ;���'�)(*�?�) ,(N�,��:,>'(

�I�/5(*>*L���+;� �) ,( /5���'(�/5(*/5���)���>~­���>)�'(*� � �N:,+�:,>'(H�NK���+,� O K ���(*�5� � .*( � �)>J�' ;��� ���)( +,��� �'( � K����/5(*�%$'&)( *,+!-.(0/2143�-65031#(07 "

� (­���:�K��-K Y¬�(5�'� ��K K��K­ �) ,(5:,>)(*�N�'� >'( K�( � ��­6 � � -�>N/5���)(N�/5�3���'�'��+��*L �)(*�,: � (H� /5(*/5���)�-:,>'(8L ���=>' ;���'�)(*�N�,��:,>'(

8

Page 6: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

�I�/5(*>*"���:,�=��K��������) ,/ �,��(*>=�' ��> � � �'�`¬��+,�!( ��' ;(*�N�!/5(H/5���'� �����,��:,>)( O ��/5( � ��+;>'�'�)���+��HL ��+;�-:,>I�+,�5��=�'�!>)( K�( � �

�' ;(N>I �*(N��7J�) ,(=>' ,���'� O K ���(*� /5(*/5���)�5���)(*� � ��>)(*�-:,�4��+ ,�K­ ­�( K K �' ,( � ��+,>'�)�'���+�� ;��> � (*(*+-/5(*�6>)�07 ���6�;:,�I�+,�5�' ,(

� :,�)�'(*+���( @,( � :,����+ ��7 �' ,(#�,�'�����'��/ "

�6 ��>&�,���4(*�~­� K K3�,(H> � � � ( ��:,������* 3���� ��� -.(03�& ( *�� * 1�����+ * /#3�-��?��K��������) ,/ L � ��/5�,���)(J��J�'�=�,�)(*�����:;>~­ ���R¬4L���+,�

�,�)(*>'(*+��6�4(*�I7 ���'/5��+ � (=/5(*��>':,�)(*/5(*+��'>H" � ��'>)�*L8­�(?�G�> � :,>'>��' ,(��,�'(*�����:,>*­����O¬ :,�4��+�­6 G � �' ��>6��K��������' ;/ �> � ��>)(*� "

�6( @G�HL[­�(6�+��'�'���,: � (?��:,�J/5���,( K ��7 ����� � ����( � �8K K�( � �I���+ ��+,�5:;>'(6��J�'�#�,(*> � �I � (N�) ,(6�,(*�)�� K�>6��7 ��:,�&��K��������' ;/ "��6 ,(*+ L

��7 �'(*�J�G�> � :,>'>�+,�0>I�/ :�K�������+ /5(*�' ;���;>*LP­ (6�,�)(*>'(H+��&�3(*�7 ���)/5��+ � ( � ��/5�,����>'��+,>J�������+,>'�&���' ;(*�J��K������I��) ,/5>J��+,� >) ,�K­

,�K­�­�( K K4��:,� ��K������I��) ,/ /5(H� �/5�3��>'(*�5�)(*>'��:,� � ( � ��+,>'�)�'���+��'>*" � �+,��K K���L[­�( � ��+ � K�:,�,(+­���' 0>'��/5( � � >'(H�'��������+,>J� � ��:;�

,�K­ �) ,(*>)( �)(*>':�K��'>=/5��� � ( :;>'(*�-�)�0�/5�,�)����(�7 :,�):,�'(=����� � ����( � �8K K�( � �I���+ �'( � ,+;��K�������"

� ������� £���¦ � ¥u¤�!

1=(*+;(*�'���I���+,��K ��K��������) ,/5>�� � 8 L � D,L ��� ,����( �;�'����(H+ >): �*� (H>'>I7 :�K ���6�)(*�,: � �+,� �' ,(N�;��:,>)(N�I�/5(*>?��+,�!�,����(�7 ��:�K��6�)���'(

��7 ����� � ����( � ��K K�( � ����+�� D�L � L � D "���:,�?­ ���R¬#�> � ��>'(*� :,�3��+5�=7 ���'/5��K ��*���I���+!�;(*��( K����4(*� � �!�?(H/5(*�'> (�&�3�" � � " �6 ;( ��

��(H+,(*�'���I���+,�8K$#��%"&"�('�&(��-*)+)0:,>)(*� � &,� -.(03�& ( *�� * 1 5'��+!* /#3�--�-�'� �������,(-/5(*/5���'� �+��'� � &,� -.(03�& ( * (0/ >'�,� � ( 7 ���5+,(�­

� � .H( � �'>HL,��+,�5��+.�/�0��+!* (�>'�;� � ( 7 ���J�8K��5� � .*( � �)>*L;­6 � � -­ (H�'( � ��K K�( � �'(*� K�(*>'>&7 �)(���:,(*+��IK���"21I+5���'�;(*� �)� � ��/5�,���)(*­���'

+,��+ O ��(*+,(*�)���I���+,�8K �8K������I��' ,/5>HL �) ,( �� � �8K K�( � �'��� /5���,( K�(*����+�K�� � K���>'> � ��(*+;(*�'���I���+,��K � �8K K�( � �I���+ � �-��KB­ ����>N>)(*�'��+,�

�' ;(6�' ,�)(*���)(*+��+;� � ��:,+;�,���)�N�'�=�' ;(6�I�/5(6�87%�) ,(6�,�)(*�����:;> � ��K K�( � �I���+ "���:,�J��K������I��) ,/ ( @,�,��+;�,>J:,�4��+0�' ,( ��'> � �N:,>�+,�

�5+,(�­ �4��K � ��­6 � � -�;��+;��/0 � ��K K�� ���*.*:;>'�'>6�) ,(N�) ,�'(*���'(*+G�+,� � ��:,+,�,���'�!�)�0K �/0��?�)(*>'��:,� � ( � ��+,>':;/5�,�I���+ "

��+,(��/5�4���'�)��+����3�8K � �!7 ���J�8K K ��(H+,(*�'���I���+,�8K � ��K K�( � �)���)>?�>*­6 ,(*+ �'�43 -5��� ��&)(�� � .*( � �)>�7 �'��/ �) ,�'(H���'(H+,(*�->)�,� � (=�)�

�/5/0:,+,(�>'�;� � (�"������� � ��K K�� � � .*( � �)>J���)( �;�'��/5���'(*�0��+GK��N�87 �'(*� � �,@,(*� +�:,/ � (*� ��7 � �8K K�( � �I���+,>HL3>)�3( � ��3(*� ��> ��+;( �873�' ,(

�':;+��+,�0�,���'��/5(H�'(*�)> /5���,(6������ K�� � K�(6�'�#�' ,(����,��K � ���I���+!�;�'�����'��/5/5(*�*" F +,�����J��+,�46�� � ¬�>)��+ � �%7 7 ��:,+,�5�' ;���J� � .*( � �

K 7 (*��/5(5���>'�'� � :;�I���+,>N�����'�57 �'��/ ��+;(N�,�'�����)��/ �'�5�) ,(0+,( @,�?��+,� ��7 �)(*+ � ,��+;��(N��>?�!�;�'�����'��/ ( @,( � :,�'(*>HL >) ,�K­��+;�

�' ;���=���,@,(*� O ����(0�,�'��/5������+ �4��K � ��­� K K6��7 �'(*+ � (0�+,���;�,�'���,�I����'(8"81I+,>'�)(*��� L �) ,( ��09 (0(0/#503:';8< (0/%� 3�&��=��* � �8K K�( � �'���

�,�)��/5���)(*�-�5+�:,/ � (H�?��7J� � .*( � �)>?��+GK���­6 ,(*+-�5�;��:,>)( O ��/5( � ��+,>)�'�)���+���­���>6( @ � (*(H�,(*� " �6 ,( ��=>I�/ :�K�������+;> >) ,�K­�(*�

�;(*(*� � � � ¬?>C(*������I���+�­���>�>': �*� (*>'>7 :�K ����K �/0��I�+,� �,��:,>)(N�I�/5(*>?��+,� ,�K­ /5(*/5���)�!:,>)����( �+ � �)(*��>)(*� ��>?�) ,(N�,��:,>'( O

�I�/5( � ��+;>'�'�)���+��0­ ��> �)(*�,: � (*� " �6 ��>=�+ � �'(*��>'(*� /5(*/5���'� :,>)(�L � ��K K�(*� �)(*+�:,�'(H� ����� � ����(�L �> � ��:;>'(*� � �-�,�)(*/5���):,�'(

Page 7: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

�,�)��/5������+-��7J� � .H( � �'> �+��'� �' ,(#�/5/0:,+,(N>)�,� � (s­6 ,(H+-�' ,( � �8K K�( � �'���N/ :;>'�?/5�8�+��'�8�+ �5�����(*+ �,��:;>'( O �I�/5(8" F6+�K Y¬�(

�' ;( ��6�8K������I��' ,/ L,��:,�'>��'(*�;: � (*>��'(*+�:,�)(*� ����� � ����( � �5��K K��K­��+,�0� � .H( � �'>6�)� � ( �;(*/5���)(*� � � � ¬N�+��)� �) ,�'(H���'(H+,(*�->)�,� � (

K����'(*�?­6 ,(*+ �' ,(��,��:;>'( O �I�/5(�7 �8K K�>*"J ?�;�������+;��K K���L3­ (6�8K K��K­ �N/5(*/5���'� O � ��+,>'�)�'�8�+�� �4��K � � �'� � (?:;>'(*� �+,>)�'(*���! 7 �' ,(

:,>)(*�?>)�5�,(*>I��'(*>H"

� K�>'��+ ��+,� > �� ,(*� � >�� 3 3 ��-�& +!*����.&��= #���"/"�(' & ��- � � � �8K K�� � ���'(H> � � .*( � �)> � �)(*���)(*� >I�+ � ( �) ,( K���>'� � ��K K�( � ����+ �+

� ,�'��+,��K����8 � �8K9���'�,(H�?�+ /5(H/5���'��"?$J� >)( K�( � �I�+;� ��+-���,�;�'���;�I����'(0���,�;�'(*>)>*L ��+�K�� � � .H( � �'>=�8K K�� � ���'(*� >�+ � (5�5>'�4( � �� �

�I�/5( /5��� � (�>'( K�( � �)(*�57 ��� �;�'��/5���I���+ "��6�K­�(*��(H�*L���+ � (��' ,( �� � ��K K�( � �)���� ,��> �'( � K����/5(*�!� � .*( � �)> 7 �'��/ �' ��> +;(�­ O � � .*( � �

���)(*�,L,�5�G�� (*�'(*+����,�'��/5���I���+ �3�8K � � /0:,>)� � (�7 �8K K��K­�(*� � ( � ��:;>'(N>):,�'������+,�!� � .*( � �)>?���)(=+,�NK���+,��(*���+ � ;�'��+;��K����� � ��K

���)�,(*�H"�?:;�?��K������I��) ,/ �;�'(*>)(*�'��(*>N�' ;( � � .*( � � � >=�8K K�� � ���I���+ �I�/5(=7 ���?��K KJ� � .*( � �'>*L +,��� .*:,>'�=+,(Z­ ��+,(*>HL >'� ��:,�)>=/5���

>'( K�( � �=����(*>6��/5��+,�0�' ,(#>':,�)������+,� � � .*( � �'>?��>*­ ( K K "

"4B¬�(5��(H+,(*�'���I���+,�8K � �8K K�( � �I���+ L���:,�#��K��������' ;/ :;>'(*>N����(5��> ��+ �+,�G � ���'���#��7*­6 ,(*+ � � .H( � �'>0���)(5/5��>)�?K Y¬�( K�� �)�

���(�" � ,(H+ ����(0�>#+,���=� �'( K �� � K�( �+,�� � ���)���0��76����� � ����(0���' ;(*�=/5(*�' ,���,>#/ :,>)� � (5:,>)(*� "�� :,�,>)��+ ��+;� > ��>'> � � E

�,(*> � �I � ( �$< 3�& +!-.(���5�('�&��%3,3:0(=�) ,��� �> � �8K K�( � �'(H� �+ � �'(*/5(H+��)��K K�� � ��>'(*� :,�4��+-� � .*( � � � ��+,+,( � ������I� �)���) ,(*�=�' ,��+

����(�" "4B¬�(�­��>'(�L � ����(*> � M >) ,�K­�(*� �' ,����­6 ,(H+ � (*�)�'���+�� (-����5�('�&�J���(�L3�) ,(*�!/5���0�+,�� � ���)( ���' ,(*�6:;+�:;>'(*�-��+,(*>6��>

­�( K K " "%Y¬�(0��(H+,(*�'���I���+,�8K � ��K K�( � �)���'>HL ��:,�'> � ��:�K�� �'(*/5����(N� � .*( � �'>�7 �)��/ ����( O�� ��>'(H� � ��K K�( � �I���+ � � �;�'��/5���I�+,�!�) ,(*/

�'�8>C���':;�'(=������(*� � � .*( � �=<��,� � (�L8­6 ;(*�'(N�) ,(*�-­ ��:�K�� � ( � ��K K�( � �'(*� � �5���) ,(*����K��������' ;/5>6��+ � (#�' ,(*� ����( (H+,��:,�� "

� � �©2!��u¤~¥�§�¢1¦

�;�'�����'��/ �+���I��8K K�� ,��>��!+�:,/ � (*�=�87 K ���(5� � .*( � �'> � ��+��)���+;(*� �+-��+-��K K�� � ���'(*� >)(*��­6 � � ���)�K­6>?��>?+,(�­ � � .*( � �'>

���)( � �)(*���)(*� ��>?�) ,(N�,�)�����)��/ �':,+;>*"�� � � -� � .*( � �6�> � �'(*���'(*� � �!��K K�� � ���I�+;� >)�'���'����(=7 �)��/ �' ,(� (03'33L ��+,�->'�)����+,� �

�4���+��)(*� �)����&�+5��+;(6��7 �' ,(6( @��>'�I�+,�0K ���(6� � .*( � �)>*"��9��(*+��':;��K K���L���K K%�4���+��'(*�)> �)� �#>'(*�J�87 � � .*( � �'>J/5��� � (6����(*�R­6���'�)(*+

��+;� �) ,(*� � ( � ��/5(6:,+,�)(*� � ,� � K�(8" � ,(H+N�� �>��,(*>��'� � K�(��'�=�'( � K��8�/ >)�'���)����(�L��=����� � ����( � �8K K�( � �I���+ �> �+����J¬�(*�5��+;�s­�(

>'��� �' ,( � �8K K�( � �'�����-.3�� ( * 14(��6�) ,(N��K K�� � ���'(*� >'(*�=�)� �3+,�-:,+;�'(*� � ;� � K�( � � .*( � �)> � � & -03:�� * 1#�' ,(*/ ��+;�-�' ,(H+-�'( � K����/5>

�' ;( :;+,�'(*� � ,� � K�( ��+,(*>H"

� �'� � �+,� � (*�8�+,> � �5��;(*+��I 7 ���+,� �' ,( -5� ��&���( & L4�' ,(N>)(*�?�87 �8K K +;��+ O ,(*��� �3�8�+��'(*�)>6�+��)�!�) ,(N ,(*��� "�� �������3�8�+��'(*�)>

/5��� � (6>'�)���'(H�5�+ ��K�� � �8K3������� � K�(*>HL,��+0�' ,(�>'�'� � ¬3L����9�+5�'(H���>)�'(*�)>�� �' ;��� �>*L��+!�8K K3� � .*( � �)> �G��'( � �IK��!�'(H� � ,� � K�( � �N�' ,(

D

Page 8: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

�,�)�����)��/ "��6( @,�HL3��K K% ;(*��� � � .H( � �'>6�4���+��'(*� �'� � �5�' ,(=�)����� >)(*�6���)(?���,�,(*� �'�0� >)(*�6��7 �'(*� � ;� � K�( � � .*( � �)>*L4( ��) ,(*� � �

/5���O¬��+,�=�' ;(*/ L���� � �������+,�=�' ,(H/ �)�?�=�'(H� � ,� � K�(?� � .*( � �&>'�,� � (�"��6 ,(*+ L�(*� � 5+,(Z­ �'(H� � ,� � K�(?� � .*( � �9�>J( @,��/0�+,(*�#7 ���

,(*��� O �4���+��'(*�)>6�' ,���J���)(?���;�,(*�5�'�#�' ,(����I����+,��K �)�����J>'(H� ��+,�5�' ,(��,�'� � (H>'>6�'(H�3(*���'>H" ��+ � (���K K �' ;(?�'(H� � ,� � K�(=� � .*( � �'>

,����( � (*(H+ ���>I��)(*� L4�' ,( � ��K K�( � �)�����'(*/5����(*>J��K K �' ,(�:,+,�)(*� � ,� � K�(=� � .H( � �'>&7 �)��/ �' ,(���K K�� � ���)(*� >'(*����+;�5�'( � K����/5>?�' ;( ��

>'�)���)����(#( ��) ,(*� � �!> � ��+;+��+,� >)�'���)����(=7 ������K K :,+,/5���R¬�(*�-� � .H( � �'>HL ��� � � �'( � K��8�/0�+;� �8K KJ�' ;(N>'�)���'����(N���?��+ � (=�+-�' ,(

� ��>'(N�87 � � �������+,� � ��K K�( � �'���H"

1=(*+,(H�'������+,��K � �8K K�( � �'���'>N/0�+��/0 �*(N�' ;(N+�:,/ � (*����7 ��/5(*>�(*� � -�)(*� � ,� � K�(0� � .H( � �6�>?�)�'� � (*�-�,:,��+,� ��)>6K 7 (*��/5(

� � �)�'� � �+,�0��K��!� � .*( � �)>JK�(*>'>�7 �)(���:,(*+��IK��!�) ,��+5����:,+,�#��+,(*> �,��+ � (?��+5� � .*( � ��>':;�'�����(*>6�=7 (�­ > � ����(*+,��(H>*L���&�>&K B¬�( K��!�)�

>':;�'�����( /5��+�� /5���)(�"?<��'���'����(N>':;�'������+;� >)(*��(H�'��KJ> � ����(*+;��(*>��>��,�'��/5���)(*�-�'�5�) ,(0+,( @,�?�8K��,(*����(*+;(*�'���I���+ ��+,�-��+�K��

�' ;( ����:,+,��(*>'�=��(*+,(*�)���I���+ �>N> � ����(*+,��(*� ���=(*��(*�)� � �8K K�( � �I���+ " <G: �*� (*>)>I���( K�� ��K��,(*�=��(H+,(*�'���I���+,>0���)( > � ����(*+;��(*� K�(*>)>

7 �)(���:,(*+��IK�� � ( � ��:,>'(6�) ,(*�0���'�K­ /5���'(�>IK��K­�K��N��+,� >)��K���+;��(*� O K ���(*�5� � .*( � �)>J ,����(J/5���)( ��/5(6�'� � ( � ��/5(6:,+;�'(*� � ;� � K�(�"

� :,+��+,�!�,���'��/5(*�'(*�)>N>'( K�( � �0­6 ,(*+ �'� > � ����(*+,��( (*� � ��(*+,(*�)���I���+ ��+,� �' ;(*+ +�:,/ � (*�?�87 > � ����(*+,��(*>N��+ � � .*( � � /0:,>)�

>':;�'�����( � ( 7 ���)( � ( �+,� �,�'��/5���'(H� "

1I+ ���'�;(*�6�'�0�����8��! ;�����+,�0�'�5�'�)� � (=� � .*( � �)>6�+ �8K��,(*�6��(*+,(*�)������+;>67 ��� �4���+��)(*�'> �+��'�5�) ,(=> � ����(*+,��(*� ��(*+,(H�'������+ L

��(H+,(*�'���I���+,�8K � �8K K�( � �I���+ ��>'>):,/5(*>��' ,���6�3�8�+��'(*�)>67 �)��/ �8K��,(H�6� � .*( � �'>?�)� ����:,+;��(*�6� � .*( � �)>?���)(=�'���)(�" <G: � !7 ���R­����)� O

�+ O �I�/5(?�4���+��)(*�'>��+��'�0(*� � !��(*+,(*�)������+ ���'(6/5���+��'���+,(*� ( @,��K � ��K � �+!� � �8K K�( � �'���6�,���)� >)�'�): � �':;�'(�L4�' ,( -.(�� (�� 50( -.(0/

��(�& LJ�' ;��� � ( � ��/5(*>5��+ ( @,�)(*+,>I���+ ��7?�) ,(!�)�����N>)(*�s­6 ;(*+ �) ,���0��(*+;(*�'���I���+ �> > � ����(*+;��(*� " � ;(*+ �-�4���+��)(*�5>'�)���'(

� �*� :,�)> �)�N��+5� � .*( � �&�+5�#��(*+,(H�'������+!��+;�5�3�8�+��'>��'�N��+5� � .*( � �J�+5�N����:,+,��(*�J��+;(�L��) ,(?�4���+��'(*�&K�� � ���I���+5�> ���,�,(*�5�)�

�' ;(?�'(H/5(*/ � (*�)(*�->'(H�J7 ��� �) ,(?����:,+;��(*����(*+;(*�'���I���+ " � �)� � ¬��+,�N>): � >'�'���'(*>��> � ��K K�(*�-/5�8�+��'�8�+��+,� �) ,( � --� & ( 503�-�--� ( -*"

<��)���'(H>N7 �)��/ ����:;+,�!� � .*( � �)> �)�-��K�� ��+,(*>#���'(5+;���N( @,��K � ��IK�� �'�)� � ¬�(H� "$1I+;>'�'(H��� L~­6 ,(H+,(*��(H� � �����(*+ ��(*+,(*�)������+ �>

� �8K K�( � �'(*� L ��K K ����:,+,��(*�6��(*+;(*�'���I���+,>?���'(N�8K�>)� � ��K K�( � �)(*� "

��(*>I���+,(*�)>=��7 ��(*+,(*�)������+;��K � ��K K�( � �)���'>=/0:,>'�6�8K�>)�5(*>'�)� � K �>' �' ;( ���,�,�)���,�����)(N>I �*(�L4��+,� +�:,/ � (*�6�87 ��(*+,(*�)���I���+,>H"

�6 ,( � ��K K�( � �)���=/ :;>'�?�;(*�'(*�)/0�+,(0 ,�K­ 7 �'( ��:;(*+��IK�� �)�5> � ����(*+,��(0(*� � ��(*+,(*�)���I���+ � /5���'(�7 �)(���:,(*+�� � ��K K�( � ����+;>N�'(*�;: � (

/5(*/5���'�?�)(���:���)(*/5(*+��'>���� �) ,(�( @,�3(*+;>'(6��7��+ � �'(H��>'(H�!���JF ��/5( � ( � ��:,>)( >)�,� � (&�> �)( � K��8�/5(*�5>)����+,(*� � :;� K ���(�� � .*( � �'>

���)(N�'�)� � (H� /5���'(=7 �)(���:,(*+��IK���" �6 ,(N>'�;� � (0�'(���:���'(*� � � (*� � -��(*+,(*�)���I���+ �>�>'�'�)��+,�8K�� �+��3:,(H+ � (*� � � �) ,(N�,�)��/5���I���+

7

Page 9: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

��+;�5> � ����(*+,��(=�4��K � �(*>*"��6 ,(�(0�%( � �I���(*+,(H> >���7 �8K K ��7 �) ,(*>)( �4��K � �(*>?�;(*�3(H+,�,>6>'�)�'��+,��K��!:,�4��+5�) ,(=��>'>):,/5�,����+;> /5���,(

� �!�) ,(=�,(*>I���+,(H� � � ��:,�6�' ;( �8K K�� � ���I���+ � (* ,��������?�87 �) ,(N�,�)�����)��/5>�:,>I�+,�!�) ,( � �8K K�( � �'���*"

�6 ,(0>': �*� (*>'>N�87J��(*+,(H�'������+,��K � �8K K�( � �I���+ �;(*�3(H+,�,>=:,�4��+-/5��+�� ��>)�3( � �'>N�879�;�'�����'��/ � (* ,��������*"�1 7J��K��;(*�=��(*+,(H�

������+ � � .*( � �)> � ��+;>':,/5(#K����'>N�87 >'�)���'����(�L �' ,( ��=K 7 (*��/5(*>0���)(NK���+,�;L �' ,(H� � ��+��)���+ 7 (�­ �3�8�+��'(H�'>0�'�!����:,+;�!� � .H( � �'>HL

�4���+��)(*�N>'�)���)(*>N�+��'� �' ,(H/ ���'(0�'���'(�L ��+,� /5��+�� � � .H( � �'>0���(5���=� 7 ���=����:,+,��(*�=����(8L �' ,(H+ ��(*+,(H�'������+,��K � ��K K�( � �)���'>

­� K K � (!��(*�'��(0�%( � �I���(�" $&:,�*L&7 ���0>'��/5(!�,�)�����'��/5>HL�­6 � � �����K����'( �' ;( �4��K � ���,( � �>I���+,> /5���;( � � �' ,( � �8K K�( � �'���

�/5�GK�(*/5(*+��)���*L4�3(H�I7 ���'/5��+ � (=/5��� � (=:,+,� �*� (*�;�'� � K�(�"���+�K�� �' ,(=���,��K � ������+ �;�'�����'��/5/5(*�2$ ���*­����)>'(�L,�) ,(=:,>'(*�07 � ��+

��;(*+��I 7 � �) ,(*>'( >'�4( � � �!� ��>'(*>HLJ��+,� �' ;(*+ ;(5���=>' ,(5/0:,>)�?K�(*���)+ � � ��:,�=�8K KJ�' ,(5�4��K � � �,( � �>I���+,>5�;(*> � � � (*���+ �' ,(

�,�)(*�����:;>?�,���'�����'���, �+ ���)�,(*�?���*.*:,>)�6(*� � �':;+��+,� �,���)��/5(*�)(*�6���;�,�'���,�I����'( K�� 7 ��� �) ,( ��?���;��K � ������+ "��

� � ����¢$��� ªU©���¤�����£~ªK¢�� � ¥ §�¢1¦ �0¤ � �)¥0��� ��©*£~¥u¤

��(*/5(*�)> (�& 3�" � � ,����(?�,�)������,(*� �0:,>'( 7 :�K 7 ���'/5�8K,7 �)��/5(�­����O¬07 ����/5���,( K �+,�5��(H+,(*�'���I���+,�8K ����� � ����( � ��K K�( � ����+-��K�����

�I��' ,/5>H"J ?>�/5(*+��I���+,(*� L,�' ,( ��6/5���,( K �,���)�I�����+,>6�' ,(�� � .*( � � >)�,� � (?�+��'� &/�!-0(.3�&)( * (0/���+,�.�/�0� + * ( >)(*�'>H"��6 ,�'(H���'(H+,(*�

� � .H( � �'>#���'(5�) ,��>)(5�' ,���=�' ,( � �8K K�( � �'��� �)�'� � (*>0�'���3+,� :,+,�)(*� � ,� � K�( � � .*( � �'>N��+,� �)( � K����/ �' ,(*/ "*1I/5/0:,+,(0� � .*( � �'>

���)(=��+,(*>��' ,���*­� K K +,��� � (N�)�'� � (*�-��+ �) ��> � ��K K�( � �I���+ "2�6 ,(=>)( K�( � �I���+ � �I��'(*��� 7 ���6�' ,(*>)(N>'(H�'>?�G�>'��+,��:��>) ,(*>0��������:;>

� �8K K�( � �I���+ ��K��������' ;/5>*"

����+,>��,(H�6 ,�K­ �N�)�'���������+;��K ��(*+,(H�'������+,��K � �8K K�( � �'���6>'( K�( � �)>6��)> �) ,�'(H���'(H+,(*�!��+,�0�/5/0:,+,(6>)(*�'>H" �6 ,(6�) ,�'(H���'(H+,(*�

>'(H� � ��+��)���+,>?�) ,��>)(N� � .*( � �'>��' ,���6 ,����(=>':;�'�����(*� 7 (�­6(H�?�' ;��+ �5>'�4( � �3(*� +�:,/ � (*�6�87 � �8K K�( � �I���+,>�� �I���� � ��K K � ��+,(=���

�]­��%� ��� L � L � " �6 ,(#�'�����6� � .*( � �)>?��+;� �8K KJ� � .H( � �'> �+-�8K��,(H�?��(H+,(*�'���I���+,>=���)(=�/5/0:,+,(8" �6 ,( &/�!-0(03�& (�*�� * 1 5'��+ * /#3�-��

�������,(*> �' ;(-����:,+,� �' ;�'(*���'(*+,(H� � � .*( � �)>!7 �'��/ �' ,(-�8K�� �/5/ :;+,(-� � .H( � �'>H" � � � ��/5(-�) ,(-����� � ����( � �8K K�( � �'��� �>

�+����J¬�(H� L���)>J�4��K � �0>'(*�)> �) ,( �) ,�'(H���'(H+��+,� � ��:,+,�;���'�#�'�=�' ,(��I�/5(6��73�) ,(��,�) �,�)(*�����:,> � �8K K�( � �I���+ L3­6 ,(*�'(��#�>&�?>'/5�8K K

�+��)(*��(*� � ��+,>'�)��+�� �;(*�'(*�)/0�+,(H� � �N�#�':,+��+,�0�,���)��/5(*�)(*�J>':;�,��K �(*� � � �) ,(6���,�GK � ���I���+ �,�)�����)��/5/5(*�H"9< � ����(*+;���+;�N�' ,(

� �) ��K��;(*�6��(*+;(*�'���I���+ � ���)�'(*>)�3��+,�,>?�)�N�'(H/5�3���'��� K�� � ,����>I�+;� �0�' ,�)(*���)(*+��+,� � ��:,+;�,���)�5�'�0�' ,(�����( � ���)�'(*>)�3��+,���+,�

��� ¿J·���� Ä�� ´rµ�¿q¼Jµ�¹�� �! q¼J³W·R³8Î���½Jµ�"�·R³P¶W¾{»K·O³�Å�¸�² ºP·P±J¾�À�¶�¾}¼J³W·�#�µ�¸�²=¾�¼J³J¶ ¼K¿K² ¿$"�½Jµ�¸]µ�´r·R¶W·]¸]³J³ ¼JÅW±�µ�³&%�µ�¼J¶�¾�Ë�³W¶W·]½('�¿J·RÀ�³ ½Jµ�ÅR·)'�¾�¹=»K³ ½Jµ�ÅR·² ¿K²=¶ ²=µ�¹ ¾�¹=»K³ ½Jµ�ÅO·!'KÅ�¼K¸�¸]·]¿K¶ Ë*"Z·]¿J·W¸]µ�¶B²=¾�¿$'K¶W·]¿U¼K¸ ·�ËB¹ ² ´*²=¶+',"�·�¿J·]¸]µ�¶ ²=¾�¿KËY³ ½K¸ ·]µZ»$'�-=¸]·R·]ËBºKÂq¶W·R³ ËB¿J·RÀ3ËB½Kµ."�·]³&'�-=¸]·R·�ËB½[·]¸]ÅR·�¿q¶ ËY¿J·]À/'10�¼Jµ�¿�¶ ¼K´2'K¶W·]¿U¼K¸ ·)'µ�¿J»+¶�·�¿q¼K¸]·R»UËBºKÂ�¶�·O³wËo¹ ² ´�²=¶]È

Page 10: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

�'� � �) ,( � �' �,�)(*�����:,> ��(*+,(*�)������+ � ��:,+,�,���'��"C1 (*+,(*�)���I���+ � ��:,+;�,����(*>5>�/5��K�� � ��+,>'�)�'�8�+ �' ,(5>)(*�0��76��K K��K­ � � K�(

�' ;�'(*���'(*+��+,� � ��:,+,�,���I�(*>*"

��:,�J��K������I��) ,/ ( K �/0�+,���'(*>6��(*+,(*�)������+ � ��:;+,�,����(*>H" 1I+,>)�'(*��� L���+0( @,��K � ��6�) ,�'(*���'(*+G�+,� � ��:,+,�,���'�#�>J(H>'�'� � K �>' ,(H�

�����' ;( � (*�8�+,+��+,�5��7 (H� � � ��K K�( � ����+ "��6 ��> � ��:,+;�,���)�5��K K��K­6>6�' ,( � �8K K�( � �'���?�)� � (=/ : � /5���'( �3( @� � K�(=�+ � ,����>�+,�

�4��K � �(H>07 ����>'( K�( � �I�+,� �' ;(5�' ,�)(*���)(*+,(*��>'(*�H" 1 76�' ;( � �8K K�( � �'��� � ��+ ���)�'��+,��(0�'� � ( /5���'(5(0� ( � ����(8LJ> � ����(*+,���+,�-��+�K��

� � .H( � �'>��' ,���6���)( /5��>'��K Y¬�( K��-�)� � (N����� � ����(�L � ��K K�( � ����+ � ��>'�'>�/5��� � (#�'(*�,: � (*� "

���

������������� ���

�������� ��� �����

�������� ��� ��� �

�!�"�#� ��� ������

$

%

&'

(

)

$ � �

�������* �

+ �� � �

�#��� �

�#��� �

,

-

.0/21!3�46587�9;: hUNPS�nVB^=<d_JQRM�SUT]MONJV=NPm?>{XZbJNPjJSZQRh�eKc�L?MON[MOQRSUTWVYXZN[c

�6 ,(6��(*+,(*�)���I���+,�8K � ��K K�( � �'���6� � ����(6�������,(*>6/5(*/5���'�=�+��)�N�]­��N��(*+;(*�'���I���+,>*L,��+,(6����:,+,�N��+,�0��+,(���K�� " �6 ,(��,��+,��/0 ��' ;�'(*���'(*+��+,� � ��:;+,�,���)� � ��K K�( � �'�������*.H:,>'�)> �0�' ,�)(*���)(*+��+,� � ��:,+;�,���)�5�' ,��� /5���0/5����( � (*�]­�(*(*+-> � ����(*+;��(*>HL3>'���07 �'��/@BADCDE�F �'�G@BA0" � � .*( � �'> ���)( >) ,�K­6+ ���'�;(*�'(*� � � ����(C7 ���5( @,�4��>��I���+ ��+�K�� �N�' ,(-� � �':;��K=�/5��K�(*/5(*+��'���I���+ /5���/5���+��'���+ � � .*( � �6K�� � ���I���+,> �+-��+��5���'�,(H�*"

� ���:;�'( � K K�:,>'�)�'���'(*>N ;�K­ �) ,(N�,��+,��/0 � �' ,�)(*���)(*+��+,� � ��:,+,�,���'� � ��K K�( � �'��� � ��/5�,���)(*>r­���' -��(*+,(*�)������+;��K � ��K K�( �

�'���'>H"��6 ��> �3��:,�)(?>) ,�K­6>6� /5(H/5���'�5>)�,� � (N�������,(*� �+��'�5�]­��0��(*+,(H�'������+,>*"����/5(=�,�'� � (H(*�,>�7 �'��/ ����:;+,��(*>)�6� � .*( � �'>

���&�' ,(��'���5�87%�) ,(?�;����(6�)�N�' ;(?��K��,(*>)� ���J�' ,( � ���'�)��/����) ,(?� � .*( � �)>2$ �+!�)( � �)��+,�8K�(*>076���)(�K�� � ( K�(*� �+ >'(���:,(*+ � (=��7 �' ;( ��

��K K�� � ���I���+ ��/5(�" ?�'�)�K­6> $ K�� � ( K�(H� �+ K��K­ (*� � ��>'(67 L �+,�� � ���)( �3�8�+��'(*�)> � (H�]­ (*(H+ � � .H( � �'> �6 ,(*����� ���'�)�K­6>=�+,�G � ���'(

7 ���R­����'� O �+ O �I�/5(=�3�8�+��'(*�)>*"

Page 11: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

�,���=� ��(*+,(*�)������+;��K � �8K K�( � �'���*L���+�K��-�3�8�+��'(H��� /0:,>'� � (5�'( � ���'�;(*� � �-�) ,(5�'(*/5(H/ � (*�'(H� >'(*�=7 ���N1=(*+,(H�'������+ E

� ( � ��:;>'( ���' ;(*�R­��>'(-� � .*( � ��� ­���:�K�� � ( �+ � ���)�'( � �IK�� �,(*��K K�� � ���'(*� � � � > � ����(*+,��( ��7 1 (*+,(*�)���I���+ E "�� � K�(-�' ,(

����� � ����( � � .H( � �'>�A ��+,���®­���:�K�� � (&> � ����(*+,��(H� L�� � .H( � �'>��,L�&L���+;���­���:�K��N+,�������' ,(H� ���'(�& ( *,+!-.(0/�1#3�-6503614(*"�� � .*( � �

�� K K�:,>'�)�'���'(*> �' ,(5�, ;(*+,��/5(H+,��+ �87 * ( 3���&�� �'���#��N�)(*/5���+,> �8K ���(!(H��(*+ �) ,��:,�� -��N�>N�' ;�'(*���'(*+,(H� ��+,� :,+,�'(H� � ,� � K�(

� ( � ��:;>'(0�' ,(0�'(*+�:,�)(*� ����� � ����(=�3�8�+��'>=�'� ��H" �6���I � ( �) ,������+ � (#�,�'��/5���'(H� L �'(*+�:,�)(*� ����� � ����( �)(���:���)(*>N� � ��/5��K�(*�'(

> � ����(*+,��( �87 ��'>=��(*+,(*�)���I���+ �'� � (0�'( � K����/5(*� L �+ �) ��> � ��>'(�L 1=(*+,(*�)������+ � "� +,��+ O ��(*+,(*�)���I���+,�8K � ��K K�( � �)���N�8KY­�����>

� �8K K�( � �'>���K K4��(*+,(H�'������+,>6��+,�5>)�­���:�K�� � ��K K�( � �6�8K K �' ,(������ � ����(�� � .*( � �'> $ A L �0L��0L��;L,��+,��� 7J��� �' ,( � ��>)� �87%�)�'� � �+,�

�' ;( (H+����)( /5(*/5���'�5>)�,� � (8"

�,��� �) ,(!�;��+;��/0 � �' ,�)(*���)(*+��+,� � ��:,+;�,���)� � ��K K�( � �)���HL?�-�' ;�'(*���'(*+��+,� � ��:;+,�,���)� $ >) ,�K­6+ � � � �,��>' ,(H� K �+,( ���

@BA CDE�F 7 LJ�G�����,(H> �) ,(!/5(*/5���'� �+��'� &,� -.(03�& (�* (./0��+,� �/�0��+!* (#>'�,� � (*>*" $J( � ��:,>)( �' ,(5�) ,�'(*���'(*+G�+,� � ��:,+;�,���)� � ��+

� ( � ,��+,��(*�-���?�' ;( � (H���+;+��+,� �879(H� � -> � ����(*+,��(�L �8K K 7 ���R­����)� O �+ O ��/5(N�4���+��'(*�)> /0:,>)� � (N/5���+��)���+,(*� �+-�5>�+,�8K�(

�'(H/5(*/ � (*�)(*�->'(H� $ �4���+��'(*�)>��4L(� L,��+,��� 7 " 6��> � ����(*+,��(=�I�/5(#��+�K��5�3�8�+��'(*�)>?�) ,��� � �)��>)>?�' ;( �) ,�'(H���'(H+��+,� � ��:,+,�,���'�

���)(5�'�)� � (*� $ �3�8�+��'(H� � 7 " � ���+��)(*��� +,(*(*� +;(*��(*� � (5�)( � ���)�,(*� � ( � ��:,>)( �) ,(5�' ;�'(*���'(*+��+,� � ��:,+,�,���'��­� K K6+,(*��(H� � (

��K�� � (*� ����:,+,��(H� �) ,��+ @BA C E�F%$ �� /5�`¬�(*>&+,�N>'(H+,>'(�7 ���J�' ,( � ��K K�( � �'���6�)�N/5�J¬�(6��K�/5��>'�&��K K �' ;(?� � .H( � �'>&�/5/0:,+,(7 " ��+

�0K����'(*��> � ����(*+,��(�L �' ,( � �8K K�( � �'���=�> 7 �'(*(=�)� � ;����>'(N�5�G�� (*�'(*+��=�' ;�'(*���'(*+��+,� � ��:,+,�,���'� �'�5��+�� �I�/5(=�,(H>I��)(*� L >)���!���

@BA0" F +�K B¬�(N�) ,(=��(*+,(H�'������+,��K � ��K K�( � �)���HL%� � .*( � �)>��,L�� ��+,��� � ( � ��/5( +!*,& (�* + -0(0/�L,��+;�$­� K K � (=�'( � K����/5(*� "�� � .*( � �

� �'(*/5�8�+,>���K ���( � ( � ��:,>)(N�3�8�+��'(H� � �'( 7 (*�'(*+ � (*>=���7 �'��/ �) ,(=�'(*/5(*/ � (*�'(*� >'(H�*"

?>�/5(*+��I���+,(*� (*���IK �(*�*L >'(*��(*�'�8K9�4��K � � �,( � �>���+;> /0:,>)� � (N/5���,( � � ��+��!��(*+,(*�)���I���+,�8K � �8K K�( � �'�����*­6 � � ��(*+,(H�

������+,>?�)�!> � ����(*+,��(�L �) ,(N>I �*(*>N�87 �' ;(N��(*+;(*�'���I���+,>N��+,��­6 ,(*+ � � .*( � �'>=���)(N�,�'��/5���)(*� 7 �)��/ ��+,(N��(*+,(*�)������+ �)�5�' ,(

+,( @,�H"��6 ,( � ��/5�GK�( @5�':,+G�+,�N�;���'��/5(*�'(H�'>J�87%��(*+,(*�)���I���+,�8K � ��K K�( � �)���'>6:GK��I�/5���)( K�� >'(*�)��(6�'�#��+,>O­ (*�;.*:,>'� ��+,(���:,(*>'����+��

­6 ,���6�'� � �8K K�( � �*"���+ � (N����: (*>'�)� � K �>' �­6 ,���6�'� � �8K K�( � �*L ����: / :,>)�6>'� K KJ�,( � ��,(u­6 ,(*+ �)� � ��K K�( � �H"

�6 ,(*>)(-�]­ � �>)>':,(H> ���'( ���)�' ,������+,��K L � :,�5>I�+ � ( � ���) � ��:,>)(-�I�/5(���>)�,� � ( �'�'���,(*���%> ��7 � >I�/0 K����!+;���':;�'(�L6�' ;(*�

���)(?(*��>I K�� � ��+G7 :,>'(H� "�1I+ � �)(*��>�+,��­6 ,���J�>6> � ����(*+,��(*� �+ � �)(*��>)(*>?�;��:,>)( O ��/5(*>*­6 ,(H�'(*��>6> � ����(*+,���+,�5/5���)(67 �)(���:,(*+��IK��

�'(H�,: � (*>&�,��:,>)( O ��/5(*>H" 1I+ � �'(*��>I�+;�N( ��) ,(*�J�)(*�,: � (*> ����� � ����(J��+,� �+ � �)(*��>)(*>6���JF�����(*�) ,(*��� " � K�>)��+�� >����,�3���'�):,+��>)�I �

����K K�( � �'���5�;�'������,(H>5��+ ��+;>R­�(*�N7 ����­6 ,(*+��'� � �8K K�( � ������:,� � ��K K�( � �)���!�;�'������,(H> ��+ ��+,>O­ (*�#7 ���­6 ,���0�'� � ��K K�( � � � �

/5���;���+,�5:;>'(*� � ��+,>)�'�)���+��)>6�+��)�5�5�3�8K � �!7 ���6>'( K�( � ��+,� �) ,(N���;�,�'���,�I����'(#�' ,�)(*���)(*+��+;� � ��:,+,�;���'��"

M

Page 12: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

����� �������� ��������������������� ���� !�"�!$#�%��'&�!�(��)�+*

�� ,�8 � (=��7 �) ,(?�) ,�'(H���'(H+��+,� � ��:;+,�,���)�5��� ( � �)> � ���' !�) ,( ���&F ��/5(?>)�3(H+��6> � ����(H+,���+,� ��+,�!�) ,(?/5(H/5���'�u­���>'�)(*� � �

�'(H+�:;�'(*� ����� � ����(�"2�;���6�5�����(*+ � ��K K�( � ����+ �+��'(*�)����K L �5����:,+,�5�' ;�'(*���'(*+��+,� � ��:,+,�,���'� �'(*>):�K��)>=�+->) ,���)�?�)�'� � ( ��/5(*>

�����' ;(?( @,�4(*+,>'(#��7 /5���)(?�)(*+�:,�'(*� ����� � ����(8"J ?+!�8K��,(H� �) ,�'(*���'(*+G�+,� � ��:,+,�,���'��­���>'�)(*>�/5���'(=���JF �I�/5(=�)�'� � �+,�0K ���(

� � .H( � �'>�/ :GK��I���K�(0�I�/5(*>*L � :,�6>)����(*>�/5(*/5���)� � ( � ��:,>)( �8K��,(*�6:;+,�'(*� � ,� � K�( � � .*( � �)>?���'(=�'( � K����/5(*� >'����+,(H�*"

1 nn-1 n-1 n

Trace n-1

max

Mem

Mem n

n-1

L1

Time

Execution Time

MemoryScavenge

nS

Trace n

t ttTB TB

n-1S

Trace

Mem 1

1

n-1L

DTB(t) - Dynamic Threatening BoundaryFull(t) - Full CollectionL(t) - live data

DTB(t)

L(t)

Full(t)

Trace max

Mem

.0/21�3 465-,�9 L?S�Q]fPSqmUM���X�\o\YM�^�T]X�Q'.�MOnsXZQRh��c]M

+,��+ O ��(H+,(*�'���I���+,�8K 7 :�K K ����� � ����( � ��K K�( � �'��� � �8K K�( � �'>0��K K ����� � ����(N��� �4(*������ � �+��'(H�'����K�>N��>=>) ,�K­6+ � � � :,�)��(��0/�1217 �8K K �+,� �'� � :,�'��(43 ���=��/5(65�F%"�"%Y¬�( ��+�� ��(*+,(*�)���I���+,�8K � �8K K�( � �'���*L �' ,(0�,��+,��/0 � �) ,�'(H���'(H+��+,� � ��:,+,�,���'� � �8K K�( � �'���>'����(*>��'�'� � �+;�5�I�/5( � �07 ��K K��K­��+;� � :;�'��(87 @BA K�(H�����+,�0>'��/5(��'(*+�:,�)(*� ����� � ����(?� � ����(6�' ,(��0/�121 � :;�'��(8" �6���I � (=�' ,���7 @BA �)(*�,: � (*� �'(*+�:,�)(*�!����� � ����(6�87 �'(H�J�I�/5(�5�F � � >)( K�( � �I�+,� @BADF �'�N�)�'� � (?��K��,(*��� � .*( � �'>��' ,��+ @BADF�9 � �G��5���&�I�/5(5�F:9 � "

� ���:;�'( 8 >' ;�K­6> ;�K­ �) ,(*>'( ���8K�:,(H> ���'(-�)( K����'(*� " �6 ,(-��(*�'� � �8K ��@��>!�> >'�'���'����( � ��+,>':;/5(*� $ �+ � ���)(*>.7 ��+,�

�' ;(5 ,�����*��+��)��K �8@��>��>N( @G( � :,�I���+��I�/5(�$I���JF �+,>)�'�): � �I���+,>5( @G( � :,�'(H� 7 "-����+,>��,(H�N ,�K­ � 7 :GK K ����� � ����( � ��K K�( � ����+

� (* ,����(H>*" � (*�I����� � �8K K���L4��� �I�/5('5�E L��=> � ����(*+,��(��>J�)�I�����(*�)(*� "��6 ,( � ��K K�( � �)�����'�'� � (*>���K K3�' ,(&K ���(�>'�'���'����(���+,�0�'( � K����/5>

�' ;(6�'(*>)�*" �;��� ( @,��/5��K�(�L���� �I�/5(;5 � L=<�> � � � ���'(H>J��73>)�'���'����(*­ (H�'(��+5:;>'( � ( 7 ���)( �) ,(6> � ����(*+,��( �,�' ;( � �8K K�( � �'���6�'�)� � (*�

@�? �+@A> � � ���'(H>*L8­6 G � �+ � K�:,�;(*� �8K K �) ,(�K ���( � ���'(*>03 � "J 6K K �) ,(=�'(*/5�8�+��+,� � ���'(*>*­�(*�)(N�'( � K����/5(*� ��>�>' ,�K­6+ � �5�' ,(

� :,�)��(N�;�'���;���+,�5��(*�'� � �8K K��-�'�43 �6B "

C ÆK¾�¸,¶w±K²=³�»U²=³WÅ]¼J³W³ ²=¾�¿('�À3·d² "�¿J¾�¸ ·3´r·�´r¾�¸  -=¸]µ."�´r·�¿�¶Wµ�¶B²=¾�¿�µ�¿J»r¶ ² ´r·,³ ½[·�¿�¶3»U¼K¸W² ¿$" "�µ�¸WºJµ."�·}ÅR¾�¹ ¹=·OÅR¶ ²=¾�¿[È

Page 13: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

����K K�( � �'��� �6 ,�'(*���'(*+G�+,� $J��:,+,�,���'� � �8K � �������� @BADF�� E����� ��� @BADF�� 5�F:9 ������ ��� @BADF�� 5�F:9����� � ����� � 1 7 @�? �+@A>"F:9 ��� @�? �+@A>"C������

@BA F � 12> � � 5�$! 5#"�$ E&% �('*) ��+,� 5#",+ @BA F�9 ���+,� @�? �+@A> C���� +.- F:9 �/10 " A32 ?4) /�5 7?­6 ;(*�'( �A32 ?4) /76 >'�)���'����(=��K K�� � ���'(*�-�87 �'(H�;5 / � :,�

� ( 7 ���)(�5 /18 � � ��+,� K ���(N���;5�F( K�>)( @BA F � @BA F:9 �93:�;<�=� 1 7 @�? �+@A>"F:9 ��� @�? �+@A>"C������ :;>'(,��� � ����� �( K�>)( @BADF>� 5�F@? $25�F:9 � ? @BA F:9 � 7BADC ��E#F#G�HJIA�C �KE#F#LNMPO93:�;<�Q� R @BADF�� �(S ) $25�F�TVU F CWG�H#I 9�XDY!Z[U F C L ��5�F:9 � 7\�k­6 ;(*�'( �3 F#]_^ 6 �

B$!` F:9 � «G@�? �+@A> F:9 � 7<�> � F 6 �)���'�8K >'�)���'����(=:,>)(*�N.*:,>)� � ( 7 ���)(N> � ����(*+,��(N+

` F:9 � 6 >':;�'������+;� >)�'���'����( .*:,>'�6�87 �'(H�6> � ����(*+,��(#+! �

a�b ced25 7�9 <d_JQRM�SUT]MRN`V=NPm >dX�b`N[jJSZQRh���XZ\=VY^�h+iwX�Q�f,SZQ]VYXZb[c��dXZ\=\BM�^kT]XZQRc�6 ,( ����+;��/0 � �6 ,�'(*���'(*+G�+,� $&��:,+,�;���'� � ��K K�( � �)��� � ��+ /5���;( K ���' ,(*� � �8K K�( � �'���'> >I�/5��K�� � � ��K��'(*��+,� �' ,( �3�8K � �7 ���?>'(H�'�I�+,�-�) ,(5�' ,�)(*���)(*+��+,� � ��:,+,�;���'��" $&( 7 ���)( �) ,(,) �' > � ����(*+,��(8L ���?�I�/5(85 F L �' ,(0�4��K � � >'(*�)>N�' ,(0���;�,�'���,�I����'(�' ;�'(*���'(*+��+,� � ��:,+,�,���'��L6@BA F LK­6 � � #�' ,(*+0�'�)� � (H> @�? �+@A> F ��/5��:,+�� ��7,>'�)���'����(�"�93:�;<�=� ��+,�@93:�;<�Q� R � ���)�'(*>)�3��+,��'�5��:,� � �8K K�( � �'���­6 ,(*�)( @�? �+@A> C=��� �>?�) ,(N/5�8@��/ :;/ ��/5��:,+�� �879>)�'���'����(N�'�5�)�'� � (�L ����<�> � C=��� �>?�) ,(N/5��@��/ :,/��/5��:,+��=��7?/5(*/5���'� �'�-:,>)(�" �;���#� �8���(*+ �/5��K�(*/5(H+��)������+ L �,��:,>'( O �I�/5(*>5���)(!����'( � �K����,�'���3���'�I���+,�8K �)� >)�'���'����(�'�)� � (H� L3>)�5�' ,���6�5:,>'(*� O >)�3( � ��3(*� /5�8@��/0:,/ �,��:,>'( O �I�/5(=�>�(*��> K�� � ��+���(*�)�'(*�-�)� @�? �+@A>�C=���;"

��(*+;(*�'���I���+,��K � �8K K�( � �'���=> � ����(*+,���+,�!��� ��/5(05 F�9 � ­���:�K�� ��+�K�� �'�)� � (N� � .*( � �)> � ���)+ �87 �'(H�?� �,@,(*� O ����(=�' ;�'(*���

(*+��+,� � ��:,+,�,���'� @BA F:9 � " �6 ��> �)(*>':�K��'>��+!>' ;���'�)(*���,��:,>)(?��/5(*>��,:,(��'�=K�(*>'>6>)�'���)����(6�'�'� � (*� L�@�? �+@A> F:9 � L����&�' ,( � ��>'�

��7 /5���)( >)�'���'����(=>':,�)������+,�;Lg` F�9 � "��6 ,(=���� (*�)(*+ � ( � (*�]­�(*(*+�` F�9 � ��+,� 3 F�9 � �>��' ,(#�'(*+�:,�)(*�-����� � ����(�" 6� ��/5(�5�F L,�) ,(?�,��+,��/0 � �' ;�'(*���'(*+��+,� � ��:,+,�;���'� � ��K K�( � �)���=/ :;>'��>'( K�( � �?�0�' ;�'(*���'(*+��+,� � ��:;+,�,���)� @BADF � ( 7 ���'(

�+G��I�����+,� > � ����(*+,��(�) "��6 ,( 7 ���'�) ,(*� � � � ¬ �+ �I�/5( @BA F �>HL �) ,(-/5���'(!>)�'���'����(�­� K K � ( �'�'� � (*� L6��+,� �' ,( /5���)(

����� � ����(=�'( � K��8�/5(*� "

��(*�3(H+,���+;�5:,�3��+$­6 � � 5�>6/5���'(��/5�3���'�'��+�� �)� �) ,(?:,>)(*�*L;­�(?�;�'������,(��]­ �0�4��K � �(H>67 ���J>'(*�)�I�+,�5�' ,(��' ,�)(*���)(*+��+,�

� ��:,+,�;���'��L���+,( 7 ��� K �/0��I�+;�5/5��@��/0:,/ /5(*/5���)� :;>'(?�)� <�> � C=���;L,��+,�5��+,���) ,(*�&7 ��� K �/0��I�+;�!/5(*�����+ �,��:,>)(?��/5(*>�'�8@�? �+@A>"C����;"�� ��:,>)(!��/5(*>5���'( �,�'���3���'����+;��K?�'� >'�)���)����( �'�)� � (*� L >)��­���' ,��:,�#K���>)>5��7=��(*+,(H�'��K ��I��­ ( �'(H�,�'(*>)(*+��

�,��:,>'(0�I�/5(*> � � �' ,(0��/5��:,+��6��7 >)�'���)����( �)�'� � (*� "��6 ;(N7 �8K K��K­��+,� ���> � :,>)>I���+ �;(*> � � � (*>0�' ,(0�'(*��>'��+��+,� � (* G�+,� �' ,(

7 ���'/0:�K���>6:,>'(*� 7 ���6��:,� � ��K K�( � �)���=�3�8K � �(*>#��>6>' ;�K­6+ � �5�) ,(=K���>'�6�]­��5(*+��'��(*>=��7 � � � K�( � "

� E

Page 14: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

$J( 7 ���)( (H� � > � ����(*+,��(8L ���0�I�/5( 5�F LJ��:,�0�,��:,>)( O ��/5( � ��+,>'�)�'���+,(*� � ��K K�( � �)���*L&9 :�;e�=� L � ,( � ¬�>5�'� >'(*( 7=�' ,(

� ��+,>'�)�'���+���­���>6( @ � (*(*�,(*� � � �' ,(N�;�'(*�����:,>?> � ����(H+,��(�" 1 7J>'�;L3�)�'� � �+,� �>��'(*�;: � (*� �'�5�) ,(N�,(*>��)(*� ����K�:,(�L!@�? �+@A> C=��� L� � ���,����+ � �+,� �) ,( �' ,�)(*���)(*+��+;� � ��:;+,�,���)� � �*� ���)���+;� �'� F6+;�����5��+,� 6�� � ¬�>)��+�� > �;(*(*� � � � ¬ > (*�G�������+ � �8K K�( � �'���

�4��K � � ��>!>' ;�K­6+ � � �' ;( ��� ��������� (*+��'�'� �+ � � � K�( � " ���) ,(*�R­��>'(�L0>I�+ � ( �� ,��> ��+ ���;�3���'�':;+���I� �)� �'(*�;: � (

�'(H+�:;�'(*� ����� � ����( � � �)�'� � �+,� ��K��,(*�N� � .*( � �)>*L ���­� K K&�+ � �)(*��>)(!�) ,( +�:,/ � (*�?�87 � ���)(*>=�'�)� � (*� L @�? �+@A>"F "�1I�6�+ � �'(*��>'(*>

�'�)� � (H� � � .*( � �5����( � � K�(*+,���) ,(*+��+,� �) ,(-���>'�)��+ � ( � (*�]­�(*(*+ �' ,( �' ;�'(*���'(*+��+,� � ��:,+,�,���'� ��+,� �' ,( > � ����(*+,��( �I�/5(

� � ��+-��/5��:,+��6�,�)���4���'����+,��KJ�'� �' ,(0�'���I��!��7��' ,(0�,(*>��'(H� >'�'���'����(0�'�'� � (*� L @�? �=@ >�C=���!�)�!�) ,( >)�'���'����(=K���>'�=�'�)� � (H� L@�? �+@A>"F:9 � ��>6>' ,�K­6+ � �!�) ,(,9 :�;e�=� (*+��'�)�5�+ � � � K�( � "

<��/0 K����IK���L � ( 7 ���'(&(*� � N> � ����(*+;��(�L���:,� /5(H/5���'� O � ��+,>)�'�)���+;(*� � ��K K�( � �)���*L�93:�;<�Q� RNL�>'(H�'> �' ,(��' ;�'(*���'(*+��+,� � ��:,+,�! ���)� �)� � � ��(H��( �' ,(5/5�8@��/0:,/ /5(*/5���'� � ��+,>)�'�'�8�+��*L�<�> � C��K� L � � � ��+��)�'�8K K �+,� �' ;(5�,(*>I��'(*� ��/5��:,+��=��7?�)(*+�:,�'(*�

����� � ����(�L <�> � C=��� /0�+�:,>0�' ,( K ���(!�;���'�;L 3 F:9 � " � ��+,>)(*�'�����I���( ��>)>':,/5�,����+ �>0�' ;���0�' ,( ��/5��:;+��=�87?����� � ����(

�,( � �'(*��>'(*>0K �+,(*���IK�� ��>=�' ,(5�) ,�'(H���'(H+��+,� � ��:,+,�,���'�-/5����(*> � � � ¬P­ ���'� �+ ��/5(�" �6 ,(5�)���I�� ��76����� � ����( �)�!/5(*/5���'�

:,>)(*� $ <�> � F 7��,�'������;(*> �) ,(5>':G��'� � K�( >K����4(07 ���N�' ��>=K �+,(�" F +�7 ���)�':,+;���'( K���L{­���' ,��:,�N�,�8�+,�-� 7 :GK K � �8K K�( � �I���+ L��' ,(

� �8K K�( � �'��� � ��+,+,���?�,(*�)(*�'/0�+,(!�;�'( � �>'( K���­6 ,���83 F�9 � �>*L >'� ��=/5�J¬�(*>=��+-(*>)�I�/5���'(8L 3�FJ]!^)L � � �)�J¬��+,� �) ,( ����(*�'����(0��7�' ;( �;�'(*�����:,>!>):,�'������+,� >'�)���)����(8L ` F�9 � L���+,���' ,( �,�)(*�����:,>!�)�'� � (*� >'�'���'����(�LD@�? �=@ > F�9 � � ��5/ :;>'�#K �( >'��/5(Z­6 ,(*�'(

� (*�]­ (H(*+ �' ,(H/ " <��+ � (u­ (0��KB­ ����>+­ ��+��6�)�!�)�'� � ( ��+-� � .*( � �=���6K�(*��>)�N��+ � (�L4��=>'(H�'>N�) ,(N�' ;�'(*���'(*+��+,� � ��:,+;�,���)� +;�

K����'(*���' ,��+ �' ,(N��/5(N�87 �) ,(N�,�)(*�����:;> > � ����(H+,��(�L�5 F:9 � " �6 ��>?�4��K � � �>?>) ,�K­6+ � � �' ,( 9 :�;e��� R (H+��)�'� �+�� � � K�( � "

$&���' � �8K K�( � �'���'>N�;� �07 :GK K � ��K K�( � ����+ ��+ �) ,( �3�'>)�?> � ����(*+,��( � �5>'(*�)�I�+,� �' ,(��+G��I���KJ�' ;�'(*���'(*+��+,� � ��:,+,�,���'�5�)� E "

����� �����$����� � ! ���="�� !���+&���

�6 ,( �/5��K�(*/5(*+��'���I���+ ��7 �' ;( �;��+;��/0 � �' ,�)(*���)(*+��+,� � ��:,+,�,���'� � �8K K�( � �'���?�)( K �(*>?:,�4��+5�)( � ,+,�8K������!�8K��'(H���,�5�����8 K�� � K�(

7 ��� ���' ,(*�6��(*+,(*�)������+;��K � ��K K�( � �)���'>H" � � .*( � � � ��)�' �I�/5(*>?/0:,>)� � (N������ K�� � K�(��+ ���'�,(*�6�)�5�,(*�)(*�'/0�+,(N�' ;( �) ,�'(H���'(H+,(*�

>'(H�?��+;� �)� �8K K��K­ ��­6���'( O�� ���'�I�(*�N�)� /5�8�+��'�8�+ �' ,(#�'(*/5(*/ � (*�'(*� >'(*� � ��+��'�8�+��+,�!�4���+��'(*�)>?�'�5�) ,�'(H���'(H+,(*� � � .*( � �'>*"

� ���� � ��K K���L6� �)(*/5(*/ � (*�)(*� >)(*�5�>5/5���+��)���+;(*��7 ���0(*� � ��(H+,(*�'���I���+ �?>�+ � ( ��:,� � ��K K�( � �)��� ,��>0��+GK�� �]­�� ��(*+!

(*�)���I���+,>HL6��+,���' ,( � ��:,+,�,���'� � (*�]­ (H(*+ �' ;(*/ /5����(H>*L ��5:;>'(*>5� >I�+,��K�( �)(*/5(*/ � (H�'(*� >)(*�0�+;>'�'(H��� " 1=(*+,(H�'������+,��K

� �8K K�( � �'���'>!�)( � ���'� ��+�K�� 7 ���R­����)� O �+ O ��/5(5�4���+��)(*�'>5�) ,��� � �'��>'>0��(*+,(H�'������+ � ��:;+,�,����(*>u­6 ,(*�)(*��>5��:,�'>#�'( � ���'�,>5�8K K

���

Page 15: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

7 ���R­����'� O �+ ��/5(!�4���+��'(*�)>*"�"4B¬�(!��(*+,(*�)������+;��K � ��K K�( � �)���)>*Lr­�(5��>)>':,/5( �' ,��� >): � �4���+��)(*�'>5���'(5�->)/5��K K�7 �)� � ����+

��7J�8K KJ�3�8�+��'(H�'>*L}­6 � � (*+,>':;�'(*>N�) ,(N�)(*/5(*/ � (*�)(*� >'(*�)> �)(*/5���+ >)/5��K K " ��:,�=�'(H/5(*/ � (*�)(*� >)(*��­� K K � (#K����)��(*� � �!��+

��/5��:,+��=�,�'���3���'�I���+,�8K �)� �' ,(5�)���I��-��767 ���R­����)� O �+ O ��/5(5�4���+��)(*�'>0�'� �+��)(*� O ��(*+;(*�'���I���+,��K=�3�8�+��'(H�'>*"%�6 ;(5>I��H(*>5��7

�'(H/5(*/ � (*�)(*�->'(H�'>= ,����(�+,���6�;�'����(H+ �)� � (=�5�,�)� � K�(*/ 7 ��� ( @��>'�I�+,� ��(*+;(*�'���I���+,��K � ��K K�( � �'���)>*"

1=(*+,(H�'������+,��K � ��K K�( � �)���)> :;>'(=�' ,(=��(*+,(*�)���I���+ � ��+��)���+��+,�5(H� � � � .*( � �6�'�5(*+ � ���;( ��+!���,�,�'�A@��/5���I���+ ��7 ��'>�����(8"

1 7 ����:�¬�+;�K­ �) ,( ��(*+;(*�'���I���+ � ��+��)���+��+,� ��+ � � .*( � �HL ��+;� �' ;( �;�'��/5���I���+ �4��K � ��7 ��� /5�����+,�-��+�� � .*( � �5�'� �' ,(

+,( @,�N��(*+,(*�)������+ LJ����: � ��+ �,(H�I���(!�) ,(5� � .*( � ��� >N����(07 �)��/ ��)> ��(*+,(*�)������+ " �6 ,(5�,�)( � �>���+ ­���' �­6 � � ����:�¬�+,�K­

��+ � � .*( � ��� >=����(#�>=�,(H�'(*�)/0�+,(*� � �-�) ,(0+�:;/ � (*�?�87 ��(H+,(*�'���I���+,>H"1 76�' ,(0��K K�� � ������+ ��/5(#�>¬�(*�,��7 ����(*� � � � .*( � �*L

��:;� � �8K K�( � �'��� � ��+ /5���,( K9� ��(*+;(*�'���I���+,��K � ��K K�( � �)���­���' ��+-��� � ��'�)���I K�� K����'��( +�:,/ � (*�=��7J��(*+;(*�'���I���+,>*"!��:,��+,� �

> � ����(*+,��(�L,��+GK��0� � .*( � �'>��' ,���J���)( � ���'+5�87 �'(H� �) ,(6�' ,�)(*���)(*+��+,� � ��:,+,�,���'�0���)(6�'�'� � (*� ���&�'( � K����/5(*� " 1 7 K�(*>'>6�;�'( � �>I���+

�>6�;(*>I��'(*� L $ (�" �;"�L��'�0/5���+��'���+5�' ,(�­6���'( � ���'��(*�6:,>�+,�0����)�':,�8K /5(*/5���)� 7&����(*> � ��+ � ( � ��+,>)�'�)���+;(*� ��� � ��'�)��� K�� ��+,�

�' ;(6>'��/5(6�)( � ,+� ��:;(*>6:,>'(H�5�'�=�/5��K�(*/5(H+���/0:�K�����K�(?��(H+,(*�'���I���+,>&7 ���&���' ;(*� � �8K K�( � �'���'>6���;��K��0�'�N��:,�'> $ (�" �,"�L�����:,�� K K � >

<�/5�8K K��)��KB¬ O M E �/5��K�(*/5(H+��)������+ � 7 7 "

� � �+£ �1¥$¦��

1I+ ���'�;(*�N�'� �,(H�'(*�)/0�+,( �' ,(5(0� ( � ����(*+,(*>)>!��7��' ,(5�,��+,��/0 � �' ,�)(*���)(*+��+,� � ��:;+,�,���)� � �8K K�( � �'���*L�­�(#�+,>)�'�':;/5(*+��'(*���

>'(H�5��7�7 ��:,�0��K K�� � ���I���+ O �+��'(*+,>���( � �,�)�����)��/5>0:,>I�+,� " ���):,>�� �'�)� � ( ��(*+,(*�)���'��������� � ��� L 8 "%�6 ,(!�,�)�����'��/5>0���)(

�,(*> � �I � (H� �+ �;(*�'�8 KJ�+ � � � K�(*> 7 ��+,� � �+ ?�;�3(*+;�� @ N" � (N:;>'(*� /5(*/5���'� ��K K�� � ���I���+ ��+,� �,(*��K K�� � ���I���+ (*��(*+��'>

�+ �) ,(*>'(0�,�)�����)��/5>6�)� �,����(N�5>I�/ :�K�������+ ��7 �) ,(N�� �%(H�'(*+��=����� � ����( � ��K K�( � ����+ �8K������I��' ,/5>H" �6 ,(=��:,�'�,:;��7 �'��/ �' ,(

>I�/ :GK�������+ � ��+;>I�>)�'(*� ��7J/5(*/5���'�5��+,�-���JF :,>'����(N�;���'�)(*�'+;>?�' ;���*­�(*�'(N�) ,(*+-�;�'� � (*>)>'(*� �'�5�,�)���,: � (N�4(*�7 ���)/5��+ � (

�,���'�,"

� (5>I�/ :�K����)(*� >'(*��(*�'�8K ����� � ����( � ��K K�( � ����+ ��K��������' ;/5> � � >'(*�)�I�+;� �' ,( �' ,�)(*���)(*+��+;� � ��:,+;�,���)� �3�8K � � ��7?��:;�

� �8K K�( � �'���5� �*� ���'���+,� �'� � � � K�( � "%� (5/5(*��>):,�'(H� �' ;( ���JF ����(*�' ;(*��� LJ/5(H/5���'� � ��+,>':,/5�;�I���+ LJ��+;� �,��:,>)(!��/5(*>

��70�' ,( ���� (*�)(*+�� � ��K K�( � �'���)>*L5��>)>':,/0�+,� � /5� � G�+,( �' ,��� ( @,( � :,�)(*> � E /0 K K ���+ �+,>)�'�): � �I���+,> �4(*� >'( � ��+,� L­6 ,(*�'(

�' ;( � ��K K�( � �'��� � ��:�K�� �'�'� � ( 7�E�E ¬� K�� � ���)(*>=�3(*��>'( � ��+,� "��6 ,(H>'(N>�/0:�K����I���+-�,���'��/5(H�'(*�)>�­�(*�)(N>'( K�( � �)(*� � ( � ��:,>)(N�' ;(*�

���;�,�'�A@��/5���'(��' ,��>'(�:,>'(H� � �NF +,����� ��+,�46�� � ¬�>'��+ �)�?/5(*��>':,�)(6�' ,( �� �;(*(*� � � � ¬> (*�G�������+ � �8K K�( � �'��� � � 7 " < � ����(*+;��(*>

� 8

Page 16: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

­�(*�'(6�)�I�����(*�)(*�5��7 �'(*� (*��(*�'� � /0 K K ���+ � ���'(*> �873��K K�� � ������+ " �6 ,(�/5��@��/ :,/ �,��:,>'( O �I�/5(*­ ��> >)(*� �'� � E�E /0 K K �>'( � ��+,�,>

$ 7�E �) ,��:;>'��+;� � ���)(*>6�'�)� � (H� 76��+,� �' ,(N/5�8@��/0:,/ /5(*/5���)� � ��+,>'�)�'���+��67 ���W93:�;<�Q� R ­���> ��E�E�E ¬� K�� � ���)(*>*"

� (?���'(=�,�I�/5��� K�� �+��'(H�'(*>)�'(*� �+ � ��/5�,����+,�0�' ,(=�)( K����I���(N�4(*�I7 ���'/5��+ � (=��7 �' ,(���K��������' ;/5>6��+,� /5(*��>):,�I�+,�5 ,�K­

­�( K K?��:,� �8K������I��' ,/5>5�)�'� � ¬�(*� �) ,( �,��:;>'( O �I�/5( ���N/5(*/5���)� � ��+;>'�'�)���+��)>*"�� ( ��>)>':,/5(*���' ,��� �) ,( � ��K K�( � �'���)>! ,���

+,�-/5(H/5���'�C7 �'����/5(*+��'���I���+ ��+;� �) ,���N�) ,( �� ���JF�����(*�) ,(*����­ ��>=�,�'���3���'�I���+,�8K �)�-�' ;(5+�:;/ � (*�0��7 � ���)(*>N�'�)� � (H� "

> (*/5���'� � ��+,>':,/5(H�N7 ��� /5�8�+��'�8�+��+,�=�' ,(J�)(*/5(*/ � (H�'(*�5>)(*�'>J�87,�' ,( � ��K K�( � �'���)>�­���> ���+,���)(*�N7 ��� �' ;(*>'(6/5(*��>':,�)(*/5(*+��'>H"

� ��� ��§$��£��

1I+ �) ��>5>)( � ����+ L ­�(!�;(*> � � � (-�' ;( �)(*>':GK��'> ��7?>�/0:�K����I�+;� �' ,( >I @ � ��K K�( � �I���+ ��K������I��) ,/5>5>'�4( � �3(*� �+ � � � K�( � �+

(*� � �87 �' ;(?7 ��:,���'(*>)�6�,�'�����)��/5>*"�1I+ �]­ �0��7 �' ,(=�,�)�����'��/5>HL��������K: ��+,������ �������� L3­ (��,�'(H>'(*+��?�)(*>':GK��'>�7 �)��/ �]­��

�� �%(*�)(*+����+,�,:;�'>*"��?+;(N������K ��7 ��:,��(*����K�:,������+ �>��'� � ��/5�,���)( �) ,(N�4(*�I7 ���'/5��+ � (N�87J�' ,(N�]­��5�,��+,��/0 � �' ,�)(*���)(*+��+,�

� ��:,+,�;���'� �8K������I��' ,/5>�­�(N ,����(#�,�'���3��>'(*� L�93:�;<�Q� R ��+,� 9 :�;e�=� L3­���' ���' ;(*�=( @��>'��+,� ��K��������' ;/5>*"= >'( � ��+,�

������K��>��'�=�,(H�'(*�)/0�+,(= ,�K­�­ ( K K%��:,� ��K��������) ,/5>J/5(*�J�) ,(6�,�)�����)��/5/5(*� >)�3( � ��3(H� /5�8@��/0:,/ /5(*/5���)�N���&�,��:,>)(0 I�I�/5(

� ��+,>'�)�'���+��'>

� ( (*����K�:,���)( � ��K K�( � �)��� �3(H�I7 ���'/5��+ � (�­���) �'(*>)�3( � � �)� /5(*��+���+,� /5�8@��/ :;/ /5(H/5���'��:,>'����( $ ��>'>):,/0�+,� +;�

7 �)����/5(H+��)������+ 7 L /5(*�����+ ��+,� ��E �) -�3(H� � (*+�� K�( �,��:;>'(0�I�/5(H>*L ��+,� (H>'�I�/5���)(*� ���&F ����(*�' ;(*���-�;:,( �)�!�)�'� � �+,� $ >'(*(

� � � K�(*> 8 L � L D 7 " � � � K�( 8 ��K�>)� >' ,�K­6>=�' ;( /5(*��+-��+;�-/5��@��/0:,/ /5(*/5���)� :,>'����(N�87 � ���' -�) ,(�������� ��K������I��) ,/

$ " (�"�L,��+,(��' ,��� +,(H��(*�&�+����`¬�(*>6�) ,( � ��K K�( � �)���.7 ��+,���<����� L;­6 G � !�)( �3( � �)>?( @,� � �IK��! ,�K­ /5��+��NK ���( � ���'(*>�( @��>)�6�,:,��+,�

�' ;( �;�'�����'��/ ( @,( � :,�I���+ "

6� �4�'>'�5�8K���+ � (�L&��0�> � K�(*���5�' ,���N7 ��� �) ,(!�;:,�'�4��>)( �87 � ��/5�,����+,� �' ;(!��K������I��) ,/5>*L�� ��� ��+,���! " �#%$ ���'( K�(*>)>

�+��)(*�'(*>)�I�+,�-�' ;��+&�����'��:���+,�&����� �������� "�1I+-�,���)�I � :�K����*L(� �)�N ,��>?�) ,( � (* ,�������� �) ,����/ : � ��7~­6 ,��� �����K K�� � ���)(*>�'(H/5���+;>J��K ���(��' ,�)��:,�� ,��:;� ��'>J( @G( � :,�I���+ $ " (�"�L � ��/5�;���'(��' ;(��<�����5��+;�*���&��� �)�K­6> �+ � � � K�( 8 7 " 6�J�' ;(6���,�4��>��'(

( @,�'�)(*/5(�L��! " �#�$ �'(*�)���+;>6��(*�)�0K ��)�IK�(?K ���(?�,���'�N�) ,�'��:,�� ,��:,�&��'>�( @,( � :;�I���+ " 1I+ � ���) � ��>'(*>HL,�' ,(��,�'�����)��/�� > � (* ;��������

�'(H+,�,>?�)�5�'(*�;: � (N�) ,(N�� �%(*�)(*+ � (H>=�+ �4(*�I7 ���'/5��+ � ( � (*�]­�(*(*+-�) ,( � �8K K�( � �'���'>*"

� �

Page 17: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

�������K:�$ � 7 �������K:�$ 8 7 ����� �������� $ � 7 ����� �������� $ 8 7 � �)� � �#�$����# � � �Q� # � � ��� # � � ��� # � � ����# � � �Q� # � �

����K K�( � �)��� � #� � #� � #� � #� � #� � #�������� � 8 � 8 8 E#� 7 � M E#� ��E���� 7#� D � E4�#� � D E ��� M�M D 7 8 D ��� M E D �#� ��� 8����� ��� � D �:7 8 D 7�� 8 ����E �4��� 8 �#�4� � 848 � � 7#�4� 8 M �#� D ���G� �����#� D � M ���������� ��� � 8 � 8 8 E#� 7 � M E#� ��E���� 7#�4� � E M�M �#��E ���#� 8 D 7 8 D ��� M E D �#� ��� 893:�;<�Q� R � D ��E 8 ����� � � M�D � 8 D 8 �#�4� � 848 � � D�M � 8 �#�:7 D 7:7 8 ��� M E D � M �������� � ����� � � �G� � 8 � 8 7 � M ��� �G� � M � 8 E �����#� � E�� 7 ��� D�M D ���G� �����#� D �#� ��� 893:�;<�=� � 8 �:7 8 E#�4� � M ��� ��E#� M 7#��� ������� ��� 7 ����� 8 D ���G� �����#� D �#� ��� 8

��� ��� 8 D ��E�� D ��E�E D D�D 8 D � M �4� M � � M � D � D�M 7 8 D 7 D 8 M � E D ��� M M � D � � D 7 D 8 � M 7�� � M � ��<����� �4�#� ����� M � � 8 � 8 E M E M � ����� � ��E 8 ��� D � �4� � D 8 � � E 8 �

a�b ced25�, 9 .�M�SZN$S�NPj .�SZ�KV=n�bJn .�MOnsXZQRh��~\o\YXK^�SUT]Mkj����?V=\BX�fJhKT]M�c�

�������K: $ � 7 �������K: $ 8 7 � � � �������� $ � 7 � � � ���������$ 8 7 � �)� �! " �#%$ �� � ���� �� � �� � ���� �� �

������� ��$�:��� � � � � � � � � � � ��� � � � � � � � � � � � ������ � ��� D � 8 � ��E 8 � 8 E D � E M � � D � �4� ����� � M � M � � 7 ��� � M � � 7 �4���� �� � � ��� � E 8 8 � � ��� � 8 ����� � M � M � 8 � � ��E�� 7 ���� �� � � � 8 E ��� D � 7�E D E�� 8 E � � 8 8 M � �#� 8 ��EG� D 7 D 7 � 7 84893:�;e��� R � D ��� 8 8 E�E � � D 7 � 8 ����� � � � M M � � 7 ��� � M � 7 ������ ���Q� � ��E D � D � ��E � M�M ��� ����� D E ��� � 8 � � ��E�� � 7 �4�93:�;e�=� ��E#� � � M �4� 8 � D 7�� � � M ��� �#� D � 8 � � ��E�� � 7 �4�

a�b ced25���9 .�M�jKVYSZN�S�NPj����UTW_$��MOQR^kMONJTWVo\YM?��S�bPc]MB<dVonsM�c�� .uV=\o\=VBc]Mk^�XZN[j`c�

�������K: $ � 7 �������K:�$ 8 7 � � � �������� $ � 7 � � � �������� $ 8 7 � ��� � �#�$� �'� � (*��� � �'� � (*� � � �)� � (H� � � �)� � (*��� � �)� � (*��� � �)� � (*� �

� �g����� $�:��� ����(*�) ,(*��� ����(*�' ,(H��� ����(*�' ,(H��� ����(H�' ,(*��� �?��(*�' ;(*��� �?��(*�' ;(*���������� D EG� 7�� � ��� " 8 ��� ��EG��� 8 E�� " � � 8 �#� D;" � � ��� M � � D;" E 74��EG� 7 � M 7 " 7 ��� E " ������ ��� ���#��� � " � 8 D 74� D," 8 8 E�� E " � � �G� 7 � " D �#�G� E D�D;" � � � E " 8����� ��� D ����E 8 E " � M 7���E � D," � D�M � � " � 8 M � M 8 " 7 8 D E�E�� � � 8 " � 7#� E " �93:�;<�Q� R � D�M � � " � 8 �#� M � D E " 7 8 E�� E " � � �4� 8 � " D 7�E#�4�#� � D � " � � � E " 8��� � ����� � 8 � D � ��� " M D �#�4� � " 7 8 �G� E " M 8 � D 8 8 " � �#�G� E D�D;" � ��� E " �93:�;<�=� ��E 8 � � � " 7 7:7 M 7 � " � � M8D 8 " � M 8 E�� � " E �#�G� E D�D;" � ��� E " �

a�b ced25�� 9 <�XUT]S�\�>{hKT]M�cD<3QRSq^�M�j����?V=\YXZfJhKT]M�c�}S�NPj��,c]TWV=nuSqT]M�js�d�}���?eqMOQ]_[M�SUj������

� D

Page 18: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

����� � ���+"�!�# ������ ��� �'�+*�� �'! �����"�!'

1=��� � ����( � �8K K�( � �'���'> � ��+,>)�'��+��K�� �)�'���,(!/5(*/5���'� :,>'����( 7 ���5���JF ����(*�) ,(*��� " ����+;>I��;(*�*L�7 ���N( @,��/5��K�(�L �) ,(>����� �,L����� ����L3��+,� ������� � � ��K K�( � �'���)>N�+%� � � K�(*> 8 ��+,� D,"3������� ��KB­ ����>6�)�'� � (*>=��K KJ� � .*( � �)>*L ��+,� �' �:,>= ,��>��' ,( K��K­�(*>'�/5(*/5���'�-:,>)����( ��+,� �) ,(5 ���� ,(*>)� ���JF ����(H�' ,(*��� "������ ����L ��+ �' ;( ���' ,(*�# ,��+,� L �'(*+�:,�)(*>0� � .*( � �'>N�87 �'(*� .*:;>'�N��+,(� �8K K�( � �I���+ L6��+;� �' �:,>N ,��>N�' ;(0K��K­�(*>'�5���JF ����(*�' ,(H��� � :,�N:,>)(*> �) ,(5/5��>)�N/5(*/5���'��">����� ��� �'(*+�:,�)(*> �87 �'(H�=7 ��:;�� �8K K�( � �I���+,>HL �!/5���'( � ��+;>'(*�)�����I���(5�)(*+�:,�I�+,�-�4��K � ��L ��+,�-�' �:,> 7 ��K K�> � (H�]­ (*(H+ �' ,(������ � ��+,�V����� � � ��+-/5(*/5���'�:,>)����(=��+,�-���JF ����(*�) ,(*��� "

1 7 ���JF ����(*�' ;(*����­�(*�'(N�) ,(=>'�8K�( � ��+ � (*�)+-��7 :,>'(H�'>*L �) ,(,����� � �#�3�8K � ��­ ��:�K�� � ( �) ,(=� � �����:,> � ,�� � ( � ( � ��:;>'(��& ,��>J�) ,(�K��K­�(*>)�J����(*�) ,(*��� " F6+�7 ���'�):,+,���'( K���L��' ��> �8K������I��' ,/ ,��> �' ,(6�,�)���4(*�'�I�5�) ,��� �)(*+�:,�'(*� ����� � ����(6� �H� :,/0:�K����'(*>

$ 7 ����K��0�'�������K��N�+ �������K: L�7 ��� ( @,��/5��K�(67 ��+,�N��'>J/5(H/5���'�=:,>)����( � ( � ��/5(*>J:;+ � ��:;+,�,(*� "��6 ;(6�����8K��87%�) ,(39 :�;e����R� �8K K�( � �'���N�> �)�!�,�)������,(0�' ,(5���JF �4(*�I7 ���'/5��+ � (0��7 �) ,((��� �� � � � ��K K�( � �)���u­���' ;��:,��K�(H�'�I�+,�-�) ,( �;�'�����'��/ /5(*/5���'�

:,>)����(=���'�K­ ­���' ;��:,� � ��:,+;� "

�6 ,( 9 :�;e��� R � ��K K�( � �'���#���'�)(*/5�,�)> �)�!/5��� � -�5/5��@��/ :,/ /5(*/5���'� :,>'����( � ��+,>)�'�'�8�+��N>):,�,��K �(*� � � �' ,(#:,>'(*�H"

� ,(H+ �' ;( :;>'(*� >':,�,�GK �(H>!>': � � � ��+;>'�'�)���+��HL6�' ,( � �8K K�( � �'���!�>07 �'(H( �)� �8K K��K­ /5(*/5���'� :,>'����( �'� ���)�K­ :,+��I K?�' ,(

� ��+,>'�)�'���+����>?/5(H�*" 1I+ �) ,(*>)( �;�'�����'��/5>*L,�' ;( � ��K K�( � �)���r­���>��'�8K�� �'�0:,>)( �0/5��@��/ :,/ �87 ��E�E�E ¬� K�� � ���'(*>���7 /5(*/5���'��"

� � � K�( 8 >) ,�K­6>= ,�K­ ­ ( K K �' ;((93:�;<�Q� R /5(H�?�' G�> � ��+;>'�'�)���+��H"1I+-�) ,(N�]­�� � ��>'(*>0­6 ,(*�'(#��=:,>)(*� /5���'(#�' ,��+ ��E�E�E

¬� K�� � ���'(*>HL�������K: $ 8 7=��+,� � ���8L �) ,( ��E�E�E ¬� K�� � ���'(5K �/0��s­���>N��+ ����(*� � ��+,>'�)�'���+��&� �' ,���N�>*LJ(*��(*+ �' ;(!/5(*/5���'�4

���;�I�/5�8K ����� �!��K������I��) ,/�­���>6+;���?� � K�(0�'�5���3(H�'���)(s­���' K�(*>'>#�' ,��+ ��E�E�E ¬� K�� � ���)(*>*"�1I+ � ���' � ��>)(*>*L �) ,(N/5(*/5���'�

:,>)����(=�879�) ,(,9 :�;e����R ��K��������' ;/ � ��/5(�­���' G�+ ��� �87 �' ;( ����� �!�8K������I��' ,/ "� � � K�( D=>' ;�K­6> �) ,��� �,�'��������+,�#�' ,(�/5��@��/0:,/ /5(*/5���'� � ��+,>'�)�'���+��J��K K��K­�(*� �) ,(393:�;<�Q� R ��K��������' ;/ �'���'(*�;: � (

��)>N���JF ����(*�' ,(H��� "�1I+ �' ,( � ��>)(*>�­6 ,(*�)( �) ,( ��E�E�E ¬� K�� � ���'(*>0­ ��>6+,������+-����(*� � ��+;>'�'�)���+��HL �' ;( ���JF ����(*�' ;(*��� ��7

�' ;(�9 :�;e��� R ��K��������' ;/�­���> ��:���'(5>I�/0 K����0�'� �' ,���N��7��' ,(07 ��>'�@��� �� � � ��K��������) ,/ "*1I+ �' ,( � ��>'(*>0­6 ,(*�'( ��E�E�E

¬� K�� � ���'(*>�­���>?��+ ����(*� � ��+,>'�)�'�8�+��*L �) ,(5���JF ����(*�' ,(H���-�879�) ,(@93:�;<�Q� R �8K������I��' ,/ �+ � �)(*��>)(*� ��>+­ ��>?+,( � (*>'>)���'�

�'�5�)�'� �'�5/5(*(*�6�) ,(=�/5�3��>'>I � K�( � ��+,>'�)�'���+��*" 1I+ �) ,( � ��>'(N�87 � ���8L;­ (#>'(*(N�) ,���6�0/0: � ����(*� � ��+,>'�)�'���+,(*�V9 :�;e����R��K������I��) ,/ �,(*���)���,(H>?�'�5�) ,(=�3(H�I7 ���'/5��+ � (N��7 �' ,( �������5��K������I��) ,/ "

� 7

Page 19: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

����� � ���+"�!�# ������4�)& +��� +" � � � �'! �����"�!'

F6>)(*�'>6/5���u­���+�� �)�=K �/0��6�) ,(�K�(*+,���' ��7 ����� � ����( � ��K K�( � ����+-�,��:;>'(*>6�,:;( �)�N�' ;( +;���':;�'(?�87 �' ,( ��6���;��K � ������+ " $&���)

�' ;(������ ���Q� � ��+,� 93:�;e�=� �8K������I��' ,/5>5�8K K��K­ :,>)(*�'> �'� >'�4( � 7 � � �'���'��(*�5�,��:;>'(0 I�I�/5( ��+,� ���)�'(*/5�,�0�'� /5�J¬�(

� �8K K�( � �I���+,> �'�J¬�( ���,�,�)�A@��/5���)( K�� �' ,���N��/5��:,+��=��76�I�/5(8"$1I+ � ���' � ��>'(*>HLJ�' ,(5�8K������I��' ,/5>0�'(H� � �N�)�-�,��:,>'(*> K���+;��(*�

�' ;��+ �' ,(#>'�4( � ��4(*�-K �/0��6�+ �' ,(N>)��/5(�­�����" 6K�>'�5�+ � ���' � ��>'(*>HL3�) ,( � (*>'��/5(*��>):,�'(N�87~­6 ,(*�' ;(*�?�) ,( � �8K K�( � �'��� /5(H�

�' ;( � ��+,>'�)�'���+��J�>6�'�=K����`¬ ���J�' ;(?/5(*�����+ �,��:,>)(?��/5(�" <��+ � (=�' ;( � ��K K�( � �)���)>?���)(?�)(*� � ����( �)�=K���+,�N�,��:,>'(H>*L3�#/5(*�����+

�' ;���6�> � K���>'(5�'��­6 ;���?�) ,(0:,>'(*�=>)�3( � ��3(*��>' ,�K­6>��' ,���?�) ,( �8K������I��' ,/ �H(*�'��(*� �+-��+-�) ,(0>'�4( � ��4(*� ���8K�:,( $ " (�"�L ,��K 7

�' ;( � ��K K�( � ����+;>N�'���J¬ K���+,��(*����+,� ,��K 7J�'���J¬ K�(*>)>?�I�/5(67 "

�6 ,( � ��K K�( � �)���'>����� (*�*­6 ,(H+5�,��:,>)(*>6�'�`¬�(�K�(*>'>6�) ,��+5�) ,(?:,>)(*� I>'�4( � �3(A�-��/5��:,+�� �87 �I�/5(�"�� ,(*�)(?�) ,(7��� �����������K������I��) ,/ K�(*����(*>?�) ,(=�' ,�)(*���)(*+��+;� � ��:;+,�,���)�!��� �) ,(N>'��/5(=��K�� � (�L3�) ,(@93:�;<�=� ��K������I��) ,/ ���'�)(*/5�,�)>?�'�0/5����(��' ,(

� ��:,+,�;���'� 7 :,�)�' ,(*� � � � ¬ �+-��/5(�"� ?>?�5�)(*>':GK��*L �) ,(@93:�;<�=� ��K��������) ,/ >' ,��:�K�� � ( � (*�)�'(*�����6/5�J¬��+,�5�' ,(#/5(*�����+

�,��:,>'(0 I�I�/5(-/5��� � �' ;( :;>'(*� >)�3( � ��3(A� � ��+,>)�'�'�8�+��*" 6�5�' ,( >)��/5(!��/5(�L6�) ,( 93:�;<�=� � ��K K�( � �'��� >) ,��:�K�� �'(���:���'(

K�(H>'>N/5(*/5���'� �' ;��+-�) ,(@��� � ����� � � �8K K�( � �'��� � ( � ��:;>'(0���­� K KJ> � ����(*+,��( /5���'(0��K��;(*�=� � .*( � �'>=�' ,��+-�' ;((��� ���������� �8K K�( � �'���*"

� � � K�(*> � ��+,� 8 >' ,�K­ �' ,���6�' ,( 9 :�;e�=� � ��K K�( � �'����­���>6>): �*� (*>)>I7 :GK ���6� � G�(*���+;� (H� � -��7 �' ,(H>'(0�����8K�>H" � � � K�( �

>' ;�K­6> �) ,�����' ,(=/5(*�G���+ �,��:;>'(0 I�I�/5(?7 �����' ,(&9 :�;e�=� � �8K K�( � �'����­���>&��K�/5��>'����KB­ ����> � K���>'(*���'�0�' ,( � E�E /0 K K �>)( � ��+;�

:,>)(*� I>'�4( � �3( � K �/0��N�) ,��+-�) ,( ��� � ���Q� � � ��K K�( � �'���H" �6 ,(*����� ������������,�GK � ���I���+ �> ��+-( @ � ( K K�(*+��# K K�:,>)�'�'���I���+ ��7

�' ;(�­ (*�`¬�+,(*>'>0��7��' ,(���� ��������� ��K��������) ,/ "81I+ �' ,���N�,�'�����)��/ L �) ,(���� � ����� � �,��:,>'(0 I�I�/5(*>u­ (*�)( � ��+;>I�>)�'(*+��K��

K�(H>'>?�) ,��+ � E�E /0 K K �>'( � ��+,�,>HL � :,� � ( � ��:,>'(#�' ,(=��K������I��) ,/ ­ ��> :,+;� � K�( �)�5�,:,>) �) ,(=�' ,�)(*���)(*+��+,� � ��:,+;�,���)� � � � ¬0�+

�I�/5(�L4��+­ ��>6:,+,� � K�(N�)�5�'( � K����/ ��>�/ : � ����� � ����(=��>?�' ;(@9 :�;e�=� � �8K K�( � �'���*"? �>?�5�'(H>':�K��*L �) ,(N/5(*/5���'�!:;>'(*� � �

�' ;(���� � ���Q� � � ��K K�( � �'���u­���>=��7 �)(*+ ���'(H���'(H�N�' ,��+ �) ,���=�87 �) ,(�9 :�;e�=� � ��K K�( � �)���*L���+,� >'��/5(*�I�/5(*>N>���+G�� � ��+��IK��

���)(*���)(*� $ (�" �,"�L��+ ���� �� ����� $ 8 7 7 "

� � � K�( � ��K�>'�0>' ,�K­6>6�) ,( ��E �' !�4(*� � (*+��I K�(0�,��:,>)(0 I�I�/5(H>?��7 �' ,(&��� � ����� � ��+,�>93:�;<�=� � �8K K�( � �'���'>*" 1I+ ��(*+,(H�'��K L

.*:,>)� ��>N�' ;(!/5(*�����+,>0���)(5K����'��(*�*L��' ,( ��E �' �4(*� � (H+�� K�( �,��:,>'( ��/5(*>5�87?�' ,( 9 :�;e�=� ��K������I��) ,/ ���'(5K����)��(*�0�' ,��+

� �

Page 20: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

�' ;��>'( ��7?�) ,(>��� ��������� ��K��������) ,/ " � �K­ (*��(*�*L��' ,( ��E �' �4(*� � (H+�� K�(*> ���'( +,���#>'� / : � K����'��(*�#�+ �) ,(>93:�;e�=���K������I��) ,/ �' ,���6�' ,(=�+��'(*�)� � ����(0�'(H>'�4��+,>)(s­���:�K�� � (=>I���+� � � ��+��K���­����)>'(N�) ,��+ 7 ���6�) ,(,��� � ����� � �8K������I��' ,/ "

� � § � � �¤ �

1=(*+;(*�'���I���+,��K ����� � ����( � ��K K�( � ����+ �>6�0�4�K­ (*�7 :�K � ��+ � (*�;�?�' ;���� ,��>6�,�)����(*+ >': �H� (*>'>7 :�K �+ �0+�:,/ � (*�6�87 � ��/5/5(*� � ���K

K���+,��:;����(��/5��K�(*/5(H+��)������+;>*"�� �K­ (*��(*�*L;�� �>6�/5�3��>'> � K�(07 ���&�/5��K�(*/5(*+��'���'>=��7J��(*+,(*�)���I���+,�8K � �8K K�( � �I���+ �8K������I��' ,/5>

�'�5��+��I � ��,���'(0�' ,(0/5(*/5���)�!�8K K�� � ���I���+ � (* ,��������=��7J��K K ���;��K � ������+;>?�+-���;����+ � (8" �>?�5�)(*>':�K��*L :;>'(*�)> ���'(N�)(���:���)(*�

�'�5�):,+,(N��(*+,(*�)������+;��K � ��K K�( � ����+ �/5��K�(H/5(*+��'������+-�,���)��/5(*�)(*�'>��'�5/5(*(H�?�' ;(N+,(*(*�;>?��7 �' ,( ��=���,�GK � ���I���+ "?F +�7 ���)�':!

+,���'( K���L;�+-( @��>'�I�+,�!>)��>'�'(H/5>*L � ���)�'( � �IK�� �':,+��+,�!�8K������I��' ,/ �,���'��/5(H�'(*�)>?�'( ��:G��'(H>N( @,�'(*+;>I���(s¬�+,�K­�K�(*�,��(N��7 � ���' �' ,(

� �8K K�( � �I���+ ��K��������' ;/ ��+,� �' ,(N:;>'(*���,�'�����'��/ � (* ,��������*"

1I+5�' ��> �;���4(*�*L;­�(6�,�'(H>'(*+��6�]­��N��������+��)>J��7 �=����� � ����( � �8K K�( � �I���+-�8K������I��' ,/ �) ,���J(H� � !:,>)(?�N�):,+��+,�N�,���'��/5(H�'(*�

�' ;���=����)( � �K�� �'( �3( � �)> ��+ (*��>I K�� O :,+;�,(*�'>)�'����� /5�8@��/ :;/ /5(*/5���)�-�����,��:,>)( O ��/5( � ��+,>'�)�'�8�+��*" "%Y¬�( ��(*+,(*�)���I���+,�8K

� �8K K�( � �'���'>*L=��:;�'>5�������,(*> /5(*/5���)� �+��'� �]­�� >)�,� � (*>*L?��+,(57 ���0>' ,���'� O K ���(*� L���+,� ��+;���' ;(*�N7 ���0K���+,� O K ���(*� � � .H( � �'>H"

F6+GK Y¬�(N�,�)(*�����:;>*­ ���R¬4L���:,� � �8K K�( � �'��� � ��+!��� � ��)�'���I K�� >'( K�( � �=�' ,( � ��:,+,�,���'� � (*�]­�(*(*+ �) ,(*>'(#�]­ �N>)�,� � (*>6�+!���)�,(*�6�)�

����'( � �K��-/5(H(*�?�) ,(=�'(*>)��:,� � ( � ��+,>)�'�'�8�+��'>=>)�3( � ��3(*� � �!�) ,(=:,>'(*�H"

$J��>'(*� ��+ �) ,(�7 ���)/5��K 7 �)��/5(�­����O¬!�,(0�4+,(*� � � ��(*/5(H�'>�( &�3%"2� � L;­ (N ;����(=>' ,�K­6+ ,�K­ �5�,��+,��/0 � �' ,�)(*���)(*+��+,�

� ��:,+,�;���'� � ��K K�( � �)��� � ��+ � (�:,>'(*�5�)�=/5(*(*�J�=:,>)(*� O >'�4( � ��4(*� /5��@��/0:,/ /5(*/5���'�=��� /5(*�����+5�,��:,>'( O �I�/5( � ��+;>'�'�)���+��H"

F6>�+,�#�'�'� � ( O �,�I���(*+ >I�/0:�K����I���+-­ ( � ��/5�;���'(H�5�' ,(6�]­��=�����I���+��'> �87%�) ,(6�,��+,��/0 � �) ,�'(H���'(H+��+,� � ��:,+,�;���'�0��K������I��) ,/

­���) ( @��>)�I�+;� �8K������I��' ,/5>HL �+ � K�:,���+,� F +,�����=��+,� 6�� � ¬�>'��+ � > �;(*(*� � � � ¬ >C(*������I���+ � �%7 " � (0��K�>'�->) ,�K­ ,�K­ �' ,(

���) ,(*����K��������' ;/5>*­ ( � ��+,>I��,(*�'(H� �3�6(*��> K��!�+��'�5�' ;(N��(*+;(*�'�8K �,��+,��/0 � �' ,�)(*���)(*+��+,� � ��:,+;�,���)�57 �)��/5(�­����O¬3"

��:,� �)(*>':GK��'>�>' ,�K­ �) ,������:,�&/5(*/5���)� O � ��+;>'�'�)���+,(*� �' ,�)(*���)(*+��+,� � ��:,+,�,���'�0��K��������) ,/ /5(*(*�)> �) ,(?:;>'(*� O �/5�4��>)(*�

/5(*/5���'� � ��+,>)�'�)���+�����+,�5:;>'(*>6�����8 K�� � K�(�/5(*/5���)�N�'�#�'(*�,: � (N���JF ����(*�' ;(*��� "�� (���K�>'�0>' ,�K­ �) ,���J�) ,(?�;��:,>)( O ��/5( O

� ��+,>'�)�'���+,(*� �) ,�'(H���'(H+��+,� � ��:;+,�,���)� ��K��������) ,/ ( @,�'(H+,�,> �;(*(*� � � � ¬ > (*�G�������+ �)� ( @G�GK�����5������ K�� � K�( �,��:;>'( O �I�/5(

��+;�!�'(H�,: � (N/5(H/5���'�5����(*�' ;(*��� "�1I+ � ��+ � K�:,>���+ L ��:,����K��������) ,/5>6/5���)( � �*� :,�)���)( K�� �'( �3( � �?:,>)(*� O �/5�4��>)(*� �)(*>'��:,� � (*>

� ��+,>'�)�'���+��'>N��+,�-�����' ,(0>'��/5(N�I�/5( �;�'������,( � (*�'�)(*�N�4(*�I7 ���'/5��+ � (0�' ,��+-( @��>)�I�+;�-��(*+;(*�'���I���+,��KJ����� � ����( � ��K K�( � ����+

��K������I��) ,/5>*"

� �

Page 21: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

� ��¤~¥ �u¤���� ¡~¢��`¥s¤ � � £�ªU¥ ¢

�������K: 1= ;��>'� < � ���,�HL3��(H�'>I���+ 8 " � L��> �0�,: � K � K��4 �����8 K�� � K�(#�+��)(*�'�,�)(*�'(H�?7 ���J�) ,( � ��>'� < � �I��,�?�;����( �,(H> � ���,����+CK���+;��:,����(�" �6 ,(6�+,�,:,�)>6:,>'(H�$­�(*�'(=�=K����'��(?�)( 7 (*�)(*+ � (N/5��+�:,��K3��+,�!�#/5��>'�)(*�'>�) ,(*>I�>*"��6 ,(*>'(=( @,( � :,�I���+,>6�87 1= ;��>'� < � ���,�6����!+,���J�':;+!��>9�+��'(*�)� � ����( ���,��K � ���I���+,>?��> ���>6��7 �)(*+ :,>'(*� L � :,�&�+;>'�'(H����­�(*�'(#( @,( � :,�)(*��­���) �' ,(���=��1'< ��" �� ���;�I���+ �' ,���6>I�/5�GK��7 ��� � (H>6�' ,(=�+��'(*�)�,�'(*�)������+ ��7J�) ,( � ��>'� < � �I��,�=�,�'�����)��/)­���' ,��:,�?���>'��K������+,� �' ,(=�'(H>':�K��'>*"

� � � �������� � >)�,�'(H>'>'�;L3��(*�'>���+ 8 " � L��> �#K����� � ���,�I�/0��*���I���+ �,�'�����)��/ " �6 ,(6�+,�,:,�)>?:,>)(*�$­�(*�'(=( @,��/ ��K�(*>?�;�'������,(H��­���) �) ,(N�)( K�(*��>'( � ���,(�"

� ��� < 1'<%L � ( K�(*��>'( � " � L �> � �'����K&7 ���0>'���' ;(*>I�>5��7?>'��+ � ,�)��+,��:,>5��+;� ��>'��+ � ,�)��+,��:,> � �� � :���)>*"1I���+ � K�:,�;(*>5� +�:;/ � (*�N�87 � ���;� � K ���(*> >': � ��>N>'�)���'(5/0�+��/0 �*������+ ��+;� ���,�I�/0��*���I���+ "�6 ,(#�+;�,:,�N:,>)(*� �+ �' ;(5�':,+�­ ��>=��+,(0��7 �) ,(5( @,��/5�GK�(*>N�;�'������,(H��­���' �' ;(5�'( K�(*��>)(%$ �> � ��> M � ��> 7��4� M�" � K 7�7 "��6 ,(5���4(*�'���I���+ �4(*�7 ���)/5(*��­���>N� ��(*��� � ���I���+�­���' � E 8 D �'��+;�,��/�+,�,:,�6��( � �'���'>H"

�! " �#%$ �&7 �)� � �>6�0�,�'�����'��/ �' ;���&7 � � �)���)>�K����)��(��+��)(*��(*�)>?:,>�+,�5�) ,( � ��+���+�:,(*� 7 �'� � �I���+ /5(*�' ,��� "�6 ,(��+,�,:,�+­ ��> � 8 7 I����8��6+�:,/ � (*�6�) ,���*­���>6�) ,(N�,�)���,: � �6�879�]­��0�,�I�/5(*>*"

a�b ced25���9 L?MON[MOQRS�\�VoNJiwXZQ]nsSqTWVBX�NuS�f;XZb[T?TW_[M*T]M�c]TdpJQRXUmZQRS�nsc�x

"%�+,(*>=�87 � @G( � :,�I���+ � ���)��K K K�� � ���I���+ � :,/ � (*�� �'�����'��/ <���:,� � ( ���/5( 6K K�� � ���I���+ �6���'( �87

$ >'( � 7 $ /5(*��� � ���'(*>07 $�¬ � �I��(H> ��>)( � 7 ����K K�( � �I���+,>�����'��: $ � 7 8 � 7�E�E �G� D � � E4� M 7�������'��: $ 8 7 8 � 7�E�E �G� M�M ����� ��E����� �������� $ � 7 � 7 7�E�E � 8 � 7 8 D E � ������ �������� $ 8 7 � 7 7�E�E 8 D E � E D D �:7 � E4�� �)� ��� 8 E�E�E ��E � 7 D�M E � 7� �#�$ ��E�E�E M � D E 8 D

a�b ced25���9 �~\o\YXK^�SqTWVBX�N >{MO_PS�eUVYXZQ XZi,��QRXUmZQRS�nsc).�M�SUcWbJQRM�j;x

� M

Page 22: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

��� �:��¤��0¢1©�� �

� � ?�;��K�( ����/5�,:,�)(*��1I+ � " < 3 -� *,& ���+� #�����*��*�� � ��3�� (���( -.( * 0(HL,��(*�)>I���+ 8 (*����I���+ L � ��� 8 " �,����(*> �����HO ���4� "� 8 �6 ,��/5��>?$&��K KJ��+,� 6���/5(H>��=" " ���):,>*" �?�;�I�/5�8K K��-�,�'���,K �+,�!��+,� �'�)� � �+,�!�,�)�����'��/5>H" 1I+ #���*���( -.( * 0(�� (5'��-./8��

&/�,(� � * ( &)(0( *,&,� �0# < ���%��3 ���5� + � ��* ��-�� * �� 3 " (����� � -5�01�-03%�0�� *!1�� 3�*!1�+,3614( � L,�;����(H> 7��AO,��E L%6���+�:;���'� � ��� 8 "� � ��������5$J���'�'(H�'�J��+,� $&(*+*.*��/0�+524���'+ "3F6>I�+,��K 7 (*�I�/5(?�,�)(*�� � �'���'>J�)�?�/5�,�'����( /5(H/5���'�=�8K K�� � ���I���+5�4(*�I7 ���'/5��+ � (�"1I+��0# < � )��������� ���%��3 ���5� + � ��* ��-5�01�-.3%�0�0� * 1�� 3�*!1�+,3614(�� ( �5� 1�*%3�* /�)'��3 "�(�� (�*,& 3�&��=��*,L,�,����(*> � M �AO4� �4� L 6K � :,��:,(*�'��:,(�L � (�­ >C( @� � �;L�6�:;+,( � ����� "

� D �6��+,> �63"?$&��(* ,/ L? K���+ 63" ��(*/5(H�'>*L=��+;� < � ���)� <� ,(H+;¬�(*�H" > ��>'�IK�� �,���)��K K�( K ����� � ����( � �8K K�( � �I���+ " 1I+��0# <� )�� ������ ���%��3 ���5� + � ��* ��-5�01�-03%�0�� * 1�� 3�* 1�+,31#( � (��'��1�* 3�* / )'��3 " (-� ( *,&)3�&=����*,L��,����(*> � 74�AO3��� D;L 6�:,+,(� ����� " � ���)��+��'�;L ��+��)�����,L ����+,���,�,"

� 7 � ���)�I � ¬ ����:,�� K K ��+,�- 6K K�(*+ � ��I7 > '$J�)� � ¬4"N �) ���)� ��(*+,(*�)������+ <�/5�8K K��)��KB¬# 'M E �/5��K�(*/5(H+��)������+ "�1I+ �6���'/5��/> (*���)�K­��� �8L,(*����)���HL � ��� ������� ���0#���*�� (�-0(�* 0( ��-5� 0(.(0/�� * 1�� L��,����(*> ��� � O3����E L�� ���'�K���+,� L � �=L�<�(H�,�'(*/ � (*� � � M � " ?� > "

� � 6K���+ �?(H/5(*�'>HL > ���R¬ � ( �>)(*�*L $J���'�'��� ����(*>HL �6��+,> $&��(H ,/ L3����+��( K $J� � �'�K­=L���+;� < � ���'�6<� ,(*+�¬�(*�H"9����/ � �+��+;���(H+,(*�'���I���+,�8K ��+,� � ��+,>'(*�)��������( ����� � ����( � �8K K�( � �I���+�� �,�)��/5(�­����O¬ ��+,� �/5��K�(*/5(*+��'���I���+,>H" 1I+ #���*���(�-0(�* .(��(''��-0/$�� &/�,( � (���(�* &)(0( *,&,���0# < ���%��3 ���5� + ����* � --� * �� 3 " (��0� � ��-5�01�-03%�0�� * 1!� 3�*!1�+,3614( � L �,����(*> 8 ���*O 8 ��� L6���+�:,���)� � ����E "

� � �;�'��+ ��1I+ � "���"&"�( 1�-'�.#��#" ��(�-$� + � /4(&%(' ( -��'�=��*�)+*-,8L%�)(*���>���+ 8 (*����I���+ L >C��� � ����� 8 "?�� ,���;�'(*� � 7 �61=��� � ����(����K K�( � �I���+ "

� M $&���'�)���6����(*>*" F >I�+,�s¬�(*�0� � .*( � � ���,�3���'�):,+��>)/ �)� � �8K K�( � �6��K��!� � .H( � �'>H" 1I+.�0# < � )���������/,�0�0�,.#���*���(�-0(�* .(��* ��5 �(' & ��--� ( *,& (0/ ��-5�01�-.3%�0�0� * 1 ��� �0& (-� �1%2� 3�* 1�+,3614(���3�* /��23 3 " ��.3�&=����* �.3 ����� �4���5� 0�,16�L �,����(*> ��� O D � L� ,��(*+G @ L ?�I �*��+;�,L � � �)� � (*� � ����� "� ?� > � �'(H>'>*"

� � ?+��)��+�� "9" �6��>R¬��+;�,L�64" � K ���� $ " > ��>'>*L4��+,�-�����O¬��5<��'( 7 ��+,����&7� " � ��/5�,���)������(#�3(*�7 ���)/5��+ � (N(*����K�:,������+-��7­6�I��'( � ���'��(*���/5�GK�(*/5(*+��)���I���+,>H"�1I+8�0# < � )���������9,�0�0�: #���*���( -.( * 0(*��* ��5 �(' &���--� (�*,& (0/ ��-5�01�-03%�0�� * 1��� �0& (-� �1%;� 3�* 1�+,3614(�� 3�* /<�23:3 " �=03�&=�=��* �=3 � ��� �����>� 0?:&6�L?�,����(*> � 8 O3��E�� L�@J��+ � ��:,��(*�*LN$&�I���>) ����K�:;/ � ��,L����+;���,�;L � � �'� � (*� � ��� 8 "

� � E �� � ,���)� " " �6:,�,>)��+5��+,��64" � K ���� $ " > ��>'>H" 1I+ � �'(*/5(H+��)��K � ��K K�( � �I���+ ��7 /5���':;�'(6� � .H( � �'>H" 1I+ ��-5� 0(.(0/�� * 1���� ��&/�,()0* &)( -�* 3�&=�=��* 3%"BA.��-5;��+���'3 ��* < (��*��--�*< 3�* 3614(�� ( *,& L <��*"�> ��K��,L��,�)��+ � (8L <�(*�,�)(*/ � (*� ����� 8 " <��;�I�+;��(*� C@J(H�IK����" ( � �':,�)( � ���)(*>6�+C����/5�,:,�)(*�?< � �(*+ � (0���8K " ���#� "

� ��� 6���/5(*��� " " ���':;>6��+,�%�6 ;��/5��>?$&��K K "��6(Z­6�I���+,� ( @,( � :,�'� � K�( �,K�(*>=�'�5/5(*��>':,�)(N�,�)�����)��/ � (H ,��������H"�� ( � ;+� � �8K�6(H�3���'� � E M � L ����/5�;:,�'(*�5< � �(*+ � (H> ��(*�,���)�'/5(*+��HL F +����(*�'>��I� ��7 � �> � ��+;>I�+ O > �����>)��+ L � 8 � E � (*>)�!�������)��+<��)�'(*(*�HL > �����>'��+ L � 1 7��4��E4� F?<� #L > ��� � � ��� 8 "

� � 8 �6(H+,�'� "4�( � (*�)/5��+ ��+,� �����IK��6(�­���'�H" �)(*��K ��/5( ����� � ����( � ��K K�( � �)��� � ��>)(*� ��+ �) ,( K 7 (*�I�/5(*> ��7?� � .H( � �'>H"#��%�0� + * �=03�&��=��* �0� � &,� (��0# < L 8 � $ � 7 � D ���AO D 8 � L%6�:;+,( � � M � "

� � � �������� N" > ����+ "-1=��� � ����( � ��K K�( � ����+��+ � K����'��(�"4�>'� >)��>'�'(H/ "$1I+ #���*���( -.( * 0(!��(''��-0/ �� &,� (�,40D�?)��0# <���%��3 ���'� + ����*�� ) � � 3�* /09�+!* &��=��* 3�" ��-5�01�-03%�0�� * 1�L��,����(*> 8 �:7 O 8 D � L� ?:,>)�I�+ L � ( @,��>*L, ?:;��:,>)� � � M�D;"

� � D �������� F +,�����*"�1=(H+,(*�'���I���+N> � ����(*+;���+;��� +,��+! �G�>'�):,�,����(� ���� 0�3(*�7 ���)/5��+ � (J>'�)���'����(J�)( � K���/5������+ �8K������I��' ,/ "1I+ � )�� � ��9��FE � )��������� ��-.3 �&��=03%" ��-'�.1�-.3���0� * 1HG�* � � -5��*�� ( *,&�*#���*���( -.( * 0(HL,�,����(*> �%7#�AO4� �4� L� ��,�I K � � M�D;"

� � 7 ��������-F6+,��������+,�%�;�'��+�¬*6�� � ¬�>)��+ "� ?+-���,���;�I���(N�'(H+�:;�I�+;�!�4��K � � 7 ���6��(*+;(*�'���I���+-> � ����(*+,��(*�'>H"��0# < � -.3�* �JI3: &��=��* �0��* ��-'�.1�-.3���0� * 1H� 3�* 1�+,31#( ��3�* /�� � �.& (�� � L � D,$ � 7 � �HO 8 � L%6���+�:,���)� � ��� 8 "

� �

Page 23: Garbage Collection Using a Dynamic Threatening Boundary ; CU … · 2017-02-05 · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Summer

� � � � ��:�K �="� K�>'��+#��+,� �6 ;��/5��> 1 " > �� ,(*�*"��?(H>I���+ �87,�' ,(J���,�4���'�):,+��>'�I � ����� � ����( � ��K K�( � �'���H"�1I+!�0# < � )���������,�0��D00#���*���( -.( * 0( ��*���5 �(' & ��--� (�*,& (0/ ��-5�01�-03%�0�� * 1�� � �.& (�� �1% � 3�* 1�+,31#( � 3�* /�� 3:3 " �=03�&��=��* �23 ����� �4��� � �D06�L�,����(*> 8 �AO,�:7 L � (�­ ���K�(*��+,>*L " ��:��>���+,�,L�� � �'� � (*� � � M � "

� � � $&(*+*.*��/0�+ 24���'+ ��+,� � ��R¬ 1=�):,+P­ �8K�� "��9/5���� � �8K?/5(*��>):,�'(*/5(H+��)> �87 > @ �8K K�� � ���I���+! �+��'(H+,>I���( � �,�)�����)��/5>H"�0# < � )��������� ���&��=0( � L 8 � $ � 8 7 � ���*O M E L���( � (*/ � (H� � ��� 8 "

8 E


Recommended