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

Issue 1238163003: dart2js cps: Share interceptors by default and propagate to use later. (Closed)

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

Description

dart2js cps: Share interceptors by default and propagate to use later. We now only introduce one getInterceptor call per primitive. (The main use for GVN seemed to be cleaning up these calls, but we might as well not introduce them in the first place). To propagate single-used interceptors to their use, propagation of constant-like expressions has changed. There is a new CPS pass, let sinking, which sinks single-used pure primitives to their use when the use is not inside a loop. Conversely, the tree IR's assignment propagation has been made less aggressive to compensate for things now handled by let sinking. R=floitsch@google.com Committed: https://github.com/dart-lang/sdk/commit/6e0a210da0d9593802451f4a359f2c4a3e64d3d4

Patch Set 1 #

Patch Set 2 : Minor fix #

Total comments: 20

Patch Set 3 : Address comments #

Patch Set 4 : Renamed to let_sinking.dart #

Unified diffs Side-by-side diffs Delta from patch set Stats (+343 lines, -36 lines) Patch
M pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart View 2 chunks +5 lines, -3 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart View 1 2 1 chunk +7 lines, -1 line 0 comments Download
A pkg/compiler/lib/src/cps_ir/let_sinking.dart View 1 2 3 1 chunk +243 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/optimizers.dart View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/type_propagation.dart View 2 chunks +19 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/codegen/task.dart View 3 chunks +5 lines, -1 line 0 comments Download
M pkg/compiler/lib/src/js_backend/codegen/unsugar.dart View 5 chunks +40 lines, -13 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/optimization/statement_rewriter.dart View 3 chunks +5 lines, -1 line 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart View 2 chunks +3 lines, -2 lines 0 comments Download
M pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart View 1 chunk +2 lines, -1 line 0 comments Download
M tests/compiler/dart2js/js_backend_cps_ir_basic_test.dart View 1 chunk +2 lines, -3 lines 0 comments Download
M tests/compiler/dart2js/js_backend_cps_ir_closures_test.dart View 3 chunks +6 lines, -6 lines 0 comments Download
M tests/compiler/dart2js/js_backend_cps_ir_interceptors_test.dart View 1 chunk +4 lines, -4 lines 0 comments Download
M tests/compiler/dart2js_extra/dart2js_extra.status View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 5 (1 generated)
asgerf
5 years, 5 months ago (2015-07-17 15:45:13 UTC) #2
floitsch
LGTM. https://codereview.chromium.org/1238163003/diff/20001/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart File pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart (right): https://codereview.chromium.org/1238163003/diff/20001/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart#newcode113 pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart:113: String nameContinuation(cps_ir.Continuation cont) { new line before and ...
5 years, 5 months ago (2015-07-17 17:19:46 UTC) #3
asgerf
https://codereview.chromium.org/1238163003/diff/20001/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart File pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart (right): https://codereview.chromium.org/1238163003/diff/20001/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart#newcode113 pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart:113: String nameContinuation(cps_ir.Continuation cont) { On 2015/07/17 17:19:45, floitsch wrote: ...
5 years, 5 months ago (2015-07-20 09:10:57 UTC) #4
asgerf
5 years, 5 months ago (2015-07-20 14:53:31 UTC) #5
Message was sent while issue was closed.
Committed patchset #4 (id:60001) manually as
6e0a210da0d9593802451f4a359f2c4a3e64d3d4 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698