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

Issue 1353443002: dart2js cps: Add a pass for eliminating bounds checks. (Closed)

Created:
5 years, 3 months ago by asgerf
Modified:
5 years, 2 months ago
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 a pass for eliminating bounds checks. The analysis uses a watered-down octagon domain which reduces range analysis to a graph problem. There are more ideas to try out to improve on this, but I think this is a nice baseline to work from. BUG= R=sra@google.com Committed: https://github.com/dart-lang/sdk/commit/a50105543f84819e75ed7a4f87e22d500c968639

Patch Set 1 #

Total comments: 16

Patch Set 2 : Rebase #

Patch Set 3 : Address comments and some other fixes #

Patch Set 4 : Merge #

Patch Set 5 : Merge (after parent pointer change) #

Patch Set 6 : Various fixes #

Patch Set 7 : Put "pending statics" error in status file #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1155 lines, -56 lines) Patch
A pkg/compiler/lib/src/cps_ir/bounds_checker.dart View 1 2 3 4 5 1 chunk +616 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_fragment.dart View 1 2 3 4 1 chunk +8 lines, -0 lines 0 comments Download
A pkg/compiler/lib/src/cps_ir/octagon.dart View 1 2 3 4 5 1 chunk +215 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/optimizers.dart View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/type_mask_system.dart View 1 2 3 4 5 4 chunks +23 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/type_propagation.dart View 1 2 3 4 5 chunks +21 lines, -43 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/codegen/task.dart View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart View 1 2 3 4 5 1 chunk +0 lines, -1 line 0 comments Download
M tests/compiler/dart2js/js_backend_cps_ir_control_flow_test.dart View 1 2 3 1 chunk +1 line, -5 lines 0 comments Download
M tests/compiler/dart2js/js_backend_cps_ir_interceptors_test.dart View 1 chunk +1 line, -3 lines 0 comments Download
M tests/compiler/dart2js/js_backend_cps_ir_operators_test.dart View 1 2 3 4 1 chunk +2 lines, -4 lines 0 comments Download
A tests/compiler/dart2js/octagon_test.dart View 1 chunk +264 lines, -0 lines 0 comments Download
M tests/corelib/corelib.status View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M tests/language/language_dart2js.status View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 10 (2 generated)
asgerf
https://codereview.chromium.org/1353443002/diff/1/pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart File pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart (left): https://codereview.chromium.org/1353443002/diff/1/pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart#oldcode136 pkg/compiler/lib/src/tree_ir/tree_ir_tracer.dart:136: whileBlock.statements.add(node); Drive-by bugfix https://codereview.chromium.org/1353443002/diff/1/tests/corelib/corelib.status File tests/corelib/corelib.status (right): https://codereview.chromium.org/1353443002/diff/1/tests/corelib/corelib.status#newcode234 tests/corelib/corelib.status:234: ...
5 years, 3 months ago (2015-09-16 15:25:09 UTC) #2
asgerf
R.addAll([karlklose, sra]);
5 years, 3 months ago (2015-09-21 11:47:01 UTC) #4
sra1
lgtm https://chromiumcodereview.appspot.com/1353443002/diff/1/pkg/compiler/lib/src/cps_ir/bounds_checker.dart File pkg/compiler/lib/src/cps_ir/bounds_checker.dart (right): https://chromiumcodereview.appspot.com/1353443002/diff/1/pkg/compiler/lib/src/cps_ir/bounds_checker.dart#newcode101 pkg/compiler/lib/src/cps_ir/bounds_checker.dart:101: if (isUInt32(number)) { Is there a benefit to ...
5 years, 2 months ago (2015-09-30 21:54:20 UTC) #5
asgerf
https://codereview.chromium.org/1353443002/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/1353443002/diff/1/pkg/compiler/lib/src/cps_ir/bounds_checker.dart#newcode101 pkg/compiler/lib/src/cps_ir/bounds_checker.dart:101: if (isUInt32(number)) { On 2015/09/30 21:54:19, sra1 wrote: > ...
5 years, 2 months ago (2015-10-01 09:49:34 UTC) #6
asgerf
https://codereview.chromium.org/1353443002/diff/1/pkg/compiler/lib/src/cps_ir/type_mask_system.dart File pkg/compiler/lib/src/cps_ir/type_mask_system.dart (right): https://codereview.chromium.org/1353443002/diff/1/pkg/compiler/lib/src/cps_ir/type_mask_system.dart#newcode70 pkg/compiler/lib/src/cps_ir/type_mask_system.dart:70: new TypeMask.unionOf(<TypeMask>[stringType, inferrer.fixedListType], On 2015/10/01 09:49:34, asgerf wrote: > ...
5 years, 2 months ago (2015-10-01 10:35:26 UTC) #7
sra1
Are you ready to land this? I did LGTM over a week ago.
5 years, 2 months ago (2015-10-12 18:00:33 UTC) #8
asgerf
On 2015/10/12 18:00:33, sra1 wrote: > Are you ready to land this? > I did ...
5 years, 2 months ago (2015-10-13 08:05:27 UTC) #9
asgerf
5 years, 2 months ago (2015-10-13 14:41:06 UTC) #10
Message was sent while issue was closed.
Committed patchset #7 (id:120001) manually as
a50105543f84819e75ed7a4f87e22d500c968639 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698