Files
sdk/tests
Asger Feldthaus 84b164a52b dart2js cps: Global value numbering and loop-invariant code motion.
There is a new pass for doing GVN and LICM.

The 'share interceptors' pass previously GVN'ed and LICM'ed interceptors
but now only constifies them and lets GVN handle the rest.  The pass
has been renamed to optimize_interceptors.

The 'share final fields' pass has been removed since GVN does the same.

A new pass 'remove redundant refinements' removes some refinement nodes
that contribute no information.  These would sometimes block code motion
for no good reason.  This pass is should go away once GVN is able to
hoist expressions across refinement guards.

BUG=
R=sra@google.com

Review URL: https://codereview.chromium.org/1444363002 .
2015-11-24 12:45:32 +01:00
..
2015-11-24 08:26:03 +01:00
2015-11-24 08:26:03 +01:00

Run Existing Tests
==================

See the output of

  ../tools/test.py --help

for how to run tests.

See also

  https://code.google.com/p/dart/wiki/Building#Testing

for detailed examples.

Create New Tests
================

See comments above

  factory StandardTestSuite.forDirectory

in

  ../tools/testing/dart/test_suite.dart

for the default test directory layout. By default test-file names must
end in "_test.dart", but some test suites, such as ./co19, subclass
StandardTestSuite and override this default.

See comments at the beginning of

  ../tools/testing/dart/multitest.dart

for how to create tests that pass by failing with a known error. For
example,

  ...
  int x = "not an int"; /// 01: static type warning
  ...

as part of a test will only pass the "--compiler dartanalyzer" test if
the assignment generates a static type warning.