044b283a3c
Perform a depth-first postorder traversal of the call graph of known functions. Make an inlining decision based on the vector of argument types at the call site, and cache inlining decisions. For positive inlining decisions, cache the optimized function body specialized to the receiver and argument types at the call site. Future work: * Real inlining heuristics. * Propagate result types of inlined calls. * Specialized for constant arguments when it makes sense. * Performance improvements. R=asgerf@google.com, sra@google.com Committed: https://github.com/dart-lang/sdk/commit/d63053fea8731d2fb380022c1c3d296489d1c017 Review URL: https://codereview.chromium.org/1537663002 .
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 dart2analyzer" test if the assignment generates a static type warning.