Source code

Revision control

Copy as Markdown

Other Tools

var evalInFrame = (function (global) {
var dbgGlobal = newGlobal({newCompartment: true});
var dbg = new dbgGlobal.Debugger();
return function evalInFrame(code) {
dbg.addDebuggee(global);
var frame = dbg.getNewestFrame().older;
frame = frame.older || frame;
let completion = frame.eval(code);
return completion.return;
};
})(this);
const { exports } = wasmEvalText(`
(module
(import "global" "func" (func (param i32) (result i32)))
(func (export "func_0") (param i32)(result i32)
local.get 0
call 0
)
)
`, {
global: {
func: function jscode(i) {
return evalInFrame(`a = ${i}`);
}
}
});
for (i = 0; i < 20; ++i) {
assertEq(exports.func_0(i), i);
}