From e84f80761840000dd84ecd30d97946832e44dd97 Mon Sep 17 00:00:00 2001 From: nagachika Date: Wed, 28 Nov 2018 13:55:17 +0000 Subject: merge revision(s) 64799,64800,64801: [Backport #15105] fix typo. * vm_exec.h (DEBUG_END_INSN()): use `ec` instead of `th`. This macro is used when `VMDEBUG > 0`. escape all env properly. * vm_backtrace.c (rb_debug_inspector_open): escape all env using `rb_vm_stack_to_heap()` before making bindings. [Bug #15105] There is a complicated story of this issue: Without this patch, IFUNC frame does not escaped. A IFUNC frame points to CFUNC ep as previous ep. However, CFUNC ep can be escaped because of making bindings of Ruby level frames. IFUNC's ep can points to invalidated ep and `rb_iter_break()` will fail. This is why `any?` fails. * test/-ext-/debug/test_debug.rb: add a test. * remove trailing spaces. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@66074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- vm_exec.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'vm_exec.h') diff --git a/vm_exec.h b/vm_exec.h index 29120975ce..2f4b403e9a 100644 --- a/vm_exec.h +++ b/vm_exec.h @@ -36,7 +36,7 @@ typedef rb_iseq_t *ISEQ; #endif #define DEBUG_END_INSN() \ - rb_vmdebug_debug_print_post(th, GET_CFP() SC_REGS()); + rb_vmdebug_debug_print_post(ec, GET_CFP() SC_REGS()); #else -- cgit v1.2.3