lazy-stubs-jitentry.js (1535B)
1 function test() { 2 var table = wasmEvalText(`(module 3 (func $add0 (param i32) (result i32) (i32.add (local.get 0) (i32.const 0))) 4 (func $add1 (param i32) (result i32) (i32.add (local.get 0) (i32.const 1))) 5 (func $add2 (param i32) (result i32) (i32.add (local.get 0) (i32.const 2))) 6 (func $add3 (param i32) (result i32) (i32.add (local.get 0) (i32.const 3))) 7 (func $add4 (param i32) (result i32) (i32.add (local.get 0) (i32.const 4))) 8 (func $add5 (param i32) (result i32) (i32.add (local.get 0) (i32.const 5))) 9 (func $add6 (param i32) (result i32) (i32.add (local.get 0) (i32.const 6))) 10 (func $add7 (param i32) (result i32) (i32.add (local.get 0) (i32.const 7))) 11 (func $add8 (param i32) (result i32) (i32.add (local.get 0) (i32.const 8))) 12 (func $add9 (param i32) (result i32) (i32.add (local.get 0) (i32.const 9))) 13 (table (export "table") 10 funcref) 14 (elem (i32.const 0) $add0) 15 (elem (i32.const 1) $add1) 16 (elem (i32.const 2) $add2) 17 (elem (i32.const 3) $add3) 18 (elem (i32.const 4) $add4) 19 (elem (i32.const 5) $add5) 20 (elem (i32.const 6) $add6) 21 (elem (i32.const 7) $add7) 22 (elem (i32.const 8) $add8) 23 (elem (i32.const 9) $add9) 24 )`).exports.table; 25 var exps = []; 26 for (var i = 0; i < 10; i++) { 27 exps.push(table.get(i)); 28 } 29 var res = 0; 30 for (var i = 0; i < 80; i++) { 31 var exp = exps[i % exps.length]; 32 res = exp(res); 33 } 34 assertEq(res, 360); 35 } 36 test();