summaryrefslogtreecommitdiff
path: root/vm_dump.c
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-03-12 17:51:21 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-03-12 17:51:21 +0000
commita1b1d832f4b1163d96ba7c1378290e3ff7507364 (patch)
tree1a9f8092598469612144e59a6a274525c6f21f27 /vm_dump.c
parentd1d0fcc4e4f0de9f7d93895932eb3d1d3d9d413a (diff)
merge revision(s) 57427: [Backport #13030]
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/branches/ruby_2_4@57938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_dump.c')
-rw-r--r--vm_dump.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/vm_dump.c b/vm_dump.c
index c381e13ecc..d2988cf70f 100644
--- a/vm_dump.c
+++ b/vm_dump.c
@@ -282,11 +282,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));