diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-05-07 11:21:11 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-05-07 11:21:11 +0200 |
commit | 2cf6c8816a73e0132bd8fa3b509d62d7c51b6e47 (patch) | |
tree | 988e8c5b116dd0466244ae2fe5af8ee9be926d76 /Source/JavaScriptCore/heap/CopiedSpaceInlineMethods.h | |
parent | dd91e772430dc294e3bf478c119ef8d43c0a3358 (diff) | |
download | qtwebkit-2cf6c8816a73e0132bd8fa3b509d62d7c51b6e47.tar.gz |
Imported WebKit commit 7e538425aa020340619e927792f3d895061fb54b (http://svn.webkit.org/repository/webkit/trunk@116286)
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) |