diff options
author | Jean Boussier <jean.boussier@gmail.com> | 2020-05-06 18:49:25 +0200 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2020-05-07 08:46:36 -0700 |
commit | cbe4f75ef802f13d05f94e42274b65a062bd3666 (patch) | |
tree | 4034d45cdec1d320d38c0937ad0a425e3b731734 /vm_backtrace.c | |
parent | 00698f26a9141d6226635d3c53761ef03dd8ed6b (diff) |
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.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/3084
Diffstat (limited to 'vm_backtrace.c')
-rw-r--r-- | vm_backtrace.c | 2 |
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); |