ruby--ruby/template/yarvarch.ja

455 lines
12 KiB
Plaintext
Raw Normal View History

#title YARV<52>A<EFBFBD>[<5B>L<EFBFBD>e<EFBFBD>N<EFBFBD>`<60><>
#set author <20><><EFBFBD>{ Ruby <20>̉<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
- 2005-03-03(Thu) 00:31:12 +0900 <20><><EFBFBD><EFBFBD><EB82A2><EFBFBD>Ə<EFBFBD><C68F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
----
* <20><><EFBFBD><EFBFBD><EFBFBD>́H
[[YARV: Yet Another RubyVM|http://www.atdot.net/yarv]] <20><> <20>݌v<DD8C><76><EFBFBD><EFBFBD><EFBFBD>ł<EFBFBD><C582>B
YARV <20>́ARuby <20>v<EFBFBD><76><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD><EFBFBD>̂<EFBFBD><CC82>߂̎<DF82><CC8E>̋@<40>\<5C><><EFBFBD>񋟂<EFBFBD><F18B9F82>܂<EFBFBD><DC82>B
- Compiler
- VM Generator
- VM (Virtual Machine)
- Assembler
- Dis-Assembler
- (experimental) JIT Compiler
- (experimental) AOT Compiler
<EFBFBD><EFBFBD><EFBFBD>݂<EFBFBD> YARV <20><> Ruby <20>C<EFBFBD><43><EFBFBD>^<5E>v<EFBFBD><76><EFBFBD>^<5E>̊g<CC8A><67><EFBFBD><EFBFBD><EFBFBD>C<EFBFBD>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD>Ƃ<EFBFBD><C682>Ď<EFBFBD><C48E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482>܂<EFBFBD><DC82>B<EFBFBD><42>
<EFBFBD><EFBFBD><EFBFBD>ɂ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ARuby <20>C<EFBFBD><43><EFBFBD>^<5E>v<EFBFBD><76><EFBFBD>^<5E>̕K<CC95>v<EFBFBD>ȋ@<40>\<5C>i<EFBFBD>p<EFBFBD>[<5B>T<EFBFBD>A<EFBFBD>I<EFBFBD>u<EFBFBD>W<EFBFBD>F<EFBFBD>N<EFBFBD>g<EFBFBD>Ǘ<EFBFBD><C797>A<EFBFBD><41><EFBFBD><EFBFBD>
<EFBFBD>̊g<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>C<EFBFBD>u<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>j<EFBFBD>Ȃǂ<EFBFBD><EFBFBD>قڂ<EFBFBD><EFBFBD>̂܂ܗ<EFBFBD><EFBFBD>p<EFBFBD>ł<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>‚<EFBFBD><EFBFBD>̃p<EFBFBD>b<EFBFBD>`<60><> Ruby <20>C<EFBFBD><43><EFBFBD>^<5E>v<EFBFBD><76><EFBFBD>^<5E>ɓ<EFBFBD><C993>ĂȂ<C482><C882><EFBFBD><EFBFBD>΂Ȃ<CE82><C882>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>́ARuby <20>{<7B>̂̃C<CC83><43><EFBFBD>^<5E>v<EFBFBD><76><EFBFBD>^<5E><><EFBFBD><EFBFBD><EFBFBD>ieval.c<>j<EFBFBD><6A><EFBFBD>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƃ<EFBFBD><C682>ڎw<DA8E><77><EFBFBD><EFBFBD>
<EFBFBD>J<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>p<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<5C><><EFBFBD>ł<EFBFBD><C582>B
* Compiler (compile.h, compile.c)
<EFBFBD>R<EFBFBD><EFBFBD><EFBFBD>p<EFBFBD>C<EFBFBD><EFBFBD><EFBFBD>́ARuby <20>C<EFBFBD><43><EFBFBD>^<5E>v<EFBFBD><76><EFBFBD>^<5E>̃p<CC83>[<5B>T<EFBFBD>ɂ<EFBFBD><C982><EFBFBD><EFBFBD>Đ<EFBFBD><C490><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<5C><><EFBFBD>؁iRNode
<EFBFBD>f<EFBFBD>[<5B>^<5E>ɂ<EFBFBD><C982><EFBFBD><EFBFBD>؁j<D881><6A> YARV <20><><EFBFBD>ߗ<EFBFBD><DF97>ɕϊ<C995><CF8A><EFBFBD><EFBFBD>܂<EFBFBD><DC82>BYARV <20><><EFBFBD>߂ɂ‚<C982><C282>Ă͌<C482><CD8C>q<EFBFBD><71><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>B
<EFBFBD>Ƃ<EFBFBD><EFBFBD>ɓ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƃ͂<EFBFBD><EFBFBD>Ă<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>񂪁A<EFBFBD>X<EFBFBD>R<EFBFBD>[<5B>v<EFBFBD>Ȃǂ̊J<CC8A>n<EFBFBD><6E><EFBFBD>Ƀ<EFBFBD><C983>[<5B>J<EFBFBD><4A><EFBFBD>ϐ<EFBFBD><CF90>̏<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃǂ<EFBFBD><EFBFBD>s<EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><EFBFBD><EFBFBD>Ƃ͍\<5C><><EFBFBD>؂<EFBFBD><D882>H<EFBFBD><48><EFBFBD>ϊ<EFBFBD><CF8A><EFBFBD><EFBFBD>Ă<EFBFBD><C482><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
<EFBFBD>ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ruby <20><> Array <20>I<EFBFBD>u<EFBFBD>W<EFBFBD>F<EFBFBD>N<EFBFBD>g<EFBFBD><67> YARV <20><><EFBFBD>߃I<DF83>u<EFBFBD>W<EFBFBD>F<EFBFBD>N<EFBFBD>g<EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD>уI<D183>y
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>h<EFBFBD><EFBFBD><EFBFBD>i<EFBFBD>[<5B><><EFBFBD>Ă<EFBFBD><C482><EFBFBD><EFBFBD>A<EFBFBD>Ō<EFBFBD><C58C>Ɏ<EFBFBD><C98E>s<EFBFBD>ł<EFBFBD><C582><EFBFBD><EFBFBD>`<60>ɕϊ<C995><CF8A><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B<EFBFBD>R<EFBFBD><52><EFBFBD>p<EFBFBD>C<EFBFBD><43><EFBFBD>ł́A<CD81>R
<EFBFBD><EFBFBD><EFBFBD>p<EFBFBD>C<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɐ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̈<EFBFBD><EFBFBD>̊Ǘ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɂȂ邱<EFBFBD>Ƃ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>AYARV
<EFBFBD>̏ꍇ<EFBFBD>ARuby <20>C<EFBFBD><43><EFBFBD>^<5E>v<EFBFBD><76><EFBFBD>^<5E><><EFBFBD><EFBFBD><EFBFBD>ׂĖʓ|<7C><><EFBFBD>݂Ă<DD82><C482><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̂ł<CC82><C582>̕<EFBFBD><CC95><EFBFBD><EFBFBD>͔<EFBFBD><CD94><EFBFBD><EFBFBD>Ɋy
<EFBFBD>ɍ<EFBFBD><EFBFBD><EFBFBD>Ƃ<EFBFBD><EFBFBD>ł<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD>K<EFBFBD>[<5B>x<EFBFBD>[<5B>W<EFBFBD>R<EFBFBD><52><EFBFBD>N<EFBFBD>^<5E>ɂ<EFBFBD><C982><EFBFBD><EFBFBD>Ď<EFBFBD><C48E><EFBFBD><EFBFBD>I<EFBFBD>Ƀ<EFBFBD><C983><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǘ<EFBFBD><C797><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>Ă<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߁j<EFBFBD>B
YARV <20><><EFBFBD>߂́A<CD81><41><EFBFBD>߂<EFBFBD><DF82><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʎq<CA8E>A<EFBFBD>I<EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD>h<EFBFBD>ȂǁA<C781><41><EFBFBD>ׂ<EFBFBD> 1 word <20>i<EFBFBD>}<7D>V<EFBFBD><56><EFBFBD><EFBFBD>
<EFBFBD>\<5C><><EFBFBD>ł<EFBFBD><C582><EFBFBD>R<EFBFBD>Ȓl<C892>BC <20><><EFBFBD><EFBFBD><EFBFBD>ł̓|<7C>C<EFBFBD><43><EFBFBD>^<5E>̃T<CC83>C<EFBFBD>Y<EFBFBD>BRuby <20>C<EFBFBD><43><EFBFBD>^<5E>v<EFBFBD><76><EFBFBD>^<5E>p<EFBFBD><70><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD> VALUE <20>̃T<CC83>C<EFBFBD>Y<EFBFBD>j<EFBFBD>ŕ\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B<EFBFBD><42><EFBFBD>̂<EFBFBD><CC82>߁AYARV <20><><EFBFBD>߂͂<DF82><CD82><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>u<EFBFBD>o<EFBFBD>C<EFBFBD>g
<EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>v<EFBFBD>ł͂<C582><CD82><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B<EFBFBD><42><EFBFBD>̂<EFBFBD><CC82>߁AYARV <20>̐<EFBFBD><CC90><EFBFBD><EFBFBD>Ȃǂł́u<CD81><75><EFBFBD>ߗ<EFBFBD><DF97>v<EFBFBD>Ƃ<EFBFBD><C682><EFBFBD><EFBFBD>p
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>g<EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
1 word <20>ł<EFBFBD><C582><EFBFBD>߁A<DF81><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̗<EFBFBD><CC97>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD>͑<EFBFBD><CD91><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882>܂<EFBFBD><DC82><EFBFBD><EFBFBD>A<EFBFBD>A<EFBFBD>N<EFBFBD>Z<EFBFBD>X<EFBFBD><58><EFBFBD>x<EFBFBD><78>
<EFBFBD>ǂ<EFBFBD><EFBFBD>l<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƁA<EFBFBD>{<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԃ<EFBFBD><D482><EFBFBD><EFBFBD>ƍl<C68D><6C><EFBFBD>Ă<EFBFBD><C482><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B<EFBFBD><42><EFBFBD>Ƃ<EFBFBD><C682>΃I<CE83>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD>h<EFBFBD><68><EFBFBD>R
<EFBFBD><EFBFBD><EFBFBD>X<EFBFBD>^<5E><><EFBFBD>g<EFBFBD>v<EFBFBD>[<5B><><EFBFBD>Ɋi<C98A>[<5B><><EFBFBD>A<EFBFBD>C<EFBFBD><43><EFBFBD>f<EFBFBD>b<EFBFBD>N<EFBFBD>X<EFBFBD>݂̂<CC82><DD82>I<EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD>h<EFBFBD>Ŏ<EFBFBD><C58E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƃ<EFBFBD><C682>”\<5C><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>ԐڃA<EFBFBD>N<EFBFBD>Z<EFBFBD>X<EFBFBD>ɂȂ<EFBFBD><EFBFBD>Ă<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>̂Ő<EFBFBD><EFBFBD>\<5C>ɉe<C989><65><EFBFBD><EFBFBD><EFBFBD>o<EFBFBD><EFBFBD>߁A<DF81>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B
* VM Generator (rb/insns2vm.rb, insns.def)
rb/insns2vm.rb <20>Ƃ<EFBFBD><C682><EFBFBD><EFBFBD>X<EFBFBD>N<EFBFBD><4E><EFBFBD>v<EFBFBD>g<EFBFBD>́Ainsns.def <20>Ƃ<EFBFBD><C682><EFBFBD><EFBFBD>t<EFBFBD>@<40>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD>ǂݍ<C782><DD8D>݁A
VM <20>̂<EFBFBD><CC82>߂ɕK<C995>v<EFBFBD>ȃt<C883>@<40>C<EFBFBD><43><EFBFBD>𐶐<EFBFBD><F090B690><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B<EFBFBD><42><EFBFBD>̓I<CC93>ɂ́A<CD81><41><EFBFBD>߂<EFBFBD><DF82><EFBFBD><EFBFBD>s<EFBFBD><73><EFBFBD><EFBFBD><E99594><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>ق<EFBFBD><EFBFBD>ɂ<EFBFBD><EFBFBD>R<EFBFBD><EFBFBD><EFBFBD>p<EFBFBD>C<EFBFBD><EFBFBD><EFBFBD>ɕK<EFBFBD>v<EFBFBD>ȏ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>œK<EFBFBD><EFBFBD><EFBFBD>ɕK<EFBFBD>v<EFBFBD>ȏ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>Z
<EFBFBD><EFBFBD><EFBFBD>u<EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>t<EFBFBD>A<EFBFBD>Z<EFBFBD><EFBFBD><EFBFBD>u<EFBFBD><EFBFBD><EFBFBD>ɕK<EFBFBD>v<EFBFBD>ȏ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>t<EFBFBD>@<40>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
** <20><><EFBFBD>ߋL<DF8B>q
insns.def <20>ɂ́A<CD81>e<EFBFBD><65><EFBFBD>߂<EFBFBD><DF82>ǂ̂悤<CC82>Ȗ<EFBFBD><C896>߂ł<DF82><C582><EFBFBD><E982A9><EFBFBD>L<EFBFBD>q<EFBFBD><71><EFBFBD>܂<EFBFBD><DC82>B<EFBFBD><42><EFBFBD>̓I<CC93>ɂ͎<C982>
<EFBFBD>̏<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>L<EFBFBD>q<EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
- <20><><EFBFBD>߂̖<DF82><CC96>O
- <20><><EFBFBD>̖<EFBFBD><CC96>߂̃J<CC83>e<EFBFBD>S<EFBFBD><53><EFBFBD>A<EFBFBD>R<EFBFBD><52><EFBFBD><EFBFBD><EFBFBD>g<EFBFBD>i<EFBFBD>p<EFBFBD><70><EFBFBD>A<EFBFBD><41><EFBFBD>{<7B><><EFBFBD>j
- <20>I<EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD>h<EFBFBD>̖<EFBFBD><CC96>O
- <20><><EFBFBD>̖<EFBFBD><CC96>ߎ<EFBFBD><DF8E>s<EFBFBD>O<EFBFBD>ɃX<C983>^<5E>b<EFBFBD>N<EFBFBD><4E><EFBFBD><EFBFBD><EFBFBD>|<7C>b<EFBFBD>v<EFBFBD><76><EFBFBD><EFBFBD><EFBFBD>l
- <20><><EFBFBD>̖<EFBFBD><CC96>ߎ<EFBFBD><DF8E>s<EFBFBD><73><EFBFBD>ɃX<C983>^<5E>b<EFBFBD>N<EFBFBD>Ƀv<C983>b<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>l
- <20><><EFBFBD>̖<EFBFBD><CC96>߂̃<DF82><CC83>W<EFBFBD>b<EFBFBD>N<EFBFBD>iC <20><><EFBFBD><EFBFBD><EFBFBD>ŋL<C58B>q<EFBFBD>j
<EFBFBD><EFBFBD><EFBFBD>Ƃ<EFBFBD><EFBFBD>΁A<EFBFBD>X<EFBFBD>^<5E>b<EFBFBD>N<EFBFBD><4E> self <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> putself <20>Ƃ<EFBFBD><C682><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߂͎<DF82><CD8E>̂悤<CC82>ɋL<C98B>q<EFBFBD><71><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>B
#code
/**
@c put
@e put self.
@j self <20><><EFBFBD>u<EFBFBD><75><EFBFBD>B
*/
DEFINE_INSN
putself
()
()
(VALUE val)
{
val = GET_SELF();
}
#end
<EFBFBD><EFBFBD><EFBFBD>̏ꍇ<EFBFBD>A<EFBFBD>I<EFBFBD>y<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>h<EFBFBD>ƁA<EFBFBD>X<EFBFBD>^<5E>b<EFBFBD>N<EFBFBD><4E><EFBFBD><EFBFBD><EFBFBD>|<7C>b<EFBFBD>v<EFBFBD><76><EFBFBD><EFBFBD><EFBFBD>l<EFBFBD>͖<EFBFBD><CD96><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƂɂȂ<C982><C882>܂<EFBFBD><DC82>B<EFBFBD><42>
<EFBFBD>ߏI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Aself <20><><EFBFBD>X<EFBFBD>^<5E>b<EFBFBD>N<EFBFBD>g<EFBFBD>b<EFBFBD>v<EFBFBD>ɒu<C992><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ł<EFBFBD><C582><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD> val <20>Ƃ<EFBFBD><C682><EFBFBD><EFBFBD>A
<EFBFBD>X<EFBFBD>^<5E>b<EFBFBD>N<EFBFBD>Ƀv<C983>b<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>l<EFBFBD>Ƃ<EFBFBD><C682>Đ錾<C490><E98CBE><EFBFBD>Ă<EFBFBD><C482><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϐ<EFBFBD><CF90>ɑ<EFBFBD><C991><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƂŁA<C581><41>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƃX<EFBFBD>^<5E>b<EFBFBD>N<EFBFBD>g<EFBFBD>b<EFBFBD>v<EFBFBD>ɒu<C992><75> C <20>v<EFBFBD><76><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
<EFBFBD>ׂ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>t<EFBFBD>H<EFBFBD>[<5B>}<7D>b<EFBFBD>g<EFBFBD><67> insns.def <20>̖`<60><><EFBFBD><EFBFBD><EFBFBD>Q<EFBFBD>Ƃ<EFBFBD><C682>Ă<EFBFBD><C482><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD>Ȃɓ<C993><EF82B5>
<EFBFBD>Ȃ<EFBFBD><EFBFBD>Ǝv<EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
insnhelper.h <20>Ƃ<EFBFBD><C682><EFBFBD><EFBFBD>t<EFBFBD>@<40>C<EFBFBD><43><EFBFBD>ɁA<C981><41><EFBFBD>߃<EFBFBD><DF83>W<EFBFBD>b<EFBFBD>N<EFBFBD><4E><EFBFBD>L<EFBFBD>q<EFBFBD><71><EFBFBD><EFBFBD>߂ɕK<C995>v<EFBFBD>ȃ}<7D>N<EFBFBD><4E>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>`<60><><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482>܂<EFBFBD><DC82>B<EFBFBD>܂<EFBFBD><DC82>AVM <20>̓<EFBFBD><CC93><EFBFBD><EFBFBD>\<5C><><EFBFBD>Ɋւ<C98A><D682><EFBFBD><EFBFBD><EFBFBD><EFBFBD>`<60><> vm.h <20>Ƃ<EFBFBD><C682><EFBFBD><EFBFBD>t<EFBFBD>@<40>C
<EFBFBD><EFBFBD><EFBFBD>ɂ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
* VM (Virtual Machine, vm.h, vm.c)
VM <20>́A<CD81><41><EFBFBD>ۂɃR<C983><52><EFBFBD>p<EFBFBD>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʐ<EFBFBD><CA90><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> YARV <20><><EFBFBD>ߗ<EFBFBD><DF97><EFBFBD><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><73><EFBFBD>܂<EFBFBD><DC82>B<EFBFBD>܂<EFBFBD>
<EFBFBD>ɁA<EFBFBD><EFBFBD><EFBFBD>̕<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> YARV <20>̃L<CC83><4C><EFBFBD>ɂȂ<C982><C882>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD>ɂ<EFBFBD> eval.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VM <20>Œu<C592><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƍl<EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
<EFBFBD><EFBFBD><EFBFBD>݂<EFBFBD> Ruby <20>C<EFBFBD><43><EFBFBD>^<5E>v<EFBFBD><76><EFBFBD>^<5E>Ŏ<EFBFBD><C58E>s<EFBFBD>ł<EFBFBD><C582><EFBFBD>ׂĂ̂<C482><CC82>Ƃ<EFBFBD><C682>A<EFBFBD><41><EFBFBD><EFBFBD> VM <20>Ŏ<EFBFBD><C58E><EFBFBD><EFBFBD>ł<EFBFBD><C582><EFBFBD>
<EFBFBD><EFBFBD>ɍ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>i<EFBFBD><EFBFBD><EFBFBD>i<EFBFBD>K<EFBFBD>ł͂܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>S<EFBFBD>ł͂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>񂪁A<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><EFBFBD>ׂ<EFBFBD><EFBFBD>ł<EFBFBD><EFBFBD>j<EFBFBD>B
VM <20>́A<CD81>P<EFBFBD><50><EFBFBD>ȃX<C883>^<5E>b<EFBFBD>N<EFBFBD>}<7D>V<EFBFBD><56><EFBFBD>Ƃ<EFBFBD><C682>Ď<EFBFBD><C48E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482>܂<EFBFBD><DC82>B<EFBFBD>X<EFBFBD><58><EFBFBD>b<EFBFBD>h<EFBFBD>ЂƂ‚ɃX<C983>^<5E>b
<EFBFBD>N<EFBFBD>ЂƂ‚<EFBFBD><EFBFBD>ێ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B<EFBFBD>X<EFBFBD>^<5E>b<EFBFBD>N<EFBFBD>̗̈<CC97><CC88>̓q<CD83>[<5B>v<EFBFBD><76><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E693BE><EFBFBD><EFBFBD><EFBFBD>̂ŁA<C581>_<EFBFBD><5F><EFBFBD>ȗ̈<C897>
<EFBFBD>ݒ肪<EFBFBD>”\<5C>ł<EFBFBD><C582>B
** <20><><EFBFBD>W<EFBFBD>X<EFBFBD>^
VM <20><> 5 <20>‚̉<C282><CC89>z<EFBFBD>I<EFBFBD>ȃ<EFBFBD><C883>W<EFBFBD>X<EFBFBD>^<5E>ɂ<EFBFBD><C982><EFBFBD><EFBFBD>Đ<EFBFBD><C490><EFBFBD><E482B3><EFBFBD>܂<EFBFBD><DC82>B
- PC (Program Counter)
- SP (Stack Pointer)
- CFP (Control Frame Pointer)
- LFP (Local Frame Pointer)
- DFP (Dynamic Frame Pointer)
PC <20>͌<EFBFBD><CD8C>ݎ<EFBFBD><DD8E>s<EFBFBD><73><EFBFBD>̖<EFBFBD><CC96>ߗ<EFBFBD><DF97>̈ʒu<CA92><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>BSP <20>̓X<CD83>^<5E>b<EFBFBD>N<EFBFBD>g<EFBFBD>b<EFBFBD>v<EFBFBD>̈ʒu<CA92><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>܂<EFBFBD><EFBFBD>BCFP<EFBFBD>ALFP<EFBFBD>ADFP <20>͂<EFBFBD><CD82><EFBFBD><EA82BC><EFBFBD>t<EFBFBD><74><EFBFBD>[<5B><><EFBFBD>̏<EFBFBD><CC8F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B<EFBFBD>ڍׂ͌<D782><CD8C>q<EFBFBD><71><EFBFBD>܂<EFBFBD><DC82>B
** <20>X<EFBFBD>^<5E>b<EFBFBD>N<EFBFBD>t<EFBFBD><74><EFBFBD>[<5B><>
obsolete (update soon)
** <20>t<EFBFBD><74><EFBFBD>[<5B><><EFBFBD>f<EFBFBD>U<EFBFBD>C<EFBFBD><43><EFBFBD>ɂ‚<C982><C282>Ă̕⑫
Lisp <20>̏<EFBFBD><CC8F><EFBFBD><EFBFBD>n<EFBFBD>Ȃǂ<C882><C782><EFBFBD><EFBFBD>񂪂<EFBFBD><F182AA82><EFBFBD><EFBFBD>ƁA<C681><EFBFBD><EFBFBD>u<EFBFBD><75><EFBFBD>b<EFBFBD>N<EFBFBD><4E><EFBFBD>[<5B>J<EFBFBD><4A><EFBFBD>t<EFBFBD><74><EFBFBD>[<5B><><EFBFBD>ƃ<EFBFBD><C683>\
<EFBFBD>b<EFBFBD>h<EFBFBD><EFBFBD><EFBFBD>[<5B>J<EFBFBD><4A><EFBFBD>t<EFBFBD><74><EFBFBD>[<5B><><EFBFBD>̂悤<CC82>Ȃ<EFBFBD><C882>̂<EFBFBD><CC82>p<EFBFBD>ӂ<EFBFBD><D382><EFBFBD><EFBFBD>̂͊<CC82><CD8A>قɌ<D982><C98C><EFBFBD><EFBFBD><EFBFBD><E982A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>t<EFBFBD><EFBFBD><EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD>q<EFBFBD>\<5C><><EFBFBD>ɂ<EFBFBD><C982>āA<C481><41><EFBFBD>[<5B>J<EFBFBD><4A><EFBFBD>ϐ<EFBFBD><CF90>̃A<CC83>N<EFBFBD>Z<EFBFBD>X<EFBFBD>͂<EFBFBD><CD82>̓<EFBFBD><CC93><EFBFBD><EFBFBD>q<EFBFBD><71><EFBFBD>O
<EFBFBD><EFBFBD><EFBFBD>ɒH<EFBFBD><EFBFBD><EFBFBD>ΕK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǂ蒅<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƃ<EFBFBD><EFBFBD>ł<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ł<EFBFBD><EFBFBD>i<EFBFBD>‚܂<EFBFBD><EFBFBD>Alfp <20>͕K<CD95>v<EFBFBD>Ȃ<EFBFBD><C882>j<EFBFBD>B
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ARuby <20>ł͂<C582><CD82><EFBFBD><EFBFBD>‚<EFBFBD><C282>󋵂<EFBFBD><F38BB582><EFBFBD>܂<EFBFBD><DC82>B<EFBFBD>܂<EFBFBD><DC82>A<EFBFBD><41><EFBFBD>\<5C>b<EFBFBD>h<EFBFBD><68><EFBFBD>[<5B>J<EFBFBD><4A><EFBFBD>ȏ<EFBFBD><C88F><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƁA<EFBFBD><EFBFBD><EFBFBD>̓I<EFBFBD>ɂ̓u<EFBFBD><EFBFBD><EFBFBD>b<EFBFBD>N<EFBFBD><EFBFBD>self<EFBFBD>icallee <20><><EFBFBD><EFBFBD><EFBFBD>݂<EFBFBD><DD82><EFBFBD> reciever<65>j<EFBFBD>ł<EFBFBD><C582>B<EFBFBD><42>
<EFBFBD>̏<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̃t<EFBFBD><EFBFBD><EFBFBD>[<5B><><EFBFBD>ɂ<EFBFBD><C982><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͖̂<CC82><CD96>ʂł<CA82><C582>B
<EFBFBD>܂<EFBFBD><EFBFBD>ARuby2.0 <20><><EFBFBD><EFBFBD><EFBFBD>̓u<CD83><75><EFBFBD>b<EFBFBD>N<EFBFBD><4E><EFBFBD>[<5B>J<EFBFBD><4A><EFBFBD>ϐ<EFBFBD><CF90>͂Ȃ<CD82><C882>Ȃ<EFBFBD><C882>܂<EFBFBD><DC82>i<EFBFBD>u<EFBFBD><75><EFBFBD>b<EFBFBD>N<EFBFBD><4E><EFBFBD>[<5B>J<EFBFBD><4A>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͎c<EFBFBD><EFBFBD><EFBFBD>̂ŁA<EFBFBD>\<5C><><EFBFBD><EFBFBD><EFBFBD>̂͂<CC82><CD82>܂<EFBFBD><DC82>ς<EFBFBD><CF82><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD><EFBFBD>j<EFBFBD>B<EFBFBD><42><EFBFBD>̂<EFBFBD><CC82>߁A<DF81><41><EFBFBD>\<5C>b<EFBFBD>h<EFBFBD><68><EFBFBD>[<5B>J
<EFBFBD><EFBFBD><EFBFBD>ϐ<EFBFBD><EFBFBD>ւ̃A<EFBFBD>N<EFBFBD>Z<EFBFBD>X<EFBFBD><EFBFBD><EFBFBD>p<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƃ<EFBFBD><EFBFBD>\<5C>z<EFBFBD><7A><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
<EFBFBD><EFBFBD><EFBFBD>̂Ƃ<EFBFBD><EFBFBD>A<EFBFBD><EFBFBD><EFBFBD>\<5C>b<EFBFBD>h<EFBFBD><68><EFBFBD>[<5B>J<EFBFBD><4A><EFBFBD>ϐ<EFBFBD><CF90>ւ̃A<CC83>N<EFBFBD>Z<EFBFBD>X<EFBFBD>̂<EFBFBD><CC82>тɃt<C983><74><EFBFBD>[<5B><><EFBFBD>i<EFBFBD>X<EFBFBD>R<EFBFBD>[<5B>v<EFBFBD>j<EFBFBD><6A>
<EFBFBD><EFBFBD><EFBFBD>X<EFBFBD>g<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǂ<EFBFBD><EFBFBD>͖̂<EFBFBD><EFBFBD>ʂł<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ɣ<EFBFBD><EFBFBD>f<EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD>Ƀ<EFBFBD><EFBFBD>\<5C>b<EFBFBD>h<EFBFBD><68><EFBFBD>[<5B>J<EFBFBD><4A><EFBFBD>X<EFBFBD>R<EFBFBD>[<5B>v<EFBFBD><76>
<EFBFBD>u<EFBFBD><EFBFBD><EFBFBD>b<EFBFBD>N<EFBFBD>t<EFBFBD><EFBFBD><EFBFBD>[<5B><><EFBFBD>𕪗<EFBFBD><F095AA97><EFBFBD><EFBFBD>A<EFBFBD>u<EFBFBD><75><EFBFBD>b<EFBFBD>N<EFBFBD>t<EFBFBD><74><EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̓<EFBFBD><CD83>\<5C>b<EFBFBD>h<EFBFBD><68><EFBFBD>[<5B>J<EFBFBD><4A><EFBFBD>t<EFBFBD><74><EFBFBD>[<5B><>
<EFBFBD><EFBFBD> lfp<66><70><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E>ɂ<EFBFBD><C982><EFBFBD><EFBFBD>ėe<C497>ՂɃA<C983>N<EFBFBD>Z<EFBFBD>X<EFBFBD>ł<EFBFBD><C582><EFBFBD><EFBFBD><EFBFBD>ɂ<EFBFBD><C982>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B
** <20><><EFBFBD>\<5C>b<EFBFBD>h<EFBFBD>Ăяo<D18F><6F><EFBFBD>ɂ‚<C982><C282><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>\<5C>b<EFBFBD>h<EFBFBD>Ăяo<D18F><6F><EFBFBD>́AYARV <20><><EFBFBD>ߗ<EFBFBD><DF97>ŋL<C58B>q<EFBFBD><71><EFBFBD><EFBFBD><EA82BD><EFBFBD>\<5C>b<EFBFBD>h<EFBFBD><68><EFBFBD>AC <20>ŋL<C58B>q<EFBFBD><71><EFBFBD><EFBFBD><EA82BD>
<EFBFBD>\<5C>b<EFBFBD>h<EFBFBD><68><EFBFBD>ɂ<EFBFBD><C982><EFBFBD><EFBFBD>ăf<C483>B<EFBFBD>X<EFBFBD>p<EFBFBD>b<EFBFBD>`<60><><EFBFBD>@<40><><EFBFBD>ς<EFBFBD><CF82><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
YARV <20><><EFBFBD>ߗ<EFBFBD><DF97>ł<EFBFBD><C582><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD>q<EFBFBD><71><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD>^<5E>b<EFBFBD>N<EFBFBD>t<EFBFBD><74><EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EC90AC><EFBFBD>Ė<EFBFBD><C496>߂<EFBFBD><DF82>p<EFBFBD><70><EFBFBD><EFBFBD>
<EFBFBD>܂<EFBFBD><EFBFBD>B<EFBFBD>Ƃ<EFBFBD><EFBFBD><EFBFBD> VM <20>̊֐<CC8A><D690><EFBFBD><EFBFBD>ċA<C48B>Ăяo<D18F><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƃ͍s<CD8D>Ȃ<EFBFBD><C882>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B
C <20>ŋL<C58B>q<EFBFBD><71><EFBFBD><EFBFBD><EA82BD><EFBFBD>\<5C>b<EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>P<EFBFBD><50><EFBFBD>ɂ<EFBFBD><C982>̊֐<CC8A><D690><EFBFBD><EFBFBD>Ăяo<D18F><6F><EFBFBD>܂<EFBFBD><DC82>i<EFBFBD><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A
<EFBFBD>o<EFBFBD>b<EFBFBD>N<EFBFBD>g<EFBFBD><EFBFBD><EFBFBD>[<5B>X<EFBFBD>𐳂<EFBFBD><F090B382><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߂Ƀ<DF82><C983>\<5C>b<EFBFBD>h<EFBFBD>Ăяo<D18F><6F><EFBFBD>̏<EFBFBD><CC8F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>t<EFBFBD><74><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482><EFBFBD>
<EFBFBD>s<EFBFBD>Ȃ<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>j<EFBFBD>B
<EFBFBD><EFBFBD><EFBFBD>̂<EFBFBD><EFBFBD>߁AVM <20>p<EFBFBD>X<EFBFBD>^<5E>b<EFBFBD>N<EFBFBD><4E><EFBFBD>ʓr<CA93>p<EFBFBD>ӂ<EFBFBD><D382><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̂́A<CC81>v<EFBFBD><76><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD><EFBFBD>ɂ<EFBFBD><C982><EFBFBD><EFBFBD>Ă̓}<7D>V<EFBFBD><56>
<EFBFBD>X<EFBFBD>^<5E>b<EFBFBD>N<EFBFBD><4E><EFBFBD>g<EFBFBD><67><EFBFBD>؂<EFBFBD><D882>Ă<EFBFBD><C482>܂<EFBFBD><DC82>”\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>iC -> Ruby -> C -> ... <20>Ƃ<EFBFBD><C682><EFBFBD>
<EFBFBD>Ăяo<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>j<EFBFBD>B<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>́A<EFBFBD><EFBFBD><EFBFBD>݂ł͔<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><EFBFBD>d<EFBFBD>l<EFBFBD>ƂȂ<EFBFBD><EFBFBD>Ă<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
** <20><><EFBFBD>O
<EFBFBD><EFBFBD><EFBFBD>O<EFBFBD>́AJava <20><> JVM <20>Ɠ<EFBFBD><C693>l<EFBFBD>ɗ<EFBFBD><C997>O<EFBFBD>e<EFBFBD>[<5B>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD>p<EFBFBD>ӂ<EFBFBD><D382><EFBFBD>ƂŎ<C682><C58E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B<EFBFBD><42><EFBFBD>O
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><EFBFBD><EFBFBD>Y<EFBFBD>t<EFBFBD><EFBFBD><EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD>O<EFBFBD>e<EFBFBD>[<5B>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD>ŁA<C581><41><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƃ<EFBFBD><EFBFBD><EFBFBD> PC <20>̒l<CC92>ɍ<EFBFBD><C98D>v<EFBFBD><76><EFBFBD><EFBFBD><EFBFBD>G<EFBFBD><47><EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD>̃G<CC83><47><EFBFBD>g<EFBFBD><67><EFBFBD>ɏ]<5D><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>G<EFBFBD><EFBFBD><EFBFBD>g<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>‚<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>X<EFBFBD>^<5E>b<EFBFBD>N<EFBFBD><4E><EFBFBD>T<EFBFBD><54><EFBFBD>߂<EFBFBD><DF82>Ă܂<C482>
<EFBFBD><EFBFBD><EFBFBD>l<EFBFBD>ɂ<EFBFBD><EFBFBD>̃X<EFBFBD>R<EFBFBD>[<5B>v<EFBFBD>̗<EFBFBD><CC97>O<EFBFBD>e<EFBFBD>[<5B>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
<EFBFBD>܂<EFBFBD><EFBFBD>Abreak<EFBFBD>Areturn<EFBFBD>i<EFBFBD>u<EFBFBD><EFBFBD><EFBFBD>b<EFBFBD>N<EFBFBD><EFBFBD><EFBFBD>j<EFBFBD>Aretry <20>Ȃǂ<C882><C782><EFBFBD><EFBFBD>l<EFBFBD>̎d<CC8E>g<EFBFBD>݂Ŏ<DD82><C58E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
*** <20><><EFBFBD>O<EFBFBD>e<EFBFBD>[<5B>u<EFBFBD><75>
<EFBFBD><EFBFBD><EFBFBD>O<EFBFBD>e<EFBFBD>[<5B>u<EFBFBD><75><EFBFBD>G<EFBFBD><47><EFBFBD>g<EFBFBD><67><EFBFBD>͋<EFBFBD><CD8B>̓I<CC93>ɂ͎<C982><CD8E>̏<EFBFBD><CC8F>񂪊i<F182AA8A>[<5B><><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482>܂<EFBFBD><DC82>B
- <20>ΏۂƂ<DB82><C682><EFBFBD> PC <20>͈̔<CC94>
- <20>ΏۂƂ<DB82><C682><EFBFBD><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD>̎<EFBFBD><CC8E><EFBFBD>
- <20><><EFBFBD><EFBFBD><EFBFBD>ΏۂƂȂ<C682><C882><EFBFBD><EFBFBD>Ƃ<EFBFBD><C682>ɃW<C983><57><EFBFBD><EFBFBD><EFBFBD>v<EFBFBD><76><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD><69><EFBFBD>ނɂ<DE82><C982><EFBFBD><EFBFBD>j
- <20><><EFBFBD><EFBFBD><EFBFBD>ΏۂƂȂ<C682><C882><EFBFBD><EFBFBD>Ƃ<EFBFBD><C682>ɋN<C98B><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>u<EFBFBD><75><EFBFBD>b<EFBFBD>N<EFBFBD><4E> iseq
*** rescue
rescue <20>߂̓u<CD83><75><EFBFBD>b<EFBFBD>N<EFBFBD>Ƃ<EFBFBD><C682>Ď<EFBFBD><C48E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482>܂<EFBFBD><DC82>B$! <20>̒l<CC92><6C><EFBFBD>B<EFBFBD><42><EFBFBD>̈<EFBFBD><CC88><EFBFBD><EFBFBD>Ƃ<EFBFBD><C682>Ď<EFBFBD><C48E><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>B
#code
begin
rescue A
rescue B
rescue C
end
#end
<EFBFBD>́A<EFBFBD><EFBFBD><EFBFBD>̂悤<EFBFBD><EFBFBD> Ruby <20>X<EFBFBD>N<EFBFBD><4E><EFBFBD>v<EFBFBD>g<EFBFBD>ɕϊ<C995><CF8A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
#code
{|err|
case err
when A === err
when B === err
when C === err
else
raise # yarv <20>̖<EFBFBD><CC96>߂ł<DF82> throw
end
}
#end
*** ensure
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>n<EFBFBD>i<EFBFBD><EFBFBD><EFBFBD>O<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>j<EFBFBD>ƈُ<EFBFBD><EFBFBD>n<EFBFBD>i<EFBFBD><EFBFBD><EFBFBD>O<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƃ<EFBFBD><EFBFBD>Ȃǁj<EFBFBD><EFBFBD>2
<EFBFBD><EFBFBD><EFBFBD>ނ̖<EFBFBD><EFBFBD>ߗ񂪐<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>n<EFBFBD>ł́A<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̘A<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>̈<EFBFBD><CC88>Ƃ<EFBFBD><C682>ăR
<EFBFBD><EFBFBD><EFBFBD>p<EFBFBD>C<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B<EFBFBD>܂<EFBFBD><EFBFBD>A<EFBFBD>ُ<EFBFBD><EFBFBD>n<EFBFBD>ł̓u<EFBFBD><EFBFBD><EFBFBD>b<EFBFBD>N<EFBFBD>Ƃ<EFBFBD><EFBFBD>Ď<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B<EFBFBD>Ō<EFBFBD><EFBFBD>͕K<EFBFBD><EFBFBD>
throw <20><><EFBFBD>߂Œ<DF82><C592>߂邱<DF82>ƂɂȂ<C982><C882>܂<EFBFBD><DC82>B
*** break, return<72>i<EFBFBD>u<EFBFBD><75><EFBFBD>b<EFBFBD>N<EFBFBD><4E><EFBFBD>j<EFBFBD>Aretry
break <20><><EFBFBD>A<EFBFBD>u<EFBFBD><75><EFBFBD>b<EFBFBD>N<EFBFBD><4E><EFBFBD><EFBFBD> return <20><><EFBFBD>Aretry <20><><EFBFBD><EFBFBD> throw <20><><EFBFBD>߂Ƃ<DF82><C682>ăR<C483><52><EFBFBD>p<EFBFBD>C<EFBFBD><43>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B<EFBFBD>ǂ<EFBFBD><EFBFBD>܂Ŗ߂邩<EFBFBD>́Abreak <20><><EFBFBD>t<EFBFBD>b<EFBFBD>N<EFBFBD><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD>e<EFBFBD>[<5B>u<EFBFBD><75><EFBFBD>̃G<CC83><47><EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>f<EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
** <20><EFBFBD>̌<EFBFBD><CC8C><EFBFBD>
<EFBFBD><EFBFBD>Ƃ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD>Ȃ̂ɁARuby <20>ł̓R<CD83><52><EFBFBD>p<EFBFBD>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD>Ɍ<EFBFBD><C98C><EFBFBD>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B<EFBFBD>Ƃ<EFBFBD><C682><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41>
<EFBFBD>‚܂ł<EFBFBD><EFBFBD>Ē<EFBFBD><EFBFBD>`<60>”\<5C>ɂȂ<C982><C882>Ă<EFBFBD><C482>܂<EFBFBD><DC82>B
<EFBFBD><EFBFBD>A<EFBFBD>N<EFBFBD>Z<EFBFBD>X<EFBFBD>̂<EFBFBD><EFBFBD>߂<EFBFBD>Ruby<EFBFBD>L<EFBFBD>q<EFBFBD>͎<EFBFBD><EFBFBD>̂悤<EFBFBD>ɂȂ<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
#code
Ruby<EFBFBD>\<5C><>:
expr::ID::...::ID
#end
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>́Ayarv<EFBFBD><EFBFBD><EFBFBD>߃Z<EFBFBD>b<EFBFBD>g<EFBFBD>ł͎<EFBFBD><EFBFBD>̂悤<EFBFBD>ɂȂ<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
#code
(expr)
getconstant ID
...
getconstant ID
#end
*** <20><EFBFBD><E89094><EFBFBD><EFBFBD><EFBFBD>p<EFBFBD>X
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> expr <20><> nil <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><EFBFBD><E89094><EFBFBD><EFBFBD><EFBFBD>p<EFBFBD>X<EFBFBD>ɏ]<5D><><EFBFBD>Ē萔<C492><E89094><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B<EFBFBD><42><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͍<EFBFBD><EFBFBD><EFBFBD> Ruby 2.0 <20>Ɍ<EFBFBD><C98C><EFBFBD><EFBFBD>ĕύX<CF8D><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EA8D87><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
+ <20>N<EFBFBD><4E><EFBFBD>X<EFBFBD>A<EFBFBD><41><EFBFBD>W<EFBFBD><57><EFBFBD>[<5B><><EFBFBD>̓<EFBFBD><CC93>I<EFBFBD>l<EFBFBD>X<EFBFBD>g<EFBFBD>֌W<D68C>i<EFBFBD>v<EFBFBD><76><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD><EFBFBD>̎<EFBFBD><CC8E>ʏ<EFBFBD><CA8F>j<EFBFBD><6A><EFBFBD><EFBFBD><EFBFBD>[<5B>g<EFBFBD>܂ŒH<C592><48>
+ <20>p<EFBFBD><70><EFBFBD>֌W<D68C><57><EFBFBD><EFBFBD><EFBFBD>[<5B>g<EFBFBD>iObject<63>j<EFBFBD>܂ŒH<C592><48>
<EFBFBD><EFBFBD><EFBFBD>̂<EFBFBD><EFBFBD>߁A<EFBFBD>N<EFBFBD><EFBFBD><EFBFBD>X<EFBFBD>A<EFBFBD><EFBFBD><EFBFBD>W<EFBFBD><EFBFBD><EFBFBD>[<5B><><EFBFBD>̓<EFBFBD><CC93>I<EFBFBD>l<EFBFBD>X<EFBFBD>g<EFBFBD>֌W<D68C><57><EFBFBD>ۑ<EFBFBD><DB91><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882><EFBFBD><EFBFBD>΂Ȃ<CE82><C882>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B
<EFBFBD><EFBFBD><EFBFBD>̂<EFBFBD><EFBFBD>߂ɁAthread_object <20>ɂ<EFBFBD> klass_nest_stack <20>Ƃ<EFBFBD><C682><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̂<EFBFBD><CC82>p<EFBFBD>ӂ<EFBFBD><D382>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>́A<EFBFBD><EFBFBD><EFBFBD>݂̃l<EFBFBD>X<EFBFBD>g<EFBFBD>̏<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۑ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
<EFBFBD><EFBFBD><EFBFBD>\<5C>b<EFBFBD>h<EFBFBD><68><EFBFBD>`<60><><EFBFBD>A<EFBFBD><41><EFBFBD>̌<EFBFBD><CC8C>݂̃l<CC83>X<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<5C>b<EFBFBD>h<EFBFBD><68><EFBFBD>`<60><><EFBFBD>Ɂidup<75><70><EFBFBD>āj<C481><6A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ƂŁA<EFBFBD><EFBFBD><EFBFBD>̃<EFBFBD><EFBFBD>\<5C>b<EFBFBD>h<EFBFBD>̎<EFBFBD><CC8E>s<EFBFBD><73><EFBFBD>A<EFBFBD><41><EFBFBD>̃l<CC83>X<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Q<EFBFBD>Ƃ<EFBFBD><C682><EFBFBD>Ƃ<EFBFBD><C682>”\<5C>ɂȂ<C982><C882><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>B
<EFBFBD>g<EFBFBD>b<EFBFBD>v<EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><EFBFBD><EFBFBD>ł́A<EFBFBD><EFBFBD><EFBFBD>̏<EFBFBD><EFBFBD><EFBFBD><EFBFBD>͂Ȃ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƂɂȂ<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
<EFBFBD>N<EFBFBD><EFBFBD><EFBFBD>X/<2F><><EFBFBD>W<EFBFBD><57><EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>`<60><><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><73><EFBFBD>́A<CD81><41><EFBFBD>݂̏<DD82><CC8F>񂻂̂<F182BB82><CC82>̂<EFBFBD><CC82>Q<EFBFBD>Ƃ<EFBFBD><C682><EFBFBD>ƂɂȂ<C982>
<EFBFBD>܂<EFBFBD><EFBFBD>B<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>́A<EFBFBD>N<EFBFBD><EFBFBD><EFBFBD>X<EFBFBD>X<EFBFBD>R<EFBFBD>[<5B>v<EFBFBD>˓<EFBFBD><CB93><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD>̏<EFBFBD><CC8F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>N<EFBFBD><4E><EFBFBD>X<EFBFBD><58><EFBFBD>`<60><><EFBFBD>ɃR<C983>s<EFBFBD>[<5B><><EFBFBD>܂<EFBFBD>
<EFBFBD>i<EFBFBD><EFBFBD><EFBFBD>łɃR<EFBFBD>s<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482><EFBFBD><EFBFBD>΁A<CE81><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><73><EFBFBD>܂<EFBFBD><DC82><EFBFBD><EFBFBD>j<EFBFBD>B
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɂ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><EFBFBD><EFBFBD>I<EFBFBD>ȃl<EFBFBD>X<EFBFBD>g<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𓝈<EFBFBD><EFBFBD>I<EFBFBD>Ɉ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƃ<EFBFBD><EFBFBD>ł<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
** <20>œK<C593><4B><EFBFBD><EFBFBD><EFBFBD>@
YARV <20>ł͍<C582><CD8D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ړI<DA93>Ƃ<EFBFBD><C682>Ă<EFBFBD><C482><EFBFBD><EFBFBD>̂ŁA<C581><41><EFBFBD>܂<EFBFBD><DC82>܂ȍœK<C593><4B><EFBFBD><EFBFBD><EFBFBD>@<40>𗘗p<F0979897><70><EFBFBD>Ă<EFBFBD><C482><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>B<EFBFBD>ڍׂ͊<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>ȉ<EFBFBD><EFBFBD>ɏq<EFBFBD>ׂ<EFBFBD><EFBFBD>œK<EFBFBD><EFBFBD><EFBFBD>Ȃǂ<EFBFBD><EFBFBD>s<EFBFBD>Ȃ<EFBFBD><EFBFBD>Ă<EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
*** threaded code
GCC <20><> C <20><><EFBFBD><EFBFBD><EFBFBD>g<EFBFBD><67><EFBFBD>ł<EFBFBD><C582><EFBFBD><EFBFBD>l<EFBFBD>Ƃ<EFBFBD><C682>Ẵ<C482><CC83>x<EFBFBD><78><EFBFBD>𗘗p<F0979897><70><EFBFBD><EFBFBD> direct threaded code
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
*** Peephole optimization
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>‚<EFBFBD><EFBFBD>̊ȒP<EFBFBD>ȍœK<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
*** inline method cache
<EFBFBD><EFBFBD><EFBFBD>ߗ<EFBFBD><EFBFBD>̒<EFBFBD><EFBFBD>Ƀ<EFBFBD><EFBFBD>\<5C>b<EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʂ𖄂ߍ<F0968482><DF8D>݂܂<DD82><DC82>B
*** inline constant cache
<EFBFBD><EFBFBD><EFBFBD>ߗ<EFBFBD><EFBFBD>̒<EFBFBD><EFBFBD>ɒ萔<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʂ𖄂ߍ<EFBFBD><EFBFBD>݂܂<EFBFBD><EFBFBD>B
*** <20>u<EFBFBD><75><EFBFBD>b<EFBFBD>N<EFBFBD><4E> Proc <20>I<EFBFBD>u<EFBFBD>W<EFBFBD>F<EFBFBD>N<EFBFBD>g<EFBFBD>̕<EFBFBD><CC95><EFBFBD>
<EFBFBD>u<EFBFBD><EFBFBD><EFBFBD>b<EFBFBD>N<EFBFBD>t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<5C>b<EFBFBD>h<EFBFBD>Ăяo<D18F><6F><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD>Ȃ<EFBFBD><C882><EFBFBD>Ƃ<EFBFBD><C682>ɂ͂<C982><CD82><EFBFBD><EFBFBD>ɂ̓u<CD83><75><EFBFBD>b<EFBFBD>N<EFBFBD><4E> Proc
<EFBFBD>I<EFBFBD>u<EFBFBD>W<EFBFBD>F<EFBFBD>N<EFBFBD>g<EFBFBD>Ƃ<EFBFBD><EFBFBD>Đ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>B<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɂ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>K<EFBFBD>v<EFBFBD>Ȃ<EFBFBD> Proc <20>I<EFBFBD>u<EFBFBD>W<EFBFBD>F<EFBFBD>N<EFBFBD>g<EFBFBD><67>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<7D><><EFBFBD>Ă<EFBFBD><C482>܂<EFBFBD><DC82>B
Proc <20><><EFBFBD>\<5C>b<EFBFBD>h<EFBFBD>́A<CD81><41><EFBFBD>ۂɕK<C995>v<EFBFBD>ɂȂ<C982><C882><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>ō<EFBFBD><C58D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD>̂Ƃ<CC82><C682>Ɋ‹<C98A><C28B>i<EFBFBD>X<EFBFBD>R<EFBFBD>[
<EFBFBD>v<EFBFBD><EFBFBD><EFBFBD>Ɋm<EFBFBD>ۂ<EFBFBD><EFBFBD><EFBFBD>ϐ<EFBFBD><EFBFBD>Ȃǁj<EFBFBD><EFBFBD><EFBFBD>q<EFBFBD>[<5B>v<EFBFBD>ɕۑ<C995><DB91><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Fixnum <20><><EFBFBD>m<EFBFBD>̉<EFBFBD><CC89>Z<EFBFBD>Ȃǂ𐳒<C782><F090B392>Ɋ֐<C98A><D690>Ăяo<D18F><6F><EFBFBD>ɂ<EFBFBD><C982><EFBFBD><EFBFBD>čs<C48D>Ȃ<EFBFBD><C882>ƁA<C681>R<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>̂ŁA<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̃v<EFBFBD><EFBFBD><EFBFBD>~<7E>e<EFBFBD>B<EFBFBD>u<EFBFBD>ȑ<EFBFBD><C891><EFBFBD><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD>Ȃ<EFBFBD><C882><EFBFBD><EFBFBD>߂̃<DF82><CC83>\<5C>b<EFBFBD>h<EFBFBD>Ăяo<D18F><6F><EFBFBD>͐<EFBFBD><CD90>p<EFBFBD><70>
<EFBFBD>߂<EFBFBD><EFBFBD>p<EFBFBD>ӂ<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>B
*** <20><><EFBFBD>ߗZ<DF97><5A>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̖<EFBFBD><EFBFBD>߂<EFBFBD> 1 <20><><EFBFBD>߂ɕϊ<C995><CF8A><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B<EFBFBD>Z<EFBFBD><5A><EFBFBD><EFBFBD><EFBFBD>߂<EFBFBD> opt_insn_unif.def <20>̋L<CC8B>q<EFBFBD>ɂ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD>ɐ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
*** <20>I<EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD>h<EFBFBD>Z<EFBFBD><5A>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̃I<EFBFBD>y<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>h<EFBFBD><EFBFBD><EFBFBD>܂߂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>߂𐶐<EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B<EFBFBD>Z<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߂<EFBFBD> opt_operand.def <20><>
<EFBFBD>L<EFBFBD>q<EFBFBD>ɂ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ď<EFBFBD><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD>ɐ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
*** stack caching
<EFBFBD>X<EFBFBD>^<5E>b<EFBFBD>N<EFBFBD>g<EFBFBD>b<EFBFBD>v<EFBFBD><76><EFBFBD><EFBFBD><EFBFBD>z<EFBFBD><7A><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E>ɕێ<C995><DB8E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɂ<EFBFBD><C982>܂<EFBFBD><DC82>B<EFBFBD><42><EFBFBD>݂<EFBFBD> 2 <20>‚̉<C282><CC89>z<EFBFBD><7A>
<EFBFBD>W<EFBFBD>X<EFBFBD>^<5E><><EFBFBD>z<EFBFBD><EFBFBD>A5<41><35><EFBFBD>Ԃ̃X<CC83>^<5E>b<EFBFBD>N<EFBFBD>L<EFBFBD><4C><EFBFBD>b<EFBFBD>V<EFBFBD><56><EFBFBD>O<EFBFBD><4F><EFBFBD>s<EFBFBD>Ȃ<EFBFBD><C882>܂<EFBFBD><DC82>B<EFBFBD>X<EFBFBD>^<5E>b<EFBFBD>N<EFBFBD>L<EFBFBD><4C><EFBFBD>b
<EFBFBD>V<EFBFBD><EFBFBD><EFBFBD>O<EFBFBD><EFBFBD><EFBFBD><EFBFBD>߂͎<EFBFBD><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD>ɐ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
*** JIT Compile
<EFBFBD>@<40>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD>؂<EFBFBD><D882>\<5C><EFBFBD>܂<EFBFBD><DC82>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD>Ɏ<EFBFBD><C98E><EFBFBD><EFBFBD>I<EFBFBD>ȃR<C883>[<5B>h<EFBFBD><68><EFBFBD>̂<EFBFBD><CC82><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B<EFBFBD><42>
<EFBFBD>Ƃ<EFBFBD><EFBFBD>ǂ̃v<EFBFBD><EFBFBD><EFBFBD>O<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͓<EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>B
*** AOT Compile
YARV <20><><EFBFBD>ߗ<EFBFBD><DF97><EFBFBD> C <20><><EFBFBD><EFBFBD><EFBFBD>ɕϊ<C995><CF8A><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B<EFBFBD>܂<EFBFBD><DC82>\<5C><><EFBFBD>ȍœK<C593><4B><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD>Ȃ<EFBFBD><C882>Ă<EFBFBD><C482><EFBFBD><EFBFBD>܂<EFBFBD><DC82>񂪁A
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><EFBFBD>ɓ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>Brb/aotc.rb <20><><EFBFBD>R<EFBFBD><52><EFBFBD>p<EFBFBD>C<EFBFBD><43><EFBFBD>ł<EFBFBD><C582>B
* Assembler (rb/yasm.rb)
YARV <20><><EFBFBD>ߗ<EFBFBD><DF97>̃A<CC83>Z<EFBFBD><5A><EFBFBD>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD>p<EFBFBD>ӂ<EFBFBD><D382>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD> rb/yasm.rb <20><><EFBFBD>Q<EFBFBD>Ƃ<EFBFBD><C682>Ă<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD>܂<EFBFBD><EFBFBD>A<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40>̂<EFBFBD><CC82>ׂĂ<D782><C482>T<EFBFBD>|<7C>[<5B>g<EFBFBD><67><EFBFBD>Ă<EFBFBD><C482><EFBFBD><EFBFBD><EFBFBD>ł͂<C582><CD82><EFBFBD>
<EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>j<EFBFBD>B
* Dis-Assembler (disasm.c)
YARV <20><><EFBFBD>ߗ<EFBFBD><DF97><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD>u<EFBFBD>W<EFBFBD>F<EFBFBD>N<EFBFBD>g YARVCore::InstructionSequence <20>ɂ<EFBFBD> disasm
<EFBFBD><EFBFBD><EFBFBD>\<5C>b<EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD>́A<CD81><41><EFBFBD>ߗ<EFBFBD><DF97><EFBFBD><EFBFBD>t<EFBFBD>A<EFBFBD>Z<EFBFBD><5A><EFBFBD>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԃ<EFBFBD><D482>܂<EFBFBD><DC82>B
* YARV <20><><EFBFBD>߃Z<DF83>b<EFBFBD>g
<%= d %>
* <20><><EFBFBD>̑<EFBFBD>
** <20>e<EFBFBD>X<EFBFBD>g
test/test_* <20><><EFBFBD>e<EFBFBD>X<EFBFBD>g<EFBFBD>P<EFBFBD>[<5B>X<EFBFBD>ł<EFBFBD><C582>B<EFBFBD><EFBFBD>A<EFBFBD>~<7E>X<EFBFBD>Ȃ<EFBFBD><C882><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͂<EFBFBD><CD82>ł<EFBFBD><C582>B<EFBFBD>t<EFBFBD>ɂ<EFBFBD><C982><EFBFBD><EFBFBD>ƁA
<EFBFBD><EFBFBD><EFBFBD>̃e<EFBFBD>X<EFBFBD>g<EFBFBD>ɋL<EFBFBD>q<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ł͂<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ɠ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƃ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƃł<EFBFBD><EFBFBD>B
** <20>x<EFBFBD><78><EFBFBD>`<60>}<7D>[<5B>N
benchmark/bm_* <20>Ƀx<C983><78><EFBFBD>`<60>}<7D>[<5B>N<EFBFBD>v<EFBFBD><76><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
** <20><><EFBFBD><EFBFBD><EFBFBD>̗\<5C><>
<EFBFBD>܂<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>΂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƁA<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񂠂<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ł<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>΂Ȃ<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>B<EFBFBD><EFBFBD><EFBFBD>ԑ傫<EFBFBD>ȖڕW<EFBFBD><EFBFBD> eval.c <20><><EFBFBD>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƃł<C682><C582>
<EFBFBD><EFBFBD><EFBFBD>B
*** Verifier
YARV <20><><EFBFBD>ߗ<EFBFBD><DF97>́A<CD81>~<7E>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482>܂<EFBFBD><DC82><EFBFBD><EFBFBD>ߊ<DF8A>ł<EFBFBD><C582><EFBFBD><EFBFBD>”\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>B<EFBFBD><EFBFBD><EFBFBD>̂<EFBFBD><EFBFBD>߁A<EFBFBD>X<EFBFBD>^<5E>b<EFBFBD>N<EFBFBD>̗<EFBFBD><CC97>p<EFBFBD><70><EFBFBD>Ԃ<EFBFBD><D482><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǝ<EFBFBD><C68E>O<EFBFBD>Ɍ<EFBFBD><C98C>؂<EFBFBD><D882><EFBFBD><EFBFBD><EFBFBD>ȃx<C883><78><EFBFBD>t<EFBFBD>@<40>C
<EFBFBD>A<EFBFBD><EFBFBD><EFBFBD>p<EFBFBD>ӂ<EFBFBD><EFBFBD>Ȃ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>΂Ȃ<EFBFBD><EFBFBD>Ȃ<EFBFBD><EFBFBD>ƍl<EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
*** Compiled File <20>̍\<5C>z
Ruby <20>v<EFBFBD><76><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̖<EFBFBD><CC96>߃Z<DF83>b<EFBFBD>g<EFBFBD>ɃV<C983><56><EFBFBD>A<EFBFBD><41><EFBFBD>C<EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD>f<EFBFBD>[<5B>^<5E>\<5C><><EFBFBD><EFBFBD><EFBFBD>t<EFBFBD>@<40>C<EFBFBD><43><EFBFBD><EFBFBD>
<EFBFBD>o<EFBFBD>͂ł<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɂ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƍl<EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𗘗p<EFBFBD><EFBFBD><EFBFBD>Ĉ<EFBFBD><EFBFBD>x<EFBFBD>R<EFBFBD><EFBFBD><EFBFBD>p<EFBFBD>C<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ߗ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>t<EFBFBD>@<40>C<EFBFBD><43><EFBFBD>ɕۑ<C995><DB91><EFBFBD><EFBFBD>Ă<EFBFBD><C482><EFBFBD><EFBFBD>΁A<CE81><41><EFBFBD>񃍁[<5B>h<EFBFBD><68><EFBFBD>ɂ̓R<CD83><52><EFBFBD>p<EFBFBD>C<EFBFBD><43><EFBFBD>̎<EFBFBD><CC8E>ԁA<D481>R<EFBFBD>X<EFBFBD>g
<EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƃ<EFBFBD><EFBFBD>ł<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
**** <20>S<EFBFBD>̍\<5C><>
<EFBFBD><EFBFBD><EFBFBD>̂悤<EFBFBD>ȃt<EFBFBD>@<40>C<EFBFBD><43><EFBFBD>\<5C><><EFBFBD><EFBFBD><EFBFBD>l<EFBFBD><6C><EFBFBD>Ă<EFBFBD><C482>܂<EFBFBD><DC82><EFBFBD><EFBFBD>A<EFBFBD>܂<EFBFBD><DC82><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ł<EFBFBD><C582>B
#code
u4 : 4 byte unsigned storage
u2 : 2 byte unsigned storage
u1 : 1 byte unsigned storage
every storages are little endian :-)
CompiledFile{
u4 magic;
u2 major;
u2 minor;
u4 character_code;
u4 constants_pool_count;
ConstantEntry constants_pool[constants_pool_count];
u4 block_count;
blockEntry blocks[block_count];
u4 method_count;
MethodEntry methods[method_count];
}
#end
Java classfile <20>̃p<CC83>N<EFBFBD><4E><EFBFBD>B