dart-sdk/tests/language_2
Tess Strickland 9329995dd8 [vm] Add a separate invoke field dispatcher for dynamic closure calls.
Adds TODO comments in appropriate places for future work that will move
non-covariant type checks out of the closure body. Instead, the VM will
perform them in the invoke field dispatcher (or NoSuchMethodFromCallStub
if --no-lazy-dispatchers is used) when a dynamic call is detected.

This change has minimal negative effects on the code size. Here are the
code size change percentages for the Flutter Gallery in release mode:

* ARM7
  * Instructions: +0.0391%
  * ROData: -0.0040%
  * Total: +0.0239%
* ARM8:
  * Instructions: No change
  * ROData: +0.0015%
  * Total: +0.0004%

All other code size benchmarks are also <0.01% increase.

Bug: https://github.com/dart-lang/sdk/issues/40813
Change-Id: I4bf145803bb9e2d4ba5c22c12b6fd3bb5368441d
Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-nnbd-linux-release-x64-try,vm-dartkb-linux-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151826
Commit-Queue: Tess Strickland <sstrickl@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-07-02 13:16:19 +00:00
..
abstract Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
accessor_conflict Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
argument Migrate language_2/argument to NNBD. 2020-02-04 15:07:11 +00:00
assert Make TypeError no longer implement AssertionError. 2020-02-21 14:02:57 +00:00
assign [cfe] Improve message on final variable assignment 2020-03-24 13:11:29 +00:00
async [cfe] Handle dynamic return in async 2020-04-30 12:39:04 +00:00
async_nested Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
async_star [dartdevc] Fixing issue whereby async generators would not resume properly after yielding from within a catch block. 2020-05-29 20:37:06 +00:00
await Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
bool Mark legacy boolean tests as complete for migration. 2020-06-25 18:57:32 +00:00
call Unify two error codes for diagnostics 2020-06-29 18:58:03 +00:00
canonicalize Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
cascade Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
class Unify two error codes for diagnostics 2020-06-29 18:58:03 +00:00
closure Clean up uses of @virtual in tests 2020-06-26 20:33:55 +00:00
compile_time_constant Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
const Improve the range selected by const_constructor_with_field_initialized_by_non_const 2020-06-28 14:51:31 +00:00
constants_2018 Remove constant-update-2018 flag from tests. 2019-08-22 11:00:54 +00:00
constructor Unify two error codes for diagnostics 2020-06-29 18:58:03 +00:00
control_flow_collections Migrate language_2/control_flow_collections to NNBD. 2020-04-04 00:04:27 +00:00
covariant [dart2js] Visit type parameter bounds in the scope visitor. 2020-06-19 23:17:47 +00:00
covariant_override
deferred [cfe] Handle callable extension getters 2020-03-13 10:46:39 +00:00
double Migrate language_2/double to NNBD. 2020-04-04 00:25:17 +00:00
double_literals
dynamic The type 'dynamic' is defined in dart:core. 2020-04-13 17:55:36 +00:00
enum Make all CastErrors be TypeErrors. 2020-03-11 23:31:06 +00:00
exception Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
export Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
extension_methods Remove extension method opt-in in many language tests 2020-05-31 18:46:23 +00:00
factory Analyzer: print constructor name when constructor returns invalid type 2020-06-15 13:52:56 +00:00
field Clean up uses of @virtual in tests 2020-06-26 20:33:55 +00:00
final [cfe] Improve message on final variable assignment 2020-03-24 13:11:29 +00:00
fixed_size_int
function [cfe] Handle A extends FutureOr<B> <: FutureOr<B> 2020-04-05 06:31:19 +00:00
function_subtype Migrate language_2/function_subtype to NNBD. 2020-05-05 16:52:30 +00:00
function_type
generic Unify two error codes for diagnostics 2020-06-29 18:58:03 +00:00
generic_methods Make all CastErrors be TypeErrors. 2020-03-11 23:31:06 +00:00
getter Migrate language_2/getter to NNBD. 2020-05-14 19:16:39 +00:00
identifier Migrate language_2/identifier to NNBD. 2020-05-15 18:47:52 +00:00
identity Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
if Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
if_null [cfe] Improve message on final variable assignment 2020-03-24 13:11:29 +00:00
implicit_creation
implicit_downcast_during Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
import Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
inference Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
initializer_assert
initializing_formal Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
instance Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
instantiate_to_bound
interceptor Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
interface Merge 4 diagnostics for the purpose of documentation 2020-06-23 17:46:02 +00:00
invalid_returns
is Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
label Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
lazy Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
least_upper_bound Migrate language_2/least_upper_bound to NNBD. 2020-05-30 00:55:26 +00:00
library Migrate language_2/library to NNBD. 2020-05-30 01:10:44 +00:00
list Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
loop Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
main Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
malbounded Make all CastErrors be TypeErrors. 2020-03-11 23:31:06 +00:00
malformed Unify two error codes for diagnostics 2020-06-29 18:58:03 +00:00
map Use WRONG_NUMBER_OF_TYPE_ARGUMENTS instead of two other equivalent error codes. 2019-12-31 20:27:03 +00:00
metadata Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
method Unify two error codes for diagnostics 2020-06-29 18:58:03 +00:00
mixin Analyzer: Remove error on class-used-as-mixin referencing super 2020-06-13 15:11:25 +00:00
mixin_constructor_forwarding Add test for mixin application constructor forwarding of default values. 2020-06-12 16:36:40 +00:00
mixin_declaration
new Unify two error codes for diagnostics 2020-06-29 18:58:03 +00:00
no_such_method Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
nonfunction_type_aliases [CFE] Type infer aliased factory invocations. 2020-07-01 07:19:08 +00:00
nosuchmethod_forwarding [cfe] Account for signatures when inserting noSuchMethod forwarders 2020-02-04 07:58:00 +00:00
null Make all CastErrors be TypeErrors. 2020-03-11 23:31:06 +00:00
null_aware Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
number Add support for web static error tests to TestFile and StaticError. 2020-05-13 01:06:14 +00:00
operator [cfe,analyzer] Disallow type parameters on operator methods 2020-01-31 14:05:02 +00:00
optimize Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
override Clean up uses of @virtual in tests 2020-06-26 20:33:55 +00:00
parameter Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
part Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
prefix Unify two error codes for diagnostics 2020-06-29 18:58:03 +00:00
private Unify two error codes for diagnostics 2020-06-29 18:58:03 +00:00
propagate Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
redirecting Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
reg_exp Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
regress Unify two error codes for diagnostics 2020-06-29 18:58:03 +00:00
resolution Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
return Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
rewrite Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
script Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
set_literals Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
setter Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
spread_collections Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
stack_trace Migrate tests to language/stack_trace. 2020-05-07 13:47:57 +00:00
static Remove reporting duplicate CompileTimeErrorCode.CONST_NOT_INITIALIZED from ConstructorFieldsVerifier. 2019-12-30 01:24:38 +00:00
string Migrate language_2/string to null safety. 2020-06-17 21:14:43 +00:00
subtyping_dynamic
subtyping_static Add test demonstrating that FutureOr<A> <: FutureOr<B> =/=> A <: B. 2019-10-15 23:07:03 +00:00
super Clean up uses of @virtual in tests 2020-06-26 20:33:55 +00:00
superinterface_variance
switch Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
symbol Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
sync_star Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
syntax Track files that do not need to be migrated in the NNBD progress script. 2019-12-20 21:25:35 +00:00
this Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
top_level Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
type Make all CastErrors be TypeErrors. 2020-03-11 23:31:06 +00:00
type_object Migrate language_2/type_object to NNBD. 2020-06-19 01:18:44 +00:00
type_promotion Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
type_variable [cfe] Handle A extends FutureOr<B> <: FutureOr<B> 2020-04-05 06:31:19 +00:00
typedef Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
unsorted Change terms to be more divisive 2020-06-10 17:14:37 +00:00
variable [cfe] Allow uninitialized non-nullable late fields 2020-03-03 09:50:27 +00:00
variance Issue 40957. Report the language feature, and recommend to set SDK constraint. 2020-04-27 22:11:46 +00:00
vm [vm] Add a separate invoke field dispatcher for dynamic closure calls. 2020-07-02 13:16:19 +00:00
void Migrate void tests to Null Safety. 2020-06-03 13:22:10 +00:00
await_type_error_test.dart Analyzer: Don't do recursive flattening of FutureOr in await. 2020-01-28 11:16:07 +00:00
await_type_test.dart Analyzer: Don't do recursive flattening of FutureOr in await. 2020-01-28 11:16:07 +00:00
compiler_annotations.dart
dynamic_type_helper.dart
language_2.status Update all Slow tests to be Slow, Pass. 2020-02-01 00:17:42 +00:00
language_2_analyzer.status Update all Slow tests to be Slow, Pass. 2020-02-01 00:17:42 +00:00
language_2_dart2js.status Update all Slow tests to be Slow, Pass. 2020-02-01 00:17:42 +00:00
language_2_dartdevc.status Update all Slow tests to be Slow, Pass. 2020-02-01 00:17:42 +00:00
language_2_kernel.status Migrate language_2/superinterface_variance to NNBD. 2020-06-25 20:21:42 +00:00
language_2_precompiled.status Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
language_2_spec_parser.status Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
language_2_vm.status Move files under language_2 into subdirectories. 2019-12-11 19:18:00 +00:00
library1.dart
library2.dart
library10.dart
library11.dart
library12.dart