[dart-lang/sdk] 2ccca1: [vm] Revise uses of nullability

0 views
Skip to first unread message

Alexander Markov

unread,
Jun 18, 2026, 11:03:02 AM (18 hours ago) Jun 18
to com...@dartlang.org
Branch: refs/heads/main
Home: https://github.com/dart-lang/sdk
Commit: 2ccca10f0de764add85994706f6d0426478665d5
https://github.com/dart-lang/sdk/commit/2ccca10f0de764add85994706f6d0426478665d5
Author: Alexander Markov <alexm...@google.com>
Date: 2026-06-18 (Thu, 18 Jun 2026)

Changed paths:
M pkg/native_compiler/lib/runtime/vm_offsets.g.dart
M runtime/vm/compiler/backend/constant_propagator.cc
M runtime/vm/compiler/backend/flow_graph_compiler.cc
M runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc
M runtime/vm/compiler/backend/il.cc
M runtime/vm/compiler/backend/type_propagator.cc
M runtime/vm/compiler/call_specializer.cc
M runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc
M runtime/vm/compiler/frontend/kernel_to_il.cc
M runtime/vm/compiler/stub_code_compiler.cc
M runtime/vm/dart_api_impl.cc
M runtime/vm/object.cc
M runtime/vm/object.h
M runtime/vm/runtime_entry.cc
M runtime/vm/stub_code_list.h
M runtime/vm/type_testing_stubs.cc

Log Message:
-----------
[vm] Revise uses of nullability

This change is mostly cleanup/refactoring after sound null safety:

* IsTopTypeForSubtyping and IsTopTypeForInstanceOf are the same
and renamed to IsTopType.

* Types can be either IsNullable or IsNonNullable, so double negation
is simplified in a few places.

* IsNonNullable() does not mean `null` is not assignable,
specifically for type parameter types and FutureOr types.
So, a few places are fixed to use Instance::NullIsAssignableTo
instead of checking nullability of the type directly.

TEST=ci

Change-Id: I2a07aa70421bf57eba05c929ca43d36db7229205
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/514421
Commit-Queue: Alexander Markov <alexm...@google.com>
Reviewed-by: Ryan Macnak <rma...@google.com>
Reviewed-by: Slava Egorov <veg...@google.com>



To unsubscribe from these emails, change your notification settings at https://github.com/dart-lang/sdk/settings/notifications

Konstantin Scheglov

unread,
Jun 18, 2026, 12:13:18 PM (17 hours ago) Jun 18
to com...@dartlang.org
Branch: refs/heads/lkgr
Commit: 1d8260d4eacbd08b65d448d7686364b8f17833a8
https://github.com/dart-lang/sdk/commit/1d8260d4eacbd08b65d448d7686364b8f17833a8
Author: Konstantin Shcheglov <sche...@google.com>
Date: 2026-06-18 (Thu, 18 Jun 2026)

Changed paths:
M pkg/analysis_server/lib/src/services/completion/dart/uri_helper.dart
M pkg/analyzer/lib/src/context/source.dart
M pkg/analyzer/lib/src/dart/analysis/driver.dart
M pkg/analyzer/lib/src/dart/analysis/library_graph.dart
M pkg/analyzer/lib/src/generated/source.dart
M pkg/analyzer/lib/src/source/package_map_resolver.dart
M pkg/analyzer/lib/src/workspace/gn.dart
M pkg/analyzer/lib/src/workspace/pub.dart
M pkg/analyzer/lib/src/workspace/simple.dart
M pkg/analyzer/test/generated/source_factory_test.dart
M pkg/analyzer/test/src/analysis_options/analysis_options_test_support.dart
M pkg/analyzer/test/src/clients/build_resolvers/build_resolvers_test.dart
M pkg/analyzer/test/src/dart/analysis/feature_set_provider_test.dart
M pkg/analyzer/test/src/dart/analysis/file_state_test.dart
M pkg/analyzer/test/src/dart/analysis/uri_converter_test.dart
M pkg/analyzer/test/src/source/package_map_resolver_test.dart
M pkg/analyzer_cli/tool/perf.dart
M pkg/front_end/tool/perf.dart

Log Message:
-----------
CQ. Simplify PackageMapUriResolver, using single Folder.

Change-Id: I5207a8780e1bb41c178c05d29fe0dc37f8a13d46
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/514622
Reviewed-by: Johnni Winther <johnni...@google.com>
Commit-Queue: Konstantin Shcheglov <sche...@google.com>
Reviewed-by: Brian Wilkerson <brianwi...@google.com>


