Bug: b/286184681
Change-Id: I903528c4adfbc576644aec7541903df6b9633e26
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/325523
Reviewed-by: Jonas Termansen <sortie@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
- Avoids the need to set the value in the JSArray factories.
- Delays the construction of the rti value until it is actually needed.
Issue: https://github.com/dart-lang/sdk/issues/48585
Change-Id: Iecc28533453742eaeedc0cbc48053b7660e3eee3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/325450
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
I'm not sure what our paradigm / style will be, but for now, we should
use a switch statement in this case, as I believe void-expressions in
switch-expressions are not allowed until Dart 3.1.0, and analyzer's
lower bound is still 3.0.0.
Change-Id: Ida7b9694cdaae2bd808caaa7f25c1063207e5bba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/326245
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Before each allocation, check the memory hasn't been touched since page initialization. This more reliably detects the issue fixed in a4381f127c.
TEST=ci
Change-Id: I5c0ed0a18a32515eab2ae90110b5a7e7f48779dc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/325366
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
FunctionTearOff node represents a tear-off of the 'call' method of
a Function, so it is basically a no-op:
FunctionTearOff(receiver) == receiver
So we can remove this node early, during lowering transformation on
kernel AST and clean up handling of FunctionTearOff nodes from the VM
and dart2wasm compilation pipelines.
TEST=ci
Change-Id: Ia1500a066a0261076162e018ff0ab502258f606f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/325924
Reviewed-by: Ömer Ağacan <omersa@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Implementing a *Visistor and not extending *VisitorDefaultMixin enables
compile-time checking that visitor has all visit*** methods and
protects it from possible omissions when new AST nodes are added.
TEST=ci
Change-Id: Ie6204b06d13cebba2164af7313141a136997eb14
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/325800
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
This passes the first token of these top level declaration directly
to the endX listener method.
In the CFE this is used to ensure that can handle the new modifiers in
the textual outline. Furthermore, support for extension types is added
and having an "unknown chunk" now results in an error. The latter should
help us keep the textual outline up-to-date wrt new features.
Change-Id: I813d6162b6cba0a2bf550ed33a6091abf9bf49f8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/324702
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
+ remove listener events for hide/show used for the old, now deleted,
extension type experiment.
Change-Id: I5258ce10507305a993b36bf75fd781bf1f16ddff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/326341
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Recognize "Instance of C" string and handle it in special way:
apply renaming to class name (C) only.
Fixes https://github.com/dart-lang/sdk/issues/53512
TEST=vm/dart/comparison_canonicalization_il_test in obfuscate configuration
Fixed: 53512
Cq-Include-Trybots: luci.dart.try:vm-aot-obfuscate-linux-release-x64-try
Change-Id: I3fa31ab52aef01417d523a075913a0971158be72
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/326062
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Slava Egorov <vegorov@google.com>
Only replace Redefinition with a constant if the
original definition is a constant.
It used to be the case that Redefinition could
be constant only if the origin definition was
however 5c320a108 changed that: we would augment
graph with additional redefinitions after branches
on equlity comparisons. This meant that constant
value would propagate to other already inserted
redefinitions and than these redefinitions started
to be replaced by their constant value. Something
that we wanted to prevent to begin with.
Also fix the comment for InsertRedefinitionsAfterEqualityComparisons
as pointed by @aam
Fixes https://github.com/dart-lang/sdk/issues/53514R=alexmarkov@google.com
TEST=issue found by CI and so covered by existing tests
Fixed: 53514
Change-Id: I5e547d34de3aabc340329da1a43341689bfc58e1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/326120
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Auto-Submit: Slava Egorov <vegorov@google.com>
Commit-Queue: Slava Egorov <vegorov@google.com>
All the packages that depend on it now have constraints greater or equal to 3.0.0.
The added linter rules are taken from other analyzer packages.
Change-Id: If51f9209dab9c58525a1207534bccb6491a409c3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/325904
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Revisions updated by `dart tools/rev_sdk_deps.dart`.
ecosystem (e96fbdb..babf5d1):
babf5d1 2023-09-13 Devon Carew add additional lints to dart_flutter_team_lints (#167)
7740bef 2023-09-13 Moritz Write comments on forks for `firehose` (#165)
http (de19214..e19094a):
e19094a 2023-09-14 Brian Quinlan Use efficient operations when copying bytes between Dart and Java (#1019)
d7e4375 2023-09-13 Parker Lougheed Cleanup `package:http` utils (#1011)
eafbbb0 2023-09-12 Brian Quinlan Separate the cronet callbacks from the `send` method (#1017)
2cbb703 2023-09-12 Brian Quinlan Switch `cronet_http` to use jnigen (#1016)
native (bbcbc1f..7faf62c):
7faf62c 2023-09-14 Gabriel Terwesten Add `includes`, `flags`, `std`, `language`, `cppLinkStdLib` options (#125)
shelf (2926f76..e2a02b7):
e2a02b7 2023-09-13 Kevin Moore Move to latest pkg:dart_flutter_team_lints, bump min sdk to Dart 3 (#378)
tools (fa01f9b..1512f3d):
1512f3d 2023-09-13 Elias Yishak Add Fake Analytics instance that uses list to save events sent (#149)
webdev (6b21ecf..501ccc2):
501ccc28 2023-09-12 Elliott Brooks Update DCM triggers to match Dart DevTools (#2230)
Change-Id: Ic3dc1924da48454a28e4c0d8705244ac1565e74a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/325967
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
Change-Id: I4fc17b992db272d6154a7c58fc1f4229c5368ee4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/325620
Reviewed-by: Jackson Gardner <jacksongardner@google.com>
Auto-Submit: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
Commit-Queue: Jackson Gardner <jacksongardner@google.com>
This test uses `dart:cli`s `waitFor` which only works under a flag now.
TEST=ci
Change-Id: I9efe139c868d12c6fa2af1c0d7bfa64a5af5b2a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/326100
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Slava Egorov <vegorov@google.com>
This splits visitors for (Tree)Visitor(1) into pure interfaces, mixins,
and a base class with the base implementation. This is a step towards
avoid having an accidental default implementation where a static error
would have been preferable.
This extract a ConstantReferenceVisitor(1) and its corresponding
DefaultMixin from the Visitor(1) interface.
TEST=existing
Change-Id: Ibc55bed9cff76581deaade91a10600c17fafc6dd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/325704
Reviewed-by: Mayank Patke <fishythefish@google.com>
Reviewed-by: Ömer Ağacan <omersa@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Per breaking change request we are now disabling
waitFor by default.
Users can still enable it by passing the flag:
--enabled-deprecated-wait-for
Issue https://github.com/dart-lang/sdk/issues/52121
TEST=standalone/io/wait_for_deprecation_test
CoreLibraryReviewExempt: standalone VM only change
Change-Id: Ied78f91344d15cb77e932514e2b752bb6ac5dc5d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/326021
Commit-Queue: Slava Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Michael Thomsen <mit@google.com>
This splits visitors for Initializer, Expression, Statement, Member,
and MemberReference into pure interfaces and mixins with the base
implementation. This is a step towards avoid having an accidental
default implementation where a static error would have been preferable.
TEST=existing
Change-Id: I4aa243ce3b3436e05d6164c934df3c44119cd1fa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/325521
Reviewed-by: Ömer Ağacan <omersa@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Rather than build the entire source map as a string in memory, we can use buffered writes to efficiently emit the string as we build it.
In local testing this brought memory consumption down from ~6480MB to ~6330MB (-160MB).
Change-Id: Ic40f819a849f933d8662011647d4775eaa1462e1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/325941
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
The data within this maps is apparently hanging around in memory longer than it needs to. We only read from each map in a short window and once it's been read we don't use that data again. By clearing the maps ater we use them we end up saving ~700MB (out of ~7.1GB) for phase 3b on a large program.
References to all these maps are being retained by this higher level map:
https://github.com/dart-lang/sdk/blob/main/pkg/compiler/lib/src/io/code_output.dart#L143
This change clears the internal maps while that larger map is being iterated over.
Change-Id: I132dbf469391f257685b05fa69c302f1f1c44e31
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/325940
Reviewed-by: Mayank Patke <fishythefish@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Revert submission 323446
Reason for revert: This breaks flutter web engine unit tests. See https://github.com/dart-lang/sdk/issues/53521
Reverted changes: /q/submissionid:323446
Change-Id: I9095f0791a556d4bc912e29fde274f3cb8824317
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/325964
Commit-Queue: Jackson Gardner <jacksongardner@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Reviewed-by: William Hesse <whesse@google.com>