diff options
Diffstat (limited to 'Source/JavaScriptCore/heap/CopiedBlock.h')
-rw-r--r-- | Source/JavaScriptCore/heap/CopiedBlock.h | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/Source/JavaScriptCore/heap/CopiedBlock.h b/Source/JavaScriptCore/heap/CopiedBlock.h index 387b2ddab..431b86c38 100644 --- a/Source/JavaScriptCore/heap/CopiedBlock.h +++ b/Source/JavaScriptCore/heap/CopiedBlock.h @@ -55,16 +55,30 @@ public: #endif } - char* payload() - { - return reinterpret_cast<char*>(this) + ((sizeof(CopiedBlock) + 7) & ~7); - } + char* payload(); + size_t size(); + size_t capacity(); private: void* m_offset; uintptr_t m_isPinned; }; +inline char* CopiedBlock::payload() +{ + return reinterpret_cast<char*>(this) + ((sizeof(CopiedBlock) + 7) & ~7); +} + +inline size_t CopiedBlock::size() +{ + return static_cast<size_t>(static_cast<char*>(m_offset) - payload()); +} + +inline size_t CopiedBlock::capacity() +{ + return m_allocation.size(); +} + } // namespace JSC #endif |