Commit: 608b53b2cee352602ad59d0f8dc937ed1394234c
https://github.com/dart-lang/sdk/commit/608b53b2cee352602ad59d0f8dc937ed1394234c
Author: Konstantin Shcheglov <sche...@google.com>
Date: 2026-06-18 (Thu, 18 Jun 2026)

Changed paths:
M pkg/analyzer/lib/src/analysis_options/analysis_options_parser.dart
R pkg/analyzer/lib/src/analysis_options/analysis_options_provider.dart
M pkg/analyzer/lib/src/analysis_options/analysis_options_validator.dart
A pkg/analyzer/lib/src/analysis_options/analysis_options_yaml.dart

Log Message:
-----------
AO. Pull AnalysisOptionsProvider next to AnalysisOptionsParseSession.

Change-Id: I530d44e8e0de313f366a549c8b22f35501f697a3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/514680
Reviewed-by: Johnni Winther <johnni...@google.com>
Commit-Queue: Konstantin Shcheglov <sche...@google.com>


Compare: https://github.com/dart-lang/sdk/compare/79a46a510fe7...608b53b2cee3

copybara-service[bot]

unread,
Jun 18, 2026, 4:09:11 PM (13 hours ago) Jun 18
to com...@dartlang.org
Branch: refs/heads/dev
Commit: 7af1f555b0c190add508be3dab4c400f778cedc8
https://github.com/dart-lang/sdk/commit/7af1f555b0c190add508be3dab4c400f778cedc8
Author: Konstantin Shcheglov <sche...@google.com>
Date: 2026-06-18 (Thu, 18 Jun 2026)

Changed paths:
M pkg/analyzer/lib/src/analysis_options/analysis_options_parser.dart
M pkg/analyzer/lib/src/dart/analysis/analysis_options.dart

Log Message:
-----------
AO. Pull YAML interpretation out of AnalysisOptionsBuilder and AnalysisOptionsImpl.

This is an implementation detail of AnalysisOptionsParseSession.

Change-Id: I80caf8432d026d66438b4693d4307b02d259b620
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/514780
Commit-Queue: Konstantin Shcheglov <sche...@google.com>
Reviewed-by: Johnni Winther <johnni...@google.com>


Commit: 241a19c034ed6347fcfdda907d5565bd06c7c3ef
https://github.com/dart-lang/sdk/commit/241a19c034ed6347fcfdda907d5565bd06c7c3ef
Author: dart-a...@skia-public.iam.gserviceaccount.com <dart-a...@skia-public.iam.gserviceaccount.com>
Date: 2026-06-18 (Thu, 18 Jun 2026)

Changed paths:
M DEPS

Log Message:
-----------
Roll gn from 28df2d93df29 to 7395cecc9cd7

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/gn-dart-sdk
Please CC dart-e...@google.com,dart-vm-...@rotations.google.com,dart-v...@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in gn: https://bugs.chromium.org/p/gn/issues/list
To file a bug in Dart SDK: https://github.com/dart-lang/sdk/issues

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: luci.dart.try:dart-sdk-linux-try;luci.dart.try:dart-sdk-linux-arm64-try;luci.dart.try:dart-sdk-mac-try;luci.dart.try:dart-sdk-mac-arm64-try;luci.dart.try:dart-sdk-win-try
Change-Id: Icd5fa90912bdb987733a319d69fea3c79ab92c4b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/514080
Reviewed-by: Alexander Markov <alexm...@google.com>
Reviewed-by: Alexander Aprelev <a...@google.com>
Commit-Queue: Alexander Aprelev <a...@google.com>


Commit: da428076dfbad84f1097d158b938df1433bdf3d3
https://github.com/dart-lang/sdk/commit/da428076dfbad84f1097d158b938df1433bdf3d3
Author: dart-a...@skia-public.iam.gserviceaccount.com <dart-a...@skia-public.iam.gserviceaccount.com>
Date: 2026-06-18 (Thu, 18 Jun 2026)

Changed paths:
M DEPS

