v8/test/debugger/debug
Clemens Backes 3cc981cb7a [wasm][debug] Fix tier down during streaming compilation
If the debugger is enabled while streaming compilation is happening, we
won't correctly tier down to Liftoff. This is because during streaming
compilation, we always compile for no debugging. Fixing that is a bit
tricky, since when the debugger is enabled, functions can either already
have finished compiling, or they are currently being compiled, or their
wire bytes are not received yet.
Instead of handling this correctly while streaming compilation is
running, we just recompile the whole module with Liftoff after streaming
compilation finished.

For testing this, we use the existing tests for async compilation, and
enable --wasm-test-streaming, which compiles via the streaming decoder
even in the async compilation case.

R=thibaudm@chromium.org

Bug: v8:10531
Change-Id: I0177248a9ad2e90f83faee965d6746de05423f1f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2207133
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67882}
2020-05-19 07:44:05 +00:00
..
compiler Reland "[Test] Update tests to work with lazy feedback allocation." 2019-05-08 12:51:13 +00:00
es6 [Promise.any] Add Promise.any 2020-04-30 14:24:47 +00:00
es8 Replace %RunMicrotasks with %PerformMicrotaskCheckpoint 2018-12-06 11:10:18 +00:00
harmony [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
ignition [Test] Add PrepareForOptimization to debugger/ tests. 2019-04-29 13:47:16 +00:00
regress [debug] Don't crash when breaking on entry to functions with heap vars 2020-05-01 18:21:36 +00:00
side-effect Ship String.prototype.replaceAll 2020-05-19 07:03:56 +00:00
wasm [wasm][debug] Fix tier down during streaming compilation 2020-05-19 07:44:05 +00:00
debug-allscopes-on-debugger.js [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
debug-backtrace.js [tests] Fix assertFalse(exception) anti-pattern 2018-03-21 10:59:46 +00:00
debug-bigint.js Remove always-true --harmony-bigint runtime flag 2018-10-01 11:31:13 +00:00
debug-break-class-fields.js [class] Make class field initializers breakable in the debugger 2018-09-17 22:25:44 +00:00
debug-break-inline.js [Test] Add PrepareForOptimization to debugger/ tests. 2019-04-29 13:47:16 +00:00
debug-break-microtask.js [debug] add microtask-related tests. 2017-10-03 12:56:17 +00:00
debug-break-native.js [debug] retire ScriptWrapper 2018-07-05 21:33:03 +00:00
debug-break-return.js [debug] removed most debugger js 2018-06-03 06:02:59 +00:00
debug-breakpoints.js [debug-wrapper] Further extend the debug wrapper 2016-11-16 08:34:44 +00:00
debug-clearbreakpoint.js [tests] Fix assertFalse(exception) anti-pattern 2018-03-21 10:59:46 +00:00
debug-compile-event.js [tests] Fix assertFalse(exception) anti-pattern 2018-03-21 10:59:46 +00:00
debug-compile-optimized.js [Test] Add PrepareForOptimization to debugger/ tests. 2019-04-29 13:47:16 +00:00
debug-conditional-breakpoints.js [debug-wrapper] Migrate more tests 2016-11-22 12:44:18 +00:00
debug-constructor.js [debugger] Stepping and break-related functions in wrapper 2016-11-08 13:54:37 +00:00
debug-enable-disable-breakpoints.js [debug-wrapper] Further extend the debug wrapper 2016-11-16 08:34:44 +00:00
debug-eval-scope.js [debug] Add Eval scope type to inspector protocol 2016-11-23 07:30:23 +00:00
debug-evaluate-arguments.js [Test] Add PrepareForOptimization to debugger/ tests. 2019-04-29 13:47:16 +00:00
debug-evaluate-bool-constructor.js [tests] Fix assertFalse(exception) anti-pattern 2018-03-21 10:59:46 +00:00
debug-evaluate-closure.js [debugger] remove debugger statement support from FCG/CS. 2017-02-22 08:45:09 +00:00
debug-evaluate-dead-function-fails.js [parser] Allow declaring variables without a proxy 2019-01-25 09:10:59 +00:00
debug-evaluate-declaration.js [debug-wrapper] Conditional breaks, locals, evaluate, scopes 2016-11-11 12:08:34 +00:00
debug-evaluate-function-var.js Reland "[debugger] Expose reference to the function in debug-evaluate" 2019-06-27 06:09:22 +00:00
debug-evaluate-local-repl-hole.js Introduce REPL mode 2019-11-06 09:17:04 +00:00
debug-evaluate-locals-capturing.js Reland "[Compiler] Remove CompileDebugCode and EnsureBytecode and replace with Compile" 2017-08-17 13:21:44 +00:00
debug-evaluate-locals-optimized-double.js [Test] Add PrepareForOptimization to debugger/ tests. 2019-04-29 13:47:16 +00:00
debug-evaluate-locals-optimized.js [Test] Add PrepareForOptimization to debugger/ tests. 2019-04-29 13:47:16 +00:00
debug-evaluate-locals.js [tests] Fix assertFalse(exception) anti-pattern 2018-03-21 10:59:46 +00:00
debug-evaluate-modify-catch-block-scope.js [parser] Allow declaring variables without a proxy 2019-01-25 09:10:59 +00:00
debug-evaluate-modify-this.js
debug-evaluate-nested-let.js Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
debug-evaluate-repl-mode-await.js Reland "Implement top-level await for REPL mode" 2019-12-06 10:13:00 +00:00
debug-evaluate-repl-mode-optimized.js Introduce REPL mode 2019-11-06 09:17:04 +00:00
debug-evaluate-repl-mode.js Reland "Implement top-level await for REPL mode" 2019-12-06 10:13:00 +00:00
debug-evaluate-shadowed-context-2.js
debug-evaluate-shadowed-context-3.js Change debug-evaluate from a whitelist to a blacklist approach 2019-09-11 07:52:45 +00:00
debug-evaluate-shadowed-context.js [debug-wrapper] Migrate more tests 2016-11-22 12:44:18 +00:00
debug-evaluate-with.js [tests] Fix assertFalse(exception) anti-pattern 2018-03-21 10:59:46 +00:00
debug-evaluate.js [tests] Fix assertFalse(exception) anti-pattern 2018-03-21 10:59:46 +00:00
debug-event-listener.js [debug-wrapper] Add caught/uncaught to exception pauses 2016-11-10 09:05:29 +00:00
debug-exceptions.js [debug-wrapper] Add caught/uncaught to exception pauses 2016-11-10 09:05:29 +00:00
debug-function-scopes.js [debug-wrapper] Migrate more tests 2016-11-22 12:44:18 +00:00
debug-generator-break-on-stack.js
debug-generator-break.js
debug-liveedit-1.js [debug] migrate all liveedit tests to use LiveEdit::PatchScript 2018-06-21 15:34:16 +00:00
debug-liveedit-2.js [debug] migrate all liveedit tests to use LiveEdit::PatchScript 2018-06-21 15:34:16 +00:00
debug-liveedit-3.js [debug] migrate all liveedit tests to use LiveEdit::PatchScript 2018-06-21 15:34:16 +00:00
debug-liveedit-4.js [debug] migrate all liveedit tests to use LiveEdit::PatchScript 2018-06-21 15:34:16 +00:00
debug-liveedit-arrow-function-at-start.js [liveedit] Fix patching functions with start position zero 2018-07-18 16:20:22 +00:00
debug-liveedit-check-stack.js [debug] migrate all liveedit tests to use LiveEdit::PatchScript 2018-06-21 15:34:16 +00:00
debug-liveedit-compile-error.js [debug] migrate all liveedit tests to use LiveEdit::PatchScript 2018-06-21 15:34:16 +00:00
debug-liveedit-double-call.js [debug] retire ScriptWrapper 2018-07-05 21:33:03 +00:00
debug-liveedit-exceptions.js [debug] migrate all liveedit tests to use LiveEdit::PatchScript 2018-06-21 15:34:16 +00:00
debug-liveedit-inline.js [Test] Add PrepareForOptimization to debugger/ tests. 2019-04-29 13:47:16 +00:00
debug-liveedit-literals.js [debug] migrate all liveedit tests to use LiveEdit::PatchScript 2018-06-21 15:34:16 +00:00
debug-liveedit-newsource.js [debug] migrate all liveedit tests to use LiveEdit::PatchScript 2018-06-21 15:34:16 +00:00
debug-liveedit-patch-positions-replace.js [test] Fixes a spelling typo 2020-04-06 18:16:55 +00:00
debug-liveedit-recursion.js [test] Rename debugger test 2018-09-14 11:17:04 +00:00
debug-liveedit-replace-code.js [debug] migrate all liveedit tests to use LiveEdit::PatchScript 2018-06-21 15:34:16 +00:00
debug-liveedit-restart-frame.js [ignition/turbo] Perform liveness analysis on the bytecodes 2016-11-29 12:27:15 +00:00
debug-liveedit-stepin.js Reland "[debug] liveedit in native" 2018-07-03 21:01:57 +00:00
debug-materialized.js [Test] Add PrepareForOptimization to debugger/ tests. 2019-04-29 13:47:16 +00:00
debug-modules-set-variable-value.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
debug-multiple-breakpoints.js [debug-wrapper] Migrate more tests 2016-11-22 12:44:18 +00:00
debug-multiple-var-decl.js [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
debug-negative-break-points.js [debug-wrapper] Migrate more tests 2016-11-22 12:44:18 +00:00
debug-optimize.js [Test] Add PrepareForOptimization to debugger/ tests. 2019-04-29 13:47:16 +00:00
debug-print.js [elements] Rename FAST elements kinds 2017-06-30 13:31:44 +00:00
debug-receiver.js Fix common misspellings 2017-08-02 09:35:28 +00:00
debug-return-value.js [tests] Fix assertFalse(exception) anti-pattern 2018-03-21 10:59:46 +00:00
debug-scopes-suspended-generators.js [turbofan] Only save live registers on suspend 2018-02-07 18:07:30 +00:00
debug-scopes.js [Test] Add PrepareForOptimization to debugger/ tests. 2019-04-29 13:47:16 +00:00
debug-set-variable-value.js [debugger] remove debugger statement support from FCG/CS. 2017-02-22 08:45:09 +00:00
debug-stack-check-position.js
debug-step-2.js
debug-step-3.js
debug-step-4.js
debug-step-end-of-script.js Reland "[inspector] fixed location of top level function return" 2018-06-18 21:37:49 +00:00
debug-step-into-json.js [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
debug-step-into-valueof.js [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
debug-step-microtask.js Reland "[inspector] fixed location of top level function return" 2018-06-18 21:37:49 +00:00
debug-step-stub-callfunction.js
debug-step-turbofan.js [Test] Add PrepareForOptimization to debugger/ tests. 2019-04-29 13:47:16 +00:00
debug-step.js [debugger] correctly annotate scripts with debug id. 2017-03-13 09:13:43 +00:00
debug-stepin-accessor-ic.js
debug-stepin-accessor.js [tests] Async test framework 2017-07-26 17:40:15 +00:00
debug-stepin-builtin-callback-opt.js [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
debug-stepin-builtin-callback.js
debug-stepin-builtin.js
debug-stepin-call-function-stub.js
debug-stepin-construct-call.js
debug-stepin-constructor.js
debug-stepin-foreach.js [inspector] improve return position of explicit return in non-async function 2017-07-14 19:10:13 +00:00
debug-stepin-function-call.js
debug-stepin-property-function-call.js [tests] Async test framework 2017-07-26 17:40:15 +00:00
debug-stepnext-do-while.js
debug-stepout-recursive-function.js
debug-stepout-scope-part1.js
debug-stepout-scope-part2.js
debug-stepout-scope-part3.js
debug-stepout-scope-part4.js
debug-stepout-scope-part5.js
debug-stepout-scope-part6.js
debug-stepout-scope-part7.js
debug-stepout-scope-part8.js
debug-stepout-to-builtin.js
deserialize-script-id.js [debug] retire ScriptWrapper 2018-07-05 21:33:03 +00:00
for-in-opt.js [Test] Add PrepareForOptimization to debugger/ tests. 2019-04-29 13:47:16 +00:00
function-source.js [debug-wrapper] clearAllBreakPoints and several scripts functions 2016-11-17 09:34:18 +00:00
lazy-deopt-then-flush-bytecode.js [Test] Add PrepareForOptimization to debugger/ tests. 2019-04-29 13:47:16 +00:00
regress-3225.js [parser] Allow declaring variables without a proxy 2019-01-25 09:10:59 +00:00
regress-5207.js [ignition/turbo] Perform liveness analysis on the bytecodes 2016-11-29 12:27:15 +00:00