dart-sdk/pkg/dart2wasm/lib
Aske Simon Christensen bc31fe4903 [dart2wasm] Enable values to be returned from void functions.
Since Dart `void` can actually carry values, functions with `void`
return type are translated into Wasm functions returning the Dart
object top type instead of an empty output type list.

Only constructors, setters and imports/exports with void return type
are now given empty output type lists in their Wasm signatures. A new
low-level `WasmVoid` type is added to the internal Wasm types for
specifying explicitly that a Wasm function should have an empty list
of outputs.

Fixes https://github.com/dart-lang/sdk/issues/50458

CoreLibraryReviewExempt: Only changes Wasm-specific libraries.
Change-Id: I9562248f94e75a60142fd1af0136183aa288b98b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279971
Reviewed-by: Ömer Ağacan <omersa@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2023-02-02 12:08:30 +00:00
..
abi.dart [ffi] Convert ABI-specific integers to fixed-width integers when doing wasm FfiNative transformation. 2022-11-08 22:16:28 +00:00
class_info.dart [dart2wasm] Make ClassInfo and ClassInfoCollector members private 2023-01-20 17:01:41 +00:00
closures.dart [dart2wasm] Enable values to be returned from void functions. 2023-02-02 12:08:30 +00:00
code_generator.dart [dart2wasm] Enable values to be returned from void functions. 2023-02-02 12:08:30 +00:00
compile.dart [dart2wasm] Support tree shaking the JS runtime. 2023-01-24 21:43:10 +00:00
compiler_options.dart [dart2wasm] Generate js runtime at compile time. 2023-01-10 13:16:29 +00:00
constants.dart [dart2wasm] Use #ClosureBase as representation type for Function. 2023-01-17 11:58:16 +00:00
dispatch_table.dart [dart2wasm] Enable values to be returned from void functions. 2023-02-02 12:08:30 +00:00
dynamic_forwarders.dart [dart2wasm] Enable values to be returned from void functions. 2023-02-02 12:08:30 +00:00
ffi_native_transformer.dart [dart2wasm] Use the asset in @Native annotations to specify the module name. 2023-01-28 00:03:07 +00:00
functions.dart [dart2wasm] Enable values to be returned from void functions. 2023-02-02 12:08:30 +00:00
globals.dart [dart2wasm] Switch to the new WasmGC test/cast instructions 2023-01-12 14:08:56 +00:00
intrinsics.dart [dart2wasm] Inlined and optimized some int and double operations. 2023-01-18 13:37:22 +00:00
js_runtime_blob.dart [dart2wasm] Generate the bulk of the JS runtime at compile time. 2023-01-25 20:19:08 +00:00
js_runtime_generator.dart Spelling 2023-01-30 18:29:59 +00:00
kernel_nodes.dart [dart2wasm] Enable values to be returned from void functions. 2023-02-02 12:08:30 +00:00
option.dart [dart2wasm] Support --multi-root and --multi-root-scheme flags. 2022-12-08 00:59:23 +00:00
param_info.dart [dart2wasm] Support different default values within the same selector 2022-09-14 13:43:52 +00:00
reference_extensions.dart [dart2wasm] Implement missing features in dynamic invocations 2022-12-08 10:45:12 +00:00
target.dart [dart2wasm] Specialized Map and Set for default equals and hashCode 2023-01-26 15:35:18 +00:00
transformers.dart Spelling tests 2023-01-19 16:24:29 +00:00
translator.dart [dart2wasm] Enable values to be returned from void functions. 2023-02-02 12:08:30 +00:00
types.dart [dart2wasm] Use #ClosureBase as representation type for Function. 2023-01-17 11:58:16 +00:00