Ignore:
Timestamp:
Aug 3, 2010, 8:27:13 PM (15 years ago)
Author:
[email protected]
Message:

https://bugs.webkit.org/show_bug.cgi?id=43269

Patch by Nathan Lawrence <[email protected]> on 2010-08-03
Reviewed by Gavin Barraclough.

Added new allocateAligned methods to PageAllocation. In order to
prevent a regress in performance, the function needs to be inlined.

Additionally, I ported the symbian block allocator to use
PageAllocation and added a new WTF::Bitmap class to support this.

(JSC::AlignedMemory::deallocate):
(JSC::AlignedMemory::base):
(JSC::AlignedMemory::AlignedMemory):
(JSC::AlignedMemoryAllocator::destroy):
(JSC::AlignedMemoryAllocator::allocate):
(JSC::AlignedMemoryAllocator::AlignedMemoryAllocator):
(JSC::AlignedMemoryAllocator::~AlignedMemoryAllocator):
(JSC::AlignedMemoryAllocator::free):

  • runtime/Collector.cpp:

(JSC::Heap::Heap):
(JSC::Heap::destroy):
(JSC::Heap::allocateBlock):
(JSC::Heap::freeBlock):
(JSC::Heap::freeBlocks):
(JSC::Heap::allocate):
(JSC::Heap::shrinkBlocks):
(JSC::Heap::markConservatively):
(JSC::Heap::clearMarkBits):
(JSC::Heap::markedCells):

  • runtime/Collector.h:

(JSC::CollectorHeap::collectorBlock):

  • runtime/CollectorHeapIterator.h:

(JSC::CollectorHeapIterator::operator*):
(JSC::LiveObjectIterator::operator++):
(JSC::DeadObjectIterator::operator++):

  • wtf/Bitmap.h: Added.

(WTF::Bitmap::get):
(WTF::Bitmap::set):
(WTF::Bitmap::clear):
(WTF::Bitmap::clearAll):
(WTF::Bitmap::advanceToNextFreeBit):
(WTF::Bitmap::count):
(WTF::Bitmap::isEmpty):
(WTF::Bitmap::isFull):

  • wtf/PageAllocation.h:

(WTF::PageAllocation::operator UnspecifiedBoolType):
(WTF::PageAllocation::allocateAligned):
(WTF::PageAllocation::reserveAligned):

  • wtf/Platform.h:
  • wtf/symbian: Removed.
  • wtf/symbian/BlockAllocatorSymbian.cpp: Removed.
  • wtf/symbian/BlockAllocatorSymbian.h: Removed.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/JavaScriptCore.gypi

    r64585 r64624  
    165165            'profiler/Profiler.h',
    166166            'profiler/ProfilerServer.h',
     167            'runtime/AlignedMemoryAllocator.h',
    167168            'runtime/ArgList.cpp',
    168169            'runtime/ArgList.h',
     
    351352            'wtf/Atomics.h',
    352353            'wtf/AVLTree.h',
     354            'wtf/Bitmap.h',
    353355            'wtf/ByteArray.cpp',
    354356            'wtf/ByteArray.h',
Note: See TracChangeset for help on using the changeset viewer.