summaryrefslogtreecommitdiff
path: root/vm_backtrace.c
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2021-04-04 22:50:22 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2021-04-04 22:50:22 +0000
commitae1573ac739cc075cd5823c6ac512449ca5707d4 (patch)
tree3e8217379d7f9eb8385503c63522284910721d95 /vm_backtrace.c
parentfe85a3d5271c4e3aeda42ec32e9c3f9ee02b6897 (diff)
merge revision(s) 12391cdbe11f3fbeb3b04c30b944139e5bbd9ea6: [Backport #16834]
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. --- test/-ext-/debug/test_profile_frames.rb | 40 ++++++++++++++++++++++++++++----- version.h | 2 +- vm_backtrace.c | 2 +- 3 files changed, 36 insertions(+), 8 deletions(-) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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 8264018da0..2a6c5bde30 100644
--- a/vm_backtrace.c
+++ b/vm_backtrace.c
@@ -1402,7 +1402,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);