cbdf102d0c
Type arguments that require a subsitution need the interceptor to
access the substitution function.
- Add an interceptor input to HTypeInfoReadVariable
- Add an entry point getRuntimeTypeArgumentIntercepted that takes the interceptor.
- Optimize uses that do not need the interceptor.
The interceptor is cheap to get from the context in the common case
that the type variable access is directly in an instance method.
A typical use (broken)
var t1 = H.getRuntimeTypeArgument(receiver, "ListMixin", 0);
becomes
var t1 = H.getRuntimeTypeArgumentIntercepted(this, receiver, "ListMixin", 0);
Change-Id: I2abe6a2b6e8d2cdb0ede1b7248dd8337830f8a0c
Reviewed-on: https://dart-review.googlesource.com/50640
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
335 lines
16 KiB
Plaintext
335 lines
16 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.
|
|
|
|
maps_test: Skip # Maps class no longer exists
|
|
|
|
[ $compiler == dart2analyzer ]
|
|
*: Skip
|
|
|
|
[ $compiler == dart2js ]
|
|
error_stack_trace1_test: RuntimeError # Issue 12399
|
|
regexp/pcre_test: Pass, Slow # Issue 21593
|
|
|
|
[ $compiler == precompiler ]
|
|
apply3_test: SkipByDesign # Imports dart:mirrors
|
|
big_integer_huge_mul_vm_test: Pass, Timeout # --no_intrinsify
|
|
big_integer_parsed_mul_div_vm_test: Pass, Timeout # --no_intrinsify
|
|
int_parse_radix_test: Pass, Timeout # --no_intrinsify
|
|
regexp/stack-overflow_test: RuntimeError, OK # Smaller limit with irregex interpreter
|
|
|
|
[ $mode == debug ]
|
|
regexp/pcre_test: Pass, Slow # Timeout. Issue 22008
|
|
|
|
[ $runtime == d8 ]
|
|
uri_base_test: RuntimeError # d8 preamble uses custom URI scheme "org-dartlang-d8-preamble:".
|
|
|
|
[ $runtime == ff ]
|
|
double_round3_test: Pass, Fail, OK # Fails on ff 34, passes on ff 35. Runtime rounds 0.49999999999999994 to 1.
|
|
double_round_to_double2_test: Pass, Fail, OK # Fails on ff 34, passes on ff 35. Runtime rounds 0.49999999999999994 to 1.
|
|
|
|
[ $runtime == flutter ]
|
|
apply3_test: CompileTimeError # No support for mirrors
|
|
bool_from_environment_test: Fail # Flutter Issue 9111
|
|
format_exception_test: RuntimeError # Flutter Issue 9111
|
|
from_environment_const_type_test/01: Fail # Flutter Issue 9111
|
|
from_environment_const_type_test/02: MissingCompileTimeError # Flutter Issue 9111
|
|
from_environment_const_type_test/03: MissingCompileTimeError # Flutter Issue 9111
|
|
from_environment_const_type_test/04: MissingCompileTimeError # Flutter Issue 9111
|
|
from_environment_const_type_test/05: Fail # Flutter Issue 9111
|
|
from_environment_const_type_test/06: MissingCompileTimeError # Flutter Issue 9111
|
|
from_environment_const_type_test/07: MissingCompileTimeError # Flutter Issue 9111
|
|
from_environment_const_type_test/08: MissingCompileTimeError # Flutter Issue 9111
|
|
from_environment_const_type_test/09: MissingCompileTimeError # Flutter Issue 9111
|
|
from_environment_const_type_test/10: Fail # Flutter Issue 9111
|
|
from_environment_const_type_test/11: MissingCompileTimeError # Flutter Issue 9111
|
|
from_environment_const_type_test/12: MissingCompileTimeError # Flutter Issue 9111
|
|
from_environment_const_type_test/13: MissingCompileTimeError # Flutter Issue 9111
|
|
from_environment_const_type_test/14: MissingCompileTimeError # Flutter Issue 9111
|
|
from_environment_const_type_test/15: Fail # Flutter Issue 9111
|
|
from_environment_const_type_test/16: MissingCompileTimeError # Flutter Issue 9111
|
|
from_environment_const_type_test/none: Fail # Flutter Issue 9111
|
|
int_from_environment2_test: Fail # Flutter Issue 9111
|
|
int_from_environment_test: Fail # Flutter Issue 9111
|
|
main_test: RuntimeError # Flutter Issue 9111
|
|
string_from_environment2_test: Fail # Flutter Issue 9111
|
|
string_from_environment_test: Fail # Flutter Issue 9111
|
|
|
|
[ $runtime == jsshell ]
|
|
string_case_test/01: RuntimeError # jsshell does not recognize character 223 aka \xdf
|
|
unicode_test: RuntimeError # jsshell does not recognize character 223 aka \xdf
|
|
|
|
[ $runtime != none ]
|
|
map_from_test: Fail # Assumes LinkedHashMap implements HashMap.
|
|
|
|
[ $runtime == safari ]
|
|
double_round3_test: RuntimeError
|
|
double_round_to_double2_test: Pass, Fail, OK
|
|
string_trimlr_test/unicode63: RuntimeError # Uses Unicode 6.2.0 or earlier.
|
|
|
|
[ $fasta ]
|
|
symbol_reserved_word_test/04: MissingCompileTimeError
|
|
symbol_reserved_word_test/07: MissingCompileTimeError
|
|
symbol_reserved_word_test/10: MissingCompileTimeError
|
|
symbol_test/02: MissingCompileTimeError
|
|
symbol_test/03: MissingCompileTimeError
|
|
|
|
[ $strong ]
|
|
*: SkipByDesign # tests/corelib_2 has the strong mode versions of these tests.
|
|
|
|
[ $arch == simarmv5te && ($runtime == dart_precompiled || $runtime == vm) ]
|
|
big_integer_parsed_mul_div_vm_test: Pass, Slow
|
|
int_parse_radix_test/*: Pass, Slow
|
|
|
|
[ $arch == x64 && $system == windows ]
|
|
stopwatch_test: Skip # Flaky test due to expected performance behaviour.
|
|
|
|
[ $compiler != dart2analyzer && $runtime != dart_precompiled && $runtime != vm ]
|
|
data_resource_test: RuntimeError # Issue 23825 (not implemented yet).
|
|
file_resource_test: Skip, OK # VM specific test, uses dart:io.
|
|
http_resource_test: Skip, OK # VM specific test, uses dart:io.
|
|
|
|
[ $compiler == dart2js && $runtime == chromeOnAndroid ]
|
|
list_as_map_test: Pass, Slow # TODO(kasperl): Please triage.
|
|
string_trimlr_test/unicode63: RuntimeError # Uses Unicode 6.2.0 or earlier.
|
|
|
|
[ $compiler == dart2js && $runtime == drt ]
|
|
string_trimlr_test/unicode63: RuntimeError # Uses Unicode 6.2.0 or earlier.
|
|
|
|
[ $compiler == dart2js && $runtime == drt && $csp && $minified ]
|
|
core_runtime_types_test: Pass, Fail # Issue 27913
|
|
|
|
[ $compiler == dart2js && $runtime == none ]
|
|
*: Fail, Pass # TODO(ahe): Triage these tests.
|
|
|
|
[ $compiler == dart2js && !$browser ]
|
|
package_resource_test: RuntimeError # Issue 26842
|
|
|
|
[ $compiler == dart2js && $checked && $fasta ]
|
|
from_environment_const_type_test/02: MissingCompileTimeError
|
|
from_environment_const_type_test/03: MissingCompileTimeError
|
|
from_environment_const_type_test/04: MissingCompileTimeError
|
|
from_environment_const_type_test/06: MissingCompileTimeError
|
|
from_environment_const_type_test/07: MissingCompileTimeError
|
|
from_environment_const_type_test/08: MissingCompileTimeError
|
|
from_environment_const_type_test/09: MissingCompileTimeError
|
|
from_environment_const_type_test/11: MissingCompileTimeError
|
|
from_environment_const_type_test/12: MissingCompileTimeError
|
|
from_environment_const_type_test/13: MissingCompileTimeError
|
|
from_environment_const_type_test/14: MissingCompileTimeError
|
|
from_environment_const_type_test/16: MissingCompileTimeError
|
|
from_environment_const_type_undefined_test/02: MissingCompileTimeError
|
|
from_environment_const_type_undefined_test/03: MissingCompileTimeError
|
|
from_environment_const_type_undefined_test/04: MissingCompileTimeError
|
|
from_environment_const_type_undefined_test/06: MissingCompileTimeError
|
|
from_environment_const_type_undefined_test/07: MissingCompileTimeError
|
|
from_environment_const_type_undefined_test/08: MissingCompileTimeError
|
|
|
|
[ $compiler == dart2js && $fast_startup ]
|
|
apply3_test: Fail # mirrors not supported
|
|
|
|
[ $compiler == dart2js && $fasta ]
|
|
apply3_test: RuntimeError # mirrors not supported
|
|
big_integer_arith_vm_test/add: RuntimeError
|
|
big_integer_arith_vm_test/div: RuntimeError
|
|
big_integer_arith_vm_test/gcd: RuntimeError
|
|
big_integer_arith_vm_test/mod: RuntimeError
|
|
big_integer_arith_vm_test/modInv: RuntimeError
|
|
big_integer_arith_vm_test/modPow: RuntimeError
|
|
big_integer_arith_vm_test/mul: RuntimeError
|
|
big_integer_arith_vm_test/negate: RuntimeError
|
|
big_integer_arith_vm_test/none: RuntimeError
|
|
big_integer_arith_vm_test/overflow: RuntimeError
|
|
big_integer_arith_vm_test/shift: RuntimeError
|
|
big_integer_arith_vm_test/sub: RuntimeError
|
|
big_integer_arith_vm_test/trunDiv: RuntimeError
|
|
big_integer_parsed_arith_vm_test: RuntimeError
|
|
big_integer_parsed_div_rem_vm_test: RuntimeError
|
|
big_integer_parsed_mul_div_vm_test: RuntimeError
|
|
bit_twiddling_bigint_test: RuntimeError
|
|
compare_to2_test: RuntimeError
|
|
double_parse_test/01: RuntimeError
|
|
hash_set_test/01: RuntimeError
|
|
int_modulo_arith_test/bignum: RuntimeError
|
|
int_modulo_arith_test/modPow: RuntimeError
|
|
int_parse_radix_test/01: RuntimeError
|
|
int_parse_radix_test/02: RuntimeError
|
|
integer_to_radix_string_test: RuntimeError
|
|
integer_to_string_test/01: RuntimeError
|
|
iterable_return_type_test/02: RuntimeError
|
|
nan_infinity_test/01: RuntimeError
|
|
regress_r21715_test: RuntimeError
|
|
string_base_vm_test: RuntimeError
|
|
symbol_reserved_word_test/03: RuntimeError
|
|
|
|
[ $compiler == dart2js && $fasta && $host_checked ]
|
|
apply3_test: RuntimeError
|
|
|
|
[ $compiler == dart2js && $fasta && $minified ]
|
|
apply3_test: RuntimeError
|
|
symbol_operator_test/03: RuntimeError # Issue 27394
|
|
symbol_operator_test/none: RuntimeError
|
|
|
|
[ $compiler == dart2js && !$fasta ]
|
|
big_integer_*: Skip # VM specific test.
|
|
bit_twiddling_bigint_test: RuntimeError # Requires bigint support.
|
|
compare_to2_test: RuntimeError, OK # Requires bigint support.
|
|
double_parse_test/01: Pass, Fail # JS implementations disagree on U+0085 being whitespace.
|
|
hash_set_test/01: RuntimeError # Issue 11551
|
|
int_modulo_arith_test/bignum: RuntimeError # No bigints.
|
|
int_modulo_arith_test/modPow: RuntimeError # No bigints.
|
|
int_parse_radix_test/01: Pass, Fail # JS implementations disagree on U+0085 being whitespace.
|
|
int_parse_radix_test/02: Fail # No bigints.
|
|
integer_to_radix_string_test: RuntimeError # issue 22045
|
|
integer_to_string_test/01: RuntimeError # Issue 1533
|
|
iterable_return_type_test/02: RuntimeError # Dart2js does not support Uint64*.
|
|
list_unmodifiable_test: Pass, RuntimeError # Issue 28712
|
|
nan_infinity_test/01: Fail # Issue 11551
|
|
regress_r21715_test: RuntimeError # Requires bigint support.
|
|
string_base_vm_test: RuntimeError, OK # VM specific test.
|
|
symbol_reserved_word_test/02: CompileTimeError # bug 20191
|
|
symbol_reserved_word_test/03: RuntimeError # bug 19972, new Symbol('void') should be allowed.
|
|
symbol_reserved_word_test/04: MissingCompileTimeError
|
|
symbol_reserved_word_test/05: Crash # bug 20191
|
|
symbol_reserved_word_test/07: MissingCompileTimeError
|
|
symbol_reserved_word_test/10: MissingCompileTimeError
|
|
|
|
[ $compiler != dart2js && $fasta ]
|
|
big_integer_arith_vm_test/add: CompileTimeError
|
|
big_integer_arith_vm_test/div: CompileTimeError
|
|
big_integer_arith_vm_test/gcd: CompileTimeError
|
|
big_integer_arith_vm_test/mod: CompileTimeError
|
|
big_integer_arith_vm_test/modInv: CompileTimeError
|
|
big_integer_arith_vm_test/modPow: CompileTimeError
|
|
big_integer_arith_vm_test/mul: CompileTimeError
|
|
big_integer_arith_vm_test/negate: CompileTimeError
|
|
big_integer_arith_vm_test/none: CompileTimeError
|
|
big_integer_arith_vm_test/overflow: CompileTimeError
|
|
big_integer_arith_vm_test/shift: CompileTimeError
|
|
big_integer_arith_vm_test/sub: CompileTimeError
|
|
big_integer_arith_vm_test/trunDiv: CompileTimeError
|
|
bit_twiddling_bigint_test: CompileTimeError
|
|
bit_twiddling_test: CompileTimeError
|
|
bool_from_environment2_test/01: MissingCompileTimeError
|
|
bool_from_environment2_test/02: MissingCompileTimeError
|
|
bool_from_environment2_test/03: MissingCompileTimeError
|
|
bool_from_environment2_test/04: MissingCompileTimeError
|
|
bool_from_environment2_test/05: MissingCompileTimeError
|
|
double_ceil_test: CompileTimeError
|
|
double_floor_test: CompileTimeError
|
|
double_round_test: CompileTimeError
|
|
double_truncate_test: CompileTimeError
|
|
int_ceil_test: CompileTimeError
|
|
int_ceil_to_double_test: CompileTimeError
|
|
int_floor_test: CompileTimeError
|
|
int_floor_to_double_test: CompileTimeError
|
|
int_from_environment3_test/01: MissingCompileTimeError
|
|
int_from_environment3_test/02: MissingCompileTimeError
|
|
int_from_environment3_test/03: MissingCompileTimeError
|
|
int_from_environment3_test/04: MissingCompileTimeError
|
|
int_from_environment3_test/05: MissingCompileTimeError
|
|
int_from_environment_test: CompileTimeError
|
|
int_modulo_arith_test/bignum: CompileTimeError
|
|
int_modulo_arith_test/modPow: CompileTimeError
|
|
int_modulo_arith_test/none: CompileTimeError
|
|
int_parse_radix_test/02: CompileTimeError
|
|
int_round_test: CompileTimeError
|
|
int_round_to_double_test: CompileTimeError
|
|
int_to_int_test: CompileTimeError
|
|
int_truncate_test: CompileTimeError
|
|
int_truncate_to_double_test: CompileTimeError
|
|
integer_to_radix_string_test: CompileTimeError
|
|
integer_to_string_test/01: CompileTimeError
|
|
num_parse_test/01: CompileTimeError
|
|
num_parse_test/none: CompileTimeError
|
|
num_sign_test: CompileTimeError
|
|
regress_r21715_test: CompileTimeError
|
|
string_from_environment3_test/01: MissingCompileTimeError
|
|
string_from_environment3_test/02: MissingCompileTimeError
|
|
string_from_environment3_test/03: MissingCompileTimeError
|
|
string_from_environment3_test/04: MissingCompileTimeError
|
|
string_from_environment3_test/05: MissingCompileTimeError
|
|
symbol_test/01: MissingCompileTimeError
|
|
|
|
[ $runtime != d8 && $runtime != dart_precompiled && $runtime != vm ]
|
|
regexp/*: Skip # The regexp tests are not verified to work on non d8/vm platforms yet.
|
|
|
|
[ $runtime != drt && ($compiler == app_jit || $compiler == none || $compiler == precompiler) ]
|
|
symbol_test/02: MissingCompileTimeError # bug 11669
|
|
symbol_test/03: MissingCompileTimeError # bug 11669
|
|
|
|
[ $arch == simdbc || $arch == simdbc64 ]
|
|
regexp/stack-overflow_test: RuntimeError, OK # Smaller limit with irregex interpreter
|
|
|
|
[ $compiler == app_jit || $compiler == none || $compiler == precompiler ]
|
|
compare_to2_test: Fail # Bug 4018
|
|
string_case_test/01: Fail # Bug 18061
|
|
symbol_operator_test/03: Fail # bug 11669
|
|
symbol_reserved_word_test/02: CompileTimeError # bug 20191
|
|
symbol_reserved_word_test/04: MissingCompileTimeError # bug 11669, 19972
|
|
symbol_reserved_word_test/05: CompileTimeError # bug 20191
|
|
symbol_reserved_word_test/06: RuntimeError # bug 11669
|
|
symbol_reserved_word_test/07: MissingCompileTimeError # bug 11669, 19972
|
|
symbol_reserved_word_test/09: RuntimeError # bug 11669
|
|
symbol_reserved_word_test/10: MissingCompileTimeError # bug 11669, 19972
|
|
symbol_reserved_word_test/12: RuntimeError # bug 11669
|
|
symbol_test/01: Fail, Pass # bug 11669
|
|
symbol_test/none: Fail # bug 11669
|
|
unicode_test: Fail # Bug 6706
|
|
|
|
[ $compiler == app_jit || $compiler == precompiler ]
|
|
data_resource_test: Skip # Resolve URI not supported yet in product mode.
|
|
file_resource_test: Skip # Resolve URI not supported yet in product mode.
|
|
http_resource_test: Skip # Resolve URI not supported yet in product mode.
|
|
package_resource_test: Skip # Resolve URI not supported yet in product mode.
|
|
|
|
# We skip all the Dart 1.0 tests in dartk and dartkp mode as these
|
|
# modes are intended only for Dart 2.0 with strong mode enabled.
|
|
[ $compiler == dartk || $compiler == dartkp ]
|
|
*: Skip
|
|
|
|
[ $runtime == dart_precompiled || $runtime == flutter || $runtime == vm ]
|
|
big_integer_arith_vm_test: CompileTimeError # Large integer literal
|
|
big_integer_parsed_arith_vm_test: RuntimeError # Large integers
|
|
big_integer_parsed_div_rem_vm_test: RuntimeError # Large integers
|
|
big_integer_parsed_mul_div_vm_test: RuntimeError # Large integers
|
|
bit_twiddling_bigint_test: CompileTimeError # Large integer literal
|
|
bit_twiddling_test: CompileTimeError # Large integer literal
|
|
double_ceil_test: CompileTimeError # Large integer literal
|
|
double_floor_test: CompileTimeError # Large integer literal
|
|
double_round_test: CompileTimeError # Large integer literal
|
|
double_truncate_test: CompileTimeError # Large integer literal
|
|
int_ceil_test: CompileTimeError # Large integer literal
|
|
int_ceil_to_double_test: CompileTimeError # Large integer literal
|
|
int_floor_test: CompileTimeError # Large integer literal
|
|
int_floor_to_double_test: CompileTimeError # Large integer literal
|
|
int_from_environment_test: CompileTimeError # Large integer literal
|
|
int_modulo_arith_test: CompileTimeError # Large integer literal
|
|
int_parse_radix_test/02: CompileTimeError # Large integer literal
|
|
int_round_test: CompileTimeError # Large integer literal
|
|
int_round_to_double_test: CompileTimeError # Large integer literal
|
|
int_to_int_test: CompileTimeError # Large integer literal
|
|
int_truncate_test: CompileTimeError # Large integer literal
|
|
int_truncate_to_double_test: CompileTimeError # Large integer literal
|
|
integer_to_radix_string_test: CompileTimeError # Large integer literal
|
|
integer_to_string_test/01: CompileTimeError # Large integer literal
|
|
num_parse_test/01: CompileTimeError # Large integer literal
|
|
num_parse_test/none: CompileTimeError # Large integer literal
|
|
num_sign_test: CompileTimeError # Large integer literal
|
|
regexp/capture-3: Pass, Slow, Timeout # Issues 21593 and 22008
|
|
regexp/global_test: Skip # Timeout. Issue 21709 and 21708
|
|
regexp/pcre_test: Pass, Slow, Timeout # Issues 21593 and 22008
|
|
regress_r21715_test: CompileTimeError # Large integer literal
|
|
|
|
# Firefox takes advantage of the ECMAScript number parsing cop-out clause
|
|
# (presumably added to allow Mozilla's existing behavior)
|
|
# and only looks at the first 20 significant digits.
|
|
# The Dart VM and the other ECMAScript implementations follow the correct
|
|
# IEEE-754 rounding algorithm.
|
|
[ $runtime == ff || $runtime == jsshell ]
|
|
double_parse_test/02: Fail, OK
|
|
|
|
[ $hot_reload || $hot_reload_rollback ]
|
|
big_integer_huge_mul_vm_test: Pass, Slow # Slow
|
|
big_integer_parsed_mul_div_vm_test: Pass, Slow # Slow.
|