deps: V8: cherry-pick a440efb27f from upstream · nodejs/node@14bb905
@@ -32,7 +32,7 @@ ScriptData::ScriptData(const byte* data, int length)
32323333// static
3434ScriptCompiler::CachedData* CodeSerializer::Serialize(
35- Handle<SharedFunctionInfo> info, Handle<String> source) {
35+ Handle<SharedFunctionInfo> info) {
3636 Isolate* isolate = info->GetIsolate();
3737TRACE_EVENT_CALL_STATS_SCOPED(isolate, "v8", "V8.Execute");
3838 HistogramTimerScope histogram_timer(isolate->counters()->compile_serialize());
@@ -45,8 +45,7 @@ ScriptCompiler::CachedData* CodeSerializer::Serialize(
4545 Handle<Script> script(Script::cast(info->script()), isolate);
4646if (FLAG_trace_serializer) {
4747PrintF("[Serializing from");
48- Object* script = info->script();
49-Script::cast(script)->name()->ShortPrint();
48+ script->name()->ShortPrint();
5049PrintF("]\n");
5150 }
5251// TODO(7110): Enable serialization of Asm modules once the AsmWasmData is
@@ -55,10 +54,11 @@ ScriptCompiler::CachedData* CodeSerializer::Serialize(
5554if (isolate->debug()->is_loaded()) return nullptr;
56555756// Serialize code object.
57+ Handle<String> source(String::cast(script->source()), isolate);
5858 CodeSerializer cs(isolate, SerializedCodeData::SourceHash(source));
5959 DisallowHeapAllocation no_gc;
6060 cs.reference_map()->AddAttachedReference(*source);
61- ScriptData* script_data = cs.Serialize(info);
61+ ScriptData* script_data = cs.SerializeSharedFunctionInfo(info);
62626363if (FLAG_profile_deserialization) {
6464double ms = timer.Elapsed().InMillisecondsF();
@@ -75,11 +75,12 @@ ScriptCompiler::CachedData* CodeSerializer::Serialize(
7575return result;
7676}
777778-ScriptData* CodeSerializer::Serialize(Handle<HeapObject> obj) {
78+ScriptData* CodeSerializer::SerializeSharedFunctionInfo(
79+ Handle<SharedFunctionInfo> info) {
7980 DisallowHeapAllocation no_gc;
80818182VisitRootPointer(Root::kHandleScope, nullptr,
82- Handle<Object>::cast(obj).location());
83+ Handle<Object>::cast(info).location());
8384SerializeDeferredObjects();
8485Pad();
8586