summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-06-20 13:01:08 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-06-20 13:01:08 +0200
commit49233e234e5c787396cadb2cea33b31ae0cd65c1 (patch)
tree5410cb9a8fd53168bb60d62c54b654d86f03c38d /Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
parentb211c645d8ab690f713515dfdc84d80b11c27d2c (diff)
downloadqtwebkit-49233e234e5c787396cadb2cea33b31ae0cd65c1.tar.gz
Imported WebKit commit 3a8c29f35d00659d2ce7a0ccdfa8304f14e82327 (http://svn.webkit.org/repository/webkit/trunk@120813)
New snapshot with Windows build fixes
Diffstat (limited to 'Source/JavaScriptCore/dfg/DFGFixupPhase.cpp')
-rw-r--r--Source/JavaScriptCore/dfg/DFGFixupPhase.cpp25
1 files changed, 13 insertions, 12 deletions
diff --git a/Source/JavaScriptCore/dfg/DFGFixupPhase.cpp b/Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
index e54d2cfaf..f6e3c0a96 100644
--- a/Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
+++ b/Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
@@ -74,13 +74,13 @@ private:
switch (op) {
case GetById: {
- if (!isInt32Prediction(m_graph[m_compileIndex].prediction()))
+ if (!isInt32Speculation(m_graph[m_compileIndex].prediction()))
break;
if (codeBlock()->identifier(node.identifierNumber()) != globalData().propertyNames->length)
break;
- bool isArray = isArrayPrediction(m_graph[node.child1()].prediction());
- bool isArguments = isArgumentsPrediction(m_graph[node.child1()].prediction());
- bool isString = isStringPrediction(m_graph[node.child1()].prediction());
+ bool isArray = isArraySpeculation(m_graph[node.child1()].prediction());
+ bool isArguments = isArgumentsSpeculation(m_graph[node.child1()].prediction());
+ bool isString = isStringSpeculation(m_graph[node.child1()].prediction());
bool isInt8Array = m_graph[node.child1()].shouldSpeculateInt8Array();
bool isInt16Array = m_graph[node.child1()].shouldSpeculateInt16Array();
bool isInt32Array = m_graph[node.child1()].shouldSpeculateInt32Array();
@@ -129,10 +129,10 @@ private:
break;
}
case GetIndexedPropertyStorage: {
- PredictedType basePrediction = m_graph[node.child2()].prediction();
- if ((!(basePrediction & PredictInt32) && basePrediction)
+ SpeculatedType basePrediction = m_graph[node.child2()].prediction();
+ if ((!(basePrediction & SpecInt32) && basePrediction)
|| m_graph[node.child1()].shouldSpeculateArguments()
- || !isActionableArrayPrediction(m_graph[node.child1()].prediction())) {
+ || !isActionableArraySpeculation(m_graph[node.child1()].prediction())) {
node.setOpAndDefaultFlags(Nop);
m_graph.clearAndDerefChild1(node);
m_graph.clearAndDerefChild2(node);
@@ -150,7 +150,8 @@ private:
}
case ValueToInt32: {
- if (m_graph[node.child1()].shouldSpeculateNumber()) {
+ if (m_graph[node.child1()].shouldSpeculateNumber()
+ && node.mustGenerate()) {
node.clearFlags(NodeMustGenerate);
m_graph.deref(m_compileIndex);
}
@@ -284,7 +285,7 @@ private:
Node newDivision = oldDivision;
newDivision.setRefCount(2);
- newDivision.predict(PredictDouble);
+ newDivision.predict(SpecDouble);
NodeIndex newDivisionIndex = m_graph.size();
oldDivision.setOp(DoubleAsInt32);
@@ -318,7 +319,7 @@ private:
break;
if (!m_graph[node.child2()].shouldSpeculateInteger())
break;
- if (isActionableIntMutableArrayPrediction(m_graph[node.child1()].prediction())) {
+ if (isActionableIntMutableArraySpeculation(m_graph[node.child1()].prediction())) {
if (m_graph[node.child3()].isConstant())
break;
if (m_graph[node.child3()].shouldSpeculateInteger())
@@ -326,7 +327,7 @@ private:
fixDoubleEdge(2);
break;
}
- if (isActionableFloatMutableArrayPrediction(m_graph[node.child1()].prediction())) {
+ if (isActionableFloatMutableArraySpeculation(m_graph[node.child1()].prediction())) {
fixDoubleEdge(2);
break;
}
@@ -390,7 +391,7 @@ private:
m_insertionSet.append(m_indexInBlock, resultIndex);
Node& int32ToDouble = m_graph[resultIndex];
- int32ToDouble.predict(PredictDouble);
+ int32ToDouble.predict(SpecDouble);
int32ToDouble.ref();
}