ToDo:
¤¤¤¤¤«¤²¤ó¸«¤ë¤«¡¼¤È»×¤Ã¤Æ¾¯¤·¹Í¤¨¤Ï¤¸¤á¤¿¡£
¤Þ¤º Yajit ¤¬¸Æ¤ó¤ÀÈó JIT Ruby/C ´Ø¿ô¤¬Îã³°Åꤲ¤¿¾ì¹ç¡£ ¤³¤ì¤Ï¤â¤¦ JIT ´Ø¿ô¤Ç¤ÏÎã³°¼õ¤±¼è¤ì¤Þ¤»¤ó¡ª ¤È¤«¤Ç¤¤¤¤µ¤¤¬¤¹¤ë¡£¤¤¤¤¤ó¤À¤è¤½¤ì¤Ç! ¤³¤ÎÀ©Ìó¤Ï¤¿¤Ö¤ó¡¢ Ruby ¤Ç½ñ¤¤¤¿ Proc ¥ª¥Ö¥¸¥§¥¯¥È¤ò JIT ´Ø¿ô¤«¤é¸Æ¤ó¤À¾ì¹ç¤Î return ¤È¤«¤¬ ¤ï¤±¤ï¤«¤é¤ó¤³¤È¤Ë¤Ê¤ë(¤¿¤Ö¤óÍî¤Á¤ë?)¤ò°ÕÌ£¤¹¤ë¡Ä¤È»×¤¦¡£
¤Þ¤¡¤¿¤Ö¤ó¤Á¤ã¤ó¤È¤ä¤í¤¦¤È¤¹¤ë¤È¡¢¶²¤é¤¯¤À¤±¤É¡¢ Á°¼Ô¤Ï Ruby ¦¤¤¤¸¤é¤ó¤È¤¤¤±¤Ê¤¤¤È»×¤¦¤ó¤À¤è¤Í¡£ ¤À¤«¤é¤È¤ê¤¢¤¨¤ºËº¤ì¤ë¡£ ¸å¼Ô¤Ï Proc object Æ°¤«¤¹»þ¤Ï JIT ¤·¤Æ¤«¤é¸Æ¤Ö¡¢¤È¤«¤ä¤ì¤Ð¤Þ¤¡¤Ê¤ó¤È¤«¤Ê¤é¤ó¤Ç¤â¤Ê¤¤µ¤¤â¤¹¤ë¡£
¤¤¤ä rb_rescue ¤È¤«¤Ç¤Ç¤¤¿¤ê¤¹¤ë¤Î¤«¤Ê¡Ä rb_rescue ¤â¤Þ¤¿ rb_rescue2 ¤È¤«¤¢¤Ã¤Æ°à¤¨¤ë¤Ê¡£ ¤Þ¤¡¤¤¤º¤ì¤Ë¤»¤è¤á¤É¤¤¤Î¤Ç˺¤ì¤ë¡£
¤Ç¤Þ¤¡¤È¤ê¤¢¤¨¤º¡¢¤½¤ÎÀ©¸Â¤Î¤â¤È¤Ç¤Ê¤é break ¤È¤«¤Ï¤Ç¤¤ë¤ó¤¸¤ã¤Ê¤¤¤«¤Ê¡£
¤¢¤È raise ¤¬¤¢¤Ã¤¿¤é¡¢¤È¤ê¤¢¤¨¤º rb_raise ¸Æ¤ó¤Ç¤ä¤ë¤¯¤é¤¤¤Ï ¤·¤Æ¤¢¤²¤Æ¤â¤¤¤¤¤È»×¤¦¡£ ¤¤¤«¤Ë¤âÌÌÅݤ½¤¦¤Ê rescue ¤À¤Î¤Ê¤ó¤À¤Î¤Ï¤È¤ê¤¢¤¨¤ºËº¤ì¤ëÊý¸þ¤Ç¡£
¤·¤«¤·Ì¤¤À¤Ë Ruby ¤ÎÎã³°¤¬¤è¤¯¤ï¤«¤Ã¤Æ¤Ê¤¤¡£ vm_throw ¤Î throw_state ¤Ã¤Æ¿§¡¹Æñ²ò¤À¤Ê¡Ä
http://rhg.rubyforge.org/svn/ja/chapter13.txt
(23:13)
Á° | 2008ǯ 6·î |
¼¡ | ||||
Æü | ·î | ²Ð | ¿å | ÌÚ | ¶â | ÅÚ |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Á´¤Æ¥ê¥ó¥¯¥Õ¥ê¡¼¤Ç¤¹¡£ ¥³¡¼¥ÉÊҤϼ«Í³¤Ë»ÈÍѤ·¤Æ¤¤¤¿¤À¤¤¤Æ¹½¤¤¤Þ¤»¤ó¡£ ¤½¤Î¾¤Î¤â¤Î¤ÏGPL°·¤¤¤Ç¤¢¤ì¤Ð¤¢¤é¤æ¤ë»ÈÍѤ˴ؤ·¤Æʸ¶ç¤Ï¸À¤¤¤Þ¤»¤ó¡£ ¤Ê¤Ë¤«¤¢¤ì¤Ð²¼µ¥á¡¼¥ë¥¢¥É¥ì¥¹¤Ø¡£