stack.js (1135B)
1 // Test instructions with no return value interposed between pushes and pops. 2 wasmFullPass(` (module 3 (memory 1) 4 5 (func (result i32) 6 (local $local f64) 7 i32.const 0 8 i32.const 16 9 i32.store 10 i32.const 0 11 i32.load 12 i32.const 0 13 if 14 i32.const 0 15 call $returnVoid 16 i32.const 21 17 i32.store 18 i32.const 22 19 drop 20 else 21 i32.const 0 22 i32.const 17 23 i32.store 24 end 25 block (result i32) 26 block (result i32) 27 i32.const 2 28 if (result i32) 29 i32.const 500 30 else 31 i32.const 501 32 end 33 end 34 end 35 drop 36 i32.const 0 37 i32.load 38 f64.const 5.0 39 local.set $local 40 f64.const 5.0 41 local.tee $local 42 drop 43 block 44 i32.const 0 45 i32.const 18 46 i32.store 47 nop 48 i32.const 0 49 i32.const 19 50 call $returnVoid 51 i32.store 52 loop 53 i32.const 1 54 if 55 i32.const 0 56 i32.const 20 57 i32.store 58 end 59 end 60 end 61 i32.add 62 ) 63 64 (func $returnVoid) 65 66 (export "run" (func 0)) 67 )`, 33);