mirror of
https://github.com/roytam1/basilisk55.git
synced 2026-05-26 15:02:46 +00:00
port changes from UXP and mozilla upstreams:
- Simplify some alias sets in IonMonkey. (0b999100) - Bug 1607443 - Fix some alias sets. r=tcampbell, a=lizzard
This commit is contained in:
@@ -86,8 +86,6 @@ GetObject(const MDefinition* ins)
|
||||
case MDefinition::Op_SetInitializedLength:
|
||||
case MDefinition::Op_ArrayLength:
|
||||
case MDefinition::Op_SetArrayLength:
|
||||
case MDefinition::Op_StoreElementHole:
|
||||
case MDefinition::Op_FallibleStoreElement:
|
||||
case MDefinition::Op_TypedObjectDescr:
|
||||
case MDefinition::Op_Slots:
|
||||
case MDefinition::Op_Elements:
|
||||
@@ -102,7 +100,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 +123,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 +146,9 @@ GetObject(const MDefinition* ins)
|
||||
case MDefinition::Op_WasmLoadGlobalVar:
|
||||
case MDefinition::Op_WasmStoreGlobalVar:
|
||||
case MDefinition::Op_ArrayJoin:
|
||||
case MDefinition::Op_ArraySlice:
|
||||
case MDefinition::Op_StoreElementHole:
|
||||
case MDefinition::Op_FallibleStoreElement:
|
||||
return nullptr;
|
||||
default:
|
||||
#ifdef DEBUG
|
||||
|
||||
+2
-11
@@ -9586,12 +9586,6 @@ class MStoreElementHole
|
||||
JSValueType unboxedType() const {
|
||||
return unboxedType_;
|
||||
}
|
||||
AliasSet getAliasSet() const override {
|
||||
// StoreElementHole can update the initialized length, the array length
|
||||
// or reallocate obj->elements.
|
||||
return AliasSet::Store(AliasSet::ObjectFields |
|
||||
AliasSet::BoxedOrUnboxedElements(unboxedType()));
|
||||
}
|
||||
|
||||
ALLOW_CLONE(MStoreElementHole)
|
||||
};
|
||||
@@ -9628,10 +9622,6 @@ class MFallibleStoreElement
|
||||
JSValueType unboxedType() const {
|
||||
return unboxedType_;
|
||||
}
|
||||
AliasSet getAliasSet() const override {
|
||||
return AliasSet::Store(AliasSet::ObjectFields |
|
||||
AliasSet::BoxedOrUnboxedElements(unboxedType()));
|
||||
}
|
||||
bool strict() const {
|
||||
return strict_;
|
||||
}
|
||||
@@ -11813,7 +11803,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;
|
||||
|
||||
Reference in New Issue
Block a user