[snapshot, heap] Move clearing of marked descriptors to deserializer

Since code serializer also serializers descriptor arrays, the clearing
has to be done in deserializer.

Bug: v8:8486
Change-Id: Ic2c5848e5add80176a6f7191c56e7af9e9a6019f
Reviewed-on: https://chromium-review.googlesource.com/c/1388532
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58439}
This commit is contained in:
Ulan Degenbaev 2018-12-21 14:52:24 +01:00 committed by Commit Bot
parent 6c740734c4
commit 5fc0b46622
2 changed files with 4 additions and 4 deletions

View File

@ -323,6 +323,10 @@ HeapObject Deserializer::PostProcessNewObject(HeapObject obj, int space) {
bytecode_array->set_interrupt_budget(
interpreter::Interpreter::InterruptBudget());
bytecode_array->set_osr_loop_nesting_level(0);
} else if (obj->IsDescriptorArray()) {
// Reset the marking state of the descriptor array.
DescriptorArray descriptor_array = DescriptorArray::cast(obj);
descriptor_array->set_raw_number_of_marked_descriptors(0);
}
// Check alignment.

View File

@ -565,10 +565,6 @@ void Serializer::ObjectSerializer::Serialize() {
SeqOneByteString::cast(object_)->clear_padding();
} else if (object_->IsSeqTwoByteString()) {
SeqTwoByteString::cast(object_)->clear_padding();
} else if (object_->IsDescriptorArray()) {
// Reset the marking state of the descriptor array.
DescriptorArray descriptor_array = DescriptorArray::cast(object_);
descriptor_array->set_raw_number_of_marked_descriptors(0);
}
}
if (object_->IsJSTypedArray()) {