Slide 58
Slide 58 text
˒ M: Frame Magic / Frame Type (15bits + check)
METHOD, BLOCK, CLASS, TOP, CFUNC,
IFUNC, EVAL, RESCUE, DUMMY
˒ F: Frame Flags (8bits)
FINISH, CFRAME, LAMBDA, …
˒ E: Env Flags (4bits)
LOCAL, ESCAPED, WB_REQUIRED, ISOLATED
˒ X: Tag for GC marking (to mimic Fixnum)
Frame/Env Flags
struct rb_control_frame_struct {
// ……
const VALUE *ep;
// ……
};
————————————————————-
VALUE ME_CREF // ep[-2]
VALUE SPECVAL // ep[-1]
VALUE FLAGS // ep[0]
M M M M M M M M M M M M M M M M _ _ _ F F F F F F F F E E E E X