ÆüËܸì¤Î»ñÎÁ¤¬¤¹¤¯¤Ê¤¤GC¥¢¥ë¥´¥ê¥º¥à¤Ë¤Ä¤¤¤Æ¾ÜºÙ¤Ë²òÀ⤷¤Þ¤¹

MostlyCopyingGC(Bartlett 1989)

¤¢¤¤¤Þ¤¤¤Ê¥Ý¥¤¥ó¥¿¤ò¹Íθ¤·¡¤¶ËÎÏCopying¤ò¤¹¤ëGC
(1)

(2)

(3)

(4)

(5)

(6)

¥¢¥ë¥´¥ê¥º¥à

conservative¤ÊGC¤Ë¤ª¤¤¤ÆCopyingGC¤ò¼ÂÁõ¤Ç¤­¤Ê¤¤¤Î¤ÏÁ°½Ò¤·¤¿Ä̤ê¤Ç¤¢¤ë¡¥
´Ø¿ô¥¹¥¿¥Ã¥¯¤ä¥ì¥¸¥¹¥¿¤Ê¤É¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¥ë¡¼¥È¤¬Â¨Ãͤȥݥ¤¥ó¥¿¤Î¶èÊ̤¬¤Ä¤«¤Ê¤¤°Ù¡¤
»²¾ÈÀè¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò°ÜÆ°¤Ç¤­¤Ê¤¤¤«¤é¤Ç¤¢¤Ã¤¿¡¥
³Î¼Â¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ý¥¤¥ó¥¿¤ÈȽÃǤǤ­¤Ê¤¤Ãͤò¡¤¡Ö¤¢¤¤¤Þ¤¤¤Ê¥ë¡¼¥È¡×¤È¸Æ¤Ö¡¥

¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ç¤Ï¤½¤Î¡Ö¤¢¤¤¤Þ¤¤¤Ê¥ë¡¼¥È¡×¤Ë´Ø¤·¤Æ¤Ï¥³¥Ô¡¼¤ò¹Ô¤ï¤º¡¤¥ª¥Ö¥¸¥§¥¯¥ÈÆ⤫¤é
»Ø¤·¤Æ¤¤¤ë³Î¼Â¤Ë»²¾È¤µ¤ì¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¤Î¤ß¥³¥Ô¡¼¤ò¹Ô¤¦»ö¤ÇCopyingGC¤ò¼Â¸½¤¹¤ë¡¥

¾å¿Þ¤Ë¤ª¤¤¤Æ¡¤¤½¤ì¤¾¤ì¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÎÌò³ä¤òÀâÌÀ¤·¤Æ¤ª¤¯¡¥
º£²óÀâÌÀ¤¹¤ë¤Î¤Ï¥ª¥ê¥¸¥Ê¥ë¤è¤ê¤â¾¯¤·³ÈÄ¥¤µ¤ì¤¿MostlyCopying¤Ç¤¢¤ë¡¥
  • A¡¡¥ë¡¼¥È¡Ê¤¢¤¤¤Þ¤¤¤Ê¥ë¡¼¥È¡Ë¤«¤é»²¾È¤µ¤ì¤Æ¤¤¤ë
  • B¡¡A,D¤«¤é»²¾È¤µ¤ì¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È
  • C¡¡A¤«¤é»²¾È¤µ¤ì¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È
  • D¡¡¤¢¤¤¤Þ¤¤¤Ê¥ë¡¼¥È¤ò»ý¤Ä¥ª¥Ö¥¸¥§¥¯¥È
  • E¡¤F¡¡¤É¤³¤«¤é¤â»²¾È¤µ¤ì¤Æ¤¤¤Ê¤¤¥ª¥Ö¥¸¥§¥¯¥È

¤³¤ÎÃæ¤ÇD¤Î¡Ö¤¢¤¤¤Þ¤¤¤Ê¥ë¡¼¥È¤ò¤â¤Ä¥ª¥Ö¥¸¥§¥¯¥È¡×¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡¥
Î㤨¤ÐScheme¤Î¾ì¹ç¤À¤È·Ñ³¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ë¡¥
·Ñ³¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ï´Ø¿ô¥¹¥¿¥Ã¥¯¤Î¾ðÊóÅù¤¢¤ë¤¿¤á¡¤¤³¤ì¤Ï¡Ö¤¢¤¤¤Þ¤¤¤Ê¥ë¡¼¥È¤ò¤â¤Ä¥ª¥Ö¥¸¥§¥¯¥È¡×¤À¤È¸À¤¨¤ë¡¥
¤Þ¤¿¤³¤Î¤è¤¦¤Ê¶¦ÍÑÂΤξì¹ç¤âƱÍͤǤ¢¤ë¡¥
union {
    int n;
    thing *ptr;
}

