dart-sdk/tests
Nate Biggs 2be26a709c [dart2js] Generate parameter stubs during codegen.
Today we make a half-hearted attempt to generate the correct default type arguments for parameter stubs. By the time we create them in the emitter we don't have enough information to fully replace all the type variables that might appear in a type parameter's bound. So instead we erase all type variables to "any".

By generating parameter stubs in SSA we can use existing RTI infrastructure to generate the correct recipes/bindings/evals. Instead of directly creating JS we create the appropriate SSA graph and let the normal function compiler do the heavy lifting.

There are benefits and drawbacks to this new approach:
1) The stub bodies go through the SSA optimizer so some parameters are abbreviated, some recurring nulls get replaced by a variable, etc. The net result is slightly more compact code.
2) We are now compiling code during the emitter phase. This is relatively fast (adds ~2% duration to the phase) but also requires deserializing some data we weren't previously using. This results in ~200MB more memory being used. I've changed the serialization layout a bit to try to mitigate this but some of it is unavoidable.

Change-Id: Ie786da933accc039716e1c8481dbb8a09f3cc9b2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/340700
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Kallen Tu <kallentu@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
2023-12-29 07:13:09 +00:00
..
co19 [co19] Roll co19 to ea5e476b3af94f74f6996e4b4319bf03f9248c1c 2023-12-11 09:55:05 +00:00
corelib Remove unnecessary print in corelib/uri_base_test.dart. 2023-11-29 17:37:28 +00:00
dartdevc [ddc] Update dynamic NSM errors to match 2023-12-14 00:51:50 +00:00
ffi [vm/ffi] Support native array fields 2023-12-21 08:47:58 +00:00
language [dart2js] Generate parameter stubs during codegen. 2023-12-29 07:13:09 +00:00
lib Revert "[dart2wasm] Disallow use of old interop libraries" 2023-12-28 16:22:21 +00:00
modular [tests] Add repro for cross module constant 2023-11-13 22:21:40 +00:00
standalone Fix Directory.current setter compatibility with IOOverrides 2023-12-18 20:23:21 +00:00
web [dart2js] Handle MarkerValue in NegateValue binary operations. 2023-12-28 00:36:22 +00:00
legacy_status_dart2js.csv Spelling tests 2022-12-19 12:56:47 +00:00
OWNERS
README.md

This directory contains tests of the language and core library implementations. For more information, see https://github.com/dart-lang/sdk/wiki/Testing.