v8/test/debugger/debug/regress
Simon Zünd a55ecfaf7f Reland "[debug] Immediately step-in for 'stack check triggered' debug breaks"
This is a reland of commit 3297ccca23

This is a straight-up reland of the original CL. The failing test
was flaky and removed with https://crrev.com/c/3868727. We replaced
the test with a proper DevTools e2e test: https://crrev.com/c/3867522

Original change's description:
> [debug] Immediately step-in for 'stack check triggered' debug breaks
>
> This CL changes debug breaks that are triggered via interrupts (i.e.
> via stack check). One client of this behavior is the `Debugger.pause`
> CDP method.
>
> The problem is that when we pause so early, the JSFunction didn't have
> time yet to create and push it's context. This requires special
> handling in the ScopeIterator and makes an upcoming change unnecessary
> complex.
>
> Another (minor) problem is that local debug-evaluate can't change
> context-allocated local variables (see changed regression bug). Since
> the context is not yet created and pushed, variables are written to
> the DebugEvaluateContext that goes away after the evaluation.
>
> The solution is to mirror what `BreakOnNextFunction` does. Instead
> of staying paused in the middle of the function entry, we trigger
> a "step in" and pause at the first valid breakable position instead.
> This ensures that the function context is already created and pushed.
>
> Note that we do this only in case for JSFunctions. In all other cases
> we keep the existing behavior and stay paused in the entry.
>
> R=jgruber@chromium.org
>
> Fixed: chromium:1246907
> Change-Id: I0cd8ae6e049a3b55bdd44858e769682a1ca47064
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3854501
> Reviewed-by: Jakob Linke <jgruber@chromium.org>
> Commit-Queue: Simon Zünd <szuend@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#82817}

Change-Id: I1938ccb5979fd80dff530b2ffe3f18714b7eff3f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3867727
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Simon Zünd <szuend@chromium.org>
Reviewed-by: Jakob Linke <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/main@{#82901}
2022-09-01 10:33:03 +00:00
..
debug-prepare-step-in.js [debug][cleanup] Use consistent StepInto and StepOver naming. 2021-06-01 11:26:57 +00:00
regress-269.js [debug][cleanup] Use consistent StepInto and StepOver naming. 2021-06-01 11:26:57 +00:00
regress-1523.js
regress-1586.js
regress-1639.js [debug][cleanup] Use consistent StepInto and StepOver naming. 2021-06-01 11:26:57 +00:00
regress-2296.js
regress-2825.js
regress-3717.js
regress-4309-1.js [Test] Add PrepareForOptimization to debugger/ tests. 2019-04-29 13:47:16 +00:00
regress-4309-2.js [Test] Add PrepareForOptimization to debugger/ tests. 2019-04-29 13:47:16 +00:00
regress-4309-3.js [Test] Add PrepareForOptimization to debugger/ tests. 2019-04-29 13:47:16 +00:00
regress-4320.js [Test] Add PrepareForOptimization to debugger/ tests. 2019-04-29 13:47:16 +00:00
regress-4703.js
regress-5071.js
regress-5164.js
regress-5279.js Revert "[turbofan] Making OSR concurrent" 2022-02-21 14:02:43 +00:00
regress-5559.js
regress-9067.js [sparkplug] Add support to flush only baseline code 2021-08-04 08:22:18 +00:00
regress-10319.js Reland "[debug] Immediately step-in for 'stack check triggered' debug breaks" 2022-09-01 10:33:03 +00:00
regress-102153.js
regress-109195.js [debug][cleanup] Use consistent StepInto and StepOver naming. 2021-06-01 11:26:57 +00:00
regress-119609.js
regress-131994.js
regress-147497.js [debug][cleanup] Use consistent StepInto and StepOver naming. 2021-06-01 11:26:57 +00:00
regress-325676.js
regress-392114.js [Test] Add PrepareForOptimization to debugger/ tests. 2019-04-29 13:47:16 +00:00
regress-491536.js
regress-514362.js [Test] Add PrepareForOptimization to debugger/ tests. 2019-04-29 13:47:16 +00:00
regress-617882.js
regress-662674.js
regress-662935.js [d8] Exit with error code upon unhandled promise rejection 2020-06-24 07:21:58 +00:00
regress-1081309.js
regress-1170187.js [parser] Don't create proxies for vars without initialisers 2019-01-28 15:54:40 +00:00
regress-crbug-107996.js
regress-crbug-119800.js [debug][cleanup] Use consistent StepInto and StepOver naming. 2021-06-01 11:26:57 +00:00
regress-crbug-171715.js [cleanup] Remove --stress-opt remnants 2022-08-31 08:37:44 +00:00
regress-crbug-222893.js
regress-crbug-323936.js [flags] Rename --opt to --turbofan 2022-05-03 12:10:30 +00:00
regress-crbug-387599.js Revert "[turbofan] Making OSR concurrent" 2022-02-21 14:02:43 +00:00
regress-crbug-401915.js
regress-crbug-405922.js [interpreter] Remove %_Call 2021-06-17 15:16:41 +00:00
regress-crbug-409614.js [debug][cleanup] Use consistent StepInto and StepOver naming. 2021-06-01 11:26:57 +00:00
regress-crbug-432493.js
regress-crbug-465298.js
regress-crbug-467180.js [debug][cleanup] Use consistent StepInto and StepOver naming. 2021-06-01 11:26:57 +00:00
regress-crbug-487289.js
regress-crbug-491943.js
regress-crbug-568477-1.js [debug][cleanup] Use consistent StepInto and StepOver naming. 2021-06-01 11:26:57 +00:00
regress-crbug-568477-2.js [debug][cleanup] Use consistent StepInto and StepOver naming. 2021-06-01 11:26:57 +00:00
regress-crbug-568477-3.js [debug][cleanup] Use consistent StepInto and StepOver naming. 2021-06-01 11:26:57 +00:00
regress-crbug-568477-4.js [debug][cleanup] Use consistent StepInto and StepOver naming. 2021-06-01 11:26:57 +00:00
regress-crbug-582048.js
regress-crbug-582051.js
regress-crbug-605581.js
regress-crbug-609046.js
regress-crbug-621361.js [debug][cleanup] Use consistent StepInto and StepOver naming. 2021-06-01 11:26:57 +00:00
regress-crbug-633999.js [flags] Rename --opt to --turbofan 2022-05-03 12:10:30 +00:00
regress-crbug-1357554.js [sparkplug] Allow sparkplug->ignition deopt in func entry 2022-08-30 09:56:47 +00:00
regress-debug-code-recompilation.js [Test] Add PrepareForOptimization to debugger/ tests. 2019-04-29 13:47:16 +00:00
regress-debug-context-load.js
regress-debug-deopt-while-recompile.js [Test] Add PrepareForOptimization to debugger/ tests. 2019-04-29 13:47:16 +00:00
regress-frame-details-null-receiver.js
regress-opt-after-debug-deopt.js [flags] Rename --opt to --turbofan 2022-05-03 12:10:30 +00:00
regress-prepare-break-while-recompile.js [flags] Rename --opt to --turbofan 2022-05-03 12:10:30 +00:00