diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-06-20 13:01:08 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-06-20 13:01:08 +0200 |
commit | 49233e234e5c787396cadb2cea33b31ae0cd65c1 (patch) | |
tree | 5410cb9a8fd53168bb60d62c54b654d86f03c38d /Source/JavaScriptCore/dfg/DFGFixupPhase.cpp | |
parent | b211c645d8ab690f713515dfdc84d80b11c27d2c (diff) | |
download | qtwebkit-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.cpp | 25 |
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(); } |