commit | 06caff224a290898cc013a35a02c756a992306f6 | [log] [tgz] |
---|---|---|
author | Darius M <dmercadier@chromium.org> | Mon Oct 09 09:38:25 2023 |
committer | V8 LUCI CQ <v8-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Oct 09 10:53:23 2023 |
tree | 4e85e1884b3e0eaf58884e6f8365ecc2f6d99259 | |
parent | 28bedca3d693e9cf27d86d361ca68ac12a4bd1d1 [diff] |
[compiler] Improve branch fusion when operations are skipped This change is motivated by the following graph: 471: Int32SubWithOverflow(464, 6) 472: Projection[0](471) 473: Projection[1](471) 474: DeoptimizeIf[Overflow, FeedbackSource(INVALID)](473, 470) 475: Int32LessThanOrEqual(43, 472) 476: Branch[Unspecified, None](475) -> B54, B61 During ISEL, 475 is fused with 476, which means that is thus never marked as Defined. As a result, when trying to cover fuse 471 in 474, we decide not to, because 472 has a use in the current block that is not yet Defined. With this change, we'll realize that the use of 472 will in fact never be Defined, so we can ignore it, and we can then indeed fuse 471 with 474. Bug: v8:12783 Change-Id: I76a70e99a3884963f2c8129aa59773240a01ebca Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4921729 Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Darius Mercadier <dmercadier@chromium.org> Cr-Commit-Position: refs/heads/main@{#90299}
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.