b8b0cad67a
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 <kustermann@google.com> Reviewed-by: Srujan Gaddam <srujzs@google.com>
This directory contains tests of the language and core library implementations. For more information, see https://github.com/dart-lang/sdk/tree/main/docs/Testing.md.