The `merge` operation is equivalent to a `join` operation followed by
an `unsplit` operation, so there is no real benefit to having both
`merge` and `join` as separate methods. Removing `merge` will make it
easier to refactor the behavior of `join` in follow-up CLs.
Change-Id: I4a42cdd1cb2e795dcfeae86703fe5d3356c131ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/322140
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Fixes a breakage caused by https://dart-review.googlesource.com/c/sdk/+/319911. This reverts a mistake in evaluating the argument list for constant errors if it's not even constant.
b/297178967
Change-Id: I88db872025d10dd75e07d1349ceef61bc251cfc2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/322441
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
This mirrors a similar change made for OpenUriNotificationSender to avoid callers having to check the `supportsShowMessageRequest` flag before calling `showUserPrompt`. Instead, they can ask for a sender and get a `null` if it's not supported.
Also removed a `!` in initialization options that was a bit dangerous (I triggered errors while testing surveys) and instead made all code that reads initialization options handle the case where initialization hasn't happened with a safe default where appropriate.
This should not change any functionality, it just makes an upcoming CL (with functional changes) smaller/simpler.
Change-Id: I730b7879b5f49a3b6c99414b054724e2c0ca6515
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/322402
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
This reverts commit 3fb88e4c66.
Reason for revert: b/297175670
Original change's description:
> [vm, gc] Mark through new-space.
>
> - Initial and final marking no longer visit all of new-space, reducing the STW pause for major GC.
> - A scavenge during concurrent marking must forward / filter objects in the marking worklist that are moved / collected, increasing the STW pause for minor GC.
> - Unreachable intergenerational cycles and weak references are collected in the next mark-sweep instead of first requiring enough scavenges to promote the whole cycle or weak target into old-space.
> - Artificial minor GCs are no longer needed to avoid memory leaks from back-to-back major GCs.
> - reachabilityBarrier is now just a count of major GCs.
>
> TEST=ci
> Change-Id: I6362802cd93ba5ba9c39f116ddff82e4feb4c312
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/321304
> Commit-Queue: Ryan Macnak <rmacnak@google.com>
> Reviewed-by: Siva Annamalai <asiva@google.com>
Change-Id: I33075156160dc35861355d738a5776b74dce88b9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/322344
Reviewed-by: Martin Kustermann <kustermann@google.com>
Auto-Submit: Ivan Inozemtsev <iinozemtsev@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
The linter repository is moving into the SDK repo, moving
from third_party/pkg/linter to pkg/linter. Make generate_package_config.dart compatible with a non-breaking migration, that adds the package in the new location, changes Flutter and Dart
to use the new location, then removes the copy from the old location.
Bug: https://github.com/dart-lang/linter/issues/4411
Change-Id: I0653562a8af09a06582bbf17a44766fa64e2881f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/321722
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
We've been using the Unordered version (which support deferred serialization) of these for a while now. Removing the ordered version (and associated flags) since they're essentially dead code at this point.
Change-Id: I522682b8e0688deda6784628b65d41389cdb9791
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/322161
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
The with_envs.py works with the test script by providing the required
environment variables.
This change in theory does nothing since the `product download` is in
12.20230413.0.1, but `run` is removed before that,
https://fxrev.dev/831319. So the DEPS cannot really download the images.
The issue will be addressed in a coming change.
Bug: #38752
Change-Id: Ib5f3d1d619921651208fa442201ba607a99e54d5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/319867
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Zijie He <zijiehe@google.com>
Some errors like type checking of fields should be reported directly, so this CL separates these errors from evaluation exception errors. This reverts some changes we have before.
Additionally, we move error reporting for the constructors to an outer-most method to avoid reporting multiple times.
Change-Id: Ie2fde0ea7d389a633051cb106012a0738354f821
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/319911
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
- Initial and final marking no longer visit all of new-space, reducing the STW pause for major GC.
- A scavenge during concurrent marking must forward / filter objects in the marking worklist that are moved / collected, increasing the STW pause for minor GC.
- Unreachable intergenerational cycles and weak references are collected in the next mark-sweep instead of first requiring enough scavenges to promote the whole cycle or weak target into old-space.
- Artificial minor GCs are no longer needed to avoid memory leaks from back-to-back major GCs.
- reachabilityBarrier is now just a count of major GCs.
TEST=ci
Change-Id: I6362802cd93ba5ba9c39f116ddff82e4feb4c312
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/321304
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
The following command line options are added:
--dump-kernel-after-cfe=<filename>
--dump-kernel-before-tfa=<filename>
--dump-kernel-after-tfa=<filename>
These options can be used during debugging in order to dump
kernel AST of the whole program.
Change-Id: Ie1d5bc992994b6ad816d0755ef9c80dfa6dbb935
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/321521
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ömer Ağacan <omersa@google.com>
Remove the `Reachability.restrict` method--it hasn't been used since
2021, and was only kept around by mistake.
Remove the `Reachability.join` method--it was only used in the
circumstance where two flow control paths were being joined that had
equivalent reachability, in which case, it did nothing but return a
new reachability that was equivalent to one of its inputs. Call sites
have been updated to assert that the two control flow paths are indeed
equivalent, and then simply use the first control flow path's
reachability.
Change-Id: Ie24789ccd18723425b7db405d2122954dfae7b5b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/321841
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
This changes the parser to always interpret `extension type` as the
start of an extension type declaration.
Recovery is added to handle missing identifier, primary constructor,
parameter constructor parameters, and extension type declaration body.
Change-Id: I98cac0b2641167c4708fa20b22f0de0a70336457
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/321704
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
+ removes tests using 'inline class' syntax or replace them with
extension type syntax.
TEST=existing
Change-Id: Ic98178c4df9a1585ad0167cfd8847caa7b771e3e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/321120
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
`-Dtest_command` is now a multi-argument, commands will be run in
sequence when multiple are passed.
The test commands now need to include the executable. Previous
invocations now need to be passed python3 in front of tools/test.py.
Both stdout and stderr from test commands are now taken into account
for matching on the error string.
The above changes enable bisecting failures other than tests failing
through test.py invocations such as:
https://github.com/dart-lang/sdk/issues/53267#issuecomment-1686528611
Change-Id: I4c3cb800b69e34a15c375f45a417bb2c28d9df8e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/322020
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Some of these is checks can be optimized away by dart2js.
Change-Id: I76b5b253a24a4ded2394664985665fc875b60f52
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/321750
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Adds JSSymbol and JSBigInt and erases to either their respective
interceptor types in the JS backends or JSValue in dart2wasm.
CoreLibraryReviewExempt: Backend-specific library.
Change-Id: Ib2c70d22a70c6308733cd170b91eafa8ec3b3aeb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/321749
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Adds the same interceptors from dart2js as JsPeerInterfaces
and handles typeof differences in getReifiedType. These must
be JsPeerInterfaces so that Object members can be stored in
their prototype. Tests are added so that dart2js and ddc are
consistent.
Change-Id: Iadc3dd26957c0a21b4039c49c1c1ff162ae286e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/321748
Reviewed-by: Stephen Adams <sra@google.com>
Duplications introduced in
cfa03ed971
Change-Id: I9720822611aacefb9b1538d9fc59e234f96475bf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/321842
Auto-Submit: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Fix allowed it to accept null but it should never be called with a
nullable value.
Change-Id: I03b5d9b4906e9e4557a4f2720350c0c8176fec53
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/320841
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Auto-Submit: Nicholas Shahan <nshahan@google.com>
- Consolidates "related to" section to what users are familiar with.
- Adds some other related repositories.
- Switches to `dart info` instead of `dart --version` for more information
Change-Id: I70eb03293e5946b51cee7d5a7f02634a593f3bc2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/320901
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
`DartType.VOID` and `DartType.VOID_NULLABLE` are the same constant,
therefore only one of them should be listed in
`DartLib.typeToLibraryMethods`, to avoid an `equal_keys_in_map`
warning.
Change-Id: I65beef01f8a810af96be5e458eeecef7a7acff01
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/321820
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>