³ÈÄ¥¤µ¤ì¤Æ¤¤¤Ê¤¤MostlyCopying¤Î¥¢¥ë¥´¥ê¥à¤Ç¤Ï¤³¤Î¡Ö¤¢¤¤¤Þ¤¤¤Ê¥ë¡¼¥È¤ò¤â¤Ä¥ª¥Ö¥¸¥§¥¯¥È¡×¤Ë¤Ä¤¤¤Æ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¡¥

¥á¥â¥ê¤Î³ä¤êÅö¤Æ¤Ï2Ãʳ¬¤Ç¹Ô¤ï¤ì¤ë¡¥
  1. ¥Ö¥í¥Ã¥¯Ãæ¤Î¥á¥â¥ê¤ò³ä¤êÅö¤Æ¤ëºÝ¤Ë¤Ï¡¤¶õ¤­Îΰè¤ÎÀèƬ¤ò»Ø¤¹¥Ý¥¤¥ó¥¿¤ò¿Ê¤á¤ë¤À¤±¤Ç¤è¤¤¡¥
  2. ¥Ö¥í¥Ã¥¯Æâ¤Ë½èÍý·Ï¤¬Í׵ᤷ¤¿¥µ¥¤¥º¤Î¶õ¤­ÍÆÎ̤¬¤Ê¤¤¾ì¹ç¡¤¼¡¤Î¶õ¤­¥Ö¥í¥Ã¥¯¤òõ¤·¡¤°Ê¹ß¤Ï¤½¤Î¥Ö¥í¥Ã¥¯¤Î¥á¥â¥ê³ä¤êÅö¤Æ¤òÍøÍѤ¹¤ë¡¥

GCµ¯Æ°¤Î¥¿¥¤¥ß¥ó¥°¤Ï³ä¤êÅö¤Æ¤¿¥Ö¥í¥Ã¥¯¡Ê¿Þ¤Ç¸À¤¦¤ÈFrom¤Î²Õ½ê¡Ë¤¬Á´ÂΤÎȾʬ¤Ë㤷¤¿¥¿¥¤¥ß¥ó¥°¤Ç¤¢¤ë¡¥

