The order of modifiers is meaningless.
Change-Id: I85838569ef8c4eb1285ca9443117e1f781a718e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354740
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
With the previous change, macro-generated sources will be downloaded from the VM the same as other sources we cannot map locally (which used to include SDK sources, but since we now map them to the local SDK, was currently nothing - hence the previously-skipped tests).
This just adds a test for this behaviour. In future when we have "full" macro support, this path will still be valid because some DAP clients might not support URIs as "source paths", and we will have to handle them with downloaded source anyway (we might also use this in future if we detect when the sources are different and download from the VM in that case).
Change-Id: Ib3289f9fe8396f3610d51fedd16d831b587afd04
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354027
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Helin Shiah <helinx@google.com>
Revisions updated by `dart tools/rev_sdk_deps.dart`.
http (ce0de37..6e0a46f):
6e0a46f 2024-02-24 Alex Li [cronet_http] 🏗️ Use dart-define to determine dependency (dart-lang/http#1111)
d5cab74 2024-02-23 Alex Li 👷 Update configuration related files (dart-lang/http#1091)
6873731 2024-02-22 Brian Quinlan Make it possible for `CronetClient` to own the lifetime of an existing `CronetEngine` (dart-lang/http#1137)
protobuf (f085bfd..ef0ab7d):
ef0ab7d 2024-02-23 Sebastian Optimize repeated field decoding (dart-lang/protobuf#911)
tools (9f4e6a4..c7fbf26):
c7fbf26 2024-02-21 Elias Yishak Fallback to current datetime when failing on parse session json file (dart-lang/tools#235)
web (975e55c..d96c01d):
d96c01d 2024-02-23 Srujan Gaddam Use extension types and generics internally (dart-lang/web#184)
yaml_edit (82ab64d..54884db):
54884db 2024-02-23 Devon Carew update to the latest sdk; update lints (dart-lang/yaml_edit#68)
Change-Id: Ib2cb7971df05f4501f81fe5c04b7eaf88d0d93a3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354381
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Fix "no exports" exclude for `api_unstable` to actually work: it was mixing up
the path root.
Tested: no code changes, only moves.
Change-Id: If06a96f0de8fb8b92f331978d457c72deda07cec
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354301
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Morgan :) <davidmorgan@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Instead of always returning CompileType::Dynamic(), return an
appropriate CompileType based on the representation() of the
definition.
Remove overrides of ComputeType() where the base ComputeType()
definition computes the same or possibly a better type.
TEST=ci
Cq-Include-Trybots: luci.dart.try:vm-aot-dwarf-linux-product-x64-try,vm-aot-linux-product-x64-try,vm-aot-mac-release-arm64-try
Change-Id: I6fcfb87958f385d6845fb081c9c6cd0aabe1dc08
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354228
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Tess Strickland <sstrickl@google.com>
The modular parts in package:vm/modular/** will only depend on
* package:kernel
* package:front_end
=> Only for auto-generated error code messages
=> Those error codes can be their own dart_library() in g3
Based on https://dart-review.googlesource.com/c/sdk/+/353980, with
changes:
* Exclude package:kernel from "no exports" CFE presubmit.
* Add package:vm/modular to CFE "allowed deps".
* Fix import in `front_end/tool/perf_common.dart` and various others.
Tested: no code changes, only moves.
Change-Id: I9a44ac6ee05478812a9c8af31f6c4bbcf44b7c42
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354221
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Morgan :) <davidmorgan@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
https://dart-review.googlesource.com/c/sdk/+/352863 added an import
before the lines that throw an error, causing the checks in these two
tests to be off by one.
TEST=standalone/dwarf_stack_trace_invisible_functions
standalone/dwarf_stack_trace_obfuscate
Cq-Include-Trybots: luci.dart.try:vm-aot-linux-release-arm64-try,vm-aot-linux-release-x64-try
Change-Id: Ia2830bf6b49d991bb21a9973acb4c1888f9f441b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354222
Auto-Submit: Tess Strickland <sstrickl@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Those timing out tests cause CI infra issues (purple bots)
on deflaking.
Issue https://github.com/dart-lang/sdk/issues/55025
Change-Id: Ibdc3766e0e482f180c03acc987c3323a3574647c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354621
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Auto-Submit: Martin Kustermann <kustermann@google.com>
Similar to dart2js --trust-primitives, with --omit-bounds-checks
(implied by -O4) we omit bounds checks in standard library list and
typed array indexing methods, such as `operator []` and `[]=`.
For now this flag does not omit range checks in functions like
`setRange` and `setAll`:
- Functions like `setRange` do more work than functions like `[]` and
`[]=`, and bounds checks are a smaller part of the whole operation.
- For the same reason, and also because they either don't return any
values or have to return boxed (i.e. `getRange` needs to return an
`Iterator`), inlining them is not as crucial as inlining an
`Uint8List.[]` implementation (which avoids boxing when inlined).
Closes#54962.
Tested: dart2wasm change with small refactoring in VM, tested with existing tests.
Change-Id: Idd5f11ee85c7e67ba8de621b305c413e7e7f7ebb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/353982
Reviewed-by: Martin Kustermann <kustermann@google.com>
Multiple end-to-end tests are failing in the bots because some steps
during the test execution are timing out. We currently have a
timeout of 5 seconds for these steps, but it's unclear if the
timeout is because of conditions in the bot machines (e.g. they are
slow), one off exceptions, or something else.
To address the flakiness, I expect we will want to increase the timeout,
but before we do it may be valuable to start measuring what is the
current distribution of timing in the bots to figure out the best value
to use.
This CL adds logging for timing data for that purpose. I've added
tracking for some interesting steps in the expresson-compiler test
framework, including the top two steps that usually hit a timeout in
practice (find-script and pause-event-for-line).
Example output on my local machine:
```
init-source: 233ms (avg), 121ms (p50), 696ms (p90), 696ms (max), 7 (total)
find-script: 18ms (avg), 18ms (p50), 21ms (p90), 25ms (max), 52 (total)
load-script: 22ms (avg), 22ms (p50), 27ms (p90), 30ms (max), 52 (total)
set-breakpoint: 0ms (avg), 1ms (p50), 1ms (p90), 2ms (max), 52 (total)
pause-event-for-line: 422ms (avg), 410ms (p50), 440ms (p90), 658ms (max), 52 (total)
check-in-frame: 459ms (avg), 446ms (p50), 480ms (p90), 695ms (max), 51 (total)
```
Change-Id: I04734b9905da8e1b4c9d06451be65a2dee32ba1c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/352988
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
The DART_VM_OPTIONS environment variable allows for users to specify a
set of VM options to be processed by the Dart runtime in a
self-contained executable created by `dart compile exe`.
DART_VM_OPTIONS should be a comma separated list of options and flags
with no whitespace. Options that accept multiple values as a list of
comma separated values are not supported and will result in argument
parsing failing.
Fixes https://github.com/dart-lang/sdk/issues/54281
TEST=compile_test.dart
Change-Id: I1d94ab1b992753a7dd69da722c051c9464d6d1cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/353820
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
There are some special cases in the NodeLocators so that the offset at the end of a name is treated as part of the name. Those special cases did not include class declaration names, which meant double-clicking a class name in VS Code and hitting Rename would fail (because VS Code sends the offset at the end of the selection).
Fixes https://github.com/Dart-Code/Dart-Code/issues/5002
Change-Id: Ib23d70581f0d8a6317ddd6ba671f6566216d5075
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354320
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Otherwise, `DevToolsUtils.initializeAnalytics()` was getting called even when it was unused (e.g. the g3 case).
Change-Id: I9f911b776f8ea4ba63c1384feb5c1cd73fa18c3c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354342
Reviewed-by: Elias Yishak <eliasyishak@google.com>
Reviewed-by: Derek Xu <derekx@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Kenzie Davisson <kenzieschmoll@google.com>
So, we can remove casts in a few places.
Change-Id: I3ffa0e081633560f51a72327fd8fdd9e02ac46ac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354380
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Instead of directly printing all `print()`s from Dart to the console,
we allow the prints to be intercepted - by specifying a `dartPrint()`
function.
=> This will fix our test infrastructure, which will now recognize
async tests as being asynchronous and waits until the async test
is actually done with testing.
=> This will also make the test infrastructure report all prints
of a test when the test fails (it reports DOM, prints, various other
events)
=> Test failure output of `tools/test.py -n dart2js-*-{firefox,chrome}`
will become actually useful, containing printed errors & stack traces.
This is similar to what dart2js does in
sdk/lib/_internal/js_runtime/lib/js_primitives.dart
Related Issue: https://github.com/dart-lang/sdk/issues/54973
Change-Id: Ibd935fd2d0b15d1b6e444214c4556a65034957dd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354100
Reviewed-by: Ömer Ağacan <omersa@google.com>
It reduces FluteCounter
* 2.5% in unoptimized mode
* 0.8% in optimzed mode (and similar when gzip'ed)
Change-Id: If4852d66e8c214754f68e4d134960e8b622d20fd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354023
Reviewed-by: Ömer Ağacan <omersa@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
* We migrate the `dart:developer` implementation of dart2js to
static interop.
* We make dart2wasm use the same implementation as dart2js.
Closes https://github.com/dart-lang/sdk/issues/54991
Change-Id: I7873edc7e804500c8eca878367d9045c98a1c2e8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354101
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>