aboutsummaryrefslogtreecommitdiff
path: root/src/serialize.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/serialize.cc')
-rw-r--r--src/serialize.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/serialize.cc b/src/serialize.cc
index a6a516a7..0e283f46 100644
--- a/src/serialize.cc
+++ b/src/serialize.cc
@@ -360,6 +360,7 @@ void ExternalReferenceTable::PopulateTable() {
UNCLASSIFIED,
5,
"StackGuard::address_of_real_jslimit()");
+#ifndef V8_INTERPRETED_REGEXP
Add(ExternalReference::address_of_regexp_stack_limit().address(),
UNCLASSIFIED,
6,
@@ -376,6 +377,7 @@ void ExternalReferenceTable::PopulateTable() {
UNCLASSIFIED,
9,
"OffsetsVector::static_offsets_vector");
+#endif // V8_INTERPRETED_REGEXP
Add(ExternalReference::new_space_start().address(),
UNCLASSIFIED,
10,
@@ -673,6 +675,14 @@ void Deserializer::ReadObject(int space_number,
LOG(SnapshotPositionEvent(address, source_->position()));
}
ReadChunk(current, limit, space_number, address);
+
+ if (space == Heap::map_space()) {
+ ASSERT(size == Map::kSize);
+ HeapObject* obj = HeapObject::FromAddress(address);
+ Map* map = reinterpret_cast<Map*>(obj);
+ map->set_scavenger(Heap::GetScavenger(map->instance_type(),
+ map->instance_size()));
+ }
}