diff options
Diffstat (limited to 'deps/v8/src/snapshot/serializer-common.cc')
-rw-r--r-- | deps/v8/src/snapshot/serializer-common.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/deps/v8/src/snapshot/serializer-common.cc b/deps/v8/src/snapshot/serializer-common.cc index f188793419..ca4db75239 100644 --- a/deps/v8/src/snapshot/serializer-common.cc +++ b/deps/v8/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 |