[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:
parent
6c740734c4
commit
5fc0b46622
@ -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.
|
||||
|
@ -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()) {
|
||||
|
Loading…
Reference in New Issue
Block a user