Revert "[zone] Keep one page when we Zone::Reset for reuse"
This reverts commit 8c359f64e2
.
Reason for revert: Tentative revert for ASAN breakage
Original change's description:
> [zone] Keep one page when we Zone::Reset for reuse
>
> Change-Id: I50c6124d3da5b35d4156c066f38d10d2dc966567
> Reviewed-on: https://chromium-review.googlesource.com/c/1349246
> Reviewed-by: Igor Sheludko <ishell@chromium.org>
> Commit-Queue: Toon Verwaest <verwaest@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#57793}
TBR=ishell@chromium.org,verwaest@chromium.org
Change-Id: Iff319b5f0ad1a65b1171d219a02a4a75d33910bd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/1349248
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57797}
This commit is contained in:
parent
4ae9ae50cc
commit
2418d22a37
@ -1488,7 +1488,7 @@ void DeclarationScope::ResetAfterPreparsing(AstValueFactory* ast_value_factory,
|
|||||||
has_rest_ = false;
|
has_rest_ = false;
|
||||||
|
|
||||||
DCHECK_NE(zone_, ast_value_factory->zone());
|
DCHECK_NE(zone_, ast_value_factory->zone());
|
||||||
zone_->Reset();
|
zone_->ReleaseMemory();
|
||||||
|
|
||||||
if (aborted) {
|
if (aborted) {
|
||||||
// Prepare scope for use in the outer zone.
|
// Prepare scope for use in the outer zone.
|
||||||
|
@ -73,16 +73,10 @@ void* Zone::AsanNew(size_t size) {
|
|||||||
return reinterpret_cast<void*>(result);
|
return reinterpret_cast<void*>(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Zone::Reset() {
|
void Zone::ReleaseMemory() {
|
||||||
if (!segment_head_) return;
|
|
||||||
allocator_->ZoneDestruction(this);
|
allocator_->ZoneDestruction(this);
|
||||||
Segment* keep = segment_head_;
|
|
||||||
segment_head_ = segment_head_->next();
|
|
||||||
keep->set_next(nullptr);
|
|
||||||
DeleteAll();
|
DeleteAll();
|
||||||
allocator_->ZoneCreation(this);
|
allocator_->ZoneCreation(this);
|
||||||
keep->ZapContents();
|
|
||||||
segment_head_ = keep;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Zone::DeleteAll() {
|
void Zone::DeleteAll() {
|
||||||
|
@ -69,10 +69,9 @@ class V8_EXPORT_PRIVATE Zone final {
|
|||||||
// Seals the zone to prevent any further allocation.
|
// Seals the zone to prevent any further allocation.
|
||||||
void Seal() { sealed_ = true; }
|
void Seal() { sealed_ = true; }
|
||||||
|
|
||||||
// Allows the zone to be safely reused. Releases the memory except for the
|
// Allows the zone to be safely reused. Releases the memory and fires zone
|
||||||
// last page, and fires zone destruction and creation events for the
|
// destruction and creation events for the accounting allocator.
|
||||||
// accounting allocator.
|
void ReleaseMemory();
|
||||||
void Reset();
|
|
||||||
|
|
||||||
// Returns true if more memory has been allocated in zones than
|
// Returns true if more memory has been allocated in zones than
|
||||||
// the limit allows.
|
// the limit allows.
|
||||||
|
Loading…
Reference in New Issue
Block a user