in <main> Kernel#foo block (2 levels) in <main> main() ... ... vm_callc_cfunc_with_cframe() my_cfunc() vm_exec_core() ... 0x7cabca (non-cfunc) (non-cfunc) 0x7cabca 0x7c0009 0x7c0010 #[repr(C)] pub struct rb_callable_method_entry_struct { pub flags: VALUE, pub def: *mut rb_method_definition_struct, // ... } #[repr(C)] pub struct rb_method_definition_struct { pub type_: c_int, _padding: [c_char; 4], pub cfunc: rb_method_cfunc_struct, } #[repr(C)] pub struct rb_method_cfunc_struct { pub func: *mut c_void, } ͜ͷΈͷͨΊʹଟͷ struct Λ CRuby ͔Βίϐʔ͍ͯ͠Δ... rb_pro fi le_frames() ͷฦΓ͔ΒͨͲΕΔ cfunc ͷϙΠϯλͱҰக͢ΔΞυϨεΛϚονϯά