Maintain same behavior regardless of tracepoint state

Always use opt_new behavior regardless of tracepoint state.
This commit is contained in:
Aaron Patterson 2025-05-01 12:13:31 -07:00 committed by Aaron Patterson
parent 04f538c144
commit 55c9c75b47
Notes: git 2025-05-15 21:20:01 +00:00
2 changed files with 2 additions and 2 deletions

View File

@ -919,7 +919,7 @@ opt_new
// The bookkeeping slot should be empty.
RUBY_ASSERT(TOPN(argc + 1) == Qnil);
if (vm_method_cfunc_is(GET_ISEQ(), cd, val, rb_class_new_instance_pass_kw) && !(ruby_vm_event_flags & ISEQ_TRACE_EVENTS)) {
if (vm_method_cfunc_is(GET_ISEQ(), cd, val, rb_class_new_instance_pass_kw)) {
RB_DEBUG_COUNTER_INC(opt_new_hit);
val = rb_obj_alloc(val);
TOPN(argc) = val;

View File

@ -1999,7 +1999,7 @@ CODE
TracePoint.new(:c_call, &capture_events).enable{
c.new
}
assert_equal [:c_call, :itself, :initialize], events[1]
assert_equal [:c_call, :itself, :initialize], events[0]
events.clear
o = Class.new{