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


¤³¤ÎWiki¤¬Ìܻؤ¹½ê

¡¡¤º¤Ð¤ê
¡¡¡ÖÆüËܸì¤Ë¤è¤ëGC¥¢¥ë¥´¥ê¥º¥à¤Î¾ÜºÙ²òÀâ¡×
¡¡¤Ç¤¹¡£
¡¡
¡¡¤³¤ÎWiki¤Ë¤ÏºÇ¿·¤Îµ»Ë¡¤«¤é¸Å¤¤µ»Ë¡¤Þ¤Ç¡¤¼«Ê¬¤Î¤Þ¤È¤á¤¿¤â¤Î¤ò¤Á¤Þ¤Á¤Þ½ñ¤¤¤Æ¤¤¤¯¤Ä¤â¤ê¤Ç¤¹¡£
¡¡ÊÔ½¸¤Ï¼«Í³¤Ç¤¹¤Î¤Ç¡¤¤è¤«¤Ã¤¿¤é²¿¤«½ñ¤¤¤Æ¤â¤é¤¨¤ë¤È¤¢¤ê¤¬¤¿¤¤¤Ç¤¹¡¥

¡¡id:authorNari¤¬´ÉÍý¿Í¤Ç¤¹¡¥
¡¡²¿¤«Í­¤ê¤Þ¤·¤¿¤é¡¤authorNari at gmail.com ¤ÎÊý¤Ø¤É¤¦¤¾¡¥

GC¤È¤Ï¡©

¡¡¤É¤³¤«¤é¤â»²¾È¤µ¤ì¤Ê¤¯¤Ê¤Ã¤¿(¤Ä¤Þ¤êÉÔÍ×)¥á¥â¥êÎΰè¤ò¼«Æ°¤ÇÁݽü¤·¤Æ¤¯¤ì¤ëÊØÍø¤Ê¤ä¤Ä¡£
¡¡ËÜÅö¤Ïmalloc/free¤È¼êÆ°¤Ç¥á¥â¥ê´ÉÍý¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤½ê¡ÊC¸À¸ì¤Ê¤É¡Ë¤ò
¡¡¤¢¤ë¥¿¥¤¥ß¥ó¥°(»È¤¦Â¦¤Ë¤Ï»ØÄê¤Ç¤­¤Ê¤¤»ö¤¬Â¿¤¤)¤Ç¤¤¤é¤Ê¤¤Îΰè¤òfree¤·¤Æ¤¯¤ì¤ë¡£
¡¡ËÜWiki¤Ï³µÍפˤĤ¤¤Æ¤Ï¤¢¤ó¤Þ¤êÀâÌÀ¤·¤Ê¤¤¤Î¤Ç¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó(wikipedia)¤ò»²¾È
¡¡
¡¡GC¤ÏÆó¤Ä¤Îά¸ì¤ò¤µ¤·¤Þ¤¹¡£
  • (garbage collection) ¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó -- ¥×¥í¥°¥é¥à¾å¤ÇÉÔÍפȤʤä¿¥á¥â¥ê¤ò²ó¼ý¤¹¤ëÆ°ºî¡£
  • (garbage collector) ¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥¿ -- ¾åµ­¤ò¼Â¸½¤¹¤ë¥á¥«¥Ë¥º¥à¡£

¡¡ËÜWiki¤Ç¤Ï¡¢Åý³ç¤·¤Æ¡ÖGC¡×¤È¸Æ¤Ö»ö¤Ë¤·¤Þ¤¹¡£

GC¤ò³Ø¤ÖÁ°¤ËÃΤäƤª¤¯»ö

ÀìÌçÍѸì¤òÃΤé¤Ê¤¤¤ÈÃ桹¿É¤¤¤Î¤Ç¡¢¤Þ¤È¤á¤Æ¤¤¤Þ¤¹¡£
ÍѸ콸

¼Â¹Ô»þ¥á¥â¥ê¹½Â¤



