Skip to content

Commit 7a16eac

Browse files
committed
Add two elidable instructions to effects_of from rebase
1 parent a3b4bca commit 7a16eac

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

zjit/src/hir.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1029,6 +1029,8 @@ impl Insn {
10291029
Insn::Param => effects::Empty,
10301030
Insn::StringCopy { .. } => allocates,
10311031
Insn::NewArray { .. } => allocates,
1032+
// TODO(Jacob): Can we further constrain the read effects from Any?
1033+
Insn::ArrayLength { .. } => Effect::from_write(effect_sets::Empty),
10321034
Insn::NewHash { elements, .. } => {
10331035
// NewHash's operands may be hashed and compared for equality, which could have
10341036
// side-effects. Empty hashes are definitely elidable.
@@ -1089,6 +1091,8 @@ impl Insn {
10891091
Insn::BoxFixnum { .. } => Effect::from_sets(effect_sets::Other, effect_sets::Empty),
10901092
Insn::BoxBool { .. } => effects::Empty,
10911093
Insn::IsBitEqual { .. } => effects::Empty,
1094+
// TODO(Jacob): Maybe this gets a stronger read effect?
1095+
Insn::FixnumAref { .. } => effects::Empty,
10921096
// TODO(Jacob): This is a CCall but feels like we can restrict a lot more. Perhaps even effects::Empty?
10931097
Insn::IsA { .. } => allocates,
10941098
_ => Effect::from_sets(effect_sets::Any, effect_sets::Any),

0 commit comments

Comments
 (0)