Title: [157964] branches/safari-537.73-branch/Source/_javascript_Core/dfg
Revision
157964
Author
[email protected]
Date
2013-10-24 17:06:57 -0700 (Thu, 24 Oct 2013)

Log Message

Merge fix for <rdar://problem/15109401>

Modified Paths


Diff

Modified: branches/safari-537.73-branch/Source/_javascript_Core/dfg/DFGCSEPhase.cpp (157963 => 157964)


--- branches/safari-537.73-branch/Source/_javascript_Core/dfg/DFGCSEPhase.cpp	2013-10-25 00:02:58 UTC (rev 157963)
+++ branches/safari-537.73-branch/Source/_javascript_Core/dfg/DFGCSEPhase.cpp	2013-10-25 00:06:57 UTC (rev 157964)
@@ -254,9 +254,11 @@
                 break;
             } 
             case PutScopedVar: {
-                if (node->child2() == registers && node->varNumber() == varNumber)
+                if (node->varNumber() != varNumber)
+                    break;
+                if (node->child2() == registers)
                     return node->child3().node();
-                break;
+                return 0;
             }
             case SetLocal: {
                 VariableAccessData* variableAccessData = node->variableAccessData();
@@ -327,9 +329,11 @@
             Node* node = m_currentBlock->at(i);
             switch (node->op()) {
             case PutScopedVar: {
-                if (node->child1() == scope && node->child2() == registers && node->varNumber() == varNumber)
+                if (node->varNumber() != varNumber)
+                    break;
+                if (node->child1() == scope && node->child2() == registers)
                     return node;
-                break;
+                return 0;
             }
                 
             case GetScopedVar: {

Modified: branches/safari-537.73-branch/Source/_javascript_Core/dfg/DFGFixupPhase.cpp (157963 => 157964)


--- branches/safari-537.73-branch/Source/_javascript_Core/dfg/DFGFixupPhase.cpp	2013-10-25 00:02:58 UTC (rev 157963)
+++ branches/safari-537.73-branch/Source/_javascript_Core/dfg/DFGFixupPhase.cpp	2013-10-25 00:06:57 UTC (rev 157964)
@@ -120,6 +120,7 @@
         case ValueToInt32: {
             if (node->child1()->shouldSpeculateInteger()) {
                 setUseKindAndUnboxIfProfitable<Int32Use>(node->child1());
+                node->setOpAndDefaultFlags(Identity);
                 break;
             }
             
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to