| Index: third_party/WebKit/Source/platform/heap/HeapPage.h
|
| diff --git a/third_party/WebKit/Source/platform/heap/HeapPage.h b/third_party/WebKit/Source/platform/heap/HeapPage.h
|
| index bb54094a1d36f75d643424a1a8c381a2b14357a1..bcedc4c0c0a1ab095f71e5d22750536f72301e13 100644
|
| --- a/third_party/WebKit/Source/platform/heap/HeapPage.h
|
| +++ b/third_party/WebKit/Source/platform/heap/HeapPage.h
|
| @@ -205,6 +205,9 @@ public:
|
| ASSERT(size < nonLargeObjectPageSizeMax);
|
| m_encoded = static_cast<uint32_t>(size) | (m_encoded & ~headerSizeMask);
|
| }
|
| + bool isDOMMarked() const;
|
| + void markDOM();
|
| + void unmarkDOM();
|
| bool isMarked() const;
|
| void mark();
|
| void unmark();
|
| @@ -835,6 +838,29 @@ inline HeapObjectHeader* HeapObjectHeader::fromPayload(const void* payload)
|
| }
|
|
|
| NO_SANITIZE_ADDRESS inline
|
| +bool HeapObjectHeader::isDOMMarked() const
|
| +{
|
| + ASSERT(checkHeader());
|
| + return m_encoded & headerDOMMarkBitMask;
|
| +}
|
| +
|
| +NO_SANITIZE_ADDRESS inline
|
| +void HeapObjectHeader::markDOM()
|
| +{
|
| + ASSERT(checkHeader());
|
| + ASSERT(!isDOMMarked());
|
| + m_encoded |= headerDOMMarkBitMask;
|
| +}
|
| +
|
| +NO_SANITIZE_ADDRESS inline
|
| +void HeapObjectHeader::unmarkDOM()
|
| +{
|
| + ASSERT(checkHeader());
|
| + ASSERT(isDOMMarked());
|
| + m_encoded &= ~headerDOMMarkBitMask;
|
| +}
|
| +
|
| +NO_SANITIZE_ADDRESS inline
|
| bool HeapObjectHeader::isMarked() const
|
| {
|
| ASSERT(checkHeader());
|
|
|