¼ÂºÝ¤ÎGC½èÍýÆâÍƤϰʲ¼¤ÎÄ̤ê¤Ç¤¢¤ë¡¥¿Þ¤È¤¢¤ï¤»¤Æ»²¾È¤·¤Æ¤Û¤·¤¤¡¥
  1. ³ä¤êÅö¤ÆºÑ¤ß¤Î¥Ö¥í¥Ã¥¯¤ÏFrom¥Õ¥é¥°¤òÀßÄꤷ¡¤From¶õ´Ö¤È¤·¤Æ°·¤¦¡¥
  2. ¤¢¤¤¤Þ¤¤¤Ê¥ë¡¼¥È¤«¤é»²¾È¤µ¤ì¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤¬Â¸ºß¤¹¤ë¥Ö¥í¥Ã¥¯¤ÏPromoted¥Õ¥é¥°¤òÀßÄꤷ¡¤¾º³Ê¤µ¤»¤ë¡¥¾º³Ê¤µ¤ì¤¿¥Ö¥í¥Ã¥¯¤ÏºÇ½ªÅª¤Ë¤ÏTo¶õ´Ö¤È¸«¤Ê¤µ¤ì¤½¤Î¥Ö¥í¥Ã¥¯Æâ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï¥´¥ß¤Ç¤µ¤¨¤âÀ¸¤­»Ä¤ë¡¥
  3. ¶õ¤­¥Ö¥í¥Ã¥¯¤«¤éTo¥Ö¥í¥Ã¥¯¤ò»ØÄꤹ¤ë¡¥¾º³Ê¤·¤¿¥Ö¥í¥Ã¥¯¤Ë´Þ¤Þ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤òÁ´¤Æ¤½¤³¤Ë¥³¥Ô¡¼¤¹¤ë¡¥¤³¤Î»þ¡¤¥³¥Ô¡¼¸µ¡ÊA)¤Ë¤Ï¥Õ¥©¥ï¡¼¥Ç¥£¥ó¥°¥Ý¥¤¥ó¥¿¤ò»Ä¤·¤Æ¤ª¤¯¡¥
  4. ¤³¤³¤«¤é¤ÏCheney¤Î¥³¥Ô¡¼GC¤ÎÍ×ÎΤÇTo¶õ´Ö¤ò¥¹¥­¥ã¥ó¤·¡¤ÉýÍ¥Àè¤ÇTo¶õ´Ö¤Ë¥³¥Ô¡¼¤¹¤ë¡¥¤³¤ÎºÝ¤Ë¡Ö¤¢¤¤¤Þ¤¤¤Ê¥ë¡¼¥È¤ò»ý¤Ä¥ª¥Ö¥¸¥§¥¯¥È¡×(D)¤òȯ¸«¤·¤¿¾ì¹ç¡¤¤½¤Î»²¾ÈÀè¤ò¾º³Ê¤µ¤»¤ë¡¥
  5. To¶õ´Ö¤Ë¤¢¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ò¤â¤¦°ìÅÙ¥¹¥­¥ã¥ó¤·¡¤¥Ý¥¤¥ó¥¿¤ò¹¹¿·¤¹¤ë¡¥¤¿¤À¤·¡¤¾º³Ê¤·¤¿¥Ö¥í¥Ã¥¯Ãæ¤ò»Ø¤¹¥Ý¥¤¥ó¥¿('A,B')¤Ï¹¹¿·¤»¤º¤Ë»Ä¤¹¡¥¥Ý¥¤¥ó¥¿¤Î¹¹¿·¤Ë¤Ï¥³¥Ô¡¼¸µ¤ËÃÖ¤¤¤Æ¤ª¤¤¤¿¥Õ¥©¥ï¡¼¥Ç¥£¥ó¥°¥Ý¥¤¥ó¥¿¤òÍøÍѤ¹¤ë¡¥(C,D)
  6. ¾º³Ê¤·¤¿¥Ö¥í¥Ã¥¯¤ò¥¹¥­¥ã¥ó¤·¡¤¥Õ¥©¥ï¡¼¥Ç¥£¥ó¥°¥Ý¥¤¥ó¥¿¤ò»È¤Ã¤Æ¡¤¥³¥Ô¡¼Àè¤Î¥ª¥Ö¥¸¥§¥¯¥ÈÆâÍÆ(A, B)¤òTo¶õ´Ö¤«¤é½ñ¤­Ì᤹¡¥»Ä¤Ã¤¿From¶õ´Ö¤Ï¶õ¤­Îΰè¤È¤·¤ÆºÆÍøÍѤ¹¤ë¡¥¤³¤³¤Ç¥´¥ß¤Ç¤¢¤ëF¤Ï²òÊü¤µ¤ì¤¿¡¥¤·¤«¤·¡¤¾º³Ê¤µ¤ì¤¿¥Ö¥í¥Ã¥¯¤Ë¤¢¤ë¥´¥ß¥ª¥Ö¥¸¥§¥¯¥È¤ÎE¤Ï²òÊü¤µ¤ì¤Ê¤¤¡¤¤È¤¤¤¦»ö¤Ë¤Ê¤ë¡¥

Ĺ½ê

  1. conservative¤ÊGC¤ÇCompaction¤¬¤¢¤ëÄøÅÙ²Äǽ¤Ç¤¢¤ë¡¥
  2. ¤Ä¤Þ¤ê¥Õ¥é¥°¥á¥ó¥Æ¡¼¥·¥ç¥ó¤¬µ¯¤­¤Ë¤¯¤¤¡¥

û½ê

  1. ¤¢¤¤¤Þ¤¤¤Ê¥ë¡¼¥È¤¬Â¿¤¤¾ì¹ç¡¤ºï½ü¤µ¤ì¤ë¤´¤ß¤¬¤¹¤¯¤Ê¤¯¤Ê¤ë¡¥

¼Â¥³¡¼¥É¤ò¸«¤¿¤¤¾ì¹ç

  1. ÉÔÌÀ

¥³¥á¥ó¥È¤ò¤«¤¯


¡Öhttp://¡×¤ò´Þ¤àÅê¹Æ¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

ÍøÍѵ¬Ìó¤ò¤´³Îǧ¤Î¤¦¤¨¤´µ­Æþ²¼¤µ¤¤

WikiÆ⸡º÷

WikiÆ⸡º÷

¥Õ¥ê¡¼¥¨¥ê¥¢

ÊÔ½¸¤Ë¤ÏID¤¬É¬ÍפǤ¹