Skip to content

Commit 8604ed4

Browse files
authored
Merge pull request #25 from Kuinox/master
Add workaround for firefox bug.
2 parents 32757eb + 5bb2e20 commit 8604ed4

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

tcg/wasm32.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,15 @@ EM_JS(int, instantiate_wasm, (), {
5555
const import_vec_size = memory_v.getInt32(wasm_begin + wasm_size, true);
5656
const import_vec_begin = wasm_begin + wasm_size + 4;
5757

58-
const wasm = HEAP8.subarray(wasm_begin, wasm_begin + wasm_size);
58+
// Create a full copy of the bytes instead of a subarray view to fix Firefox compatibility
59+
// See: https://bugzilla.mozilla.org/show_bug.cgi?id=1965217
60+
const wasmBytes = new Uint8Array(HEAP8.slice(wasm_begin, wasm_begin + wasm_size));
61+
5962
var helper = {};
6063
for (var i = 0; i < import_vec_size / 4; i++) {
6164
helper[i] = wasmTable.get(memory_v.getInt32(import_vec_begin + i * 4, true));
6265
}
63-
const mod = new WebAssembly.Module(wasm);
66+
const mod = new WebAssembly.Module(wasmBytes);
6467
const inst = new WebAssembly.Instance(mod, {
6568
"env": {
6669
"buffer": wasmMemory,

0 commit comments

Comments
 (0)