¤³¤ì¤«¤é¤Îʪ»ö¤òÍý²ò¤¹¤ë¤¿¤á¤Ë¡¢¥×¥í¥°¥é¥à¤¬Æ°¤¤¤Æ¤¤¤ë»þ¤Î¥á¥â¥êÎΰè¤Î¹½Â¤¤ò¿Þ ¤Ë¼¨¤¹¡£
Âç¤Þ¤«¤Ë¤Ï¡¢Java, ML, C ¸À¸ì¤â´Þ¤á¤Û¤È¤ó¤É¤Î¸À¸ì¤Ï»÷¤¿¤è¤¦¤Ê¹½Â¤¤Ë¤Ê¤ë¡£
¥Ò¡¼¥×Æâ¤Î¾®¤µ¤¤»Í³Ñ¤Ï¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¤¹¡£
¤Þ¤¿¡¢¤¢¤ë¥ª¥Ö¥¸¥§¥¯¥ÈA ¤ÎÃæ¤Ë´Þ¤Þ¤ì¤ë¥Ý¥¤¥ó¥¿¤¬¡¢Ê̤Υª¥Ö¥¸¥§¥¯¥ÈB ¤ò»Ø¤·¤Æ¤¤¤ë¤³¤È¤¬¤¢¤ë¡£
(record ¤ÎÃæ¤Ërecord ¤¬¤¢¤ë¾ì¹ç¤ä¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Õ¥£¡¼¥ë¥É¤ËÊ̤Υª¥Ö¥¸¥§¥¯¥È¤ò´Þ¤à¾ì¹ç¤Ê¤É)
¿ÞÃæ¤Ç¤Ï»²¾È´Ø·¸¤ò¡¢A ¤«¤éB ¤Ø¤ÎÌð°õ¤Çɽ¤¹¡£
  • ¥¹¥¿¥Ã¥¯¤Ë¤Ï¡¢¶É½êÊÑ¿ô¤ä´Ø¿ô¸Æ¤Ó½Ð¤·¤ÎÍúÎò¤Ê¤É¤¬³ÊǼ¤µ¤ì¤ë¡£(Ïäò¤´¤¯´Êñ¤Ë¤¹¤ë¤È) ´Ø¿ô¸Æ¤Ó½Ð¤·¤¬µ¯¤³¤ë¤È¿­¤Ó¤Æ¡¢return ¤¬µ¯¤³¤ë¤È½Ì¤à¡£
  • Âç°èÊÑ¿ô¤ò³ÊǼ¤¹¤ëÎΰ褬ÍÑ°Õ¤µ¤ì¤ë¡£Äê¿ô¤¬³ÊǼ¤µ¤ì¤ëÎΰè¤âÆÈΩ¤ËÍÑ°Õ¤µ¤ì¤ë¾ì¹ç¤¬Â¿¤¤¡£
  • ¥ì¥¸¥¹¥¿¤Ï¡¢´Ø¿ô¤Î°ú¿ô¡¢·×»»¤ÎÅÓÃæ·ë²Ì¤Ê¤ÉÍÍ¡¹¤ÊÃͤò¤È¤ë¡£¥ª¥Ö¥¸¥§¥¯¥È¤ò»Ø¤¹¥Ý¥¤¥ó¥¿¤Î²ÄǽÀ­¤â¤¢¤ë¡£
  • ¥Ò¡¼¥×¤Ï¼«Í³¤Ê½çÈ֤ǥá¥â¥êÎΰè¤ò³ÎÊÝ/²òÊü¤Ç¤­¤ëÎΰè¤Ç¤¢¤ë¡£
¡¡¥ª¥Ö¥¸¥§¥¯¥ÈºîÀ®(C ¤Ç¤Ïmalloc)¤ò¹Ô¤Ê¤¦¤È¡¢¥Ò¡¼¥×¤ÎÃæ¤ËɬÍפÊÂ礭¤µ¤ÎÎΰ褬³ÎÊݤµ¤ì¤ë¡£
  • ¿Þ¤Ë¤Ï¼¨¤·¤Æ¤¤¤Ê¤¤¤¬¡¢¥×¥í¥°¥é¥à¤Î¥³¡¼¥ÉÎΰè¤â¤É¤³¤«¤Ë¤¢¤ë¡£

´ðËÜ¥¢¥ë¥´¥ê¥º¥àÊÔ

