This treats whether or not to use the forked NNBD SDK as a build flag
similar to mode or architecture. When this flag is passed, it appends
"NNBD" to the main output directory, like xcodebuild/ReleaseX64NNBD.
It also defines a "use_nnbd" flag that is available inside BUILD.gn
files to determine whether or not to use the forked SDK. This flag
currently isn't used. Implementation teams will need to edit their
build steps to take that into account.
In order to use this mode on the bots, we'll need to tweak the bot
scripts to figure out whether the mode is enabled or not. There are a
couple of TODOs in the Python scripts for that. I'm not sure how that
should be specified in dart_sdk.py.
This CL does not remove my previous change to allow building the NNBD
fork next to dart-sdk in the same root output directory. I'll revert
those changes in a different CL once this one lands.
Change-Id: I3bd28f273106ee90caf9474b2fadad120b2c2d0b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119602
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
This change adds the required support to benchmark DDC just like dart2js.
The ddb tool gains the following options:
--compile-vm-options=VM-OPTIONS
The value of the DART_VM_OPTIONS environment variable set when running
dartdevc. This option is required to measure the memory use of
dartdevc while compiling.
--packages=PACKAGES-FILE
The .packages file to use when compiling. This option is required for
special benchmarks with a .packages in a subdirectory and is generally
useful.
--out=OUTPUT-FILE
Write the compiled javascript to this path and the other generated
files along it. This option makes the benchmark configuration easier
and is generally useful.
The dartdevc and dartdevc.bat scripts in the released Dart SDK now gains
support for the DART_VM_OPTIONS environment variable, just like the dart2js
scripts. This feature is needed to measure the memory usage of the Dart VM
executing dartdevc.
tools/bots/try_benchmarks.sh now tests that ddb can compile and run
benchmarks using the needed features.
Change-Id: Ib1ef07b0888a8c0cf900fe2fbb5697aab733db08
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118440
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
Also switch some CQ bots using blobs to ELF. Once all embedders have migrated, we will remove blobs
support entirely.
Change-Id: Ie5e8c1187ad6c1af362b5715daafd3641bc8cc0e
Cq-Include-Trybots:luci.dart.try:vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-bare-linux-release-simarm-try,vm-kernel-precomp-mac-debug-simarm_x64-try,vm-kernel-precomp-mac-release-simarm64-try,vm-kernel-precomp-win-release-x64-try,vm-kernel-precomp-android-release-arm-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116620
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Two things before this CL was wrong:
* The script didn't apply paches
* The patch we needed to apply wasn't applied because a dart roll in the
engine was done basically at the same time that the change requiring
the patch was landed. The dart-roll did not include it, but the change
applied the patch the the before-dart-roll-dart-version.
This CL fixes it by applying patches in the flutter-frontend script,
and copying the patch to apply to both dart-revisions.
Change-Id: If3187090778c59cf0ebdf7ab4858189c6b8904b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117941
Reviewed-by: Jens Johansen <jensj@google.com>
- Move all VM patch files from the lib directory to
sdk/lib/_internal/vm/lib
- Move all VM patch files from the bin directory to
sdk/lib/_internal/vm/bin
- Fixed paths for above patch files in libraries.yaml file.
- Created copies of these patch files in sdk_nnbd directory
- Cleaned up *.gni files by removing the unused dart patch files lists.
Change-Id: I3109d22f3b729a073a6b40175a0d29162a455830
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117685
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
Fixes the changes to assembly snapshot writer in SIMARM_X64 mode. This unfortunately can't be tested until the ELF loader is available.
Take 2 is in patchset 1.
Change-Id: Ib8b067dd4f09dcba3b142705e9cb4dfbf4e3eb53
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117726
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Previously, approve_results.dart only looked at flaky.json from the
baseline build to determine whether to ignore a flake. But, if the flake
occurs in the try build and is detected as such by deflaking, flaky.json
might not contain data about the flake. Therefore, approve_results.dart
needs to also inspect the results data for the flaky bit.
Change-Id: I51f4c44a80684414c2c50d2460aed3f90eadaf12
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116341
Reviewed-by: Jonas Termansen <sortie@google.com>
Copy the signed SDK directory to release first (if it exists). Then copy
only those unsigned files that have no signed counterparts.
* Add --version alias and remove SVN reference from --revision help.
* Fix --dry-run.
* Add new base_directory to GCS namer.
b/139027087
Change-Id: I4163eb56494bfa92ab1e5686cf089136d63881fe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115860
Reviewed-by: William Hesse <whesse@google.com>
VM no longer relies on distinct ICData entries in constant pool, and
it no longer creates actual ICData objects.
This change introduces new DynamicCall constant pool entry which is
* de-duplicated;
* stores arguments descriptor inline instead of allocating a separate
constant pool entry and referencing it by index;
* reserves extra slot in constant pool (like other call constants), so
we can eventually remove creation of extra UnlinkedCall objects.
Change-Id: I8d21954803ca5be5b6fc8335b700e8a9086245cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116120
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
The original change is in Patchset 1.
The dependency contains the fix for the non-bare-instructions bot.
Change-Id: Iab02ab0736a2ee9144b667d2777ca526341b2a36
Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-product-x64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-android-release-arm-try,vm-dartkb-linux-release-x64-abi-try,vm-kernel-precomp-bare-linux-release-x64-try,vm-kernel-precomp-mac-debug-simarm_x64-try,vm-kernel-precomp-win-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115241
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
The modular tests run on d8 - no need to run on both chrome and ff bots.
Old DDC is only used internally on Linux today, so removing Mac tests.
(Could also split out Win testing.)
Change-Id: If2ab50fae89d25d95f2e45d80de4834033e43b9f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114621
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
This mode is no longer relevant and doesn't need to be benchmarked.
I didn't remove the legacy entry points in
* pkg/front_end/tool/fasta_perf.dart
* pkg/front_end/tool/incremental_perf.dart
as that would allow a cascade of simplifications that's probably better done
by the front end team.
Change-Id: Iffd977cfdf322aa181025920423083f4ab9de75f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113688
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
This adds a temporary hack causing make_version.py to report 2.5.0 if
the VERSION file's major.minor.patch = 2.5.0 and the channel is be and
--custom_for_pub = flutter. As soon as the VERSION file is bumped on
master, the hack will become a no-op and can be removed.
Fixes https://github.com/dart-lang/sdk/issues/37838
Change-Id: Icaff27e35686dfe4c69c17f7edbcf57b6fdf6ae2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113187
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
This ensures JS calls in the SDK are statically typed (or, at least, don't
inadvertently trigger dynamic calls).
Analyzer has a hack where `JS('String', ...)` is typed as `String`. Kernel
doesn't, but we get the same effect (in DDK) via `JS<String>('String', ...)`.
This should not affect dart2js which specially interprets the type string
itself.
Change-Id: I63c5f199e2c51da2beca72659261acf1faff66e8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112937
Reviewed-by: Mark Zhou <markzipan@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>