« Previous | Next » 

Revision 39067

  • proc.c (rb_binding_new_with_cfp): permit to create binding object of IFUNC frame. When rb_binding_new_with_cfp()' is called, VM finds out the first normal (has iseq) frame and create a binding object of this frame and create Env objects.ep's of related frames are updated (ep's point Env object managed spaces). However,ep' of skipped IFUNC frame was not updated and old invalid `ep' was remained. It causes serious problems. To solve this issue, permit IFUNC to create binding. (Maybe there is no problem on it) [ruby-dev:46908] [ruby-trunk - Bug #7774]
  • test/ruby/test_settracefunc.rb: add a test.
  • vm.c (rb_vm_get_binding_creatable_next_cfp), vm_core.h: added.
  • vm_trace.c: fix to use `rb_vm_get_binding_creatable_next_cfp()'.