Index: src/bootstrapper.cc |
diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc |
index 67b759a12e522a9c40406c9f5c0c64d7a83b9e72..12adfe0e3479a4239b1627e6415f987dc46b48a4 100644 |
--- a/src/bootstrapper.cc |
+++ b/src/bootstrapper.cc |
@@ -140,7 +140,9 @@ class Genesis BASE_EMBEDDED { |
public: |
Genesis(Isolate* isolate, MaybeHandle<JSGlobalProxy> maybe_global_proxy, |
v8::Local<v8::ObjectTemplate> global_proxy_template, |
- size_t context_snapshot_index, GlobalContextType context_type); |
+ size_t context_snapshot_index, |
+ v8::DeserializeInternalFieldsCallback internal_fields_deserializer, |
+ GlobalContextType context_type); |
Genesis(Isolate* isolate, MaybeHandle<JSGlobalProxy> maybe_global_proxy, |
v8::Local<v8::ObjectTemplate> global_proxy_template); |
~Genesis() { } |
@@ -309,10 +311,12 @@ Handle<Context> Bootstrapper::CreateEnvironment( |
MaybeHandle<JSGlobalProxy> maybe_global_proxy, |
v8::Local<v8::ObjectTemplate> global_proxy_template, |
v8::ExtensionConfiguration* extensions, size_t context_snapshot_index, |
+ v8::DeserializeInternalFieldsCallback internal_fields_deserializer, |
GlobalContextType context_type) { |
HandleScope scope(isolate_); |
Genesis genesis(isolate_, maybe_global_proxy, global_proxy_template, |
- context_snapshot_index, context_type); |
+ context_snapshot_index, internal_fields_deserializer, |
+ context_type); |
Handle<Context> env = genesis.result(); |
if (env.is_null() || !InstallExtensions(env, extensions)) { |
return Handle<Context>(); |
@@ -4512,10 +4516,12 @@ class NoTrackDoubleFieldsForSerializerScope { |
bool enabled_; |
}; |
-Genesis::Genesis(Isolate* isolate, |
- MaybeHandle<JSGlobalProxy> maybe_global_proxy, |
- v8::Local<v8::ObjectTemplate> global_proxy_template, |
- size_t context_snapshot_index, GlobalContextType context_type) |
+Genesis::Genesis( |
+ Isolate* isolate, MaybeHandle<JSGlobalProxy> maybe_global_proxy, |
+ v8::Local<v8::ObjectTemplate> global_proxy_template, |
+ size_t context_snapshot_index, |
+ v8::DeserializeInternalFieldsCallback internal_fields_deserializer, |
+ GlobalContextType context_type) |
: isolate_(isolate), active_(isolate->bootstrapper()) { |
NoTrackDoubleFieldsForSerializerScope disable_scope(isolate); |
result_ = Handle<Context>::null(); |
@@ -4562,7 +4568,8 @@ Genesis::Genesis(Isolate* isolate, |
// Also create a context from scratch to expose natives, if required by flag. |
if (!isolate->initialized_from_snapshot() || |
!Snapshot::NewContextFromSnapshot(isolate, global_proxy, |
- context_snapshot_index) |
+ context_snapshot_index, |
+ internal_fields_deserializer) |
.ToHandle(&native_context_)) { |
native_context_ = Handle<Context>(); |
} |