summaryrefslogtreecommitdiffstats
path: root/JavaScriptCore/runtime/JSArray.h
diff options
context:
space:
mode:
Diffstat (limited to 'JavaScriptCore/runtime/JSArray.h')
-rw-r--r--JavaScriptCore/runtime/JSArray.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/JavaScriptCore/runtime/JSArray.h b/JavaScriptCore/runtime/JSArray.h
index 9e155d8..de28b65 100644
--- a/JavaScriptCore/runtime/JSArray.h
+++ b/JavaScriptCore/runtime/JSArray.h
@@ -222,6 +222,10 @@ namespace JSC {
inline void MarkStack::drain()
{
+#if !ASSERT_DISABLED
+ ASSERT(!m_isDraining);
+ m_isDraining = true;
+#endif
while (!m_markSets.isEmpty() || !m_values.isEmpty()) {
while (!m_markSets.isEmpty() && m_values.size() < 50) {
ASSERT(!m_markSets.isEmpty());
@@ -260,6 +264,9 @@ namespace JSC {
while (!m_values.isEmpty())
markChildren(m_values.removeLast());
}
+#if !ASSERT_DISABLED
+ m_isDraining = false;
+#endif
}
// Rule from ECMA 15.2 about what an array index is.