jit-updatepcquad.js (793B)
1 var evalInFrame = (function (global) { 2 var dbgGlobal = newGlobal({newCompartment: true}); 3 var dbg = new dbgGlobal.Debugger(); 4 return function evalInFrame(code) { 5 dbg.addDebuggee(global); 6 var frame = dbg.getNewestFrame().older; 7 frame = frame.older || frame; 8 let completion = frame.eval(code); 9 return completion.return; 10 }; 11 })(this); 12 13 const { exports } = wasmEvalText(` 14 (module 15 (import "global" "func" (func (param i32) (result i32))) 16 (func (export "func_0") (param i32)(result i32) 17 local.get 0 18 call 0 19 ) 20 ) 21 `, { 22 global: { 23 func: function jscode(i) { 24 return evalInFrame(`a = ${i}`); 25 } 26 } 27 }); 28 29 for (i = 0; i < 20; ++i) { 30 assertEq(exports.func_0(i), i); 31 }