| Index: Source/platform/heap/MarkingVisitorImpl.h
|
| diff --git a/Source/platform/heap/MarkingVisitorImpl.h b/Source/platform/heap/MarkingVisitorImpl.h
|
| index dd869fed5ffac1399cac675e10ead12144aa6f41..55bcf4c566a2240816748f8d7078155295e95cfb 100644
|
| --- a/Source/platform/heap/MarkingVisitorImpl.h
|
| +++ b/Source/platform/heap/MarkingVisitorImpl.h
|
| @@ -41,6 +41,7 @@ protected:
|
| #if ENABLE(ASSERT)
|
| toDerived()->checkMarkingAllowed();
|
| ASSERT(Heap::findPageFromAddress(header));
|
| + ASSERT(toDerived()->markingMode() != Visitor::WeakProcessing);
|
| #endif
|
| header->mark();
|
|
|
| @@ -62,16 +63,19 @@ protected:
|
|
|
| inline void registerDelayedMarkNoTracing(const void* objectPointer)
|
| {
|
| + ASSERT(toDerived()->markingMode() != Visitor::WeakProcessing);
|
| Heap::pushPostMarkingCallback(const_cast<void*>(objectPointer), &markNoTracingCallback);
|
| }
|
|
|
| inline void registerWeakMembers(const void* closure, const void* objectPointer, WeakCallback callback)
|
| {
|
| + ASSERT(toDerived()->markingMode() != Visitor::WeakProcessing);
|
| Heap::pushThreadLocalWeakCallback(const_cast<void*>(closure), const_cast<void*>(objectPointer), callback);
|
| }
|
|
|
| inline void registerWeakTable(const void* closure, EphemeronCallback iterationCallback, EphemeronCallback iterationDoneCallback)
|
| {
|
| + ASSERT(toDerived()->markingMode() != Visitor::WeakProcessing);
|
| Heap::registerWeakTable(const_cast<void*>(closure), iterationCallback, iterationDoneCallback);
|
| }
|
|
|
| @@ -112,6 +116,7 @@ protected:
|
| protected:
|
| inline void registerWeakCellWithCallback(void** cell, WeakCallback callback)
|
| {
|
| + ASSERT(toDerived()->markingMode() != Visitor::WeakProcessing);
|
| Heap::pushGlobalWeakCallback(cell, callback);
|
| }
|
|
|
|
|