bug1886683.js (755B)
1 // |jit-test| skip-if: !wasmIsSupported() 2 let binary = wasmTextToBinary(` 3 (module 4 (import "" "visit" (func $visit (param externref) (result i32))) 5 (func $wasmfunc 6 (export "wasmfunc") 7 (param $p1 externref) 8 (param $p2 i32) 9 (param $p3 externref) 10 (param $p4 externref) 11 (param $p5 externref) 12 (param $p6 externref) 13 (param $p7 externref) 14 (param $p8 externref) 15 (drop (call $visit (local.get $p1))) 16 ) 17 )`); 18 let mod = new WebAssembly.Module(binary); 19 let depth = 0; 20 function f() { 21 if (depth++ < 25) { 22 instance.exports.wasmfunc(); 23 } 24 }; 25 let imports = {visit: f}; 26 let instance = new WebAssembly.Instance(mod, {"": imports}); 27 gczeal(2); 28 f(); 29 assertEq(depth, 26);