]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - dfg/DFGAbstractState.cpp
JavaScriptCore-1218.35.tar.gz
[apple/javascriptcore.git] / dfg / DFGAbstractState.cpp
index 200ed743c1184d9569da846f379dc6306cb22a38..78ebb4aa800680c756ffa64917619b92c593e2b5 100644 (file)
@@ -476,6 +476,7 @@ bool AbstractState::executeEffects(unsigned indexInBlock, Node* node)
     }
         
     case MakeRope: {
+        node->setCanExit(true);
         forNode(node).set(m_graph.m_vm.stringStructure.get());
         break;
     }
@@ -1529,7 +1530,7 @@ bool AbstractState::executeEffects(unsigned indexInBlock, Node* node)
         // Again, sadly, we don't propagate the fact that we've done InstanceOf
         forNode(node).set(SpecBoolean);
         break;
-            
+
     case Phi:
     case Flush:
     case PhantomLocal:
@@ -1552,6 +1553,10 @@ bool AbstractState::executeEffects(unsigned indexInBlock, Node* node)
         forNode(node).makeTop();
         break;
 
+    case Unreachable:
+        RELEASE_ASSERT_NOT_REACHED();
+        break;
+
     case ForceOSRExit:
         node->setCanExit(true);
         m_isValid = false;
@@ -1777,8 +1782,7 @@ inline bool AbstractState::mergeToSuccessors(Graph& graph, BasicBlock* basicBloc
     }
         
     case Return:
-    case Throw:
-    case ThrowReferenceError:
+    case Unreachable:
         ASSERT(basicBlock->cfaBranchDirection == InvalidBranchDirection);
         return false;