• Sigurd Schneider's avatar
    Reland "[exceptions] Don't re-request interrupt in InvokeWithTryCatch" · b9df6e1c
    Sigurd Schneider authored
    This is a reland of 4ed9d48f
    
    CompileRun leads to undefined behavior if the compile fails;
    CompileRunChecked can be used to assert that the compile must
    succeed. I've removed the attempt to compile and rely on a
    simpler check in the tests now.
    
    Original change's description:
    > [exceptions] Don't re-request interrupt in InvokeWithTryCatch
    >
    > This CL changes InvokeWithTryCatch to not re-request the terminate
    > execution interrupt, but instead schedule the termination exception.
    > This ensures that leaving the outermost TryCatch scope will clear
    > the exception, and no interrupt remains.
    >
    > Previously, the interrupt request could remain and prevent further
    > JavaScript execution even after the TryCatch scope was left.
    >
    > Change-Id: I1e603dc822bbcb0def4cf0a898d59cf8d4b9d039
    > Bug: chromium:1014415
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1871910
    > Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
    > Reviewed-by: Yang Guo <yangguo@chromium.org>
    > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#65255}
    
    Tbr: yangguo@chromium.org, verwaest@chromium.org
    Bug: chromium:1014415
    Change-Id: I29444c4b7ea5a158865f54d4608f374914f7b133
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1943151Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
    Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#65258}
    b9df6e1c
test-thread-termination.cc 35.8 KB