[dart-lang/sdk] b8b0ca: [dart2wasm] Make most `void` functions have no ret...

0 views
Skip to first unread message

Martin Kustermann

unread,
Apr 28, 2026, 3:22:54 AM (yesterday) Apr 28
to com...@dartlang.org
Branch: refs/heads/main
Home: https://github.com/dart-lang/sdk
Commit: b8b0cad67af9d0617ac51c2fa870a4fe74b3f85e
https://github.com/dart-lang/sdk/commit/b8b0cad67af9d0617ac51c2fa870a4fe74b3f85e
Author: Martin Kustermann <kuste...@google.com>
Date: 2026-04-28 (Tue, 28 Apr 2026)

Changed paths:
M pkg/dart2wasm/lib/code_generator.dart
M pkg/dart2wasm/lib/dispatch_table.dart
M pkg/dart2wasm/lib/functions.dart
M pkg/dart2wasm/lib/translator.dart
M pkg/dart2wasm/test/ir_tests/constructor.wat
M pkg/dart2wasm/test/ir_tests/deferred.constant.multi_module_use.wat
M pkg/dart2wasm/test/ir_tests/deferred.constant.multi_module_use_module1.wat
M pkg/dart2wasm/test/ir_tests/deferred.constant.type_use.wat
M pkg/dart2wasm/test/ir_tests/deferred.constant.type_use_module1.wat
M pkg/dart2wasm/test/ir_tests/deferred.constant.wat
M pkg/dart2wasm/test/ir_tests/deferred.constant_module1.wat
M pkg/dart2wasm/test/ir_tests/deferred.constant_module2.wat
M pkg/dart2wasm/test/ir_tests/deferred.fine_grained.devirtualized.wat
M pkg/dart2wasm/test/ir_tests/deferred.fine_grained.devirtualized_module1.wat
M pkg/dart2wasm/test/ir_tests/deferred.fine_grained.wat
M pkg/dart2wasm/test/ir_tests/deferred.fine_grained_module2.wat
M pkg/dart2wasm/test/ir_tests/deferred.fine_grained_module3.wat
M pkg/dart2wasm/test/ir_tests/deferred.fine_grained_module5.wat
M pkg/dart2wasm/test/ir_tests/deferred.fine_grained_module7.wat
M pkg/dart2wasm/test/ir_tests/deferred.fine_grained_module9.wat
M pkg/dart2wasm/test/ir_tests/deferred.init_at_startup.wat
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/dart2wasm/test/ir_tests/dynamic_call.wat
M pkg/dart2wasm/test/ir_tests/import_name_module1.wat
M sdk/lib/_internal/wasm_standalone/lib/embedder.dart
M sdk/lib/_internal/wasm_standalone/lib/timer_patch.dart
M tests/web/wasm/table_test.dart

Log Message:
-----------
[dart2wasm] Make most `void` functions have no return values

This gives around 0.2% improvement in compressed e main module.

In Dart a function with `void` return type can actually return values
that callers can observe. But most of the time this doesn't happen, most
times those functions return `null` values and callers don't observe
them.

Let's use inferred return value information to see if a function is
guaranteed to only return `null`. If so we make the wasm function
signature not return any values. Callers will then synthesize a `null`
which may immediatly be dropped or (in rare cases) actually be used.

