Index: src/snapshot/serializer-common.cc |
diff --git a/src/snapshot/serializer-common.cc b/src/snapshot/serializer-common.cc |
index f18879341931465f456bf36095ac0d84262d0375..ca4db7523984c3ea6c96ccb6befce79596237825 100644 |
--- a/src/snapshot/serializer-common.cc |
+++ b/src/snapshot/serializer-common.cc |
@@ -21,8 +21,7 @@ ExternalReferenceEncoder::ExternalReferenceEncoder(Isolate* isolate) { |
ExternalReferenceTable* table = ExternalReferenceTable::instance(isolate); |
for (uint32_t i = 0; i < table->size(); ++i) { |
Address addr = table->address(i); |
- DCHECK(map_->Get(addr).IsNothing() || |
- strncmp(table->name(i), "Redirect to ", 12) == 0); |
+ DCHECK(map_->Get(addr).IsNothing()); |
map_->Set(addr, i); |
DCHECK(map_->Get(addr).IsJust()); |
} |
@@ -81,5 +80,14 @@ bool SerializerDeserializer::CanBeDeferred(HeapObject* o) { |
return !o->IsString() && !o->IsScript(); |
} |
+void SerializerDeserializer::RestoreExternalReferenceRedirectors( |
+ List<AccessorInfo*>* accessor_infos) { |
+ // Restore wiped accessor infos. |
+ for (AccessorInfo* info : *accessor_infos) { |
+ Foreign::cast(info->js_getter()) |
+ ->set_foreign_address(info->redirected_getter()); |
+ } |
+} |
+ |
} // namespace internal |
} // namespace v8 |