YJIT: Count getivar side exits by receiver flag changes (#6735)
This commit is contained in:
parent
1125274c4e
commit
d1fb659547
Notes:
git
2022-11-15 22:50:38 +00:00
Merged-By: k0kubun <takashikkbn@gmail.com>
@ -2051,6 +2051,7 @@ fn gen_get_ivar(
|
|||||||
asm.comment("guard shape, embedded, and T_OBJECT");
|
asm.comment("guard shape, embedded, and T_OBJECT");
|
||||||
let flags_opnd = asm.and(flags_opnd, Opnd::UImm(expected_flags_mask as u64));
|
let flags_opnd = asm.and(flags_opnd, Opnd::UImm(expected_flags_mask as u64));
|
||||||
asm.cmp(flags_opnd, Opnd::UImm(expected_flags as u64));
|
asm.cmp(flags_opnd, Opnd::UImm(expected_flags as u64));
|
||||||
|
let megamorphic_side_exit = counted_exit!(ocb, side_exit, getivar_megamorphic).into();
|
||||||
jit_chain_guard(
|
jit_chain_guard(
|
||||||
JCC_JNE,
|
JCC_JNE,
|
||||||
jit,
|
jit,
|
||||||
@ -2058,7 +2059,7 @@ fn gen_get_ivar(
|
|||||||
asm,
|
asm,
|
||||||
ocb,
|
ocb,
|
||||||
max_chain_depth,
|
max_chain_depth,
|
||||||
side_exit,
|
megamorphic_side_exit,
|
||||||
);
|
);
|
||||||
|
|
||||||
match ivar_index {
|
match ivar_index {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user