Runs only the ffi test suite with no shards due to limited capacity. Runs JIT and AOT on the same builder to avoid building twice without RBE.
Change-Id: I1cebff950d89b3302169e9e4cdb68772cd8bf413
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/365865
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
This gives some more coverage for `dart compile wasm`
Change-Id: I62e7f9c6ecbdf80a1445c35d1733a7f89e6bcf54
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366623
Reviewed-by: Ömer Ağacan <omersa@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
The CFE's [CompilerOptions] object currently has 3 properties
* `CompilerOptions.sdkDir`: The sdk directory
=> Will use `<sdkDir>/lib/libraries.json` to compile corelibs
* `CompilerOptions.librariesSpecPath`: The libraries.json file
=> Will compile corelibs using this libraries.json
* `CompilerOptions.sdkSummary`: The platform.dill file
=> No need to compile corelibs as platform file is given.
=> Passing any of these is sufficient for the CFE to run.
This CL therefore mandates that either one passes the platform file or
the libraries.json file to dart2wasm. There's no need to also accept the
sdk dir.
As flutter still passes `--dart-sdk` (as well as platform file) - we
simply ignore that flag for the moment, until flutter's usage was
removed.
Change-Id: I4c3b1a7bf87f98e51ceb2e6adfaec4f4a6ce2202
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366821
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Slava Egorov <vegorov@google.com>
This reverts commit 4ab652b38f.
Reason for revert: Causes timeouts locally and on trybots for other CLs.
Original change's description:
> [CFE] Coverage on try bot
>
> This runs the strong suite, does coverage, and compares the coverage
> (percentage) to the (hardcoded) expected percentage.
>
> Change-Id: I2e7511d7841b19c15139a7c84bf0861b56b81ccc
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366340
> Reviewed-by: Johnni Winther <johnniwinther@google.com>
> Reviewed-by: Alexander Thomas <athom@google.com>
> Commit-Queue: Jens Johansen <jensj@google.com>
Change-Id: I1afcb77bd44dc785bcf445ec041ab633fe7277a8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/367022
Auto-Submit: Johnni Winther <johnniwinther@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
* Make TFA annotate members with inferred return types
=> We introduce new `vm.inferred-return-type.metadata`
* Make dart2wasm use inferred return types for wasm signatures
Issue https://github.com/dart-lang/sdk/issues/55668
TEST=Updated expectation files.
Change-Id: If2478255c2bb2633348f475b157f28581481578f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366540
Reviewed-by: Ömer Ağacan <omersa@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
This is a preparation for making CI bot to run using `dart compile wasm`
instead of `pkg/dart2wasm/tool/compile_benchmark`.
Change-Id: I804d9392a8993cddc7a01afdd345ba9ee9a83374
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366820
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ömer Ağacan <omersa@google.com>
This shaves around 1 second of a `dart compile wasm hello.dart`
Change-Id: I6a7a7620d71c7af81b2617959f952f025dd25d4f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366802
Reviewed-by: Ömer Ağacan <omersa@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
The CFE compilation should fail if there is no `main`, so dart2wasm
compiler should be able to assume it's there in
`Component.mainMethod`.
This fixes an issue when the `main` method in the main library isn't
there but rather re-exported from another library (which is not the
first one).
(This is part of work towards adding a CI builder using
`dart compile wasm`)
Change-Id: If9e75c2bf1c175ec9db1d97bd56b00cfdb6d3cb9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366800
Reviewed-by: Ömer Ağacan <omersa@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
Linter was in between LintRule and NodeLintRule, but the only subtype
was LintRule so the abstraction was unnecessary. There are lots of
small, nice follow-on effects across the codebase.
Also rename the top-level `lintRegistry` variable to be
`lintRuleTimers` as it is just a mapping of lint rule timers. (I was
confused about what this was because `Analyzer.registeredRules` is the
more general "registry of rules."
Also remove the deprecated, unused `getVisitor` API.
Also remove the unused top-level `linterVersion` string.
Cq-Include-Trybots: luci.dart.try:flutter-analyze-try,analyzer-win-release-try,pkg-win-release-try
Change-Id: Icf75db7786fc2022e271ec6f32fd3aa00b2b4084
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366840
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Revisions updated by `dart tools/rev_sdk_deps.dart`.
async (09cba7f..77a25d7):
77a25d7 2024-05-15 Sarah Zakarias Add `topics` to `pubspec.yaml` (dart-lang/async#274)
dartdoc (2e706be..476d5cc):
476d5cc8 2024-05-16 Sam Rawlins Refactor PackageGraph._tagReexportsFor and document (dart-lang/dartdoc#3772)
24658cca 2024-05-14 Sam Rawlins Privatize CommentReferenceParser._codeRef (dart-lang/dartdoc#3771)
dff86ed9 2024-05-14 Sam Rawlins Bump to 8.0.9 (dart-lang/dartdoc#3770)
http (4722e03..76deb75):
76deb75 2024-05-16 Hossein Yousefi [cronet_http] Upgrade jni to 0.9.2 and publish 1.2.1 (dart-lang/http#1198)
ec55561 2024-05-15 Brian Quinlan [cronet] Use the same host and Android emulator architecture. (dart-lang/http#1201)
lints (f0205c1..b254c7e):
b254c7e 2024-05-16 Devon Carew Update README.md (dart-lang/lints#189)
5fef508 2024-05-13 Lasse R.H. Nielsen Tighten up the `gen_docs.dart` script. (dart-lang/lints#187)
test (84d2a2b..2464ad5):
2464ad5c 2024-05-16 Sarah Zakarias Add `topics` to package "test" `pubspec.yaml` (dart-lang/test#2230)
6540a360 2024-05-15 dependabot[bot] Bump the github-actions group across 1 directory with 3 updates (dart-lang/test#2229)
4b6f029c 2024-05-15 dependabot[bot] Bump dart_flutter_team_lints from 2.1.1 to ^3.0.0 in all packages (dart-lang/test#2228)
webdev (d46cf50..fc32eb6):
fc32eb69 2024-05-14 Elliott Brooks Collect log message count and log at the end (dart-lang/webdev#2430)
99abc535 2024-05-14 Elliott Brooks Wait for a `resume` event to run the `main()` method after a page refresh (dart-lang/webdev#2431)
Change-Id: Iee28bacfc028c92e4b59d95f0c7e61f8282d2968
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366980
Auto-Submit: Devon Carew <devoncarew@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
At the beginning of a major GC cycle, select some mostly-empty pages to be evacuated. Mark the pages and the objects on these pages. Apply a write barrier for stores creating old -> evacuation candidate pointers, and discover any such pointers that already exist during marking.
At the end of a major GC cycle, evacuate objects from these pages. Forward pointers of objects in the remembered set and new-space. Free the evacuated pages.
This compaction is incremental in the sense that creating the remembered set is interleaved with mutator execution. The evacuation step, however, is stop-the-world.
Write-barrier elimination for x.slot = x is removed. Write-barrier elimination for x.slot = constant is removed in the JIT, kept for AOT but snapshot pages are marked as never-evacuate.
TEST=ci
Bug: https://github.com/dart-lang/sdk/issues/52513
Change-Id: Icbc29ef7cb662ef8759b8c1d7a63b7af60766281
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/357760
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
compiled prior to the latest reload
TEST=verified that
pkg/vm_service/test/breakpoint_resolution_after_reloading_test.dart
fails without the changes in this CL and passes with them, verified that
none of the existing debugger tests got broken by this CL
Change-Id: Ie816a3ad65a17ef9f497f209f2203d679728cb75
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366860
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Derek Xu <derekx@google.com>
* `LinterContext.analysisOptions`
* `LinterContext.declaredVariables`
* `LinterContext.canBeConst`
* `LinterContext.canBeConstConstructor`
* `LinterContext.inTestDir`
This is all private API; google3 is clean.
Change-Id: I573037934889e24d0af1ef2a03bf65d7982a272d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/365521
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Work towards https://github.com/dart-lang/dartdoc/issues/3761
Sibling CL to https://dart-review.googlesource.com/c/sdk/+/365204
The analyzer has never recognized `[this]` as a valid doc comment
reference (and the `comment_references` lint rule has similarly
reported such reference attempts). dartdoc has its own algorithms
for resolving comment references, which we are dismantling in favor
of a single resolution, provided by the analyzer.
We've also decided against adding support in the analyzer (see
https://github.com/dart-lang/linter/issues/2079), so these
reference attempts should be re-written.
Change-Id: I0a30a34c9f58bd6c98c6b83e607a973c9ba51ed7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366900
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Auto-Submit: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
Work towards https://github.com/dart-lang/dartdoc/issues/3761
Sibling CL to https://dart-review.googlesource.com/c/sdk/+/365204
The analyzer has never recognized `[this]` as a valid doc comment
reference (and the `comment_references` lint rule has similarly
reported such reference attempts). dartdoc has its own algorithms
for resolving comment references, which we are dismantling in favor
of a single resolution, provided by the analyzer.
We've also decided against adding support in the analyzer (see
https://github.com/dart-lang/linter/issues/2079), so these
reference attempts should be re-written.
CoreLibraryReviewExempt: Comments only.
Cq-Include-Trybots: luci.dart.try:flutter-analyze-try,analyzer-win-release-try,pkg-win-release-try
Change-Id: I38dd476e40e4508fb6bf88c28415ff261bae5f43
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366880
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Auto-Submit: Samuel Rawlins <srawlins@google.com>
Sometimes we see unhandled exceptions during this setup work, see:
- https://github.com/flutter/flutter/issues/148346
- https://github.com/flutter/flutter/issues/148348
Currently these are unhandled and bring the debug adapter down. In VS Code, the error (send to stderr) is not visible to the user so they just see a silent crash which makes it very difficult to report (and the Flutter crash reports don't have any context).
This change will send the exception to the client and then cleanly terminate, which should give the user more information to open a good bug report (assuming the issue wasn't just something like them terminating the app as it was starting).
Change-Id: I4aefbc278e6a0708924c6fa41c5179d581117689
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366662
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Helin Shiah <helinx@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
This is consistent with new-space sweeping using FreeListElement as the filler object, and allows for stronger asserts in incremental compaction.
TEST=ci
Change-Id: I43a87a46fb1211a88589cf4a349ada7b556e4c11
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366885
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Work towards https://github.com/dart-lang/dartdoc/issues/3761
Sibling CL to https://dart-review.googlesource.com/c/sdk/+/365204
The analyzer has never recognized `[this]` as a valid doc comment
reference (and the `comment_references` lint rule has similarly
reported such reference attempts). dartdoc has its own algorithms
for resolving comment references, which we are dismantling in favor
of a single resolution, provided by the analyzer.
We've also decided against adding support in the analyzer (see
https://github.com/dart-lang/linter/issues/2079), so these
reference attempts should be re-written.
TEST=Nope
Change-Id: Ie584a8338d4b203c4dce737769dbf2bd9094a42c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366881
Auto-Submit: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
(This was stashed locally and just remembering it.)
If this feels risky to land, happy to hold off.
Change-Id: I5349414bf7eb609ea151866436df4df7bb46bcec
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366884
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Note that this is not a breaking change, since the CFE already
correctly flags the error condition.
Fixes#55734.
Bug: https://github.com/dart-lang/sdk/issues/55734
Change-Id: I5570e0840ce20c2a761d88f698b9876f7543bd8e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
This was probably fixed by ddc11f8084.
TEST=msan
Change-Id: I05f58b382ad186929bd4dbf56e905568cb268d96
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366683
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
In a recent change I wrapped these exceptions to provide better failure messages in tests, but I missed updating these tests that had matchers against them.
For reasons I don't yet understand, the trybots that ran on that change didn't include these tests so didn't catch this.
Change-Id: I5227842d2317bbe33186670141586c315f98a5c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366665
Reviewed-by: Helin Shiah <helinx@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Helin Shiah <helinx@google.com>
dart2wasm's sync* runtime library was mostly copied from VM, but we
didn't get the fix for #52083 in 9cf26fc. This ports the fix to
dart2wasm.
This currently doesn't fix any tests as there are other issues with
dart2wasm's sync* implementation, which we are fixing in
https://dart-review.googlesource.com/c/sdk/+/366663.
Change-Id: I9d82d1bbb4c96ccb9bf411a385f4b7ff395a1c19
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366671
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Ömer Ağacan <omersa@google.com>
This runs the strong suite, does coverage, and compares the coverage
(percentage) to the (hardcoded) expected percentage.
Change-Id: I2e7511d7841b19c15139a7c84bf0861b56b81ccc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366340
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
TEST=Manual run of the following command line found by the dart
fuzzer:
out/DebugX64/dart --profiler --max_profile_depth=189 \
--sample_buffer_duration=51 --marker_tasks=2 \
--optimization_counter_threshold=31050 --no_load_cse \
--no_lazy_dispatchers pkg/compiler/lib/src/dart2js.dart \
--invoker=test --platform-binaries=out/ReleaseX64 \
--out=out/dartfuzz/5.js --no-source-maps \
pkg/compiler/lib/src/util/memory_compiler.dart
Change-Id: If7620b7b7bb76d28f66ffde01af52a62392302c2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/366780
Commit-Queue: Tess Strickland <sstrickl@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>