v8/test/inspector/regress
Simon Zünd e56fe00bc3 [debug] Fix catch prediction for for-of statement
The bytecode generator currently uses the wrong catch prediction in
the desugaring for for-of loops. This leads to unexpected pauses in
DevTools when 'pause on uncaught exceptions' is enabled, e.g. for throwing generators.

Specifically the call to .next of the iterator is unconditionally
marked as 'uncaught' instead of using the surrounding catch
prediction. Similarly, in the desugared "finally" block we call
.return which can also throw.

Note that if both the loop body and the ".return" throws, the
exception from ".return" is caught and only the loop body exception
is re-thrown. We still pause on both throw sites since we can't
detect this case statically.

R=leszeks@chromium.org

Bug: chromium:1270780
Change-Id: I2e642ef3fbfcfc6ad19e92cf611188801ebf2450
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4146420
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/main@{#85164}
2023-01-10 07:12:59 +00:00
..
regress-crbug-980018-expected.txt
regress-crbug-980018.js
regress-crbug-1080638-expected.txt
regress-crbug-1080638.js
regress-crbug-1081162-expected.txt
regress-crbug-1081162.js
regress-crbug-1085693-expected.txt [inspector] Add regression test for leaking vars in debug-evaluate 2022-11-08 08:08:37 +00:00
regress-crbug-1085693.js [inspector] Add regression test for leaking vars in debug-evaluate 2022-11-08 08:08:37 +00:00
regress-crbug-1147552-expected.txt
regress-crbug-1147552.js
regress-crbug-1183664-expected.txt
regress-crbug-1183664.js
regress-crbug-1195927-expected.txt
regress-crbug-1195927.js
regress-crbug-1197392-expected.txt
regress-crbug-1197392.js
regress-crbug-1199919-expected.txt
regress-crbug-1199919.js
regress-crbug-1207867-expected.txt
regress-crbug-1207867.js
regress-crbug-1209117-expected.txt [inspector] Land regression test that now succeeds 2022-10-25 12:53:04 +00:00
regress-crbug-1209117.js [inspector] Land regression test that now succeeds 2022-10-25 12:53:04 +00:00
regress-crbug-1220203-expected.txt
regress-crbug-1220203.js [debug] Only pause once when we throw in an async generator 2022-12-09 12:49:29 +00:00
regress-crbug-1222065-expected.txt
regress-crbug-1222065.js
regress-crbug-1233401-expected.txt
regress-crbug-1233401.js
regress-crbug-1246896-expected.txt Add regression test to check Runtime.getProperties for native functions 2022-08-11 06:22:22 +00:00
regress-crbug-1246896.js [inspector] Disable [[Scopes]] internal property 2022-09-22 07:12:24 +00:00
regress-crbug-1246897-expected.txt [inspector] Add regression test for hoisting and debug-evaluate 2022-11-09 11:09:18 +00:00
regress-crbug-1246897.js [inspector] Add regression test for hoisting and debug-evaluate 2022-11-09 11:09:18 +00:00
regress-crbug-1253277-expected.txt
regress-crbug-1253277.js
regress-crbug-1270780-expected.txt [debug] Fix catch prediction for for-of statement 2023-01-10 07:12:59 +00:00
regress-crbug-1270780.js [debug] Fix catch prediction for for-of statement 2023-01-10 07:12:59 +00:00
regress-crbug-1274529-expected.txt
regress-crbug-1274529.js
regress-crbug-1281031-expected.txt
regress-crbug-1281031.js
regress-crbug-1283049-expected.txt
regress-crbug-1283049.js
regress-crbug-1290861-expected.txt
regress-crbug-1290861.js
regress-crbug-1328453-expected.txt
regress-crbug-1328453.js
regress-crbug-1350842-expected.txt [debug] Fix scope for class member initializer 2022-08-11 09:49:02 +00:00
regress-crbug-1350842.js [debug] Fix source position around class literals 2022-08-16 07:16:47 +00:00
regress-crbug-1352303-expected.txt [debugger] Throw exception if 'var x' fails in debug eval in module 2022-10-26 05:39:32 +00:00
regress-crbug-1352303.js [debugger] Throw exception if 'var x' fails in debug eval in module 2022-10-26 05:39:32 +00:00
regress-crbug-1353051-expected.txt [inspector] Fix crash when building preview with a proxy prototype 2022-08-16 13:19:33 +00:00
regress-crbug-1353051.js [inspector] Fix crash when building preview with a proxy prototype 2022-08-16 13:19:33 +00:00
regress-crbug-1366843-expected.txt [inspector] Fix user-after-free bug around async evaluations 2022-10-04 06:21:23 +00:00
regress-crbug-1366843.js [inspector] Fix user-after-free bug around async evaluations 2022-10-04 06:21:23 +00:00
regress-crbug-1401674-expected.txt [debug] Fix stepping through single statement loops 2023-01-05 07:18:16 +00:00
regress-crbug-1401674.js [debug] Fix stepping through single statement loops 2023-01-05 07:18:16 +00:00