Bug #16383 » tracepoint-attr-16383.patch
| vm_insnhelper.c | ||
|---|---|---|
| vm_call_ivar(rb_execution_context_t *ec, rb_control_frame_t *cfp, struct rb_calling_info *calling, struct rb_call_data *cd) | ||
| { | ||
|     struct rb_call_cache *cc = &cd->cc; | ||
|     VALUE ret; | ||
|     RB_DEBUG_COUNTER_INC(ccf_ivar); | ||
|     cfp->sp -= 1; | ||
|     return vm_getivar(calling->recv, cc->me->def->body.attr.id, NULL, cc, TRUE); | ||
|     EXEC_EVENT_HOOK(ec, RUBY_EVENT_C_CALL, calling->recv, cc->me->def->body.attr.id, cd->ci.mid, cc->me->owner, Qundef); | ||
|     ret = vm_getivar(calling->recv, cc->me->def->body.attr.id, NULL, cc, TRUE); | ||
|     EXEC_EVENT_HOOK(ec, RUBY_EVENT_C_RETURN, calling->recv, cc->me->def->body.attr.id, cd->ci.mid, cc->me->owner, ret); | ||
|     return ret; | ||
| } | ||
| static VALUE | ||
| vm_call_attrset(rb_execution_context_t *ec, rb_control_frame_t *cfp, struct rb_calling_info *calling, struct rb_call_data *cd) | ||
| { | ||
|     struct rb_call_cache *cc = &cd->cc; | ||
|     VALUE ret; | ||
|     RB_DEBUG_COUNTER_INC(ccf_attrset); | ||
|     VALUE val = *(cfp->sp - 1); | ||
|     cfp->sp -= 2; | ||
|     return vm_setivar(calling->recv, cc->me->def->body.attr.id, val, NULL, cc, 1); | ||
|     EXEC_EVENT_HOOK(ec, RUBY_EVENT_C_CALL, calling->recv, cc->me->def->body.attr.id, cd->ci.mid, cc->me->owner, Qundef); | ||
|     ret = vm_setivar(calling->recv, cc->me->def->body.attr.id, val, NULL, cc, 1); | ||
|     EXEC_EVENT_HOOK(ec, RUBY_EVENT_C_RETURN, calling->recv, cc->me->def->body.attr.id, cd->ci.mid, cc->me->owner, ret); | ||
|     return ret; | ||
| } | ||
| static inline VALUE | ||
- « Previous
- 1
- 2
- Next »