Log Message:
-----------
Roll Fuchsia SDK from 32.20260611.6.1 to 32.20260612.4.1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-sdk-dart-sdk
Please CC fuchsia-3...@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Fuchsia SDK: https://bugs.fuchsia.dev/p/fuchsia/issues/list
To file a bug in Dart SDK: https://github.com/dart-lang/sdk/issues

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: luci.dart.try:vm-fuchsia-release-x64-try;luci.dart.try:vm-fuchsia-release-arm64-try
Change-Id: I53306239c9b6912d2dda4fffd8191f5e3cff4d07
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/512240
Reviewed-by: Alexander Aprelev <a...@google.com>
Commit-Queue: Alexander Aprelev <a...@google.com>
Reviewed-by: Alexander Markov <alexm...@google.com>


Commit: 3f2914ed5ea47cc01f18cd2e932bc6630611dba1
https://github.com/dart-lang/sdk/commit/3f2914ed5ea47cc01f18cd2e932bc6630611dba1
Author: Paul Berry <paul...@google.com>
Date: 2026-06-18 (Thu, 18 Jun 2026)

Changed paths:
M pkg/_fe_analyzer_shared/lib/src/flow_analysis/flow_analysis.dart

Log Message:
-----------
[_fe_analyzer_shared] Minor sorting and formatting fixes.

This will reduce noise in the code review of the CL that follows.

Change-Id: I6884bc40742d50dfd45461507f79879f6a6a6964
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/514820
Reviewed-by: Konstantin Shcheglov <sche...@google.com>
Commit-Queue: Paul Berry <paul...@google.com>


Commit: b56cca7840ab1652ea497f909683bd28c5a9567f
https://github.com/dart-lang/sdk/commit/b56cca7840ab1652ea497f909683bd28c5a9567f
Author: Nate Biggs <nate...@google.com>
Date: 2026-06-18 (Thu, 18 Jun 2026)

Changed paths:
M pkg/test_runner/lib/src/browser_controller.dart

Log Message:
-----------
[test_runner] Set terms of use bypass on firefox profile.

As of Firefox 152, the browser will not finish some tests until the terms of use are accepted. This causes these tests to timeout and crashes bots.

Example: https://ci.chromium.org/ui/p/dart/builders/try/dart2wasm-linux-firefox-try/4872/overview
Change-Id: I28d5e876f0d43e88f9d9d160de3ab3301a919cd0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/514800
Reviewed-by: Srujan Gaddam <sru...@google.com>
Commit-Queue: Nate Biggs <nate...@google.com>


Commit: d8d70b447aadce825402c346d5b0031a405e5e7b
https://github.com/dart-lang/sdk/commit/d8d70b447aadce825402c346d5b0031a405e5e7b
Author: dart-a...@skia-public.iam.gserviceaccount.com <dart-a...@skia-public.iam.gserviceaccount.com>
Date: 2026-06-18 (Thu, 18 Jun 2026)

Changed paths:
M DEPS

Log Message:
-----------
Roll BoringSSL from 5124f7e67b3c to 63893acb3684 (32 revisions)

https://boringssl.googlesource.com/boringssl.git/+log/5124f7e67b3c..63893acb3684