À¤¤ÎÃæ¤Ë¤¢¤ëGC¥¢¥ë¥´¥ê¥º¥à¤Ï¤³¤Î3¥Ñ¥¿¡¼¥ó¤ËºÇ½ªÅª¤Ë½¸Ì󤵤ì¤ë¡¥
´ðËÜÃæ¤Î´ðËܤΥ¢¥ë¥´¥ê¥º¥à¤Ç¤¢¤ë¡¥
»²¾È¥«¥¦¥ó¥È(GC)
°õ¤Å¤±¡¢Áݽü
À¸¤­¤Æ¤ë¤â¤Î¤À¤±°ã¤¦Æþ¤ìʪ¤Ë¤¤¤ì¤Æ¡¤»à¤ó¤Ç¤ë¤â¤Î¤ÏÆþ¤ìʪËè¼Î¤Æ¤ë

±þÍÑ¥¢¥ë¥´¥ê¥º¥àÊÔ

¤³¤³¤Ç¤Ï´ðËÜ¥¢¥ë¥´¥ê¥º¥à¤ò±þÍѤ·¡¢·çÅÀ¤ò²ò·è¤·¤¿¥¢¥ë¥´¥ê¥º¥à¤Î¾Ò²ð¤ò¤¹¤ë¡£
¤Á¤ç¤Ã¤È¤Å¤ÄGC
¼ã¤¤¤ä¤Ä¤é¤òÍ¥À褹¤ëGC
³«»Ï»þ¤Î¼Ì¿¿¤ò¸µ¤Ë¥´¥ßÁݽü
ÃÙ±äSweep
¶õ¤¤¤Æ¤ë½ê¤Ë¤Ä¤Ã¤³¤à
ÀèƬ¤Ë¤º¤é¤¹
ÉôʬŪ¤ÊMarkandSweep
¶ËÎÏParallel¤ÊGC¤ò¹Ô¤¦
OldÀ¤Âå¤ò¼Öξ¤Ëʬ³ä¤·¤Æ¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¤ËGC
¤¢¤¤¤Þ¤¤¤Ê¥Ý¥¤¥ó¥¿¤ò¹Íθ¤·¡¤¶ËÎÏCopying¤ò¤¹¤ëGC
Copying¤Ë»÷¤¿non-moving¤Ê¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ëGC

Êä­

conservativeGC(ÊݼéŪGC)¤ÈexactGC(ÀäÂÐŪGC)

ÂçÄñ¤ÎGC¤Ç¤ÏºÇ½é¤Ë¥ë¡¼¥È¤ÎÁöºº¤ò¹Ô¤¦¡£
¶ñÂÎŪ¤Ë¤Ï»²¾ÈÀè¤Î¥¢¥É¥ì¥¹(¥Ý¥¤¥ó¥¿)¤¬¥Ò¡¼¥×ÎΰèÆâ¤Ë¤¢¤ë¤«¤É¤¦¤«¡©¤È¤¤¤¦
¥Á¥§¥Ã¥¯¤ò¥ë¡¼¥È¤¹¤Ù¤Æ¤Ë¹Ô¤¦¤Î¤À¤¬¡¢
¤³¤ÎºÝ¤Ë¡¢¤â¤·¡¢¥Ò¡¼¥×ÎΰèÆâ¤ò»Ø¤¹¿ôÃͤ¬¸«¤Ä¤«¤Ã¤¿¾ì¹ç¡¢
¤½¤ì¤¬¥×¥í¥°¥é¥àÃæ¤Ë»ÈÍѤµ¤ì¤¿¿ôÃÍ(int¤Ê¤É)¤Ê¤Î¤«¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î»²¾È(¥Ý¥¤¥ó¥¿)¤Ê¤Î¤«
ȽÃǤ¹¤ë»ö¤¬¤Ç¤­¤Ê¤¤¡£
¤³¤ÎÌäÂê¤Ë¤É¤¦Âн褹¤ë¤«¤Ë¤è¤Ã¤Æ¡¢conservativeGC¤ÈexactGC¤Î2¼ïÎà¤ËGC¤Ïʬ¤±¤é¤ì¤ë¡£
conservativeGC(ÊݼéŪGC)
conservativeGC¤Ï¤³¤Î¾ì¹ç¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î»²¾È¤Ç¤Ï̵¤¯¡¢Âþ¤Î¿ôÃͤÀ¤Ã¤¿¤È¤·¤Æ¤â
¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î²òÊü¤Ï¹Ô¤ï¤Ê¤¤¡£
¤Ä¤Þ¤ê¡¢¿ôÃͤǤ¢¤Ã¤¿¾ì¹ç¤Ë¥Ý¥¤¥ó¥¿¤ÎÃͤòÊѹ¹(CopyGC¤Ê¤É)¤·¤¿»þ¤Ï¥×¥í¥°¥é¥à¤È¤·¤ÆÃ×̿Ū¤Ç¤¢¤ë°Ù¡¢
²¿¤â¿¨¤é¤Ê¤¤Êý¸þ¤ËÅݤ¹¤È¤¤¤¦»ö¤À¡£
¤Þ¤µ¤ËÊݼéŪ¤ÊGC¤À¡£

