global-get.js (739B)
1 // global.get cannot refer to self or after globals after self 2 3 assertErrorMessage(() => wasmEvalText(`(module 4 (global i32 global.get 0) 5 )`), WebAssembly.CompileError, /global/); 6 7 assertErrorMessage(() => wasmEvalText(`(module 8 (global i32 global.get 1) 9 (global i32 i32.const 0) 10 )`), WebAssembly.CompileError, /global/); 11 12 // global.get works on previous globals 13 14 { 15 let {func, b, c, e} = wasmEvalText(`(module 16 (func $func (export "func")) 17 18 (global $a i32 i32.const 1) 19 (global $b (export "b") i32 global.get $a) 20 (global $c (export "c") i32 global.get $b) 21 22 (global $d funcref ref.func $func) 23 (global $e (export "e") funcref global.get $d) 24 )`).exports; 25 assertEq(b.value, 1); 26 assertEq(c.value, 1); 27 assertEq(e.value, func); 28 }