Chromium Code Reviews| 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..fed2280a6985054931f5351005913d2e7df0685d 100644 |
| --- a/third_party/WebKit/Source/platform/heap/HeapPage.h |
| +++ b/third_party/WebKit/Source/platform/heap/HeapPage.h |
| @@ -142,7 +142,7 @@ class WebMemoryAllocatorDump; |
| // - 1 bit used to mark DOM trees for V8. |
| // - 14 bit is enough for gcInfoIndex because there are less than 2^14 types |
| // in Blink. |
| -const size_t headerDOMMarkBitMask = 1u << 17; |
| +const size_t headerWrapperMarkBitMast = 1u << 17; |
|
Hannes Payer (out of office)
2016/04/19 07:44:33
headerWrapperMarkBitMask
Marcel Hlopko
2016/04/19 12:40:30
Done.
|
| const size_t headerGCInfoIndexShift = 18; |
| const size_t headerGCInfoIndexMask = (static_cast<size_t>((1 << 14) - 1)) << headerGCInfoIndexShift; |
| const size_t headerSizeMask = (static_cast<size_t>((1 << 14) - 1)) << 3; |
| @@ -205,6 +205,9 @@ public: |
| ASSERT(size < nonLargeObjectPageSizeMax); |
| m_encoded = static_cast<uint32_t>(size) | (m_encoded & ~headerSizeMask); |
| } |
| + bool isWrapperMarked() const; |
| + void markWrapper(); |
| + void unmarkWrapper(); |
|
haraken
2016/04/19 04:58:31
isWrapperHeaderMarked
markWrapperHeader
unmarkWrap
Marcel Hlopko
2016/04/19 12:40:30
Done.
Marcel Hlopko
2016/04/19 12:40:30
Done.
|
| bool isMarked() const; |
| void mark(); |
| void unmark(); |
| @@ -835,6 +838,29 @@ inline HeapObjectHeader* HeapObjectHeader::fromPayload(const void* payload) |
| } |
| NO_SANITIZE_ADDRESS inline |
| +bool HeapObjectHeader::isWrapperMarked() const |
| +{ |
| + ASSERT(checkHeader()); |
| + return m_encoded & headerWrapperMarkBitMast; |
| +} |
| + |
| +NO_SANITIZE_ADDRESS inline |
| +void HeapObjectHeader::markWrapper() |
| +{ |
| + ASSERT(checkHeader()); |
| + ASSERT(!isWrapperMarked()); |
| + m_encoded |= headerWrapperMarkBitMast; |
| +} |
| + |
| +NO_SANITIZE_ADDRESS inline |
| +void HeapObjectHeader::unmarkWrapper() |
| +{ |
| + ASSERT(checkHeader()); |
| + ASSERT(isWrapperMarked()); |
| + m_encoded &= ~headerWrapperMarkBitMast; |
| +} |
| + |
| +NO_SANITIZE_ADDRESS inline |
| bool HeapObjectHeader::isMarked() const |
| { |
| ASSERT(checkHeader()); |