Skip to content

Commit ae56a23

Browse files
addaleaxtargos
authored andcommitted
deps: backport b107214 from upstream V8
Original commit message: [code-serializer] Handlify in CodeSerializer::Deserialize This section potentially contains allocations and thus gc, all object references should be handlified. Bug: v8:9333 Change-Id: I5814e66e8b9b75a8bd952afecae7a3a27b42a642 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1647695 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#62012} (This required resolution of a few merge conflicts, so it’s essentially a manual backport.) Refs: v8/v8@b107214 Refs: #28847 PR-URL: #28850 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Jan Krems <jan.krems@gmail.com>
1 parent 95b87ce commit ae56a23

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

deps/v8/src/snapshot/code-serializer.cc

+10-9
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ MaybeHandle<SharedFunctionInfo> CodeSerializer::Deserialize(
303303
PrintF("[Deserializing from %d bytes took %0.3f ms]\n", length, ms);
304304
}
305305

306-
bool log_code_creation =
306+
const bool log_code_creation =
307307
isolate->logger()->is_listening_to_code_events() ||
308308
isolate->is_profiling() ||
309309
isolate->code_event_dispatcher()->IsListeningToCodeEvents();
@@ -315,27 +315,28 @@ MaybeHandle<SharedFunctionInfo> CodeSerializer::Deserialize(
315315
#endif // V8_TARGET_ARCH_ARM
316316

317317
if (log_code_creation || FLAG_log_function_events) {
318-
String name = ReadOnlyRoots(isolate).empty_string();
319-
Script script = Script::cast(result->script());
320-
Handle<Script> script_handle(script, isolate);
321-
if (script->name()->IsString()) name = String::cast(script->name());
318+
Handle<Script> script(Script::cast(result->script()), isolate);
319+
Handle<String> name(script->name().IsString()
320+
? String::cast(script->name())
321+
: ReadOnlyRoots(isolate).empty_string(),
322+
isolate);
322323
if (FLAG_log_function_events) {
323324
LOG(isolate,
324325
FunctionEvent("deserialize", script->id(),
325326
timer.Elapsed().InMillisecondsF(),
326-
result->StartPosition(), result->EndPosition(), name));
327+
result->StartPosition(), result->EndPosition(), *name));
327328
}
328329
if (log_code_creation) {
329-
Script::InitLineEnds(Handle<Script>(script, isolate));
330+
Script::InitLineEnds(script);
330331
DisallowHeapAllocation no_gc;
331-
SharedFunctionInfo::ScriptIterator iter(isolate, script);
332+
SharedFunctionInfo::ScriptIterator iter(isolate, *script);
332333
for (i::SharedFunctionInfo info = iter.Next(); !info.is_null();
333334
info = iter.Next()) {
334335
if (info->is_compiled()) {
335336
int line_num = script->GetLineNumber(info->StartPosition()) + 1;
336337
int column_num = script->GetColumnNumber(info->StartPosition()) + 1;
337338
PROFILE(isolate, CodeCreateEvent(CodeEventListener::SCRIPT_TAG,
338-
info->abstract_code(), info, name,
339+
info->abstract_code(), info, *name,
339340
line_num, column_num));
340341
}
341342
}

0 commit comments

Comments
 (0)