* vm_trace.c (rb_threadptr_exec_event_hooks): added a parameter to pop
a frame before JUMP_TAG() if exception occurred. This change fix bug
of Ruby 1.9. [ruby-core:51128] [ruby-trunk - Bug #7624]
* vm_core.h (EXEC_EVENT_HOOK_AND_POP_FRAME): add to use
`rb_threadptr_exec_event_hooks()' with the pop flag.
* vm.c (vm_exec): use EXEC_EVENT_HOOK_AND_POP_FRAME() while exception
handling. While exception hadnling, if an exception is raised in
hooks, need to pop current frame and raise this raised exception by
hook.
* bootstraptest/test_flow.rb: add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
in the hooked context. it's 1.8's behavior.
see r38601 in trunk.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c (exec_event_hooks): exceptions in event hooks should not
propagate outside.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
message to stderr instead of using rb_bug().
* KNOWNBUGS.rb, bootstraptest/test_fork.rb: move a fixed test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
set a VM_FRAME_FLAG_PASSED flag to skip this frame when
searching ruby-level-cfp.
* eval.c, eval_intern.h, proc.c: fix to check cfp. if there is
no valid ruby-level-cfp, cause RuntimeError exception.
[ruby-dev:34128]
* vm_core.h, vm_evalbody.c, vm.c, vm_dump.c, vm_insnhelper.c,
insns.def: rename FRAME_MAGIC_* to VM_FRAME_MAGIC_*.
* KNOWNBUGS.rb, bootstraptest/test*.rb: move solved bugs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e