From 8fa99e64585a545ada07c9adba5441adeb217de3 Mon Sep 17 00:00:00 2001 From: ko1 Date: Thu, 26 Jan 2017 09:57:41 +0000 Subject: [PATCH] skip T_IMEMO for VMDEBUG * vm_dump.c (vm_stack_dump_each): skip T_IMEMO object to display for VMDEBUG=3. [Bug #13030] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- vm_dump.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/vm_dump.c b/vm_dump.c index c74f61dd66..01c6db9858 100644 --- a/vm_dump.c +++ b/vm_dump.c @@ -281,11 +281,16 @@ vm_stack_dump_each(rb_thread_t *th, rb_control_frame_t *cfp) ptr = vm_base_ptr(cfp); for (; ptr < sp; ptr++, i++) { - if (*ptr == Qundef) { + switch (TYPE(*ptr)) { + case T_UNDEF: rstr = rb_str_new2("undef"); - } - else { + break; + case T_IMEMO: + rstr = rb_str_new2("imemo"); /* TODO: can put mode detail information */ + break; + default: rstr = rb_inspect(*ptr); + break; } fprintf(stderr, " stack %2d: %8s (%"PRIdPTRDIFF")\n", i, StringValueCStr(rstr), (ptr - th->stack));