summaryrefslogtreecommitdiff
path: root/js/src/jit
diff options
context:
space:
mode:
authorMoonchild <moonchild@palemoon.org>2020-05-05 23:43:22 +0000
committerMoonchild <moonchild@palemoon.org>2020-05-05 23:43:22 +0000
commitfdfa53be1e40bcb379cb7c3a6df80a383bcb0765 (patch)
tree7396f1ee55a80a67ac1e3e69c0616e18b796cec0 /js/src/jit
parent3802607ab2838f127c32f91314a9b26160b1f1b7 (diff)
downloaduxp-fdfa53be1e40bcb379cb7c3a6df80a383bcb0765.tar.gz
[js] Record load in MCreateThis alias set.
Diffstat (limited to 'js/src/jit')
-rw-r--r--js/src/jit/AliasAnalysisShared.cpp1
-rw-r--r--js/src/jit/MIR.h5
2 files changed, 4 insertions, 2 deletions
diff --git a/js/src/jit/AliasAnalysisShared.cpp b/js/src/jit/AliasAnalysisShared.cpp
index 99c23d2a3e..21a479bf8d 100644
--- a/js/src/jit/AliasAnalysisShared.cpp
+++ b/js/src/jit/AliasAnalysisShared.cpp
@@ -134,6 +134,7 @@ GetObject(const MDefinition* ins)
case MDefinition::Op_SetArgumentsObjectArg:
case MDefinition::Op_GetFrameArgument:
case MDefinition::Op_SetFrameArgument:
+ case MDefinition::Op_CreateThis:
case MDefinition::Op_CompareExchangeTypedArrayElement:
case MDefinition::Op_AtomicExchangeTypedArrayElement:
case MDefinition::Op_AtomicTypedArrayElementBinop:
diff --git a/js/src/jit/MIR.h b/js/src/jit/MIR.h
index 81662a9be7..a7daea0819 100644
--- a/js/src/jit/MIR.h
+++ b/js/src/jit/MIR.h
@@ -5007,9 +5007,10 @@ class MCreateThis
TRIVIAL_NEW_WRAPPERS
NAMED_OPERANDS((0, getCallee), (1, getNewTarget))
- // Although creation of |this| modifies global state, it is safely repeatable.
+ // Performs a property read from |newTarget| if |newTarget| is a JSFunction
+ // with an own |.prototype| property.
AliasSet getAliasSet() const override {
- return AliasSet::None();
+ return AliasSet::Load(AliasSet::Any);
}
bool possiblyCalls() const override {
return true;