[inspector] Properly catch side effecting iterators.
Array spread syntax `[...obj]` is compiled to a special bytecode that tries to take fast-paths for values special kinds of `obj`s, including Set, Map, and Array iterator instances. But these fast-paths skip the side-effect checks of `Runtime.evaluate` and friends, and thus lead to surprises for developers. This CL alters the behavior to always call the `next()` builtins when the debugger is active to make sure we catch the side effects correctly. Fixed: chromium:1255896 Change-Id: If3fc48a119cfa791c4fde7b5c586acc22dd973e7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3226329 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/main@{#77409}
Showing
Please
register
or
sign in
to comment