-
Jakob Gruber authored
After landing a few relatively simple ports in preceding work, this CL ports the more involved Array.prototype.forEach reduction, containing checkpoints, JS and runtime calls, loops, and exceptions. With the mechanisms introduced in this change, I'd expect a large chunk of js-call reductions to be trivially portable. Newly introduced: - IfBuilder0 for if-then-else statements (with optional else). - ForBuilder for for-loop statements. - MayThrow() for exceptional control flow. Exceptional edges are automatically merged and wired into the outer graph if necessary. Bug: v8:9972 Change-Id: I835bf90c5871fbd94a1d12721d44b500fbef75e2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1921798Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#65193}
971e81ad