◐ Shell
clean mode source ↗

deps: V8: cherry-pick a440efb27f from upstream · nodejs/node@14bb905

@@ -32,7 +32,7 @@ ScriptData::ScriptData(const byte* data, int length)

32323333

// static

3434

ScriptCompiler::CachedData* CodeSerializer::Serialize(

35-

Handle<SharedFunctionInfo> info, Handle<String> source) {

35+

Handle<SharedFunctionInfo> info) {

3636

Isolate* isolate = info->GetIsolate();

3737

TRACE_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);

4646

if (FLAG_trace_serializer) {

4747

PrintF("[Serializing from");

48-

Object* script = info->script();

49-

Script::cast(script)->name()->ShortPrint();

48+

script->name()->ShortPrint();

5049

PrintF("]\n");

5150

}

5251

// TODO(7110): Enable serialization of Asm modules once the AsmWasmData is

@@ -55,10 +54,11 @@ ScriptCompiler::CachedData* CodeSerializer::Serialize(

5554

if (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);

62626363

if (FLAG_profile_deserialization) {

6464

double ms = timer.Elapsed().InMillisecondsF();

@@ -75,11 +75,12 @@ ScriptCompiler::CachedData* CodeSerializer::Serialize(

7575

return result;

7676

}

777778-

ScriptData* CodeSerializer::Serialize(Handle<HeapObject> obj) {

78+

ScriptData* CodeSerializer::SerializeSharedFunctionInfo(

79+

Handle<SharedFunctionInfo> info) {

7980

DisallowHeapAllocation no_gc;

80818182

VisitRootPointer(Root::kHandleScope, nullptr,

82-

Handle<Object>::cast(obj).location());

83+

Handle<Object>::cast(info).location());

8384

SerializeDeferredObjects();

8485

Pad();

8586