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

Issue 1364703004: dart2js cps: LICM, GVN, and constify for interceptors in one pass. (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: LICM, GVN, and constify for interceptors in one pass. Neither of these optimizations can "obviously" be placed before any of the others without missing out on an optimization: Constifying an interceptor makes it LICM'able because its dependency on the input disappears. This suggests we should constify before LICM. Interceptors in disjoint scopes might become sharable after LICM. This suggests we LICM before sharing. Constifying an interceptor can prevent sharing, because we "forget" which input it came from. This suggests we share before constifying. The last point could also be resolved by performing a stronger analysis to determine which interceptors in scope are a valid substitute for a given interceptor. But having everything in one pass isn't too bad. BUG= R=sra@google.com Committed: https://github.com/dart-lang/sdk/commit/3fa9c1f80abefbfedf1e231bf2adf32a81d8e826

Patch Set 1 #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+173 lines, -206 lines) Patch
D pkg/compiler/lib/src/cps_ir/loop_invariant_code_motion.dart View 1 chunk +0 lines, -140 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/optimizers.dart View 1 chunk +0 lines, -1 line 0 comments Download
M pkg/compiler/lib/src/cps_ir/share_interceptors.dart View 1 chunk +173 lines, -64 lines 4 comments Download
M pkg/compiler/lib/src/js_backend/codegen/task.dart View 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 5 (1 generated)
asgerf
FYI the diff for share_interceptors.dart is horrible, as it has very little in common with ...
5 years, 3 months ago (2015-09-24 09:03:28 UTC) #2
sra1
LGTM I still feel that we are missing a level of editing functions to move ...
5 years, 2 months ago (2015-09-25 18:26:17 UTC) #3
asgerf
https://chromiumcodereview.appspot.com/1364703004/diff/1/pkg/compiler/lib/src/cps_ir/share_interceptors.dart File pkg/compiler/lib/src/cps_ir/share_interceptors.dart (right): https://chromiumcodereview.appspot.com/1364703004/diff/1/pkg/compiler/lib/src/cps_ir/share_interceptors.dart#newcode100 pkg/compiler/lib/src/cps_ir/share_interceptors.dart:100: interceptor.input.unlink(); On 2015/09/25 18:26:17, sra1 wrote: > Perhaps we ...
5 years, 2 months ago (2015-09-28 10:50:14 UTC) #4
asgerf
5 years, 2 months ago (2015-09-28 11:55:27 UTC) #5
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
3fa9c1f80abefbfedf1e231bf2adf32a81d8e826 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698