2026-06-18 xfd...@google.com rust: bssl-tls: Properly annotate sections of configuration options
2026-06-18 davi...@google.com Revert "Replace most of P-256 assembly code with C"
2026-06-17 davi...@google.com Finish documenting <openssl/pem.h>
2026-06-17 davi...@google.com Unwind SSL_set_enforce_rsa_key_usage
2026-06-17 davi...@google.com Run pregenerate as part of run_tests
2026-06-17 xfd...@google.com clang-format: p256_test.cc
2026-06-17 xfd...@google.com perlasm: delimit AESNI `set_encrypt_key_base` function properly
2026-06-16 davi...@google.com Remove PEM_TYPE_* constants
2026-06-16 davi...@google.com Document low-level PEM functions
2026-06-16 davi...@google.com Add TLS_RSA_WITH_AES_256_GCM_SHA384 to ssl_compliance_policy_cnsa1_202603
2026-06-16 davi...@google.com Start expanding and documenting PEM_read and PEM_write functions
2026-06-16 davi...@google.com ANY PRIVATE KEY is not a real PEM type
2026-06-16 davi...@google.com Const-correct PEM_write functions and i2d_SSL_SESSION
2026-06-16 davi...@google.com Normalize in-memory ASN1_BOOLEAN representations on parse
2026-06-16 xfd...@google.com rust: bssl-tls: report RPK in custom certificate verifier
2026-06-16 xfd...@google.com rust: bssl-tls: convenient certificate verification outcomes
2026-06-16 xfd...@google.com rust: bssl-tls: Share some credential configs with builder
2026-06-16 davi...@google.com Unexport IMPLEMENT_PEM_* macros
2026-06-16 xfd...@google.com rust: bssl-tls: make DER encoding use slice sanitation
2026-06-16 davi...@google.com Don't depend on tasn_* for ASN1_TYPE functions
2026-06-16 davi...@google.com Fix strict aliasing violations in crypto/asn1 from ASN1_VALUE*
2026-06-16 a...@imperialviolet.org Running spelling and grammar checks over comments.
2026-06-16 xfd...@google.com Update version for Bazel Central Repository to 0.20260616.0
2026-06-16 davi...@google.com Rewrite tasn_enc and tasn_dec with CBS/CBB
2026-06-16 davi...@google.com Split out a CBS_peek_any_asn1_tag helper from CBS_peek_asn1_tag
2026-06-15 davi...@google.com Remove unnecessary size limit comment
2026-06-15 davi...@google.com Use scopers in IDP and CRDP config parsing
2026-06-15 davi...@google.com Add a test for CRLDP parsing
2026-06-15 davi...@google.com Break out a few more helper functions for supported crypto/asn1 types
2026-06-15 davi...@google.com Support X509 objects with extern ASN1_ITEM helpers
2026-06-15 davi...@google.com Wire up some more types to bssl::UniquePtr
2026-06-14 davi...@google.com Add a test for PolicyInformation parsing

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/boringssl-dart-sdk
Please CC dart-e...@google.com,dart-vm-...@rotations.google.com,dart-v...@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in BoringSSL: https://crbug.com/boringssl/new
To file a bug in Dart SDK: https://github.com/dart-lang/sdk/issues

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Tbr: dart-vm-...@rotations.google.com
Change-Id: I1fdecbde34fcee26f2842757bf8bbbb563eed526
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/514980
Commit-Queue: Alexander Aprelev <a...@google.com>
Commit-Queue: dart-a...@skia-public.iam.gserviceaccount.com <dart-a...@skia-public.iam.gserviceaccount.com>
Reviewed-by: Alexander Aprelev <a...@google.com>
Reviewed-by: Alexander Markov <alexm...@google.com>


Commit: d5413c8d6bdf5c9c991fb052def0a2ff4f6e8602
https://github.com/dart-lang/sdk/commit/d5413c8d6bdf5c9c991fb052def0a2ff4f6e8602
Author: Ben Konyi <bko...@google.com>
Date: 2026-06-18 (Thu, 18 Jun 2026)

Changed paths:
M pkg/vm_service/test/common/service_test_common.dart

Log Message:
-----------
[vm_service] Fix race condition in resumeIsolate

Apply the asynchronous and synchronous-nullification pattern to `resumeIsolate` to resolve a race condition.

Previously, because the debug stream listener didn't check if it was completing the same `Completer` multiple times, multiple incoming `kResume` events (or concurrent paths) could double-complete it and throw a `StateError`.

By introducing a synchronous helper `complete` which nullifies the `completer` variable synchronously BEFORE yielding to any asynchronous calls (like `subscription.cancel()` or `streamCancel()`), we guarantee that only one execution path can successfully complete the completer, preventing concurrent double-completing races. Additionally, we verify the isolate ID of the event matches the isolate being resumed.

Change-Id: If170ed425b6123de9255cdd1b794f176bac73dc3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508380
Reviewed-by: Nicholas Shahan <nsh...@google.com>
Commit-Queue: Ben Konyi <bko...@google.com>
Auto-Submit: Ben Konyi <bko...@google.com>


Commit: 10815d3db00f307ca546c5da23bb2e2392fb31a6
https://github.com/dart-lang/sdk/commit/10815d3db00f307ca546c5da23bb2e2392fb31a6
Author: dart-a...@skia-public.iam.gserviceaccount.com <dart-a...@skia-public.iam.gserviceaccount.com>
Date: 2026-06-18 (Thu, 18 Jun 2026)

Changed paths:
M DEPS

Log Message:
-----------
Roll Fuchsia SDK from 32.20260612.4.1 to 32.20260618.4.1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-sdk-dart-sdk
Please CC fuchsia-3...@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Fuchsia SDK: https://bugs.fuchsia.dev/p/fuchsia/issues/list
To file a bug in Dart SDK: https://github.com/dart-lang/sdk/issues

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: luci.dart.try:vm-fuchsia-release-x64-try;luci.dart.try:vm-fuchsia-release-arm64-try
Change-Id: I03e94649cedf3c4f6fcbbebe96c199ec79fda9c7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/514940
Reviewed-by: Alexander Markov <alexm...@google.com>
Reviewed-by: Alexander Aprelev <a...@google.com>
Commit-Queue: dart-a...@skia-public.iam.gserviceaccount.com <dart-a...@skia-public.iam.gserviceaccount.com>
Commit-Queue: Alexander Markov <alexm...@google.com>