ÍøÅÀ
  • ̵Â̤ʺٹ©¤ò¤»¤º¤ËºÑ¤à¤Î¤Ç½èÍý¤¬·Ú¤¤
  • ¼ÂÁõ¤¬³Ú

·çÅÀ
  • ²ó¼ý¤µ¤ì¤Ê¤¤¥´¥ß¤¬»Ä¤ë²ÄǽÀ­¤¬¤¢¤ë
  • CopyingGC¤Ê¤É¥ª¥Ö¥¸¥§¥¯¥È¤ò°ÜÆ°¤¹¤ë»ö¤¬¤Ç¤­¤Ê¤¤¡£
¡¡¢ª²ò·èÊýË¡1¡§¥ª¥Ö¥¸¥§¥¯¥È¤È¥Ý¥¤¥ó¥¿¤Î´Ö¤Ë°ìËç¥Ï¥ó¥É¥ë¤ò³ú¤Þ¤·¤ÆÃê¾Ý²½¤¹¤ë¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¼ÂºÝ¤Ë¥Ï¥ó¥É¥ë¤Î¿ôÃͤÀ¤±¤¬ÊѤï¤ê¸µ¤Î¥Ý¥¤¥ó¥¿¤Ë±Æ¶Á¤Ï¤Ê¤¤¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡(´ÖÀÜ»²¾È¤Ë¤Ê¤ë°Ù¡¢Ä̾ï¤Î½èÍý¤¬ÃÙ¤¯¤Ê¤ë·çÅÀ)

¾ÜºÙ¤Ê²òÀâ
exactGC(ÀäÂÐŪGC)
conservativeGC¤Ç¤Ï¤Ê¤ó¤Ç¤â¥ª¥Ö¥¸¥§¥¯¥È¤È¤ß¤Ê¤·¤Æ¡¢¥´¥ß¤¬»Ä¤ë²ÄǽÀ­¤¬¤¢¤Ã¤¿¤¬
exactGC¤Ç¤Ï¥Ý¥¤¥ó¥¿¤È¿ôÃͤò¤Ï¤Ã¤­¤ê¶èÊ̤·¡¢¥´¥ß¤ò»Ä¤µ¤º²ó¼ý¤¹¤ë»ö¤ò¥Ý¥ê¥·¡¼¤È¤¹¤ë¡£
¥Ý¥¤¥ó¥¿¤È¿ôÃͤò¶èÊ̤¹¤ë¶ñÂÎŪ¤ÊÊýË¡¤Ï¡¢
  • À°¿ôÃͤÎÈϰϤò1 bit¸º¤é¤·¤Æ¡¢¤½¤Î1bit¤ò¥¿¥°¥Ó¥Ã¥È¤È¤·¤ÆÍøÍѤ¹¤ë¡£
  • stack mapÊý¼°
¤¬¤¢¤ë¡£

