cb8d7994ce
(Work-in-progress, but mostly done) InvokeMethod and friends no longer take a continuation, but are instead primitives bound by LetPrim. This touches a lot of code. Some general housekeeping came along in the process. InvokeMethod has a "calling convention" enum on it to enable dartReceiver and getDartArgument convenience methods. There is a new UnsafePrimitive class to help type propagation constant-fold InvokeMethods. I expect the class will go away after some changes to type propagation. Most optimizations work exactly as before, but not all are 100% consistent. The consecutive push rewrite was removed entirely because V8 does not like that. BUG= R=kmillikin@google.com, sra@google.com Review URL: https://codereview.chromium.org/1458703007 .
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.