Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(38)

Issue 2035893004: [turbofan] Introduce a dedicated CheckBounds operator. (Closed)

Created:
4 years, 6 months ago by Benedikt Meurer
Modified:
4 years, 6 months ago
Reviewers:
Jarin
CC:
v8-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[turbofan] Introduce a dedicated CheckBounds operator. This CheckBounds simplified operator is similar to the HBoundsCheck in Crankshaft, and is hooked up to the new type feedback support in the SimplifiedLowering. We use it to check the index bounds for keyed property accesses. Note to perf sheriffs: This will tank quite a few benchmarks, as the operator makes some redundant branch elimination ineffective for certain patterns of keyed accesses. This does require more serious redundancy elimination, which we will do in a separate CL. So ignore any regressions from this CL, we know there will be a few. R=jarin@chromium.org BUG=v8:4470, v8:5100 Committed: https://crrev.com/85e5567dae66a918500ae94c5568221137a0f5d4 Committed: https://crrev.com/2267ccb1bb173f563c08b7fb7e9cdf8c2bd5e332 Cr-Original-Commit-Position: refs/heads/master@{#36947} Cr-Commit-Position: refs/heads/master@{#37003}

Patch Set 1 #

Patch Set 2 : REBASE. #

Patch Set 3 : Fixification #

Patch Set 4 : Fix invalid truncation of array indices. #

Patch Set 5 : Fix invalid conversion. #

Patch Set 6 : REBASE #

Unified diffs Side-by-side diffs Delta from patch set Stats (+126 lines, -42 lines) Patch
M src/compiler/effect-control-linearizer.h View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/effect-control-linearizer.cc View 1 2 3 4 5 3 chunks +43 lines, -14 lines 0 comments Download
M src/compiler/js-native-context-specialization.cc View 1 2 3 4 5 3 chunks +3 lines, -28 lines 0 comments Download
M src/compiler/opcodes.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/simplified-lowering.cc View 1 2 3 4 5 1 chunk +7 lines, -0 lines 0 comments Download
M src/compiler/simplified-operator.h View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/simplified-operator.cc View 1 2 3 4 5 1 chunk +6 lines, -0 lines 0 comments Download
M src/compiler/typer.cc View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
M src/compiler/verifier.cc View 1 2 3 4 5 1 chunk +6 lines, -0 lines 0 comments Download
A test/mjsunit/compiler/regress-5100.js View 1 2 3 1 chunk +51 lines, -0 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 32 (18 generated)
Benedikt Meurer
4 years, 6 months ago (2016-06-03 09:55:09 UTC) #1
Jarin
On 2016/06/03 09:55:09, Benedikt Meurer wrote: lgtm (once it is updated to work with the ...
4 years, 6 months ago (2016-06-11 10:27:00 UTC) #2
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2035893004/40001
4 years, 6 months ago (2016-06-13 15:28:16 UTC) #5
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 6 months ago (2016-06-13 15:57:56 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2035893004/60001
4 years, 6 months ago (2016-06-13 18:20:13 UTC) #11
commit-bot: I haz the power
Try jobs failed on following builders: v8_linux64_rel_ng on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_rel_ng/builds/7235) v8_linux64_rel_ng_triggered on tryserver.v8 (JOB_FAILED, ...
4 years, 6 months ago (2016-06-13 18:40:04 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2035893004/80001
4 years, 6 months ago (2016-06-14 03:51:16 UTC) #16
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 6 months ago (2016-06-14 05:37:38 UTC) #18
commit-bot: I haz the power
Patchset 5 (id:??) landed as https://crrev.com/85e5567dae66a918500ae94c5568221137a0f5d4 Cr-Commit-Position: refs/heads/master@{#36947}
4 years, 6 months ago (2016-06-14 06:12:21 UTC) #20
vogelheim
A revert of this CL (patchset #5 id:80001) has been created in https://codereview.chromium.org/2064163002/ by vogelheim@chromium.org. ...
4 years, 6 months ago (2016-06-14 16:08:08 UTC) #21
commit-bot: I haz the power
This CL has an open dependency (Issue 2066223002 Patch 20001). Please resolve the dependency and ...
4 years, 6 months ago (2016-06-15 12:18:34 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2035893004/100001
4 years, 6 months ago (2016-06-15 13:00:29 UTC) #28
commit-bot: I haz the power
Committed patchset #6 (id:100001)
4 years, 6 months ago (2016-06-15 13:04:45 UTC) #30
commit-bot: I haz the power
4 years, 6 months ago (2016-06-15 13:07:31 UTC) #32
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/2267ccb1bb173f563c08b7fb7e9cdf8c2bd5e332
Cr-Commit-Position: refs/heads/master@{#37003}

Powered by Google App Engine
This is Rietveld 408576698