aboutsummaryrefslogtreecommitdiffstats
path: root/vm_method.c
diff options
context:
space:
mode:
Diffstat (limited to 'vm_method.c')
-rw-r--r--vm_method.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/vm_method.c b/vm_method.c
index a7aa496c95..0b707975bf 100644
--- a/vm_method.c
+++ b/vm_method.c
@@ -61,7 +61,13 @@ void
rb_clear_method_cache_by_class(VALUE klass)
{
if (klass && klass != Qundef) {
- if (klass == rb_cBasicObject || klass == rb_cObject || klass == rb_mKernel) {
+ int global = klass == rb_cBasicObject || klass == rb_cObject || klass == rb_mKernel;
+
+ if (RUBY_DTRACE_METHOD_CACHE_CLEAR_ENABLED()) {
+ RUBY_DTRACE_METHOD_CACHE_CLEAR(global ? "global" : rb_class2name(klass), rb_sourcefile(), rb_sourceline());
+ }
+
+ if (global) {
INC_GLOBAL_METHOD_STATE();
}
else {