There is no need to adjust instruction address by Page::AliasOffset()
when copying them to the image, as instructions are still readable
even if dual-mapped. The adjustment can be harmfull if Code is not
properly finalized and instructions in the Code are not replaced
with executable version.
TEST=ci
Fixes https://github.com/dart-lang/sdk/issues/51525
Cq-Include-Trybots: luci.dart.try:vm-linux-debug-x64c-try,vm-win-debug-x64c-try
Change-Id: I4af0ded149f27f6a68d2962805748d1eef6625e3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/286022
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
First, canonicalized CharacterRanges allow for QuickCheck code to be generated, rather than skipped. Second, CharacterRanges could become canonicalized later leading to incompatible instructions generated on a second compilation run, leading to a crash.
Fixes https://github.com/flutter/flutter/issues/121270
TEST=flutter_regress_121270_test
Change-Id: I075986b86b810ede96471bbe5fbe0b337714d215
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/286021
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Avoids conflating the type representation with the actual class
in JavaScript. Here the classes are being used.
Change-Id: I6b84d47b6fbc375aac3fa25746505d71ef208fcb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/285885
Reviewed-by: Mark Zhou <markzipan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
It is not required by the specification.
Change-Id: I65863df55194d441885436b8a811858815a3d957
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/286060
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Cleanup unused `xcodebuild/ReleaseX64/` paths from file sets.
Change-Id: I6c109d693a1dc2bf7b7e095703fdeab7113d89df
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/282484
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
It is a bit cleaner than diving into `methods` by index.
Change-Id: I4439d45608612508f96f5abc68c9ac5741531e72
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/286061
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Previously we just always sent verified:true for all breakpoints and never handled resolution. This meant breakpoints always appeared verified in VS Code, and did not update to their correct locations when resolved.
This change sends verified:false initially, and then uses the BreakpointAdded/BreakpointResolved events to send verified:true and an updated location as the events arrive.
Fixes https://github.com/Dart-Code/Dart-Code/issues/764.
Change-Id: I5b008bef802bb1c31219175a03498f5015ec4a04
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/285909
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
This reverts commit 7424295ce9.
Reason for revert: Causes VM crash in internal tests - b/271081079
Original change's description:
> [VM] Begin supporting Perfetto file recorder
>
> This CL adds the `TimelineEventPerfettoFileRecorder` class, which is a
> timeline recorder that writes a trace to file in Perfetto's proto
> format. This CL supports the recording of all types of timeline events
> except flow events. Support for flow events will be added in a future
> CL.
>
> TEST=Recorded traces with the Perfetto file recorder and explored them
> in Perfetto's trace viewer, CI
>
> Change-Id: Iaa2051e536589a473c5e15f9de9bb9c251f13d38
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278942
> Reviewed-by: Ben Konyi <bkonyi@google.com>
> Commit-Queue: Derek Xu <derekx@google.com>
Change-Id: I1c4b0b78be3748b525b82ea66079dd95d412d82e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/285906
Auto-Submit: Oleh Prypin <oprypin@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
This CL does not contain any changes to behaviour, but simply moves
ParallelMoveResolver to a separate file. Additionally instead of
immediately generating code we produce a move schedule which is
attached to the ParallelMoveInstr and later converted to the
native code.
This refactoring prepares the code for subsequent improvements, e.g.
we want to rework how temporaries used by move resolution are
allocated: instead of pushing/poping them around every move that needs
them we will allocate space for them in spill area.
Having ParallelMove scheduling separated from code emission also
allows to unit test it.
TEST=ci
Cq-Include-Trybots: luci.dart.try:vm-aot-linux-debug-x64c-try,vm-aot-linux-product-x64-try,vm-aot-android-release-arm64c-try,vm-aot-android-release-arm_x64-try,vm-aot-asan-linux-release-x64-try
Change-Id: Ifeb17940f4cfb3c0cc004cb3f74895f0d3c2b7bf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/285840
Commit-Queue: Slava Egorov <vegorov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Patch files now support part files. Take advantage of this by moving
the large BigInt implementation to its own file.
Change-Id: Icf21bcaae3c3b8a89b8b5dd1835d1afe5806423a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/277200
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Calls to methods annotated with `@pragma('dart2js:resource-identifier')` are tracked, with their primitive constant arguments, through to the `.js` file which contains the call.
- JavaScript annotations are attached to the JavaScript AST node for
the call.
- At the time of `.js` file printing, the JavaScript annotations are
collected and attributed to the file. This allows the construction
of a map from `.js` files to the 'resource identifiers' contained in
the file.
- Alongside the `main.js` file the resource identifiers are emitted in
a file called `main.js.resources.json`. This is controlled by the
`--write-resources` command line option.
- Serialization of JavaScript ASTs now serializes the attached
JavaScript annotations.
- The internal method used to implement deferred library loading is
annotated, to allow analysis of which deferred library parts load
other libraries.
pkg/js_ast was tweaked to make the pkg/js_ast was tweaked to make the
- pkg/js_ast was tweaked to make propagating the JavaScript annotations through the async transforms easier.
TODO:
- Annotate const constructors
- Add golden-style tests
Change-Id: Iea77550e22ee98f81dca61dfd713c09f734583d2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/284492
Reviewed-by: Nate Biggs <natebiggs@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
This doc lives internally (@ go/analyzer-pub-diagnostics) but Jonas suggested it might better serve in the analyzer docs, so here it is! :)
Change-Id: Iec50c263c6621fe15d05282cfcac2eafea5a420e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/285884
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
But there is a new "const expression" pattern syntax that does
introduce a const context, so test that here instead.
Change-Id: Iaf615093c3d2fb32065fa8647bf3663118b0c274
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/285761
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
dart2js incorrectly canonicalized `const <dynamic>[]` and
`const <Object?>[]` to the same const object.
The incorrect canonicalization showed up in tests for the Patterns
feature.
This is not a complete fix for problems with `treatAsRawType`. See
http://dartbug.com/51534 for more details.
Bug: 49754
Bug: 51534
Change-Id: Ib4bb8529320ed240ab16ae35d4161834dd32b28a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/285540
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
IL deserialization should not read 2 components of pair Location
via 2 sub-expressions as they can be swapped due to a different
evaluation order.
TEST=language/records/simple/constants_and_field_access_test/1
(on Windows)
Fixes https://github.com/dart-lang/sdk/issues/51548
Change-Id: I7f97dbb5ed10b700d4cdcea6fa5ebb873ca789c7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/285860
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
It fails in analyzer tests that cover invalid code.
Change-Id: Iae7d2cab6ee8a86eaf8bc861b38f0e1924dda9d1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/285820
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
TEST=I recorded a trace using the Perfetto recorder on an Android device and ensured that the "DartDev Runner" track name was correct.
Change-Id: I87ef31ff5b4d7817e77536430cf474cf34c22678
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279200
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Derek Xu <derekx@google.com>
Revisions updated by `dart tools/rev_sdk_deps.dart`.
cli_util (fd38b5f..3851652):
3851652 2023-02-24 Kevin Moore Move to dart_flutter_team_lints, require Dart 2.19 (#77)
705bb29 2023-02-24 Kevin Moore blast_repo fixes (#76)
crypto (03eb2c9..9efb888):
9efb888 2023-02-23 Kevin Moore move to pkg:dart_flutter_team_lints, require Dart 2.19 (#141)
test (2cc4144..1307cc5):
1307cc59 2023-02-23 Nate Bosch Add ComparableChecks extension (#1960)
66f2985c 2023-02-24 Pascal Welsch Fix isNotEmpty rejection (#1959)
cf10dc5b 2023-02-23 Nate Bosch Condition must have dynamic generic in deepEquals (#1958)
6fc48d03 2023-02-23 Nate Bosch Fix timeouts when a predicate throws instead (#1957)
vector_math (920e9b6..1e4d000):
1e4d000 2023-02-23 Kevin Moore Move to latest team lints, require Dart 2.19 (#281)
webdev (1e7f9b7..deb801b):
deb801b 2023-02-24 Devon Carew contribute issue templates and pull request labeling (#1979)
74a6520 2023-02-24 Elliott Brooks (she/her) [MV3 Debug Extension] Use new Dart Debug Extension bug template (#1992)
c1f325c 2023-02-24 Elliott Brooks (she/her) [MV3 Debug Extension] Bolt debugging: can reload the page and continue to debug (#1991)
057f598 2023-02-23 Elliott Brooks (she/her) [MV3 Debug Extension] Small fixes for building the extension (#1990)
28a090e 2023-02-23 Anna Gringauze Run dwds tests in a copy of the sdk directory (#1989)
b58d3eb 2023-02-23 Anna Gringauze Run webdev tests in a copy of the sdk directory (#1987)
Change-Id: Iaad67eec68cf3cfeba832abbeb42728043e15b22
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/285760
Auto-Submit: Devon Carew <devoncarew@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Change-Id: Iafe32528a4516817d6770e5e87686c97bd58da8e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/285160
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>