¤Û¤È¤ó¤É¤Î½èÍý·Ï¤Ï¡¤½èÍý·Ï¼«¿È¤¬¥ë¡¼¥È¤òÄ󶡤¹¤ë»ö¤Ç¤¢¤¤¤Þ¤¤¤Ê¥Ý¥¤¥ó¥¿¤¬¤Ê¤¯¤Ê¤êexactGC¤È¤Ê¤ë¡¥
¤³¤Î¾ì¹ç¡¤GC¤Ë¤è¤ê¶¨ÎÏŪ¤Ê½èÍý·Ï¤È¸À¤¨¤ë¡¥

ÍøÅÀ
  • ¥´¥ß¤òÁ´¤Æ²ó¼ý¤¹¤ë¤Î¤Ç¥á¥â¥ê¸úΨ¤¬¤¤¤¤
  • ¥ª¥Ö¥¸¥§¥¯¥È¤Î°ÜÆ°¤¬³Ú¤Ë¤Ç¤­¤ë¡£(¥³¥ó¥Ñ¥¯¥·¥ç¥ó)

·çÅÀ
  • ¿§¡¹¤ÈÀ©¸Â¤¬¤Ä¤¯
  • ¼ÂÁõ¤¬ÌÌÅÝ

¤Á¤Ê¤ß¤Ë¡ÖÀäÂÐŪGC¡×¤È¤¤¤¦Ìõ¤Ï¥ª¥ê¥¸¥Ê¥ë¡£¤Ù¤¿¤ËÌõ¤¹¤È¡Ö³Î¼Â¤ÊGC¡×¤Ë¤Ê¤ë¡£
¤Þ¤¿exact¤ÈƱ¤¸°ÕÌ£¤Çprecise¡Ê¥×¥ê¥µ¥¤¥¹¡Ë¤È¸Æ¤Ö»ö¤â¤¢¤ë¡¥
¡Ê±Ñ¸ì¤Ç¤Ï¤³¤Ã¤Á¤ÎÊý¤¬Â¿¤¤¤«¤â¡Ë

writebarrier

Mark&Sweep¥¢¥ë¥´¥ê¥º¥à¤Ç¤Ï¡ÖRoot ¤«¤éÅþã²Äǽ¤«¤É¤¦¤«¡×¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤¿¤á¤Ë¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥Þ¡¼¥¯¤ò¹Ô¤Ã¤Æ¤¤¤¿¤¬¡¢
¤³¤ì¤È¤ÏÊ̤ˡֽñ¤­´¹¤¨¤é¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¡×¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤¿¤á¤ËÊ̼ïÎà¤Î°õ¤ò¤Ä¤±¤ë¡£
Î㤨¤Ð¡¢°Ê²¼¤Î¤è¤¦¤Ê Java ¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¥¹¥ì¥Ã¥É¤¬¡¢ object1 ¤Î¥Õ¥£¡¼¥ë¥É¤Ë¤Ê¤ó¤é¤«¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î»²¾È¤ò½ñ¤­¹þ¤à¾ì¹ç¡¢
object1 ¤Ë¡Ö½ñ¤­¹þ¤Þ¤ì¤¿¡×¤È¤¤¤¦°õ¤òÉÕ¤±¤ë¤Î¤Ç¤¢¤ë¡£
¤³¤Î½èÍý¤ò ¥é¥¤¥È¥Ð¥ê¥¢ (write barrier) ¤È¸Æ¤Ö¡£
object2 ¤¬ null ¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢¤É¤ó¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤â¥Á¥§¥Ã¥¯¤ò¹Ô¤¦¡£
void method( Class1 object, Class2 object2 ){ object1.field = object2; }
¥é¥¤¥È¥Ð¥ê¥¢¤µ¤ì¤¿¸å¤Î¡¢¥á¥â¥êÃæ¤Î¥¤¥á¡¼¥¸¤È¤·¤Æ¤Ï²¼¤Î¿Þ¤Î¤è¤¦¤Ë¤Ê¤ë¡£



finalize


ÍѸ콸

¸Ä¿ÍŪ¤Ë¤ï¤«¤é¤Ê¤«¤Ã¤¿Ã±¸ì¤¿¤Á

tenured

ÏÂÌõ¡§ÊÝÍ­¸¢¤Î¤¢¤ë¡¢½ª¿Èºß¿¦¸¢¤Î¤¢¤ë¡¢¿ÈʬÊݾã¤Î¤¢¤ë
À¤ÂåÊÌGC¤Î¸Å¤¤À¤Âå¤òÃÖ¤¯Îΰè¤Î»ö

