diff options
author | Jocelyn Turcotte <jocelyn.turcotte@digia.com> | 2015-01-09 18:52:56 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2015-01-13 12:41:51 +0100 |
commit | 6c77a37bfcc5ebf30a126e5c937e8a0ca1773d24 (patch) | |
tree | 38992fb65332e8b420da9b43a2a626ec6a211a23 /src/3rdparty | |
parent | 54123f5b69471eb6433b3530c379879318426904 (diff) |
Use a list of lists for free chunks instead of merging in one list
This remove the tedious merging of free heap slots into one big list
after sweeping. It now lets each chunk keep its 0-terminated list of
free items and by then linking chunks together in a list for those
containing at least one free item.
The chunk metadata is moved at the beginning of the allocated VM
region to avoid moving it all around while sorting
MemoryManager::Data::heapChunks.
Change-Id: Ia93c2eb7feca0779a28aea5149dd066dacbfa494
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/3rdparty')
-rw-r--r-- | src/3rdparty/masm/wtf/PageAllocation.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/3rdparty/masm/wtf/PageAllocation.h b/src/3rdparty/masm/wtf/PageAllocation.h index 95692be3ae..db4e230e03 100644 --- a/src/3rdparty/masm/wtf/PageAllocation.h +++ b/src/3rdparty/masm/wtf/PageAllocation.h @@ -86,6 +86,7 @@ public: // control warning when a client tries to use operator bool exposed above via "using PageBlock::operator bool". operator bool() const { return PageBlock::operator bool(); } #endif + bool operator<(const PageAllocation &b) { return base() < b.base(); } static PageAllocation allocate(size_t size, OSAllocator::Usage usage = OSAllocator::UnknownUsage, |