This leads to less less instructions in the callee (as a callee doesn't
need to push the null onto the stack) and the caller (as the caller
doesn't have to drop it from the stack).

Change-Id: I3ed1be7592798ad0c697c5bc3ab2c4b64c156f03
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/497620
Commit-Queue: Martin Kustermann <kuste...@google.com>
Reviewed-by: Srujan Gaddam <sru...@google.com>


Commit: bb52def0633f7b0fc741e1074f07e769abade0e4
https://github.com/dart-lang/sdk/commit/bb52def0633f7b0fc741e1074f07e769abade0e4
Author: Martin Kustermann <kuste...@google.com>
Date: 2026-04-28 (Tue, 28 Apr 2026)

Changed paths:
M pkg/dart2wasm/lib/code_generator.dart
M pkg/dart2wasm/lib/translator.dart

Log Message:
-----------
[dart2wasm] Cleanup a bit more code after dynamic module support was removed

Change-Id: Ic9ffcda3f8a15f06780e78accd29d4e3616e214d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/498560
Reviewed-by: Nate Biggs <nate...@google.com>
Commit-Queue: Martin Kustermann <kuste...@google.com>


Compare: https://github.com/dart-lang/sdk/compare/75479bc7a7b3...bb52def0633f

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

Martin Kustermann

unread,
Apr 28, 2026, 4:13:11 AM (yesterday) Apr 28
to com...@dartlang.org
Branch: refs/heads/lkgr

copybara-service[bot]

unread,
Apr 28, 2026, 8:06:37 AM (yesterday) Apr 28
to com...@dartlang.org
Branch: refs/heads/dev
Commit: efff5f70c18e547cfba2ebe3af6f5350032f5202
https://github.com/dart-lang/sdk/commit/efff5f70c18e547cfba2ebe3af6f5350032f5202
Author: mohammadmseet-hue <mohamm...@gmail.com>
Date: 2026-04-28 (Tue, 28 Apr 2026)

Changed paths:
M sdk/lib/_http/websocket_impl.dart

Log Message:
-----------
fix: reject WebSocket close status codes outside RFC 6455 range (1000-4999)

Closes https://github.com/dart-lang/sdk/pull/63253

GitOrigin-RevId: ed449389126db4edb90ec8d26696ceb0de284cd3
Change-Id: Ibb49d7b3a5dd40b696d68c77753f97f31b25303e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/498422
Commit-Queue: Slava Egorov <veg...@google.com>
Reviewed-by: Slava Egorov <veg...@google.com>


Commit: 9e8fdef17c0a8a346e233188ba8170e9dc95bcc4
https://github.com/dart-lang/sdk/commit/9e8fdef17c0a8a346e233188ba8170e9dc95bcc4
Author: Kilian Schulte <g...@schultek.dev>
Date: 2026-04-28 (Tue, 28 Apr 2026)

Changed paths:
M pkg/dart2bytecode/lib/dart2bytecode.dart
M pkg/dev_compiler/lib/src/command/command.dart
M pkg/dev_compiler/lib/src/command/options.dart
M pkg/dev_compiler/lib/src/kernel/expression_compiler_worker.dart
M pkg/dev_compiler/lib/src/kernel/target.dart
M pkg/dev_compiler/test/memory_compiler.dart
M pkg/front_end/lib/src/base/incremental_compiler.dart
M pkg/front_end/test/constant_evaluator_benchmark.dart
M pkg/front_end/test/crashing_test_case_minimizer.dart
M pkg/front_end/test/crashing_test_case_minimizer_impl.dart
M pkg/front_end/test/incremental_flutter_tester.dart
M pkg/front_end/test/incremental_suite.dart
M pkg/front_end/test/outline_extractor_tester.dart
M pkg/front_end/test/spell_checking_list_common.txt
M pkg/front_end/testcases/incremental/crash_01.yaml
M pkg/front_end/testcases/incremental/crash_02.yaml
M pkg/front_end/testcases/incremental/crash_03.yaml
M pkg/front_end/testcases/incremental/crash_04.yaml
M pkg/front_end/testcases/incremental/flutter_issue_66122.yaml
M pkg/front_end/testcases/incremental/flutter_widget_factory.yaml
M pkg/front_end/testcases/incremental/flutter_widget_transform.yaml
M pkg/front_end/testcases/incremental/flutter_widget_transform_const.yaml
M pkg/front_end/testcases/incremental/flutter_widget_transform_nnbd.yaml
M pkg/front_end/testcases/incremental/flutter_widget_transform_pattern.yaml
M pkg/front_end/testcases/incremental/flutter_widget_transformer_43371.yaml
M pkg/front_end/testcases/incremental/flutter_widget_transformer_non_const.yaml
A pkg/front_end/testcases/incremental/general_location_transformer.yaml
A pkg/front_end/testcases/incremental/general_location_transformer.yaml.world.1.expect
A pkg/front_end/testcases/incremental/general_location_transformer.yaml.world.2.expect
A pkg/front_end/testcases/incremental/general_location_transformer_flutter.yaml
A pkg/front_end/testcases/incremental/general_location_transformer_flutter.yaml.world.1.expect
A pkg/front_end/testcases/incremental/general_location_transformer_flutter.yaml.world.2.expect
A pkg/front_end/testcases/incremental/general_location_transformer_flutter_const.yaml
A pkg/front_end/testcases/incremental/general_location_transformer_flutter_const.yaml.world.1.expect
A pkg/front_end/testcases/incremental/general_location_transformer_flutter_const.yaml.world.2.expect
A pkg/front_end/testcases/incremental/general_location_transformer_flutter_const.yaml.world.3.expect
A pkg/front_end/testcases/incremental/general_location_transformer_jaspr.yaml
A pkg/front_end/testcases/incremental/general_location_transformer_jaspr.yaml.world.1.expect
A pkg/front_end/testcases/incremental/general_location_transformer_outline.yaml
A pkg/front_end/testcases/incremental/general_location_transformer_outline.yaml.world.1.expect
A pkg/front_end/testcases/incremental/general_location_transformer_outline.yaml.world.2.expect
M pkg/front_end/testcases/incremental/no_outline_change_44_flutter.yaml
M pkg/front_end/testcases/incremental/no_outline_change_45_flutter.yaml
M pkg/front_end/testcases/incremental/no_outline_change_45_flutter_prime_1.yaml
M pkg/front_end/testcases/incremental/super_key.yaml
M pkg/frontend_server/lib/compute_kernel.dart
M pkg/frontend_server/lib/frontend_server.dart
M pkg/kernel/lib/target/targets.dart
M pkg/kernel/lib/transformations/track_widget_constructor_locations.dart
A pkg/kernel/test/generalized_tracking_test.dart
M pkg/native_compiler/lib/modular_aot_compiler.dart
M pkg/vm/lib/kernel_front_end.dart
M pkg/vm/lib/modular/target/flutter.dart
M pkg/vm/lib/modular/target/vm.dart
M runtime/docs/pragmas.md
A sdk/lib/developer/creation_tracking.dart
M sdk/lib/developer/developer.dart
M sdk/lib/developer/developer_sources.gni

Log Message:
-----------
Add annotation-based creation location tracking

Closes https://github.com/dart-lang/sdk/pull/63011

GitOrigin-RevId: 926534c2f5d3cd1e9629cf25f6b028ab34c00e64
Change-Id: I88460a060faabeae8f611e88f23b2eb5fc99f21a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/491702
Reviewed-by: Daco Harkes <dacoh...@google.com>
Reviewed-by: Jens Johansen <je...@google.com>
Reviewed-by: Slava Egorov <veg...@google.com>
Commit-Queue: Daco Harkes <dacoh...@google.com>


Commit: 94a3b9f8dcd62046448ce091b53d1fff33e70b44
https://github.com/dart-lang/sdk/commit/94a3b9f8dcd62046448ce091b53d1fff33e70b44
Author: Dart CI <dart-inte...@dart-ci-internal.iam.gserviceaccount.com>
Date: 2026-04-28 (Tue, 28 Apr 2026)

Changed paths:
M pkg/dart2bytecode/lib/dart2bytecode.dart
M pkg/dev_compiler/lib/src/command/command.dart
M pkg/dev_compiler/lib/src/command/options.dart
M pkg/dev_compiler/lib/src/kernel/expression_compiler_worker.dart
M pkg/dev_compiler/lib/src/kernel/target.dart
M pkg/dev_compiler/test/memory_compiler.dart
M pkg/front_end/lib/src/base/incremental_compiler.dart
M pkg/front_end/test/constant_evaluator_benchmark.dart
M pkg/front_end/test/crashing_test_case_minimizer.dart
M pkg/front_end/test/crashing_test_case_minimizer_impl.dart
M pkg/front_end/test/incremental_flutter_tester.dart
M pkg/front_end/test/incremental_suite.dart
M pkg/front_end/test/outline_extractor_tester.dart
M pkg/front_end/test/spell_checking_list_common.txt
M pkg/front_end/testcases/incremental/crash_01.yaml
M pkg/front_end/testcases/incremental/crash_02.yaml
M pkg/front_end/testcases/incremental/crash_03.yaml
M pkg/front_end/testcases/incremental/crash_04.yaml
M pkg/front_end/testcases/incremental/flutter_issue_66122.yaml
M pkg/front_end/testcases/incremental/flutter_widget_factory.yaml
M pkg/front_end/testcases/incremental/flutter_widget_transform.yaml
M pkg/front_end/testcases/incremental/flutter_widget_transform_const.yaml
M pkg/front_end/testcases/incremental/flutter_widget_transform_nnbd.yaml
M pkg/front_end/testcases/incremental/flutter_widget_transform_pattern.yaml
M pkg/front_end/testcases/incremental/flutter_widget_transformer_43371.yaml
M pkg/front_end/testcases/incremental/flutter_widget_transformer_non_const.yaml
A pkg/front_end/testcases/incremental/general_location_transformer.yaml
A pkg/front_end/testcases/incremental/general_location_transformer.yaml.world.1.expect
A pkg/front_end/testcases/incremental/general_location_transformer.yaml.world.2.expect
A pkg/front_end/testcases/incremental/general_location_transformer_flutter.yaml
A pkg/front_end/testcases/incremental/general_location_transformer_flutter.yaml.world.1.expect
A pkg/front_end/testcases/incremental/general_location_transformer_flutter.yaml.world.2.expect
A pkg/front_end/testcases/incremental/general_location_transformer_flutter_const.yaml
A pkg/front_end/testcases/incremental/general_location_transformer_flutter_const.yaml.world.1.expect
A pkg/front_end/testcases/incremental/general_location_transformer_flutter_const.yaml.world.2.expect
A pkg/front_end/testcases/incremental/general_location_transformer_flutter_const.yaml.world.3.expect
A pkg/front_end/testcases/incremental/general_location_transformer_jaspr.yaml
A pkg/front_end/testcases/incremental/general_location_transformer_jaspr.yaml.world.1.expect
A pkg/front_end/testcases/incremental/general_location_transformer_outline.yaml
A pkg/front_end/testcases/incremental/general_location_transformer_outline.yaml.world.1.expect
A pkg/front_end/testcases/incremental/general_location_transformer_outline.yaml.world.2.expect
M pkg/front_end/testcases/incremental/no_outline_change_44_flutter.yaml
M pkg/front_end/testcases/incremental/no_outline_change_45_flutter.yaml
M pkg/front_end/testcases/incremental/no_outline_change_45_flutter_prime_1.yaml
M pkg/front_end/testcases/incremental/super_key.yaml
M pkg/frontend_server/lib/compute_kernel.dart
M pkg/frontend_server/lib/frontend_server.dart
M pkg/kernel/lib/target/targets.dart
M pkg/kernel/lib/transformations/track_widget_constructor_locations.dart
A pkg/kernel/test/generalized_tracking_test.dart
M pkg/native_compiler/lib/modular_aot_compiler.dart
M pkg/vm/lib/kernel_front_end.dart
M pkg/vm/lib/modular/target/flutter.dart
M pkg/vm/lib/modular/target/vm.dart
M runtime/docs/pragmas.md
M sdk/lib/_http/websocket_impl.dart
M sdk/lib/_internal/wasm_standalone/lib/embedder.dart
M sdk/lib/_internal/wasm_standalone/lib/timer_patch.dart
A sdk/lib/developer/creation_tracking.dart
M sdk/lib/developer/developer.dart
M sdk/lib/developer/developer_sources.gni
M tests/web/wasm/table_test.dart
M tools/VERSION

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

Merge 9e8fdef17c0a8a346e233188ba8170e9dc95bcc4 into dev


Compare: https://github.com/dart-lang/sdk/compare/efebfb723119...94a3b9f8dcd6

copybara-service[bot]

unread,
Apr 28, 2026, 9:06:20 AM (yesterday) Apr 28
to com...@dartlang.org
Branch: refs/heads/lkgr-dev
Reply all
Reply to author
Forward
0 new messages