• Leszek Swirski's avatar
    Revert "[debug] Immediately step-in for 'stack check triggered' debug breaks" · 5e6278b2
    Leszek Swirski authored
    This reverts commit 3297ccca.
    
    Reason for revert: V8 roll is failing https://luci-milo.appspot.com/ui/inv/build-8804330987023399745/test-results?q=DevToolsTest.TestPauseWhenScriptIsRunning
    
    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: I0c34b7b4a788572a73ca380b3d767223fb6e7ea1
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3867311
    Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
    Owners-Override: Leszek Swirski <leszeks@chromium.org>
    Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
    Auto-Submit: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#82855}
    5e6278b2
debug.h 24.5 KB