summaryrefslogtreecommitdiff
path: root/vm_backtrace.c
diff options
context:
space:
mode:
authornagachika <nagachika@ruby-lang.org>2020-07-25 14:17:35 +0900
committernagachika <nagachika@ruby-lang.org>2020-07-25 14:17:35 +0900
commit12391cdbe11f3fbeb3b04c30b944139e5bbd9ea6 (patch)
tree191eb20f865e743825166b5880a8b24c116dfe23 /vm_backtrace.c
parentbe359442cb07c25fdc769431ffed3249b9016829 (diff)
merge revision(s) cbe4f75ef802f13d05f94e42274b65a062bd3666: [Backport #16834]
Fix rb_profile_frame_classpath to handle module singletons Right now `SomeClass.method` is properly named, but `SomeModule.method` is displayed as `#<Module:0x000055eb5d95adc8>.method` which makes profiling annoying.
Diffstat (limited to 'vm_backtrace.c')
-rw-r--r--vm_backtrace.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/vm_backtrace.c b/vm_backtrace.c
index 2c9649a7c2..f6b4e8e1d6 100644
--- a/vm_backtrace.c
+++ b/vm_backtrace.c
@@ -1425,7 +1425,7 @@ rb_profile_frame_classpath(VALUE frame)
}
else if (FL_TEST(klass, FL_SINGLETON)) {
klass = rb_ivar_get(klass, id__attached__);
- if (!RB_TYPE_P(klass, T_CLASS))
+ if (!RB_TYPE_P(klass, T_CLASS) && !RB_TYPE_P(klass, T_MODULE))
return rb_sprintf("#<%s:%p>", rb_class2name(rb_obj_class(klass)), (void*)klass);
}
return rb_class_path(klass);