Skip to content

Instantly share code, notes, and snippets.

@Watson1978
Created January 31, 2019 07:56
Show Gist options
  • Save Watson1978/63d149e1aefb0ee1805de2392da290ae to your computer and use it in GitHub Desktop.
Save Watson1978/63d149e1aefb0ee1805de2392da290ae to your computer and use it in GitHub Desktop.
diff --git a/vm_eval.c b/vm_eval.c
index a8764e2fa4..a278fe3a2e 100644
--- a/vm_eval.c
+++ b/vm_eval.c
@@ -46,6 +46,7 @@ rb_vm_call0(rb_execution_context_t *ec, VALUE recv, ID id, int argc, const VALUE
struct rb_calling_info calling_entry, *calling;
struct rb_call_info ci_entry;
struct rb_call_cache cc_entry;
+ VALUE val;
calling = &calling_entry;
@@ -57,7 +58,10 @@ rb_vm_call0(rb_execution_context_t *ec, VALUE recv, ID id, int argc, const VALUE
calling->recv = recv;
calling->argc = argc;
- return vm_call0_body(ec, calling, &ci_entry, &cc_entry, argv);
+ RUBY_DTRACE_METHOD_ENTRY_HOOK(ec, me->owner, me->def->original_id);
+ val = vm_call0_body(ec, calling, &ci_entry, &cc_entry, argv);
+ RUBY_DTRACE_METHOD_RETURN_HOOK(ec, me->owner, me->def->original_id);
+ return val;
}
static VALUE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment