[dart2wasm] Emit nominal types and don't use RTTs by default.
This enables us to upgrade our testing to use a newer version of d8.
Change-Id: I79a8879a325b9996b9923304439a3ee8fa5fa02a
Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-linux-debug-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/238345
Reviewed-by: Joshua Litt <joshualitt@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
diff --git a/pkg/dart2wasm/dart2wasm.md b/pkg/dart2wasm/dart2wasm.md
index 8dc3203..bfc2d47 100644
--- a/pkg/dart2wasm/dart2wasm.md
+++ b/pkg/dart2wasm/dart2wasm.md
@@ -16,12 +16,12 @@
| `--`[`no-`]`lazy-constants` | no | Instantiate constants lazily.
| `--`[`no-`]`local-nullability` | no | Use non-nullable types for non-nullable locals and temporaries.
| `--`[`no-`]`name-section` | yes | Emit Name Section with function names.
-| `--`[`no-`]`nominal-types` | no | Emit experimental nominal types.
+| `--`[`no-`]`nominal-types` | yes | Emit nominal types.
| `--`[`no-`]`parameter-nullability` | yes | Use non-nullable types for non-nullable parameters and return values.
| `--`[`no-`]`polymorphic-specialization` | no | Do virtual calls by switching on the class ID instead of using `call_indirect`.
| `--`[`no-`]`print-kernel` | no | Print IR for each function before compiling it.
| `--`[`no-`]`print-wasm` | no | Print Wasm instructions of each compiled function.
-| `--`[`no-`]`runtime-types` | yes | Use RTTs for allocations and casts.
+| `--`[`no-`]`runtime-types` | no | Use RTTs for allocations and casts.
| `--`[`no-`]`string-data-segments` | no | Use experimental array init from data segment for string constants.
| `--watch` *offset* | | Print stack trace leading to the byte at offset *offset* in the `.wasm` output file. Can be specified multiple times.
diff --git a/pkg/dart2wasm/lib/translator.dart b/pkg/dart2wasm/lib/translator.dart
index 8fdc1b8..3bf91b4 100644
--- a/pkg/dart2wasm/lib/translator.dart
+++ b/pkg/dart2wasm/lib/translator.dart
@@ -32,12 +32,12 @@
bool lazyConstants = false;
bool localNullability = false;
bool nameSection = true;
- bool nominalTypes = false;
+ bool nominalTypes = true;
bool parameterNullability = true;
bool polymorphicSpecialization = false;
bool printKernel = false;
bool printWasm = false;
- bool runtimeTypes = true;
+ bool runtimeTypes = false;
bool stringDataSegments = false;
List<int>? watchPoints = null;