diff options
author | ktsj <ktsj@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-11-05 13:15:26 +0000 |
---|---|---|
committer | ktsj <ktsj@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-11-05 13:15:26 +0000 |
commit | 8f19a5552ee4cab6ff141106b82752d11b293e49 (patch) | |
tree | aa8388fa9bc7eda27578d67b4a7d85015f9b2f1d /vm_insnhelper.c | |
parent | 3a567b3eec352e38f1cfe2d6eeb053842c5a8894 (diff) | |
download | ruby-8f19a5552ee4cab6ff141106b82752d11b293e49.tar.gz |
* eval.c, method.h, proc.c, vm.c, vm_eval.c, vm_insnhelper.c, vm_method.c:
TracePoint#method_id should return method_id, not callee_id.
[ruby-core:77241] [Feature #12747]
* test/ruby/test_settracefunc.rb: change accordingly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_insnhelper.c')
-rw-r--r-- | vm_insnhelper.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/vm_insnhelper.c b/vm_insnhelper.c index 935e733ca5..65462553ec 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -1738,8 +1738,8 @@ vm_call_cfunc_with_frame(rb_thread_t *th, rb_control_frame_t *reg_cfp, struct rb VALUE block_handler = calling->block_handler; int argc = calling->argc; - RUBY_DTRACE_CMETHOD_ENTRY_HOOK(th, me->owner, me->called_id); - EXEC_EVENT_HOOK(th, RUBY_EVENT_C_CALL, recv, me->called_id, me->owner, Qundef); + RUBY_DTRACE_CMETHOD_ENTRY_HOOK(th, me->owner, me->def->original_id); + EXEC_EVENT_HOOK(th, RUBY_EVENT_C_CALL, recv, me->def->original_id, me->owner, Qundef); vm_push_frame(th, NULL, VM_FRAME_MAGIC_CFUNC | VM_FRAME_FLAG_CFRAME | VM_ENV_FLAG_LOCAL, recv, block_handler, (VALUE)me, @@ -1757,8 +1757,8 @@ vm_call_cfunc_with_frame(rb_thread_t *th, rb_control_frame_t *reg_cfp, struct rb rb_vm_pop_frame(th); - EXEC_EVENT_HOOK(th, RUBY_EVENT_C_RETURN, recv, me->called_id, me->owner, val); - RUBY_DTRACE_CMETHOD_RETURN_HOOK(th, me->owner, me->called_id); + EXEC_EVENT_HOOK(th, RUBY_EVENT_C_RETURN, recv, me->def->original_id, me->owner, val); + RUBY_DTRACE_CMETHOD_RETURN_HOOK(th, me->owner, me->def->original_id); return val; } @@ -2087,7 +2087,7 @@ aliased_callable_method_entry(const rb_callable_method_entry_t *me) if (orig_me->defined_class == 0) { VALUE defined_class = find_defined_class_by_owner(me->defined_class, orig_me->owner); VM_ASSERT(RB_TYPE_P(orig_me->owner, T_MODULE)); - cme = rb_method_entry_complement_defined_class(orig_me, defined_class); + cme = rb_method_entry_complement_defined_class(orig_me, me->called_id, defined_class); if (me->def->alias_count + me->def->complemented_count == 0) { RB_OBJ_WRITE(me, &me->def->body.alias.original_me, cme); |