@@ -1642,7 +1642,11 @@ vm_setinstancevariable(const rb_iseq_t *iseq, VALUE obj, ID id, VALUE val, IVC i
16421642 attr_index_t index ;
16431643 vm_ic_atomic_shape_and_index (ic , & dest_shape_id , & index );
16441644
1645- EXEC_EVENT_HOOK (GET_EC (), RUBY_EVENT_IVAR_SET , obj , id , 0 , 0 , val );
1645+ VALUE pair = rb_ary_new_capa (2 );
1646+ rb_ary_push (pair , rb_id2sym (id ));
1647+ rb_ary_push (pair , val );
1648+
1649+ EXEC_EVENT_HOOK (GET_EC (), RUBY_EVENT_IVAR_SET , obj , id , 0 , 0 , pair );
16461650
16471651 if (UNLIKELY (UNDEF_P (vm_setivar (obj , id , val , dest_shape_id , index )))) {
16481652 switch (BUILTIN_TYPE (obj )) {
@@ -4790,7 +4794,10 @@ vm_call_method_each_type(rb_execution_context_t *ec, rb_control_frame_t *cfp, st
47904794 }
47914795
47924796 ID mid = vm_ci_mid (ci );
4793- EXEC_EVENT_HOOK (ec , RUBY_EVENT_IVAR_SET , calling -> recv , mid , mid , 0 , v );
4797+ VALUE pair = rb_ary_new_capa (2 );
4798+ rb_ary_push (pair , rb_id2sym (mid ));
4799+ rb_ary_push (pair , v );
4800+ EXEC_EVENT_HOOK (ec , RUBY_EVENT_IVAR_SET , calling -> recv , mid , mid , 0 , pair );
47944801
47954802 return v ;
47964803
0 commit comments