From cbe4f75ef802f13d05f94e42274b65a062bd3666 Mon Sep 17 00:00:00 2001 From: Jean Boussier Date: Wed, 6 May 2020 18:49:25 +0200 Subject: Fix rb_profile_frame_classpath to handle module singletons Right now `SomeClass.method` is properly named, but `SomeModule.method` is displayed as `#.method` which makes profiling annoying. --- vm_backtrace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'vm_backtrace.c') 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); -- cgit v1.2.3