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

Issue 1252883003: dart2js cps: Fix performance issues in optimization passes. (Closed)

Created:
5 years, 5 months ago by asgerf
Modified:
5 years, 4 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: Fix performance issues in optimization passes. Type propagation, shrinking reductions, and let sinking each took more than 2 minutes on a stress test, where now they take a few seconds. Huge hash tables (Map/Set) were a big problem, especially when used as worklists. Let sinking had an issue with a linear-time search for the enclosing continuation of an expression. This has been replaced with a visitor state. The stress test was: tests/co19/src/LibTest/collection/ListBase/ListBase_class_A01_t02 This was only slow because negative constants get translated to intercepted calls. That itself should be fixed, but the IR should still be able to handle the stress. The change in shrinking reductions altered the redex priority from FIFO to LIFO which has a negative effect on code quality in unwrapException (in any test case with a try/catch). It seems like an existing issue that has surfaced. Since I am going on vacation, I ask that someone would please commit this on my behalf (assuming things are looking good). --asgerf BUG= R=karlklose@google.com Committed: https://github.com/dart-lang/sdk/commit/2a137d16dba4bf15f4d63322db179b1e78b56856

Patch Set 1 #

Patch Set 2 : Update status file #

Unified diffs Side-by-side diffs Delta from patch set Stats (+85 lines, -73 lines) Patch
M pkg/compiler/lib/src/cps_ir/let_sinking.dart View 4 chunks +42 lines, -31 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/shrinking_reductions.dart View 4 chunks +5 lines, -6 lines 0 comments Download
M pkg/compiler/lib/src/cps_ir/type_propagation.dart View 13 chunks +38 lines, -33 lines 0 comments Download
M tests/co19/co19-dart2js.status View 1 2 chunks +0 lines, -3 lines 0 comments Download

Messages

Total messages: 4 (1 generated)
asgerf
5 years, 5 months ago (2015-07-24 13:00:30 UTC) #2
karlklose
LGTM. I will commit it for you.
5 years, 5 months ago (2015-07-27 08:44:06 UTC) #3
karlklose
5 years, 4 months ago (2015-07-27 10:12:11 UTC) #4
Message was sent while issue was closed.
Committed patchset #2 (id:20001) manually as
2a137d16dba4bf15f4d63322db179b1e78b56856 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698