Commit: 4db26471a98bf33b09ac6e161641d871db743ba6
https://github.com/dart-lang/sdk/commit/4db26471a98bf33b09ac6e161641d871db743ba6
Author: Nate Biggs <nate...@google.com>
Date: 2026-06-18 (Thu, 18 Jun 2026)

Changed paths:
M DEPS

Log Message:
-----------
Update chrome, firefox, d8, jsc, and jsshell versions.

Change-Id: Idad12cef4c0e19d7cd68f7689d3bafe543700857
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/514400
Commit-Queue: Nate Biggs <nate...@google.com>
Reviewed-by: Srujan Gaddam <sru...@google.com>


Commit: d5c2c0ae32b4c690ea940a0ae4ab93b1911f27fb
https://github.com/dart-lang/sdk/commit/d5c2c0ae32b4c690ea940a0ae4ab93b1911f27fb
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/_fe_analyzer_shared/lib/src/flow_analysis/flow_analysis.dart
M pkg/analysis_server/lib/src/services/completion/dart/uri_helper.dart
M pkg/analyzer/lib/src/analysis_options/analysis_options_parser.dart
R pkg/analyzer/lib/src/analysis_options/analysis_options_provider.dart
M pkg/analyzer/lib/src/analysis_options/analysis_options_validator.dart
A pkg/analyzer/lib/src/analysis_options/analysis_options_yaml.dart
M pkg/analyzer/lib/src/context/source.dart
M pkg/analyzer/lib/src/dart/analysis/analysis_options.dart
M pkg/analyzer/lib/src/dart/analysis/driver.dart
M pkg/analyzer/lib/src/dart/analysis/library_graph.dart
M pkg/analyzer/lib/src/generated/source.dart
M pkg/analyzer/lib/src/source/package_map_resolver.dart
M pkg/analyzer/lib/src/workspace/gn.dart
M pkg/analyzer/lib/src/workspace/pub.dart
M pkg/analyzer/lib/src/workspace/simple.dart
M pkg/analyzer/test/generated/source_factory_test.dart
M pkg/analyzer/test/src/analysis_options/analysis_options_test_support.dart
M pkg/analyzer/test/src/clients/build_resolvers/build_resolvers_test.dart
M pkg/analyzer/test/src/dart/analysis/feature_set_provider_test.dart
M pkg/analyzer/test/src/dart/analysis/file_state_test.dart
M pkg/analyzer/test/src/dart/analysis/uri_converter_test.dart
M pkg/analyzer/test/src/source/package_map_resolver_test.dart
M pkg/analyzer_cli/tool/perf.dart
M pkg/front_end/tool/perf.dart
M pkg/native_compiler/lib/runtime/vm_offsets.g.dart
M pkg/test_runner/lib/src/browser_controller.dart
M pkg/vm_service/test/common/service_test_common.dart
M runtime/vm/compiler/backend/constant_propagator.cc
M runtime/vm/compiler/backend/flow_graph_compiler.cc
M runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc
M runtime/vm/compiler/backend/il.cc
M runtime/vm/compiler/backend/type_propagator.cc
M runtime/vm/compiler/call_specializer.cc
M runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc
M runtime/vm/compiler/frontend/kernel_to_il.cc
M runtime/vm/compiler/stub_code_compiler.cc
M runtime/vm/dart_api_impl.cc
M runtime/vm/object.cc
M runtime/vm/object.h
M runtime/vm/runtime_entry.cc
M runtime/vm/stub_code_list.h
M runtime/vm/type_testing_stubs.cc
M tools/VERSION

Log Message:
-----------
Version 3.13.0-224.0.dev

Merge 4db26471a98bf33b09ac6e161641d871db743ba6 into dev


Compare: https://github.com/dart-lang/sdk/compare/51ef8e837416...d5c2c0ae32b4

copybara-service[bot]

unread,
Jun 18, 2026, 4:42:03 PM (13 hours ago) Jun 18
to com...@dartlang.org
Branch: refs/heads/lkgr-dev
Reply all
Reply to author
Forward
0 new messages