mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 02:37:53 +00:00
2a137d16db
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 Review URL: https://codereview.chromium.org//1252883003 . |
||
---|---|---|
.. | ||
dart2js_test.dart | ||
dummy.dart | ||
dummy_compiler_test.dart | ||
recursive_import_test.dart | ||
source_mirrors_test.dart | ||
test_utils.dart | ||
utils.status |