Index: third_party/WebKit/Source/platform/heap/ThreadState.h |
diff --git a/third_party/WebKit/Source/platform/heap/ThreadState.h b/third_party/WebKit/Source/platform/heap/ThreadState.h |
index 456d154a3a689c083b227afc911945329f6f0716..9f09f529740fc1e981141b845d53df827cc62cae 100644 |
--- a/third_party/WebKit/Source/platform/heap/ThreadState.h |
+++ b/third_party/WebKit/Source/platform/heap/ThreadState.h |
@@ -418,10 +418,13 @@ public: |
void shouldFlushHeapDoesNotContainCache() { m_shouldFlushHeapDoesNotContainCache = true; } |
- void registerTraceDOMWrappers(v8::Isolate* isolate, void (*traceDOMWrappers)(v8::Isolate*, Visitor*)) |
+ void registerTraceDOMWrappers(v8::Isolate* isolate, |
+ void (*traceDOMWrappers)(v8::Isolate*, Visitor*), |
+ void (*cleanTraceWrappersMarkingDeque)(v8::Isolate*)) |
{ |
m_isolate = isolate; |
m_traceDOMWrappers = traceDOMWrappers; |
+ m_cleanTraceWrappersMarkingDeque = cleanTraceWrappersMarkingDeque; |
} |
// By entering a gc-forbidden scope, conservative GCs will not |
@@ -524,6 +527,13 @@ public: |
v8::Isolate* isolate() const { return m_isolate; } |
+ void cleanTraceWrappersMarkingDeque() |
+ { |
+ if (m_cleanTraceWrappersMarkingDeque) { |
+ m_cleanTraceWrappersMarkingDeque(m_isolate); |
+ } |
+ } |
+ |
private: |
enum SnapshotType { |
HeapSnapshot, |
@@ -656,6 +666,7 @@ private: |
v8::Isolate* m_isolate; |
void (*m_traceDOMWrappers)(v8::Isolate*, Visitor*); |
+ void (*m_cleanTraceWrappersMarkingDeque)(v8::Isolate*); |
#if defined(ADDRESS_SANITIZER) |
void* m_asanFakeStack; |