Index: Source/platform/heap/Heap.cpp |
diff --git a/Source/platform/heap/Heap.cpp b/Source/platform/heap/Heap.cpp |
index a25225c2bec962e07edfa8b4c754650f1be0cf4e..aa76e81c63878a0c7b19d0c399a2ffd36f8ad009 100644 |
--- a/Source/platform/heap/Heap.cpp |
+++ b/Source/platform/heap/Heap.cpp |
@@ -1851,6 +1851,9 @@ public: |
MarkingVisitor() |
: Visitor(Mode == GlobalMarking ? Visitor::GlobalMarkingVisitorType : Visitor::GenericVisitorType) |
+#if ENABLE(ASSERT) |
+ , m_allowTraceForHashTableWeakProcessing(false) |
+#endif |
{ |
} |
@@ -2023,6 +2026,20 @@ protected: |
// does, the object should not be marked & traced. |
return page->terminating(); |
} |
+ |
+#if ENABLE(ASSERT) |
+ virtual void checkIsMarkingAllowed() override |
haraken
2015/01/13 07:55:53
It sounds inconsistent to have check"IsMarking"All
kouhei (in TOK)
2015/01/14 02:10:05
Done.
|
+ { |
+ ASSERT(ThreadState::current()->isInGC() || m_allowTraceForHashTableWeakProcessing); |
+ } |
+ |
+ virtual void setAllowTraceForHashTableWeakProcessing(bool allow) override |
+ { |
+ m_allowTraceForHashTableWeakProcessing = true; |
haraken
2015/01/13 07:55:53
Shouldn't this be '= allow' ?
kouhei (in TOK)
2015/01/14 02:10:05
Done.
|
+ } |
+ |
+ bool m_allowTraceForHashTableWeakProcessing; |
+#endif |
}; |
void Heap::init() |