22 RCS_SCOPE(isolate, RuntimeCallCounterId::kDeserializeContext);
26 isolate->counters()->snapshot_deserialize_context());
30 d.Deserialize(isolate, global_proxy, embedder_fields_deserializer);
35 const int bytes =
static_cast<int>(data->RawData().
size());
36 const double ms = timer.Elapsed().InMillisecondsF();
37 PrintF(
"[Deserializing context #%zu (%d bytes) took %0.3f ms]\n",
38 context_index, bytes, ms);
104 DisallowJavascriptExecution no_js(
isolate());
105 DisallowCompilation no_compile(
isolate());
118 if (IsJSObject(*heap_object)) {
123 callback.callback(v8::Utils::ToLocal(obj), index, {buffer.
data(), size},
126 DCHECK(IsEmbedderDataArray(*heap_object));
130 callback.callback(v8::Utils::ToLocal(context), index,
void DeserializeApiWrapperFields(const v8::DeserializeAPIWrapperCallback &api_wrapper_callback)
MaybeDirectHandle< Object > Deserialize(Isolate *isolate, DirectHandle< JSGlobalProxy > global_proxy, DeserializeEmbedderFieldsCallback embedder_fields_deserializer)
static MaybeDirectHandle< Context > DeserializeContext(Isolate *isolate, const SnapshotData *data, size_t context_index, bool can_rehash, DirectHandle< JSGlobalProxy > global_proxy, DeserializeEmbedderFieldsCallback embedder_fields_deserializer)
void DeserializeEmbedderFields(DirectHandle< NativeContext > context, DeserializeEmbedderFieldsCallback embedder_fields_deserializer)