| Index: runtime/vm/pages.h
|
| ===================================================================
|
| --- runtime/vm/pages.h (revision 39687)
|
| +++ runtime/vm/pages.h (working copy)
|
| @@ -303,6 +303,9 @@
|
| tasks_ = val;
|
| }
|
|
|
| + // Attempt to allocate from bump block rather than normal freelist.
|
| + uword TryAllocateDataBump(intptr_t size, GrowthPolicy growth_policy);
|
| +
|
| private:
|
| // Ids for time and data records in Heap::GCStats.
|
| enum {
|
| @@ -325,6 +328,10 @@
|
| GrowthPolicy growth_policy,
|
| bool is_protected,
|
| bool is_locked);
|
| + uword TryAllocateInFreshPage(intptr_t size,
|
| + HeapPage::PageType type,
|
| + GrowthPolicy growth_policy,
|
| + bool is_locked);
|
| HeapPage* AllocatePage(HeapPage::PageType type);
|
| void FreePage(HeapPage* page, HeapPage* previous_page);
|
| HeapPage* AllocateLargePage(intptr_t size, HeapPage::PageType type);
|
| @@ -358,6 +365,11 @@
|
| HeapPage* exec_pages_tail_;
|
| HeapPage* large_pages_;
|
|
|
| + // A block of memory in a data page, managed by bump allocation. The remainder
|
| + // is kept formatted as a FreeListElement, but is not in any freelist.
|
| + uword bump_top_;
|
| + uword bump_end_;
|
| +
|
| // Various sizes being tracked for this generation.
|
| intptr_t max_capacity_in_words_;
|
| SpaceUsage usage_;
|
|
|