X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/93a3786624b2768d89bfa27e46598dc64e2fb70a..4be4e30906bcb8ee30b4d189205cb70bad6707ce:/dfg/DFGAbstractState.cpp diff --git a/dfg/DFGAbstractState.cpp b/dfg/DFGAbstractState.cpp index 200ed74..78ebb4a 100644 --- a/dfg/DFGAbstractState.cpp +++ b/dfg/DFGAbstractState.cpp @@ -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;