Files
sdk/pkg/vm
Nate Biggs 4d045c9f82 [dart2wasm] Simplify await transformer logical expression hoisting.
Restructure condition to nest 'right' branch within conditional scope
guarded by 'left' branch.

The left branch is used directly as the condition (rather than
indirectly though a tmp variable) so that promotions are preserved.

```
e1 && e2
```
```
->
bool tmp = false;
if (e1) {
  tmp = e2;
}
```

With `||` the `tmp = e2` simply goes in the 'else' branch rather than
the 'then'.

The `== true` was also unnecessary as e1 and e2 are required to be
statically typed as bools.

Change-Id: I051f36380c35332752ec2d49a490eff135c0067b
Tested: Updated transformer expectation.
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/457240
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2025-10-24 09:31:25 -07:00
..

This package hosts VM specific Dart code and helper scripts.