diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-12 14:27:29 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-13 09:35:20 +0000 |
commit | c30a6232df03e1efbd9f3b226777b07e087a1122 (patch) | |
tree | e992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/v8/src/debug/liveedit.cc | |
parent | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff) | |
download | qtwebengine-chromium-85-based.tar.gz |
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/v8/src/debug/liveedit.cc')
-rw-r--r-- | chromium/v8/src/debug/liveedit.cc | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/chromium/v8/src/debug/liveedit.cc b/chromium/v8/src/debug/liveedit.cc index cd40eae6561..e1891af0ce4 100644 --- a/chromium/v8/src/debug/liveedit.cc +++ b/chromium/v8/src/debug/liveedit.cc @@ -757,7 +757,14 @@ bool ParseScript(Isolate* isolate, Handle<Script> script, ParseInfo* parse_info, success = Compiler::CompileForLiveEdit(parse_info, script, isolate) .ToHandle(&shared); } else { - success = parsing::ParseProgram(parse_info, script, isolate); + success = parsing::ParseProgram(parse_info, script, isolate, + parsing::ReportStatisticsMode::kYes); + if (!success) { + // Throw the parser error. + parse_info->pending_error_handler()->PrepareErrors( + isolate, parse_info->ast_value_factory()); + parse_info->pending_error_handler()->ReportErrors(isolate, script); + } } if (!success) { isolate->OptionalRescheduleException(false); @@ -1003,7 +1010,8 @@ bool CanRestartFrame( void TranslateSourcePositionTable(Isolate* isolate, Handle<BytecodeArray> code, const std::vector<SourceChangeRange>& diffs) { - SourcePositionTableBuilder builder; + Zone zone(isolate->allocator(), ZONE_NAME); + SourcePositionTableBuilder builder(&zone); Handle<ByteArray> source_position_table(code->SourcePositionTable(), isolate); for (SourcePositionTableIterator iterator(*source_position_table); @@ -1145,7 +1153,9 @@ void LiveEdit::PatchScript(Isolate* isolate, Handle<Script> script, js_function->set_raw_feedback_cell( *isolate->factory()->many_closures_cell()); if (!js_function->is_compiled()) continue; - JSFunction::EnsureFeedbackVector(js_function); + IsCompiledScope is_compiled_scope( + js_function->shared().is_compiled_scope()); + JSFunction::EnsureFeedbackVector(js_function, &is_compiled_scope); } if (!sfi->HasBytecodeArray()) continue; @@ -1186,7 +1196,9 @@ void LiveEdit::PatchScript(Isolate* isolate, Handle<Script> script, js_function->set_raw_feedback_cell( *isolate->factory()->many_closures_cell()); if (!js_function->is_compiled()) continue; - JSFunction::EnsureFeedbackVector(js_function); + IsCompiledScope is_compiled_scope( + js_function->shared().is_compiled_scope()); + JSFunction::EnsureFeedbackVector(js_function, &is_compiled_scope); } } SharedFunctionInfo::ScriptIterator it(isolate, *new_script); |