Branch: refs/heads/dev
Commit: 17e408b7195518a38caed8a3ba910538a2148dd0
https://github.com/dart-lang/sdk/commit/17e408b7195518a38caed8a3ba910538a2148dd0
M pkg/_js_interop_checks/lib/src/transformations/shared_interop_transformer.dart
M pkg/cfg/lib/front_end/computed_scopes.dart
M pkg/cfg/test/ir/functions_test.dart
M pkg/cfg/testcases/capturing.dart.expect
M pkg/compiler/lib/src/kernel/transformations/modular/late_lowering.dart
M pkg/compiler/lib/src/kernel/transformations/modular/list_factory_specializer.dart
M pkg/dart2bytecode/lib/local_vars.dart
M pkg/dart2wasm/lib/await_transformer.dart
M pkg/dart2wasm/lib/ffi_native_transformer.dart
M pkg/dart2wasm/lib/js/callback_specializer.dart
M pkg/dart2wasm/lib/js/inline_expander.dart
M pkg/dart2wasm/lib/js/interop_specializer.dart
M pkg/dart2wasm/lib/js/util.dart
M pkg/dart2wasm/lib/record_class_generator.dart
M pkg/dart2wasm/lib/transformers.dart
M pkg/dev_compiler/lib/src/kernel/compiler.dart
M pkg/dev_compiler/lib/src/kernel/compiler_new.dart
M pkg/front_end/lib/src/fragment/constructor/encoding.dart
M pkg/front_end/lib/src/fragment/factory/encoding.dart
M pkg/front_end/lib/src/fragment/getter/encoding.dart
M pkg/front_end/lib/src/fragment/method/encoding.dart
M pkg/front_end/lib/src/fragment/setter/encoding.dart
M pkg/front_end/lib/src/kernel/constant_evaluator.dart
M pkg/front_end/lib/src/kernel/external_ast_helper.dart
M pkg/front_end/lib/src/kernel/internal_ast_helper.dart
M pkg/front_end/test/generator_to_string_test.dart
M pkg/front_end/test/incremental_suite.dart
M pkg/front_end/test/testing/suite.dart
M pkg/front_end/test/text_representation/internal_ast_text_representation_test.dart
M pkg/front_end/tool/ast_model.dart
M pkg/kernel/bin/switch_order.dart
M pkg/kernel/binary.md
M pkg/kernel/lib/binary/ast_from_binary.dart
M pkg/kernel/lib/binary/ast_to_binary.dart
M pkg/kernel/lib/binary/tag.dart
M pkg/kernel/lib/clone.dart
M pkg/kernel/lib/src/ast/dummies.dart
M pkg/kernel/lib/src/ast/functions.dart
M pkg/kernel/lib/src/ast/variables.dart
M pkg/kernel/lib/src/coverage.dart
M pkg/kernel/lib/src/equivalence.dart
M pkg/kernel/lib/src/node_creator.dart
M pkg/kernel/lib/src/printer.dart
M pkg/kernel/lib/text/ast_to_text.dart
M pkg/kernel/lib/transformations/track_widget_constructor_locations.dart
M pkg/kernel/lib/verifier.dart
M pkg/kernel/lib/visitor.dart
M pkg/kernel/test/class_hierarchy_test.dart
M pkg/kernel/test/convert_field_to_setter_getter_test.dart
M pkg/kernel/test/generalized_tracking_test.dart
M pkg/kernel/test/verify_test.dart
M pkg/native_compiler/testcases/lowering_test.dart.expect
M pkg/vm/lib/modular/transformations/ffi/definitions.dart
M pkg/vm/lib/modular/transformations/ffi/finalizable.dart
M pkg/vm/lib/modular/transformations/ffi/native.dart
M pkg/vm/lib/modular/transformations/ffi/use_sites.dart
M pkg/vm/lib/modular/transformations/for_in_lowering.dart
M pkg/vm/lib/modular/transformations/late_var_init_transformer.dart
M pkg/vm/lib/modular/transformations/type_casts_optimizer.dart
M pkg/vm/lib/transformations/type_flow/signature_shaking.dart
M pkg/vm/lib/transformations/type_flow/summary_collector.dart
M pkg/vm/lib/transformations/type_flow/transformer.dart
M pkg/vm/lib/transformations/type_flow/types.dart
M runtime/vm/kernel_binary.h
Log Message:
-----------
[cfe][Contexts] Remove LegacyVariable
This remove LegacyVariable and replaces it by the new variables PositionalParameter, NamedParameter, LocalVariable, LateVariable, SyntheticVariable, and CatchVariable.
TEST=existing
Change-Id: Id3da3118502653c716a8f42dd38e992e5d826257
Reviewed-on:
https://dart-review.googlesource.com/c/sdk/+/512880
Reviewed-by: Nicholas Shahan <
nsh...@google.com>
Reviewed-by: Alexander Markov <
alexm...@google.com>
Reviewed-by: Chloe Stefantsova <
cstefa...@google.com>
Commit-Queue: Johnni Winther <
johnni...@google.com>
Reviewed-by: Martin Kustermann <
kuste...@google.com>
Commit: 26e6113215e662f0e7f5d5bf31a0c916afcb3009
https://github.com/dart-lang/sdk/commit/26e6113215e662f0e7f5d5bf31a0c916afcb3009
Author: Ryan Macnak <
rma...@google.com>
Date: 2026-06-18 (Thu, 18 Jun 2026)
Changed paths:
M runtime/vm/compiler/stub_code_compiler_arm.cc
M runtime/vm/compiler/stub_code_compiler_arm64.cc
M runtime/vm/compiler/stub_code_compiler_riscv.cc
M runtime/vm/compiler/stub_code_compiler_x64.cc
Log Message:
-----------
[vm, compiler] Fix size of loads for SingleTargetCache's CID bounds.
The range of CIDs was increased from 16 to 20-bits, but these loads were not updated. Truncation from 16-bit loads may result in incorrectly using the cached target.
TEST=no reliable way to get a particular distribution of CIDs
Bug: b/524672761
Change-Id: Ic087efe771bcb0e142219c327ba90d2af83d795f
Reviewed-on:
https://dart-review.googlesource.com/c/sdk/+/514460
Reviewed-by: Slava Egorov <
veg...@google.com>
Commit-Queue: Slava Egorov <
veg...@google.com>
Commit: 9f7bf3fcffa32ef89a8c8d4d9d8c4185c1f2324e
https://github.com/dart-lang/sdk/commit/9f7bf3fcffa32ef89a8c8d4d9d8c4185c1f2324e
Author: Sigurd Meldgaard <
sig...@google.com>
Date: 2026-06-18 (Thu, 18 Jun 2026)
Changed paths:
M runtime/bin/file.cc
M runtime/bin/file.h
M runtime/bin/file_fuchsia.cc
M runtime/bin/file_linux.cc
M runtime/bin/file_macos.cc
M runtime/bin/file_win.cc
M runtime/bin/utils_win.cc
M runtime/bin/utils_win.h
M runtime/include/dart_tools_api.h
M runtime/vm/isolate.cc
M runtime/vm/isolate_reload.cc
M sdk/lib/io/file_impl.dart
M sdk/lib/io/file_system_entity.dart
M tests/standalone/io/file_test.dart
Log Message:
-----------
[dart:io] Support microsecond-precision file timestamps
This CL upgrades the file system timestamp reading and writing APIs in `dart:io` to support full microsecond precision (matching Dart's `DateTime` capabilities), bypassing previous millisecond and second-level truncations.
Windows supports 100-nanoseconds resolution and the other systems support nanosecond resolution. But our DateTime class only has microsecond resolution.
On Windows we stop relying on _wstat64 because of the poor time behavior, so we attempt to replicate its stat behavior.
Updates Dart_FileModifiedCallback to expect microseconds as `since` argument to correspond to what now get from File::Stat. This is technically breaking for embedders, but in api marked unstable.
Tested: Added `testSetLastModifiedMicroseconds` and `testSetLastAccessedMicroseconds` test cases into the `FileTest` suite inside `file_test.dart`.
Bug:
https://github.com/dart-lang/sdk/issues/42444
Change-Id: Icb60d62dc156b014c258985546fc78bdbb926006
CoreLibraryReviewExempt: VM-only library (dart:io)
Reviewed-on:
https://dart-review.googlesource.com/c/sdk/+/507341
Reviewed-by: Slava Egorov <
veg...@google.com>
Reviewed-by: Lasse Nielsen <
l...@google.com>
Reviewed-by: Martin Kustermann <
kuste...@google.com>
Commit: f83654027d27ab0415ab6c06d3e1a7b0aa0de8ac
https://github.com/dart-lang/sdk/commit/f83654027d27ab0415ab6c06d3e1a7b0aa0de8ac
Author: Alexander Markov <
alexm...@google.com>
Date: 2026-06-18 (Thu, 18 Jun 2026)
Changed paths:
A runtime/tests/vm/dart/regress_b524680402_test.dart
M runtime/vm/compiler/backend/type_propagator.cc
Log Message:
-----------
[vm,compiler] Fix treating FutureOr<X?> as non-nullable in type propagator
TEST=runtime/tests/vm/dart/regress_b524680402_test.dart
Fixes b/524680402
Change-Id: I32ba163a987348e25078006f28c277c6f7a85632
Reviewed-on:
https://dart-review.googlesource.com/c/sdk/+/514360
Reviewed-by: Slava Egorov <
veg...@google.com>
Auto-Submit: Alexander Markov <
alexm...@google.com>
Commit-Queue: Slava Egorov <
veg...@google.com>
Commit: 1f8a2f25048f47c530a547db69e4fe4f90262ace
https://github.com/dart-lang/sdk/commit/1f8a2f25048f47c530a547db69e4fe4f90262ace
Author: Martin Kustermann <
kuste...@google.com>
Date: 2026-06-18 (Thu, 18 Jun 2026)
Changed paths:
M DEPS
M pkg/dart2wasm/lib/compile.dart
M pkg/dart2wasm/test/ir_tests/deferred.init_at_startup_module1.wat
M pkg/dart2wasm/test/ir_tests/deferred.type_checks_module1.wat
Log Message:
-----------
[dart2wasm] Enable --gufa also in deferred loading scenario
This gives around -0.3% in compressed/uncompressed of e main module.
The GUFA pass in binaryen no longer requires closed world assumptions.
So we can enable it in the deferred loading case where we currently
optimize individual modules independently.
See discussion in [0].
[0]
https://github.com/WebAssembly/binaryen/issues/8691
Change-Id: I8c2d15d78831de7cb204fbc0cf5462d4a5ac2e6b
Reviewed-on:
https://dart-review.googlesource.com/c/sdk/+/504200
Reviewed-by: Srujan Gaddam <
sru...@google.com>
Commit-Queue: Martin Kustermann <
kuste...@google.com>
Commit: 8cc9f62b804465f0a4b8e5eb5f24dd2cc9482acd
https://github.com/dart-lang/sdk/commit/8cc9f62b804465f0a4b8e5eb5f24dd2cc9482acd
Author: Tess Strickland <
sstr...@google.com>
Date: 2026-06-18 (Thu, 18 Jun 2026)
Changed paths:
M pkg/dart2bytecode/lib/assembler.dart
M pkg/dart2bytecode/lib/bytecode_generator.dart
M runtime/vm/constants_kbc.h
M runtime/vm/interpreter.cc
Log Message:
-----------
[vm,dyn_modules] Don't emit debugger stops for pure stack manipulation.
Here, pure stack manipulation means adding/removing values from the
top of the current stack without exceptional control flow and/or
retrieving values from or storing values to other places, e.g., local
variables or objects. These are instructions for which source positions
are never emitted, and so there is no need to check for single stepping
at them since they cannot serve as breakpoints and they can only be
reached while single stepping from previous instructions that have
the same source location.
In particular, before skipping these instructions, stepping out of a method call with an unused result could stop at the Drop1 instruction
afterwards. Since that instruction inherits the source position of
the call, that pause is reported as at the method call, not the next
source position following the call.
The only method call where a pause after stepping out should be the
position of the method is for dart:developer::debugger, since the
whole point of calling it is to force the debugger to pause at it.
Since the Drop1 following it is now ignored, an explicit Nop is
introduced to serve as a pause point instead.
TEST=ci
(This doesn't change existing test results, but this behavior
was exposed while working on current failures.)
Cq-Include-Trybots: luci.dart.try:vm-dyn-linux-debug-x64-try
Change-Id: I42e38c04094ce360b5a0291aba2c7341461b4512
Reviewed-on:
https://dart-review.googlesource.com/c/sdk/+/513700
Reviewed-by: Alexander Markov <
alexm...@google.com>
Commit-Queue: Tess Strickland <
sstr...@google.com>
Commit: 5883736e767038e0aaa3ff6f3e4a7452cdc78d50
https://github.com/dart-lang/sdk/commit/5883736e767038e0aaa3ff6f3e4a7452cdc78d50
Author: Dart CI <
dart-inte...@dart-ci-internal.iam.gserviceaccount.com>
Date: 2026-06-18 (Thu, 18 Jun 2026)
Changed paths:
M DEPS
M pkg/_js_interop_checks/lib/src/transformations/shared_interop_transformer.dart
M pkg/cfg/lib/front_end/computed_scopes.dart
M pkg/cfg/test/ir/functions_test.dart
M pkg/cfg/testcases/capturing.dart.expect
M pkg/compiler/lib/src/kernel/transformations/modular/late_lowering.dart
M pkg/compiler/lib/src/kernel/transformations/modular/list_factory_specializer.dart
M pkg/dart2bytecode/lib/assembler.dart
M pkg/dart2bytecode/lib/bytecode_generator.dart
M pkg/dart2bytecode/lib/local_vars.dart
M pkg/dart2wasm/lib/await_transformer.dart
M pkg/dart2wasm/lib/compile.dart
M pkg/dart2wasm/lib/ffi_native_transformer.dart
M pkg/dart2wasm/lib/js/callback_specializer.dart
M pkg/dart2wasm/lib/js/inline_expander.dart
M pkg/dart2wasm/lib/js/interop_specializer.dart
M pkg/dart2wasm/lib/js/util.dart
M pkg/dart2wasm/lib/record_class_generator.dart
M pkg/dart2wasm/lib/transformers.dart
M pkg/dart2wasm/test/ir_tests/deferred.init_at_startup_module1.wat
M pkg/dart2wasm/test/ir_tests/deferred.type_checks_module1.wat
M pkg/dev_compiler/lib/src/kernel/compiler.dart
M pkg/dev_compiler/lib/src/kernel/compiler_new.dart
R pkg/front_end/lib/src/builder/augmentation_iterator.dart
M pkg/front_end/lib/src/fragment/constructor/encoding.dart
M pkg/front_end/lib/src/fragment/factory/encoding.dart
M pkg/front_end/lib/src/fragment/getter/encoding.dart
M pkg/front_end/lib/src/fragment/method/encoding.dart
M pkg/front_end/lib/src/fragment/setter/encoding.dart
M pkg/front_end/lib/src/kernel/constant_evaluator.dart
M pkg/front_end/lib/src/kernel/external_ast_helper.dart
M pkg/front_end/lib/src/kernel/internal_ast_helper.dart
M pkg/front_end/lib/src/source/source_class_builder.dart
M pkg/front_end/lib/src/source/source_extension_type_declaration_builder.dart
M pkg/front_end/test/generator_to_string_test.dart
M pkg/front_end/test/incremental_suite.dart
M pkg/front_end/test/testing/suite.dart
M pkg/front_end/test/text_representation/internal_ast_text_representation_test.dart
M pkg/front_end/tool/ast_model.dart
M pkg/kernel/bin/switch_order.dart
M pkg/kernel/binary.md
M pkg/kernel/lib/binary/ast_from_binary.dart
M pkg/kernel/lib/binary/ast_to_binary.dart
M pkg/kernel/lib/binary/tag.dart
M pkg/kernel/lib/clone.dart
M pkg/kernel/lib/src/ast/dummies.dart
M pkg/kernel/lib/src/ast/functions.dart
M pkg/kernel/lib/src/ast/variables.dart
M pkg/kernel/lib/src/coverage.dart
M pkg/kernel/lib/src/equivalence.dart
M pkg/kernel/lib/src/node_creator.dart
M pkg/kernel/lib/src/printer.dart
M pkg/kernel/lib/text/ast_to_text.dart
M pkg/kernel/lib/transformations/track_widget_constructor_locations.dart
M pkg/kernel/lib/verifier.dart
M pkg/kernel/lib/visitor.dart
M pkg/kernel/test/class_hierarchy_test.dart
M pkg/kernel/test/convert_field_to_setter_getter_test.dart
M pkg/kernel/test/generalized_tracking_test.dart
M pkg/kernel/test/verify_test.dart
M pkg/native_compiler/testcases/lowering_test.dart.expect
M pkg/vm/lib/modular/transformations/ffi/definitions.dart
M pkg/vm/lib/modular/transformations/ffi/finalizable.dart
M pkg/vm/lib/modular/transformations/ffi/native.dart
M pkg/vm/lib/modular/transformations/ffi/use_sites.dart
M pkg/vm/lib/modular/transformations/for_in_lowering.dart
M pkg/vm/lib/modular/transformations/late_var_init_transformer.dart
M pkg/vm/lib/modular/transformations/type_casts_optimizer.dart
M pkg/vm/lib/transformations/type_flow/signature_shaking.dart
M pkg/vm/lib/transformations/type_flow/summary_collector.dart
M pkg/vm/lib/transformations/type_flow/transformer.dart
M pkg/vm/lib/transformations/type_flow/types.dart
M runtime/bin/file.cc
M runtime/bin/file.h
M runtime/bin/file_fuchsia.cc
M runtime/bin/file_linux.cc
M runtime/bin/file_macos.cc
M runtime/bin/file_win.cc
M runtime/bin/utils_win.cc
M runtime/bin/utils_win.h
M runtime/include/dart_tools_api.h
A runtime/tests/vm/dart/regress_b524680402_test.dart
M runtime/vm/compiler/backend/type_propagator.cc
M runtime/vm/compiler/stub_code_compiler_arm.cc
M runtime/vm/compiler/stub_code_compiler_arm64.cc
M runtime/vm/compiler/stub_code_compiler_riscv.cc
M runtime/vm/compiler/stub_code_compiler_x64.cc
M runtime/vm/constants_kbc.h
M runtime/vm/interpreter.cc
M runtime/vm/isolate.cc
M runtime/vm/isolate_reload.cc
M runtime/vm/kernel_binary.h
M sdk/lib/io/file_impl.dart
M sdk/lib/io/file_system_entity.dart
M tests/standalone/io/file_test.dart
M tools/VERSION
Log Message:
-----------
Version
3.13.0-222.0.dev
Merge 8cc9f62b804465f0a4b8e5eb5f24dd2cc9482acd into dev
Compare:
https://github.com/dart-lang/sdk/compare/e6ecc050f5b2...5883736e7670