drop.js (1101B)
1 for (let type of ['i32', 'f32', 'f64']) { 2 assertEq(wasmEvalText(` 3 (module 4 (func $test (param $p ${type}) (param $p2 ${type}) (result ${type}) 5 local.get $p 6 local.get $p2 7 (block) 8 drop 9 ) 10 (export "test" (func $test)) 11 ) 12 `).exports.test(0x1337abc0, 0xffffffff), 0x1337abc0); 13 } 14 15 assertEq(wasmEvalText(` 16 (module 17 (func $test (param $p i32) (param $p2 f32) (param $p3 f64) (param $p4 i32) (result i32) 18 local.get $p 19 local.get $p2 20 local.get $p3 21 local.get $p4 22 (block) 23 drop 24 (block) 25 (block) 26 drop 27 drop 28 ) 29 (export "test" (func $test)) 30 ) 31 `).exports.test(0x1337abc0, 0xffffffff), 0x1337abc0); 32 33 wasmAssert(` 34 (module 35 (func $test (param $p i64) (param $p2 i64) (result i64) 36 local.get $p 37 local.get $p2 38 (block) 39 drop 40 ) 41 (export "test" (func $test)) 42 ) 43 `, [ 44 { type: 'i64', func: '$test', args: ['(i64.const 0x1337abc0)', '(i64.const -1)'], expected: '0x1337abc0' } 45 ]);