-
Notifications
You must be signed in to change notification settings - Fork 65
Open
Description
I have a WASM module that uses reference types, but the initialization function (some pure precomputation) doesn't use them. Currently, wizer categorically fails with
Error: reference types support is not enabled (at offset 0x31ef)
However, when I apply this patch
diff --git a/src/lib.rs b/src/lib.rs
index f2ceb94..7f5adc9 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -623,7 +623,7 @@ impl Wizer {
config.wasm_simd(self.wasm_simd.unwrap_or(DEFAULT_WASM_SIMD));
// Proposals that we should add support for.
- config.wasm_reference_types(false);
+ config.wasm_reference_types(true);
config.wasm_threads(false);
Ok(config)
@@ -642,7 +642,7 @@ impl Wizer {
multi_value: self.wasm_multi_value.unwrap_or(DEFAULT_WASM_MULTI_VALUE),
// Proposals that we should add support for.
- reference_types: false,
+ reference_types: true,
simd: self.wasm_simd.unwrap_or(DEFAULT_WASM_SIMD),
threads: false,
tail_call: false,
everything works fine, both initialization and later usage of the WASM module (including reference types).
Would it make sense to allow reference types a priori, and instead error when instructions related to reference types are encountered during initialization? I could take a stab at a PR if this makes sense.
Metadata
Metadata
Assignees
Labels
No labels