RJIT: Split has_rest_or_post exit reasons
This commit is contained in:
parent
65a725633b
commit
38946209a7
@ -4765,12 +4765,12 @@ module RubyVM::RJIT
|
||||
end
|
||||
|
||||
if iseq.body.param.flags.has_rest || iseq.body.param.flags.has_post
|
||||
asm.incr_counter(:send_iseq_complex_has_rest_or_post)
|
||||
asm.incr_counter(iseq.body.param.flags.has_rest ? :send_iseq_complex_has_rest : :send_iseq_complex_has_pos)
|
||||
return CantCompile
|
||||
end
|
||||
|
||||
if iseq.body.param.flags.has_post
|
||||
asm.incr_counter(:send_iseq_complex_has_rest_or_post)
|
||||
asm.incr_counter(:send_iseq_complex_has_post)
|
||||
return CantCompile
|
||||
end
|
||||
|
||||
@ -4780,7 +4780,7 @@ module RubyVM::RJIT
|
||||
end
|
||||
|
||||
if iseq.body.param.flags.has_rest
|
||||
asm.incr_counter(:send_iseq_complex_has_rest_or_post)
|
||||
asm.incr_counter(:send_iseq_complex_has_rest)
|
||||
return CantCompile
|
||||
end
|
||||
|
||||
|
4
rjit_c.h
4
rjit_c.h
@ -58,7 +58,8 @@ RJIT_RUNTIME_COUNTERS(
|
||||
send_iseq_complex_arg_setup_block,
|
||||
send_iseq_complex_arity,
|
||||
send_iseq_complex_has_lead,
|
||||
send_iseq_complex_has_rest_or_post,
|
||||
send_iseq_complex_has_rest,
|
||||
send_iseq_complex_has_post,
|
||||
send_iseq_complex_has_opt,
|
||||
send_iseq_complex_has_kw,
|
||||
send_iseq_complex_has_kwrest,
|
||||
@ -92,7 +93,6 @@ RJIT_RUNTIME_COUNTERS(
|
||||
send_bmethod_blockarg,
|
||||
|
||||
invokesuper_me_changed,
|
||||
invokesuper_same_me,
|
||||
|
||||
invokeblock_none,
|
||||
invokeblock_symbol,
|
||||
|
@ -1307,7 +1307,8 @@ module RubyVM::RJIT # :nodoc: all
|
||||
send_iseq_complex_arg_setup_block: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_rjit_runtime_counters *)NULL)), send_iseq_complex_arg_setup_block)")],
|
||||
send_iseq_complex_arity: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_rjit_runtime_counters *)NULL)), send_iseq_complex_arity)")],
|
||||
send_iseq_complex_has_lead: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_rjit_runtime_counters *)NULL)), send_iseq_complex_has_lead)")],
|
||||
send_iseq_complex_has_rest_or_post: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_rjit_runtime_counters *)NULL)), send_iseq_complex_has_rest_or_post)")],
|
||||
send_iseq_complex_has_rest: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_rjit_runtime_counters *)NULL)), send_iseq_complex_has_rest)")],
|
||||
send_iseq_complex_has_post: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_rjit_runtime_counters *)NULL)), send_iseq_complex_has_post)")],
|
||||
send_iseq_complex_has_opt: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_rjit_runtime_counters *)NULL)), send_iseq_complex_has_opt)")],
|
||||
send_iseq_complex_has_kw: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_rjit_runtime_counters *)NULL)), send_iseq_complex_has_kw)")],
|
||||
send_iseq_complex_has_kwrest: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_rjit_runtime_counters *)NULL)), send_iseq_complex_has_kwrest)")],
|
||||
@ -1335,7 +1336,6 @@ module RubyVM::RJIT # :nodoc: all
|
||||
send_bmethod_not_iseq: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_rjit_runtime_counters *)NULL)), send_bmethod_not_iseq)")],
|
||||
send_bmethod_blockarg: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_rjit_runtime_counters *)NULL)), send_bmethod_blockarg)")],
|
||||
invokesuper_me_changed: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_rjit_runtime_counters *)NULL)), invokesuper_me_changed)")],
|
||||
invokesuper_same_me: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_rjit_runtime_counters *)NULL)), invokesuper_same_me)")],
|
||||
invokeblock_none: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_rjit_runtime_counters *)NULL)), invokeblock_none)")],
|
||||
invokeblock_symbol: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_rjit_runtime_counters *)NULL)), invokeblock_symbol)")],
|
||||
invokeblock_proc: [CType::Immediate.parse("size_t"), Primitive.cexpr!("OFFSETOF((*((struct rb_rjit_runtime_counters *)NULL)), invokeblock_proc)")],
|
||||
|
Loading…
x
Reference in New Issue
Block a user