commit | 407a7c4623fd296395b92d60bde09d439f01e33f | [log] [tgz] |
---|---|---|
author | Andreas Haas <ahaas@chromium.org> | Fri May 26 09:00:26 2023 |
committer | V8 LUCI CQ <v8-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri May 26 09:53:07 2023 |
tree | 789f3ae0ae0a8e8a854c5217878d6a72c4c2453d | |
parent | 5887db1d9fdaa3b03510d9a5ad29bc061b0f6203 [diff] |
[turbofan] Use start as the control input of Projection For each node in TurboFan, at most one Projection node is allowed per output. Therefore, if GVN merges two nodes with Projection nodes as users, also the Projection nodes have to be merged. However, if the Projection nodes have different control inputs, they cannot be merged. In principle The Projection node does not need a control input. However, the control input enforces better scheduler decisions when the projection is used for deopt decisions. This CL therefore does not remove the control input of the Projection node, but uses the start node as the control input for Projection nodes created by the GraphAssembler. The GraphAssembler is not used for code dealing with deopts, but it is used by the fast API calls where the problems with Projection node merging showed up. R=dmercadier@chromium.org Bug: chromium:1449115 Change-Id: I84ea596762283e11a38947c59948bd4bc5ca7184 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4570503 Reviewed-by: Darius Mercadier <dmercadier@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#87880}
V8 is Google's open source JavaScript engine.
V8 implements ECMAScript as specified in ECMA-262.
V8 is written in C++ and is used in Google Chrome, the open source browser from Google.
V8 can run standalone, or can be embedded into any C++ application.
V8 Project page: https://v8.dev/docs
Checkout depot tools, and run
fetch v8
This will checkout V8 into the directory v8
and fetch all of its dependencies. To stay up to date, run
git pull origin gclient sync
For fetching all branches, add the following into your remote configuration in .git/config
:
fetch = +refs/branch-heads/*:refs/remotes/branch-heads/* fetch = +refs/tags/*:refs/tags/*
Please follow the instructions mentioned at v8.dev/docs/contribute.