Index: third_party/WebKit/Source/platform/heap/GarbageCollected.h |
diff --git a/third_party/WebKit/Source/platform/heap/GarbageCollected.h b/third_party/WebKit/Source/platform/heap/GarbageCollected.h |
index d9abbd3a2af03f801b57b211bcde0a65a25b1231..5559fc27cdbbea7192b9d8bca46291e2c4b5a17e 100644 |
--- a/third_party/WebKit/Source/platform/heap/GarbageCollected.h |
+++ b/third_party/WebKit/Source/platform/heap/GarbageCollected.h |
@@ -128,6 +128,7 @@ public: |
virtual void adjustAndMark(InlinedGlobalMarkingVisitor) const = 0; |
virtual void trace(InlinedGlobalMarkingVisitor); |
virtual bool isHeapObjectAlive() const = 0; |
+ virtual HeapObjectHeader* heapObjectHeader() const = 0; |
}; |
#define DEFINE_GARBAGE_COLLECTED_MIXIN_METHODS(VISITOR, TYPE) \ |
@@ -205,6 +206,10 @@ public: \ |
{ \ |
return Heap::isHeapObjectAlive(this); \ |
} \ |
+ HeapObjectHeader* heapObjectHeader() const override \ |
+ { \ |
+ return HeapObjectHeader::fromPayload(this); \ |
+ } \ |
private: |
#if ENABLE(OILPAN) |