diff options
Diffstat (limited to 'Source/JavaScriptCore/dfg/DFGGraph.h')
-rw-r--r-- | Source/JavaScriptCore/dfg/DFGGraph.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/Source/JavaScriptCore/dfg/DFGGraph.h b/Source/JavaScriptCore/dfg/DFGGraph.h index b2c754f85..9fbb2df07 100644 --- a/Source/JavaScriptCore/dfg/DFGGraph.h +++ b/Source/JavaScriptCore/dfg/DFGGraph.h @@ -490,14 +490,14 @@ public: // - and so on. bool byValIsPure(Node& node) { - switch (node.arrayMode()) { + switch (node.arrayMode().type()) { case Array::Generic: - case OUT_OF_BOUNDS_CONTIGUOUS_MODES: - case ARRAY_STORAGE_TO_HOLE_MODES: - case OUT_OF_BOUNDS_ARRAY_STORAGE_MODES: - case SLOW_PUT_ARRAY_STORAGE_MODES: - case ALL_EFFECTFUL_MODES: return false; + case Array::Contiguous: + case Array::ArrayStorage: + return !node.arrayMode().isOutOfBounds(); + case Array::SlowPutArrayStorage: + return !node.arrayMode().mayStoreToHole(); case Array::String: return node.op() == GetByVal; #if USE(JSVALUE32_64) @@ -689,6 +689,7 @@ public: SegmentedVector<ArgumentPosition, 8> m_argumentPositions; SegmentedVector<StructureSet, 16> m_structureSet; SegmentedVector<StructureTransitionData, 8> m_structureTransitionData; + SegmentedVector<NewArrayBufferData, 4> m_newArrayBufferData; bool m_hasArguments; HashSet<ExecutableBase*> m_executablesWhoseArgumentsEscaped; BitVector m_preservedVars; |