af2bea8162
Make the `value` fields of `BoxedInt`, `BoxedDouble` and `BoxedBool` `final`, to generate immutable Wasm fields for them. Immutable fields can potentially generate better code, as loads from the same object will always generate the same value. To allow making the `value` fields `final`, add a constructor. To allow adding a constructor, "implement` base classes instead of extending them. With `extends` the front-end wants us to call the superclass constructors, even though they don't have any constructors. Implementing `bool` (instead of extending) causes issues in TFA as it currently assumes bool literals are compiled as the `bool` class. Update TFA to treat bool literals the same way as `int` and `double` literals. Tested: existing tests Change-Id: I3282e188d784fa7a22421edc79ed47f9d85faf19 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/393320 Commit-Queue: Ömer Ağacan <omersa@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com>
Target configurations.
A target can tailor the kernel IR for a specific backend.