summaryrefslogtreecommitdiff
path: root/vm_backtrace.c
diff options
context:
space:
mode:
authorJean Boussier <jean.boussier@gmail.com>2020-05-06 18:49:25 +0200
committerAaron Patterson <aaron.patterson@gmail.com>2020-05-07 08:46:36 -0700
commitcbe4f75ef802f13d05f94e42274b65a062bd3666 (patch)
tree4034d45cdec1d320d38c0937ad0a425e3b731734 /vm_backtrace.c
parent00698f26a9141d6226635d3c53761ef03dd8ed6b (diff)
downloadruby-cbe4f75ef802f13d05f94e42274b65a062bd3666.tar.gz
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 9bc56f731e..448a58bb47 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);