Files
sdk/pkg/pkg.status
T
Kevin Millikin 044b283a3c dart2js: Initial implementation of inlining.
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 .
2015-12-23 10:12:19 +01:00

203 lines
11 KiB
Plaintext

# Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
# Don't run any test-like files that show up in packages directories. It
# shouldn't be necessary to run "pub install" in these packages, but if you do
# it shouldn't break the tests.
*/packages/*/*: Skip
*/*/packages/*/*: Skip
*/*/*/packages/*/*: Skip
*/*/*/*/packages/*/*: Skip
*/*/*/*/*/packages/*/*: Skip
# Analyzer2dart is not maintained anymore.
analyzer2dart/test/*: Skip
[ $compiler == none && ($runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
mutation_observer: Skip # Issue 21149
unittest/*: Skip # Issue 21949
lookup_map/*: SkipByDesign
[ $runtime == vm && $mode == debug ]
analysis_server/test/completion_test: Pass, Slow
[ $runtime == vm && $system == windows]
analysis_server/test/analysis/get_errors_test: Skip # runtime error, Issue 22180
analysis_server/test/integration/analysis/analysis_options_test: RuntimeError # Issue 24796
analyzer/test/generated/all_the_rest_test: Fail # Issue 21772
[ $compiler == dart2js ]
analyzer_cli/test/*: SkipByDesign # Only meant to run on vm
analysis_server/test/*: Skip # Issue 22161
analysis_server/test/analysis_notification_highlights_test: Pass, Slow # 19756, 21628
analysis_server/test/analysis_notification_navigation_test: Pass, Slow # Issue 19756, 21628
analysis_server/test/analysis_notification_occurrences_test: Pass, Slow # Issue 19756, 21628
analysis_server/test/analysis_notification_outline_test: Pass, Slow # Issue 19756, 21628
analysis_server/test/domain_analysis_test: Pass, Slow # Issue 19756, 21628
analysis_server/test/domain_completion_test: Pass, Slow
analysis_server/test/edit/assists_test: Pass, Slow
analysis_server/test/edit/format_test: Pass, Slow
analysis_server/test/edit/refactoring_test: Pass, Slow # Issue 19756, 21628
analysis_server/test/search/element_references_test: Pass, Slow
analysis_server/test/search/top_level_declarations_test: Pass, Slow # 19756, 21628
analysis_server/test/services/index/store/codec_test: Pass, Slow
analysis_server/test/socket_server_test: Pass, Slow # Issue 19756, 21628
analyzer/test/enum_test: Slow, Pass, Fail # Issue 21323
analyzer/test/generated/all_the_rest_test: Pass, Slow # Issue 21628
analyzer/test/generated/ast_test: Pass, Slow # Issue 21628
analyzer/test/generated/compile_time_error_code_test: Pass, Slow
analyzer/test/generated/compile_time_error_code_test: Pass, Slow # Issue 21628
analyzer/test/generated/declaration_resolver_test: Pass, Slow # Issue 21628
analyzer/test/generated/element_test: Pass, Slow # Issue 21628
analyzer/test/generated/engine_test: SkipSlow
analyzer/test/generated/incremental_resolver_test: Pass, Slow # Issue 21628
analyzer/test/generated/incremental_scanner_test: Pass, Slow # Issue 21628
analyzer/test/generated/non_error_resolver_test: Pass, Slow # Issue 21628
analyzer/test/generated/parser_test: Pass, Slow # Issue 21628
analyzer/test/generated/resolver_test: Pass, Slow # Issue 21628
analyzer/test/generated/scanner_test: Pass, Slow # Issue 21628
analyzer/test/generated/source_factory_test: Pass, Slow # Issue 21628
analyzer/test/generated/static_type_warning_code_test: Pass, Slow
analyzer/test/generated/static_type_warning_code_test: Pass, Slow # Issue 21628
analyzer/test/generated/static_warning_code_test: Pass, Slow # Issue 21628
analyzer/test/generated/utilities_test: Pass, Slow # Issue 21628
analyzer/test/src/context/cache_test: Pass, Slow # Issue 21628
analyzer/test/src/context/context_test: Pass, Timeout # dartbug.com/23658
analyzer/test/src/dart/element/element_test: Pass, Slow # Issue 21628
analyzer/test/src/summary/summary_test: Pass, Slow # Issue 21628
analyzer/test/src/task/dart_test: Pass, Slow # Issue 21628
analyzer/test/src/task/dart_work_manager_test: Pass, Slow # Issue 21628
analyzer/test/src/task/driver_test: Pass, Slow # Issue 21628
analyzer/test/src/task/general_test: Pass, Slow # Issue 21628
analyzer/test/src/task/html_test: Pass, Slow # Issue 21628
analyzer/test/src/task/html_work_manager_test: Pass, Slow # Issue 21628
analyzer/test/src/task/incremental_element_builder_test: Pass, Slow # Issue 21628
analyzer/test/src/task/inputs_test: Pass, Slow # Issue 21628
analyzer/test/src/task/manager_test: Pass, Slow # Issue 21628
analyzer/test/src/task/model_test: Pass, Slow # Issue 21628
analyzer/test/src/task/options_test: Pass, Slow # Issue 21628
analyzer/test/src/task/options_work_manager_test: Pass, Slow # Issue 21628
analyzer/test/src/task/strong/checker_test: Pass, Slow # Issue 21628
collection/test/equality_test/01: Fail # Issue 1533
collection/test/equality_test/02: Fail # Issue 1533
collection/test/equality_test/03: Fail # Issue 1533
collection/test/equality_test/04: Fail # Issue 1533
collection/test/equality_test/05: Fail # Issue 1533
collection/test/equality_test/none: Pass, Fail # Issue 14348
lookup_map/test/version_check_test: SkipByDesign # Only meant to run in vm.
typed_data/test/typed_buffers_test/01: Fail # Not supporting Int64List, Uint64List.
# Analysis server integration tests don't make sense to run under
# dart2js, since the code under test always runs in the Dart vm as a
# subprocess.
analysis_server/test/integration: Skip
[ $compiler == dart2js && $checked ]
crypto/test/base64_test: Slow, Pass
[ $runtime == d8 ]
analysis_server/test/analysis_notification_overrides_test: Pass, Slow # Issue 19756
analysis_server/test/analysis_notification_occurrences_test: Pass, Slow # Issue 19756
analysis_server/test/analysis_notification_outline_test: Pass, Slow # Issue 19756
analysis_server/test/domain_search_test: Pass, Slow # Issue 19756
analysis_server/test/search/element_reference_test: Pass, Slow # Issue 19756
analysis_server/index/store/codec_test: Pass, Slow # Issue 19756
[ $runtime == jsshell ]
async/test/stream_zip_test: RuntimeError, OK # Timers are not supported.
[ $compiler == dart2js && $runtime == drt ]
async/test/stream_zip_test: RuntimeError, Pass # Issue 18548
[ $compiler == dart2js && ($runtime == chrome || $runtime == ff) ]
collection/test/unmodifiable_collection_test: SkipSlow # Times out. Issue 22050
async/test/stream_zip_test: SkipSlow # Times out. Issue 22050
[ $runtime == ie10 ]
analyzer/test/generated/java_core_test: Pass, Timeout # Issue 19747
typed_data/test/typed_buffers_test/none: Fail # Issue 17607 (I put this here explicitly, since this is not the same as on ie9)
[ $runtime == safarimobilesim ]
# Unexplained errors only occuring on Safari 6.1 and earlier.
typed_data/test/typed_buffers_test: RuntimeError
[ $compiler == dart2analyzer ]
compiler/samples/compile_loop/compile_loop: CompileTimeError # Issue 16524
lookup_map/test/version_check_test: StaticWarning # https://github.com/dart-lang/http_parser/issues/6
lookup_map/test/lookup_map_test: StaticWarning # https://github.com/dart-lang/http_parser/issues/6
[ $compiler == dart2js && $csp ]
# This test cannot run under CSP because it is injecting a JavaScript polyfill
mutation_observer: Skip
[ $compiler == dart2js && $browser ]
crypto/test/sha256_test: Slow, Pass
crypto/test/sha1_test: Slow, Pass
[ $browser ]
analyzer_cli/*: SkipByDesign # Uses dart:io.
*/test/analyzer_test: SkipByDesign # No need to run analysis tests on browser bots
analysis_server/test/*: SkipByDesign # Uses dart:io.
analysis_server/tool/spec/check_all_test: SkipByDesign # Uses dart:io.
analyzer/test/*: SkipByDesign # Uses dart:io.
analyzer/tool/task_dependency_graph/check_test: SkipByDesign # Uses dart:io.
analyzer/tool/summary/check_test: SkipByDesign # Uses dart:io.
analyzer2dart/*: SkipByDesign # Uses dart:io.
http_server/test/*: Fail, OK # Uses dart:io.
observe/test/transformer_test: Fail, OK # Uses dart:io.
observe/test/unique_message_test: SkipByDesign # Uses dart:io.
dart_messages/test/dart_messages_test: Skip # Uses dart:io.
[ $runtime == vm && ($arch == simarm64 || $arch == simarm || $arch == simarmv5te || $arch == simmips || $arch == armv5te) ]
# Timeout. These are not unit tests. They do not run efficiently on our
# simulator or low-end devices.
*: Skip
[ $runtime == vm ]
# Skip tests on the VM if the package depends on dart:html
mutation_observer: Skip
[ $compiler == dart2js && $runtime == chrome && $system == macos ]
third_party/di_tests/di_test: Pass, Slow # Issue 22896
[ $use_repository_packages ]
analyzer/test/*: PubGetError
[ $compiler == dart2js && $cps_ir && $host_checked == false ]
analyzer/test/dart/element/element_test: Pass, Slow # Times out due to inlining, but see issue 24485
analyzer/test/src/summary/resynthesize_test: Pass, Slow # Times out due to inlining, but see issue 24485
analyzer/test/src/task/strong_mode_test: Pass, Slow # Times out due to inlining, but see issue 24485
[ $compiler == dart2js && $cps_ir && $host_checked ]
analyzer/test/enum_test: Crash # Issue 24485
analyzer/test/generated/all_the_rest_test: Crash # Issue 24485
analyzer/test/generated/ast_test: Crash # Issue 24485
analyzer/test/generated/compile_time_error_code_test: Crash # Issue 24485
analyzer/test/generated/element_test: Crash # Issue 24485
analyzer/test/generated/incremental_resolver_test: Crash # Issue 24485
analyzer/test/generated/incremental_scanner_test: Crash # Issue 24485
analyzer/test/generated/non_error_resolver_test: Crash # Issue 24485
analyzer/test/generated/parser_test: Crash # Issue 24485
analyzer/test/generated/resolver_test: Crash # Issue 24485
analyzer/test/generated/scanner_test: Crash # Issue 24485
analyzer/test/generated/source_factory_test: Crash # Issue 24485
analyzer/test/generated/static_type_warning_code_test: Crash # Issue 24485
analyzer/test/generated/static_warning_code_test: Crash # Issue 24485
analyzer/test/generated/utilities_test: Crash # Issue 24485
analyzer/test/src/context/cache_test: Crash # Issue 24485
analyzer/test/src/context/context_test: Crash # Issue 24485
analyzer/test/src/task/dart_test: Crash # Issue 24485
analyzer/test/src/task/dart_work_manager_test: Crash # Issue 24485
analyzer/test/src/task/driver_test: Crash # Issue 24485
analyzer/test/src/task/general_test: Crash # Issue 24485
analyzer/test/src/task/html_test: Crash # Issue 24485
analyzer/test/src/task/html_work_manager_test: Crash # Issue 24485
analyzer/test/src/task/incremental_element_builder_test: Crash # Issue 24485
analyzer/test/src/task/inputs_test: Crash # Issue 24485
analyzer/test/src/task/manager_test: Crash # Issue 24485
analyzer/test/src/task/model_test: Crash # Issue 24485
analyzer/test/src/task/strong/checker_test: Crash # t: Failed assertion: line 88 pos 12: '!variable2index.containsKey(element)' is not true.
analyzer/test/src/task/strong/inferred_type_test: Crash # t: Failed assertion: line 88 pos 12: '!variable2index.containsKey(element)' is not true.
analyzer/test/src/task/strong_mode_test: Crash # Issue 24485