From 6dbcd09121fe266c7704a524b5cbd7f2754659c0 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Thu, 20 Sep 2012 14:01:09 +0200 Subject: Imported WebKit commit 080af0beaa6f0ba8ff8f44cb8bd8b5dcf75ac0af (http://svn.webkit.org/repository/webkit/trunk@129119) New snapshot with prospective build fix for incorrect QtWebKit master module header file creation --- Source/JavaScriptCore/dfg/DFGAbstractState.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'Source/JavaScriptCore/dfg/DFGAbstractState.cpp') diff --git a/Source/JavaScriptCore/dfg/DFGAbstractState.cpp b/Source/JavaScriptCore/dfg/DFGAbstractState.cpp index 153ba311c..50b9e2b9f 100644 --- a/Source/JavaScriptCore/dfg/DFGAbstractState.cpp +++ b/Source/JavaScriptCore/dfg/DFGAbstractState.cpp @@ -841,6 +841,7 @@ bool AbstractState::execute(unsigned indexInBlock) node.setCanExit(true); switch (node.arrayMode()) { case Array::Undecided: + case Array::Unprofiled: ASSERT_NOT_REACHED(); break; case Array::ForceExit: @@ -863,6 +864,7 @@ bool AbstractState::execute(unsigned indexInBlock) forNode(nodeIndex).makeTop(); break; case OUT_OF_BOUNDS_ARRAY_STORAGE_MODES: + case ALL_EFFECTFUL_ARRAY_STORAGE_MODES: forNode(node.child2()).filter(SpecInt32); clobberWorld(node.codeOrigin, indexInBlock); forNode(nodeIndex).makeTop(); @@ -926,6 +928,7 @@ bool AbstractState::execute(unsigned indexInBlock) forNode(child2).filter(SpecInt32); break; case OUT_OF_BOUNDS_ARRAY_STORAGE_MODES: + case ALL_EFFECTFUL_ARRAY_STORAGE_MODES: forNode(child2).filter(SpecInt32); clobberWorld(node.codeOrigin, indexInBlock); break; @@ -1397,6 +1400,20 @@ bool AbstractState::execute(unsigned indexInBlock) } break; } + case Arrayify: { + switch (node.arrayMode()) { + case EFFECTFUL_NON_ARRAY_ARRAY_STORAGE_MODES: + node.setCanExit(true); + forNode(node.child1()).filter(SpecCell); + forNode(nodeIndex).clear(); + clobberStructures(indexInBlock); + break; + default: + ASSERT_NOT_REACHED(); + break; + } + break; + } case GetIndexedPropertyStorage: { switch (node.arrayMode()) { case Array::String: -- cgit v1.2.1