Source code

Revision control

Copy as Markdown

Other Tools

function func1() { return "123" }
function func2(a,b,c,d,e) { return "123" }
var imp = { func1:func1, func2:func2 };
function FFI1(stdlib, foreign) {
"use asm";
var func1 = foreign.func1;
var func2 = foreign.func2;
function g() {
return func1()|0
}
function h() {
return func2()|0
}
return {g:g, h:h};
}
var f = FFI1(this, imp); // produces AOT-compiled version
assertEq(f.g(), 123);
assertEq(f.g(), 123);
assertEq(f.h(), 123);
assertEq(f.h(), 123);