¥ß¥å¥Æ¡¼¥¿

¥ª¥Ö¥¸¥§¥¯¥È¤Î¾õÂÖ¤ò½ñ¤­´¹¤¨¤ë¼Ô¡¢¤¹¤Ê¤ï¤Á¥æ¡¼¥¶¡¼¥×¥í¥°¥é¥à¤Î¤³¤È

scavenge

ÏÂÌõ¡§À¶Áݤò¤¹¤ë

sweep

ÏÂÌõ¡§¥´¥ß¤òÁݤ­½Ð¤¹

root

ÏÂÌõ¡§º¬¡¢º¬¸»
GC¤Ë¤ª¤¤¤Æ¡¢¡Ö³Î¼Â¤ËɬÍפʥª¥Ö¥¸¥§¥¯¥È¡×¡£
¥¹¥¿¥Ã¥¯Îΰ衢¥ì¥¸¥¹¥¿¡¢¥°¥í¡¼¥Ð¥ëÊÑ¿ô¡¢Äê¿ô¤Ê¤É¤«¤é»²¾È¤µ¤ì¤Æ¤¤¤ë¥Ò¡¼¥×Îΰè¤ò»Ø¤¹¡£
¤³¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òµ¯ÅÀ¤ËɬÍפʥª¥Ö¥¸¥§¥¯¥È¤¬Ãµº÷¤µ¤ì¡¢Ãµº÷¤µ¤ì¤Ê¤«¤Ã¤¿¥ª¥Ö¥¸¥§¥¯¥È¤¬GC¤ÎÂоݤˤʤ롣

chunk

ÏÂÌõ¡§Â礭¤Ê²ô
GC¤ÎÂоݤˤʤë²ô¡¢¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¥ª¥Ö¥¸¥§¥¯¥È¤À¤Ã¤¿¤ê¥Ç¡¼¥¿¤À¤Ã¤¿¤ê

compaction

Mark&Sweep¤ò²¿Å٤ⷫ¤êÊÖ¤¹¤È¥á¥â¥ê¤ÎÃÇÊÒ²½¤¬µ¯¤³¤ë¤¬¡¢
¤½¤Î¾õÂÖ¤òÀ°Æܤ¹¤ë¤¹¤ë»ö¤ò»Ø¤¹¡£
Windows¤Ç¸À¤¦½ê¤Î¥Ç¥Õ¥é¥°¤ÎÍͤʤâ¤Î¡£

allocate

ÏÂÌõ¡§³ä¤êÅö¤Æ¤ë
¥á¥â¥ê³ä¤êÅö¤Æ¤ë¹Ô°Ù¡£GC´ØÏ¢¤Î»ñÎÁ¤Ç¤Ï´ÉÍýÂоݤΥª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ë»ö¤ò»Ø¤¹¤³¤È¤¬Â¿¤¤¡£

promote

ÏÂÌõ¡§¾º¿Ê¤µ¤»¤ë¡¢¾º³Ê¤µ¤»¤ë
¿·À¤Â夫¤éµìÀ¤Âå¤Ë°ÜÆ°¤µ¤»¤ë¤³¤È¡¢ÅÂƲÆþ¤ê¤È¤â¸À¤¦¡£

starvation

ÏÂÌõ¡§µ²²î¾õÂÖ
Í×µá¤Ë±þ¤¸¤é¤ì¤ë¤À¤±¤Î¥Õ¥ê¡¼¤Ê¥Ç¡¼¥¿¤¬¤Ê¤¯¤Ê¤Ã¤¿¾õÂÖ

¥ë¡¼¥ÈÁÞÆþ

¥ë¡¼¥È½¸¹ç¤«¤éľÀܤµ¤µ¤ì¤Æ¤¤¤ë¥»¥ë(¥Ç¡¼¥¿)¤Ë°ì³ç¤·¤Æ°õ¤ò¤Ä¤±¡¢GCÍÑ¥¹¥¿¥Ã¥¯¤ËÁÞÆþ¤¹¤ë¤³¤È

¥»¥ë

