Commit 49c7b308 authored by Hannes Payer's avatar Hannes Payer Committed by Commit Bot

[serializer] Tenure young large object in the serializer.

Bug: chromium:852420
Change-Id: I54d1708991468bb062d9e7b246e724594f252e5e
Reviewed-on: https://chromium-review.googlesource.com/c/1346369
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57686}
parent e7ff6989
......@@ -42,6 +42,8 @@ SerializerReference SerializerAllocator::Allocate(AllocationSpace space,
// Maps are allocated through AllocateMap.
DCHECK_NE(MAP_SPACE, space);
// We tenure large object allocations.
DCHECK_NE(NEW_LO_SPACE, space);
uint32_t old_chunk_size = pending_chunk_[space];
uint32_t new_chunk_size = old_chunk_size + size;
......
......@@ -596,7 +596,10 @@ void Serializer::ObjectSerializer::SerializeObject() {
Map map = object_->map();
AllocationSpace space =
MemoryChunk::FromAddress(object_->address())->owner()->identity();
DCHECK(space != NEW_LO_SPACE);
// Young generation large objects are tenured.
if (space == NEW_LO_SPACE) {
space = LO_SPACE;
}
SerializePrologue(space, size, map);
// Serialize the rest of the object.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment