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

Issue 1479193002: dart2js cps: Add more constraint rules to bounds-check elimination. (Closed)

Created:
5 years ago by asgerf
Modified:
5 years ago
Reviewers:
sra1
CC:
reviews_dartlang.org
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

dart2js cps: Add more constraint rules to bounds-check elimination. The sign of a +/- operation is computed, which can help in cases where the result could not be proven to be within 53-bit range. Also added rules for ~/, %, >>, &, and unary negation operators. BUG= R=sra@google.com Committed: https://github.com/dart-lang/sdk/commit/ab37dac248ecdb49a28ec6bb057c11e046d8be29

Patch Set 1 #

Total comments: 9

Patch Set 2 : Comments #

Patch Set 3 : Make faster check for unary constraints #

Patch Set 4 : Merge #

Unified diffs Side-by-side diffs Delta from patch set Stats (+143 lines, -55 lines) Patch
M pkg/compiler/lib/src/cps_ir/bounds_checker.dart View 1 2 chunks +128 lines, -44 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/octagon.dart View 1 2 1 chunk +9 lines, -7 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/type_propagation.dart View 1 2 3 1 chunk +6 lines, -4 lines 0 comments Download

Messages

Total messages: 9 (3 generated)
asgerf
5 years ago (2015-11-27 15:23:06 UTC) #3
sra1
https://codereview.chromium.org/1479193002/diff/1/pkg/compiler/lib/src/cps_ir/bounds_checker.dart File pkg/compiler/lib/src/cps_ir/bounds_checker.dart (right): https://codereview.chromium.org/1479193002/diff/1/pkg/compiler/lib/src/cps_ir/bounds_checker.dart#newcode417 pkg/compiler/lib/src/cps_ir/bounds_checker.dart:417: } Also: x >> k <= MAX_UINT32 >> k ...
5 years ago (2015-11-27 20:28:22 UTC) #4
asgerf
https://codereview.chromium.org/1479193002/diff/1/pkg/compiler/lib/src/cps_ir/bounds_checker.dart File pkg/compiler/lib/src/cps_ir/bounds_checker.dart (right): https://codereview.chromium.org/1479193002/diff/1/pkg/compiler/lib/src/cps_ir/bounds_checker.dart#newcode417 pkg/compiler/lib/src/cps_ir/bounds_checker.dart:417: } On 2015/11/27 20:28:21, sra1 wrote: > Also: x ...
5 years ago (2015-11-30 13:46:03 UTC) #5
sra1
lgtm
5 years ago (2015-12-01 01:03:39 UTC) #6
asgerf
https://codereview.chromium.org/1479193002/diff/1/pkg/compiler/lib/src/cps_ir/bounds_checker.dart File pkg/compiler/lib/src/cps_ir/bounds_checker.dart (right): https://codereview.chromium.org/1479193002/diff/1/pkg/compiler/lib/src/cps_ir/bounds_checker.dart#newcode424 pkg/compiler/lib/src/cps_ir/bounds_checker.dart:424: if (isDefinitelyGreaterThanOrEqualToConstant(leftVar, 0) && On 2015/11/30 13:46:03, asgerf wrote: ...
5 years ago (2015-12-01 16:19:35 UTC) #7
asgerf
5 years ago (2015-12-01 16:20:21 UTC) #9
Message was sent while issue was closed.
Committed patchset #4 (id:80001) manually as
ab37dac248ecdb49a28ec6bb057c11e046d8be29 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698