diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ir/type-updating.cpp | 4 | ||||
-rw-r--r-- | src/wasm/wasm-type.cpp | 10 |
2 files changed, 5 insertions, 9 deletions
diff --git a/src/ir/type-updating.cpp b/src/ir/type-updating.cpp index dedbb6316..8b74ebfcd 100644 --- a/src/ir/type-updating.cpp +++ b/src/ir/type-updating.cpp @@ -175,6 +175,10 @@ GlobalTypeRewriter::TypeMap GlobalTypeRewriter::rebuildTypes( #endif auto& newTypes = *buildResults; + // TODO: It is possible that the newly built rec group matches some public rec + // group. If that is the case, we need to try a different permutation of the + // types or add a brand type to distinguish the private types. + // Map the old types to the new ones. TypeMap oldToNewTypes; for (auto [type, index] : typeIndices) { diff --git a/src/wasm/wasm-type.cpp b/src/wasm/wasm-type.cpp index 1730f1b85..151d45a1d 100644 --- a/src/wasm/wasm-type.cpp +++ b/src/wasm/wasm-type.cpp @@ -2887,17 +2887,9 @@ void TypeBuilder::dump() { std::unordered_set<HeapType> getIgnorablePublicTypes() { auto array8 = Array(Field(Field::i8, Mutable)); auto array16 = Array(Field(Field::i16, Mutable)); - TypeBuilder builder(4); - // We handle final and non-final here, but should remove one of them - // eventually TODO + TypeBuilder builder(2); builder[0] = array8; - builder[0].setOpen(false); builder[1] = array16; - builder[1].setOpen(false); - builder[2] = array8; - builder[2].setOpen(true); - builder[3] = array16; - builder[3].setOpen(true); auto result = builder.build(); assert(result); std::unordered_set<HeapType> ret; |