74565bf390
When inlined allocations are disabled, the space->limit() does not point to the end of the current page. Instead, it points to the current allocation pointer so is the same as space->top(). See how the limit is computed, if heap()->inline_allocation_disabled(), then the limit will be the same as the requested allocation area: ``` Address SpaceWithLinearArea::ComputeLimit(Address start, Address end, size_t min_size) { DCHECK_GE(end - start, min_size); if (heap()->inline_allocation_disabled()) { // Fit the requested area exactly. return start + min_size; } else if (SupportsInlineAllocation() && AllocationObserversActive()) { // ... } else { // The entire node can be used as the linear allocation area. return end; } } ``` If we want to simulate filling up a whole page in the new space, we can instead look at the ToSpace's page_high() which will be the end of the current page in which we're allocating. Bug: v8:9906 Change-Id: I81113d151bc083cd22d17ea1a4fbae7fef9dff6d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1886914 Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Pierre Langlois <pierre.langlois@arm.com> Cr-Commit-Position: refs/heads/master@{#64612} |
||
---|---|---|
.. | ||
heap-tester.h | ||
heap-utils.cc | ||
heap-utils.h | ||
test-alloc.cc | ||
test-array-buffer-tracker.cc | ||
test-compaction.cc | ||
test-concurrent-marking.cc | ||
test-embedder-tracing.cc | ||
test-external-string-tracker.cc | ||
test-heap.cc | ||
test-incremental-marking.cc | ||
test-invalidated-slots.cc | ||
test-iterators.cc | ||
test-lab.cc | ||
test-mark-compact.cc | ||
test-page-promotion.cc | ||
test-spaces.cc | ||
test-unmapper.cc | ||
test-weak-references.cc |