diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-03-26 18:30:57 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-03-26 18:30:57 +0100 |
commit | 0b999100f6c0b7b90d1167237621826e0e6a808a (patch) | |
tree | 0577eb237e48c6ad16d7312aafeaa91c947a8038 | |
parent | 91d17efc6885e71de63393075aed680d2a7b53b1 (diff) | |
download | UXP-0b999100f6c0b7b90d1167237621826e0e6a808a.tar UXP-0b999100f6c0b7b90d1167237621826e0e6a808a.tar.gz UXP-0b999100f6c0b7b90d1167237621826e0e6a808a.tar.lz UXP-0b999100f6c0b7b90d1167237621826e0e6a808a.tar.xz UXP-0b999100f6c0b7b90d1167237621826e0e6a808a.zip |
Simplify some alias sets in IonMonkey.
-rw-r--r-- | js/src/jit/AliasAnalysisShared.cpp | 3 | ||||
-rw-r--r-- | js/src/jit/MIR.h | 7 |
2 files changed, 4 insertions, 6 deletions
diff --git a/js/src/jit/AliasAnalysisShared.cpp b/js/src/jit/AliasAnalysisShared.cpp index ae28327ca..81c0fd067 100644 --- a/js/src/jit/AliasAnalysisShared.cpp +++ b/js/src/jit/AliasAnalysisShared.cpp @@ -102,7 +102,6 @@ GetObject(const MDefinition* ins) case MDefinition::Op_SetDisjointTypedElements: case MDefinition::Op_ArrayPopShift: case MDefinition::Op_ArrayPush: - case MDefinition::Op_ArraySlice: case MDefinition::Op_LoadTypedArrayElementHole: case MDefinition::Op_StoreTypedArrayElementHole: case MDefinition::Op_LoadFixedSlot: @@ -126,6 +125,7 @@ GetObject(const MDefinition* ins) object = ins->getOperand(0); break; case MDefinition::Op_GetPropertyCache: + case MDefinition::Op_CallGetProperty: case MDefinition::Op_LoadTypedArrayElementStatic: case MDefinition::Op_StoreTypedArrayElementStatic: case MDefinition::Op_GetDOMProperty: @@ -148,6 +148,7 @@ GetObject(const MDefinition* ins) case MDefinition::Op_WasmLoadGlobalVar: case MDefinition::Op_WasmStoreGlobalVar: case MDefinition::Op_ArrayJoin: + case MDefinition::Op_ArraySlice: return nullptr; default: #ifdef DEBUG diff --git a/js/src/jit/MIR.h b/js/src/jit/MIR.h index b2e84322f..fb0f22fc3 100644 --- a/js/src/jit/MIR.h +++ b/js/src/jit/MIR.h @@ -9910,10 +9910,6 @@ class MArraySlice return unboxedType_; } - AliasSet getAliasSet() const override { - return AliasSet::Store(AliasSet::BoxedOrUnboxedElements(unboxedType()) | - AliasSet::ObjectFields); - } bool possiblyCalls() const override { return true; } @@ -11837,7 +11833,8 @@ class MCallGetProperty AliasSet getAliasSet() const override { if (!idempotent_) return AliasSet::Store(AliasSet::Any); - return AliasSet::None(); + return AliasSet::Load(AliasSet::ObjectFields | AliasSet::FixedSlot | + AliasSet::DynamicSlot); } bool possiblyCalls() const override { return true; |