From: SASADA Koichi Date: 2011-03-06T12:28:25+09:00 Subject: [ruby-dev:43314] Re: iseq_compile_each()でのマジックナンバ  ささだです.  この辺のコードを久々に見ました. (2011/03/06 11:25), きたざわけんいち wrote: > Index: vm_core.h > =================================================================== > --- vm_core.h (リビジョン 31028) > +++ vm_core.h (作業コピー) > @@ -583,6 +583,12 @@ > #define RUBYVM_CFUNC_FRAME_P(cfp) \ > (VM_FRAME_TYPE(cfp) == VM_FRAME_MAGIC_CFUNC) > > +/* vm_throw state */ > +#define VM_THROW_GET_DFP 0x8000  これ,何やってるんでしたっけ.コード見たけど思い出せない....なんか, これが設定されていると,逆に dfp を見ていないような. > +#define VM_THROW_STATE_MASK 0xff > +#define VM_THROW_LVL_SHIFT 16 > +#define VM_THROW_LEVEL(s) (s >> VM_THROW_LVL_SHIFT)  lvl って level でしょうか. > Index: compile.c > =================================================================== > --- compile.c (リビジョン 31028) > +++ compile.c (作業コピー) > @@ -15,6 +15,7 @@ > #define USE_INSN_STACK_INCREASE 1 > #include "vm_core.h" > #include "iseq.h" > +#include "eval_intern.h"  なぜ,eval_intern.h を include しているんでしょうか.TAG_BREAK とかを 見るためかな.私はなぜここを即値にしたんだろう.include したくなかったか らかなぁ. -- // SASADA Koichi at atdot dot net