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

Issue 1689933002: dart2js cps: Do not inline string interpolation helper. (Closed)

Created:
4 years, 10 months ago by asgerf
Modified:
4 years, 10 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: Do not inline string interpolation helper. Inlining H.S(x) can lead to code like: x === 0 ? 1 / x < 0 ? "-0.0" : "" + x : "" + x It does not help much to inline this and it can block more useful inlinings because the extra code brings the caller over the inlining threshold. H.S(x) is replaced with x.toString$0(0) if x is a self-interceptor, and the inliner is then allowed to continue inlining on that. BUG= R=kmillikin@google.com, sigmund@google.com Committed: https://github.com/dart-lang/sdk/commit/64fa2ef505c6281974b5426f4474003cdb9518d2

Patch Set 1 #

Patch Set 2 : Rebase + update test expectations #

Unified diffs Side-by-side diffs Delta from patch set Stats (+142 lines, -113 lines) Patch
M pkg/compiler/lib/src/cps_ir/inline.dart View 1 1 chunk +1 line, -0 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/type_mask_system.dart View 1 chunk +7 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/type_propagation.dart View 1 1 chunk +12 lines, -2 lines 0 comments Download
M pkg/compiler/lib/src/types/abstract_value_domain.dart View 1 chunk +2 lines, -0 lines 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/basic_1.js View 1 1 chunk +2 lines, -2 lines 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/basic_10.js View 1 1 chunk +1 line, -1 line 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/basic_11.js View 1 1 chunk +4 lines, -5 lines 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/basic_12.js View 1 1 chunk +1 line, -1 line 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/basic_13.js View 1 1 chunk +4 lines, -5 lines 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/basic_14.js View 1 1 chunk +4 lines, -5 lines 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/basic_15.js View 1 1 chunk +4 lines, -5 lines 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/basic_4.js View 1 1 chunk +4 lines, -5 lines 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/basic_9.js View 1 1 chunk +5 lines, -5 lines 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/closures_5.js View 1 1 chunk +1 line, -1 line 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/closures_7.js View 1 1 chunk +1 line, -1 line 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/codeUnitAt_1.js View 1 1 chunk +4 lines, -5 lines 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/constructor_1.js View 1 1 chunk +1 line, -1 line 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/constructor_11.js View 1 1 chunk +1 line, -1 line 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/constructor_13.js View 1 1 chunk +5 lines, -5 lines 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/constructor_7.js View 1 1 chunk +10 lines, -5 lines 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/constructor_8.js View 1 1 chunk +10 lines, -6 lines 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/gvn_1.js View 1 1 chunk +1 line, -1 line 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/interceptors_1.js View 1 1 chunk +4 lines, -5 lines 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/operators_4.js View 1 1 chunk +6 lines, -10 lines 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/operators_5.js View 1 1 chunk +6 lines, -9 lines 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/operators_7.js View 1 1 chunk +4 lines, -5 lines 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/operators_8.js View 1 1 chunk +6 lines, -6 lines 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/runtime_types_1.js View 1 1 chunk +10 lines, -5 lines 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/runtime_types_2.js View 1 1 chunk +10 lines, -5 lines 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/runtime_types_3.js View 1 1 chunk +10 lines, -5 lines 0 comments Download
M tests/compiler/dart2js/cps_ir/expected/supercall_3.js View 1 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 8 (3 generated)
asgerf
4 years, 10 months ago (2016-02-11 14:42:14 UTC) #3
Siggi Cherem (dart-lang)
lgtm
4 years, 10 months ago (2016-02-11 16:24:31 UTC) #4
Kevin Millikin (Google)
lgtm
4 years, 10 months ago (2016-02-12 11:42:03 UTC) #5
asgerf
I'm getting a segfault when running tests/compiler/dart2js/cps_ir/update_all.dart Blocked by https://github.com/dart-lang/sdk/issues/25771
4 years, 10 months ago (2016-02-12 13:09:03 UTC) #6
asgerf
4 years, 10 months ago (2016-02-15 09:58:08 UTC) #8
Message was sent while issue was closed.
Committed patchset #2 (id:40001) manually as
64fa2ef505c6281974b5426f4474003cdb9518d2 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698