|
1 function func1() { return "123" } |
|
2 function func2(a,b,c,d,e) { return "123" } |
|
3 var imp = { func1:func1, func2:func2 }; |
|
4 |
|
5 function FFI1(stdlib, foreign) { |
|
6 "use asm"; |
|
7 |
|
8 var func1 = foreign.func1; |
|
9 var func2 = foreign.func2; |
|
10 |
|
11 function g() { |
|
12 return func1()|0 |
|
13 } |
|
14 |
|
15 function h() { |
|
16 return func2()|0 |
|
17 } |
|
18 |
|
19 return {g:g, h:h}; |
|
20 } |
|
21 |
|
22 var f = FFI1(this, imp); // produces AOT-compiled version |
|
23 |
|
24 assertEq(f.g(), 123); |
|
25 assertEq(f.g(), 123); |
|
26 |
|
27 assertEq(f.h(), 123); |
|
28 assertEq(f.h(), 123); |