GC¤Ç¤Ï¤è¤¯Lisp¤Ê¤É¤Î½èÍý·Ï¤ÇÀâÌÀ¤¬¹Ô¤ï¤ì¤ë¡£¥ª¥Ö¥¸¥§¥¯¥È¤ÈƱµÁ¤À¤È»×¤Ã¤Æ¤è¤¤¡£

»²¹Íʸ¸¥

  • ¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤Î¥¢¥ë¥´¥ê¥º¥à¤È¼ÂÁõ¡ÊÀÛÃø¤Ç¤¹¡Ë

Wikiºî¼Ô

¤³¤Î¥Ú¡¼¥¸¤Ø¤Î¥³¥á¥ó¥È

´ÉÍý¿ÍÍÍ ¡¢¤Ï¤¸¤á¤Þ¤·¤Æ¡£ÎëÌÚ¹¬»Ò¤È¿½¤·¤Þ¤¹¡£
¶²¤ì¤Ê¤¬¤éµ®¥µ¥¤¥Èseesaawiki.jp/w/author_nari/ ¤Ë¥Ð¥Ê¡¼¤ätextlink¤äµ­»ö·ÇºÜ¤ò¤ª´ê¤¤¤·¤¿¤¯ ¤´Ï¢Íí¤ò¤µ¤»¤Æ¤¤¤¿¤À¤­¤Þ¤·¤¿¡£
¤â¤·¶½Ì£¤¬¤´¤¶¤¤¤Þ¤·¤¿¤é¤ªÊÖ»ö失¤ì¤Ð¤È»×¤¤¤Þ¤¹¡£
¤´ÊÖ¿®¤ò¤¤¤¿¤À¤±¤ì¤Ð¡¢¤É¤Á¤é¤Î¥µ¥¤¥È(URL)¤Î´ÉÍý¿ÍÍͤò¶µ¤¨¤Æ¤¤¤¿¤À¤­¤Þ¤¹¡£
¤è¤í¤·¤¯¤ª´ê¤¤¤¤¤¿¤·¤Þ¤¹¡£

0
Posted by ÎëÌÚ¹¬»Ò 2018ǯ06·î24Æü(Æü) 15:28:24
http://worldcup2018-japan.com/
ÊÖ¿®

GC���르�ꥺ��ܺٲ��� - Seesaa Wiki�ʥ������� for ���ޡ��ȥե��� モンクレール新作ダウン http://www.pslcbi.com/moncler2014.html

0
Posted by ãƒ¢ãƒ³ã‚¯ãƒ¬ãƒ¼ãƒ«æ–°ä½œãƒ€ã‚¦ãƒ³ 2013ǯ12·î10Æü(²Ð) 04:54:02 ÊÖ¿®

GC���르�ꥺ��ܺٲ��� - Seesaa Wiki�ʥ������� for ���ޡ��ȥե��� モンクレール 2014 http://www.pslcbi.com/moncler2014.html

0
Posted by ãƒ¢ãƒ³ã‚¯ãƒ¬ãƒ¼ãƒ« 2014 2013ǯ12·î08Æü(Æü) 03:42:37 ÊÖ¿®

¥¢¥¤¥Õ¥©¥ó4s ¥±¡¼¥¹
¥¢¥¤¥Õ¥©¥ó¥±¡¼¥¹ http://www.cnbwe.com/

0
Posted by ¥¢¥¤¥Õ¥©¥ó¥±¡¼¥¹ 2013ǯ11·î09Æü(ÅÚ) 13:26:27 ÊÖ¿®

¥á¥ó¥º ¥À¥Ã¥Õ¥ë¥³¡¼¥È
¥Ð¡¼¥Ð¥ê¡¼¥Á¥§¥Ã¥¯ http://www.bet365kaihu.org/¥«¥¸¥å¥¢¥ë¥·¥ã¥Ä-mxz5zj-4.html

0
Posted by ¥Ð¡¼¥Ð¥ê¡¼¥Á¥§¥Ã¥¯ 2013ǯ10·î31Æü(ÌÚ) 12:39:55 ÊÖ¿®

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


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

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

WikiÆ⸡º÷

WikiÆ⸡º÷

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

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