diff options
Diffstat (limited to 'Source/JavaScriptCore/heap/CopiedSpaceInlineMethods.h')
-rw-r--r-- | Source/JavaScriptCore/heap/CopiedSpaceInlineMethods.h | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/Source/JavaScriptCore/heap/CopiedSpaceInlineMethods.h b/Source/JavaScriptCore/heap/CopiedSpaceInlineMethods.h index 0b1b38d32..a8e45658b 100644 --- a/Source/JavaScriptCore/heap/CopiedSpaceInlineMethods.h +++ b/Source/JavaScriptCore/heap/CopiedSpaceInlineMethods.h @@ -56,8 +56,6 @@ inline void CopiedSpace::startedCopying() m_toSpaceFilter.reset(); m_allocator.startedCopying(); - m_totalMemoryUtilized = 0; - ASSERT(!m_inCopyingPhase); ASSERT(!m_numberOfLoanedBlocks); m_inCopyingPhase = true; @@ -65,11 +63,7 @@ inline void CopiedSpace::startedCopying() inline void CopiedSpace::recycleBlock(CopiedBlock* block) { - { - MutexLocker locker(m_heap->m_freeBlockLock); - m_heap->m_freeBlocks.push(block); - m_heap->m_numberOfFreeBlocks++; - } + m_heap->blockAllocator().deallocate(block); { MutexLocker locker(m_loanedBlocksLock); @@ -118,18 +112,13 @@ inline CheckedBoolean CopiedSpace::allocateNewBlock(CopiedBlock** outBlock) return false; } - { - MutexLocker locker(m_memoryStatsLock); - m_totalMemoryAllocated += HeapBlock::s_blockSize; - } - *outBlock = new (NotNull, allocation.base()) CopiedBlock(allocation); return true; } inline bool CopiedSpace::fitsInBlock(CopiedBlock* block, size_t bytes) { - return static_cast<char*>(block->m_offset) + bytes < reinterpret_cast<char*>(block) + HeapBlock::s_blockSize && static_cast<char*>(block->m_offset) + bytes > block->m_offset; + return static_cast<char*>(block->m_offset) + bytes < reinterpret_cast<char*>(block) + block->capacity() && static_cast<char*>(block->m_offset) + bytes > block->m_offset; } inline CheckedBoolean CopiedSpace::tryAllocate(size_t bytes, void** outPtr) @@ -146,14 +135,13 @@ inline CheckedBoolean CopiedSpace::tryAllocate(size_t bytes, void** outPtr) inline void* CopiedSpace::allocateFromBlock(CopiedBlock* block, size_t bytes) { - ASSERT(!isOversize(bytes)); ASSERT(fitsInBlock(block, bytes)); ASSERT(is8ByteAligned(block->m_offset)); void* ptr = block->m_offset; - ASSERT(block->m_offset >= block->payload() && block->m_offset < reinterpret_cast<char*>(block) + HeapBlock::s_blockSize); + ASSERT(block->m_offset >= block->payload() && block->m_offset < reinterpret_cast<char*>(block) + block->capacity()); block->m_offset = static_cast<void*>((static_cast<char*>(ptr) + bytes)); - ASSERT(block->m_offset >= block->payload() && block->m_offset < reinterpret_cast<char*>(block) + HeapBlock::s_blockSize); + ASSERT(block->m_offset >= block->payload() && block->m_offset < reinterpret_cast<char*>(block) + block->capacity()); ASSERT(is8ByteAligned(ptr)); return ptr; @@ -171,7 +159,7 @@ inline bool CopiedSpace::isPinned(void* ptr) inline CopiedBlock* CopiedSpace::oversizeBlockFor(void* ptr) { - return reinterpret_cast<CopiedBlock*>(reinterpret_cast<size_t>(ptr) & s_pageMask); + return reinterpret_cast<CopiedBlock*>(reinterpret_cast<size_t>(ptr) & WTF::pageMask()); } inline CopiedBlock* CopiedSpace::blockFor(void* ptr) |