| Index: test/mjsunit/wasm/asm-wasm.js
|
| diff --git a/test/mjsunit/wasm/asm-wasm.js b/test/mjsunit/wasm/asm-wasm.js
|
| index 5e62fefdaa672cfc4b93bbe78e15bfe9236afe1f..5f80d6a4246cf224c3268980712664c035e6df21 100644
|
| --- a/test/mjsunit/wasm/asm-wasm.js
|
| +++ b/test/mjsunit/wasm/asm-wasm.js
|
| @@ -4,10 +4,12 @@
|
|
|
| // Flags: --expose-wasm
|
|
|
| +var stdlib = this;
|
| +
|
| function assertWasm(expected, func, ffi) {
|
| print("Testing " + func.name + "...");
|
| assertEquals(expected, Wasm.instantiateModuleFromAsm(
|
| - func.toString(), ffi).caller());
|
| + func.toString(), stdlib, ffi).caller());
|
| }
|
|
|
| function EmptyTest() {
|
| @@ -105,7 +107,7 @@ function BadModule() {
|
| }
|
|
|
| assertThrows(function() {
|
| - Wasm.instantiateModuleFromAsm(BadModule.toString()).caller();
|
| + Wasm.instantiateModuleFromAsm(BadModule.toString(), stdlib).caller();
|
| });
|
|
|
|
|
| @@ -499,7 +501,7 @@ function TestInt32HeapAccessExternal() {
|
| var memory = new ArrayBuffer(1024);
|
| var memory_int32 = new Int32Array(memory);
|
| var module = Wasm.instantiateModuleFromAsm(
|
| - TestInt32HeapAccess.toString(), null, memory);
|
| + TestInt32HeapAccess.toString(), stdlib, null, memory);
|
| assertEquals(7, module.caller());
|
| assertEquals(7, memory_int32[2]);
|
| }
|
| @@ -522,10 +524,10 @@ function TestHeapAccessIntTypes() {
|
| code = code.replace(/>> 2/g, types[i][2]);
|
| var memory = new ArrayBuffer(1024);
|
| var memory_view = new types[i][0](memory);
|
| - var module = Wasm.instantiateModuleFromAsm(code, null, memory);
|
| + var module = Wasm.instantiateModuleFromAsm(code, stdlib, null, memory);
|
| assertEquals(7, module.caller());
|
| assertEquals(7, memory_view[2]);
|
| - assertEquals(7, Wasm.instantiateModuleFromAsm(code).caller());
|
| + assertEquals(7, Wasm.instantiateModuleFromAsm(code, stdlib).caller());
|
| }
|
| }
|
|
|
| @@ -554,14 +556,14 @@ function TestFloatHeapAccess(stdlib, foreign, buffer) {
|
| }
|
|
|
| assertEquals(1, Wasm.instantiateModuleFromAsm(
|
| - TestFloatHeapAccess.toString()).caller());
|
| + TestFloatHeapAccess.toString(), stdlib).caller());
|
|
|
|
|
| function TestFloatHeapAccessExternal() {
|
| var memory = new ArrayBuffer(1024);
|
| var memory_float64 = new Float64Array(memory);
|
| var module = Wasm.instantiateModuleFromAsm(
|
| - TestFloatHeapAccess.toString(), null, memory);
|
| + TestFloatHeapAccess.toString(), stdlib, null, memory);
|
| assertEquals(1, module.caller());
|
| assertEquals(9.0, memory_float64[1]);
|
| }
|
| @@ -708,7 +710,8 @@ function TestNamedFunctions() {
|
| add:add};
|
| }
|
|
|
| -var module = Wasm.instantiateModuleFromAsm(TestNamedFunctions.toString());
|
| +var module = Wasm.instantiateModuleFromAsm(
|
| + TestNamedFunctions.toString(), stdlib);
|
| module.init();
|
| assertEquals(77.5, module.add());
|
| })();
|
| @@ -728,7 +731,8 @@ function TestGlobalsWithInit() {
|
| return {add:add};
|
| }
|
|
|
| -var module = Wasm.instantiateModuleFromAsm(TestGlobalsWithInit.toString());
|
| +var module = Wasm.instantiateModuleFromAsm(
|
| + TestGlobalsWithInit.toString(), stdlib);
|
| assertEquals(77.5, module.add());
|
| })();
|
|
|
| @@ -865,7 +869,7 @@ function TestInitFunctionWithNoGlobals() {
|
| }
|
|
|
| var module = Wasm.instantiateModuleFromAsm(
|
| - TestInitFunctionWithNoGlobals.toString());
|
| + TestInitFunctionWithNoGlobals.toString(), stdlib);
|
| assertEquals(51, module.caller());
|
| })();
|
|
|
| @@ -879,7 +883,7 @@ function TestExportNameDifferentFromFunctionName() {
|
| }
|
|
|
| var module = Wasm.instantiateModuleFromAsm(
|
| - TestExportNameDifferentFromFunctionName.toString());
|
| + TestExportNameDifferentFromFunctionName.toString(), stdlib);
|
| assertEquals(55, module.alt_caller());
|
| })();
|
|
|
| @@ -975,7 +979,8 @@ function TestFunctionTable() {
|
| return {caller:caller};
|
| }
|
|
|
| -var module = Wasm.instantiateModuleFromAsm(TestFunctionTable.toString());
|
| +var module = Wasm.instantiateModuleFromAsm(
|
| + TestFunctionTable.toString(), stdlib);
|
| assertEquals(55, module.caller(0, 0, 33, 22));
|
| assertEquals(11, module.caller(0, 1, 33, 22));
|
| assertEquals(9, module.caller(0, 2, 54, 45));
|
| @@ -1021,8 +1026,8 @@ function TestForeignFunctions() {
|
|
|
| var foreign = new ffi(23);
|
|
|
| - var module = Wasm.instantiateModuleFromAsm(AsmModule.toString(),
|
| - foreign, null);
|
| + var module = Wasm.instantiateModuleFromAsm(
|
| + AsmModule.toString(), stdlib, foreign, null);
|
|
|
| assertEquals(103, module.caller(23, 103));
|
| }
|
| @@ -1060,8 +1065,8 @@ function TestForeignFunctionMultipleUse() {
|
|
|
| var foreign = new ffi();
|
|
|
| - var module = Wasm.instantiateModuleFromAsm(AsmModule.toString(),
|
| - foreign, null);
|
| + var module = Wasm.instantiateModuleFromAsm(
|
| + AsmModule.toString(), stdlib, foreign, null);
|
|
|
| assertEquals(89, module.caller(83, 83.25));
|
| }
|
| @@ -1100,7 +1105,7 @@ function TestForeignVariables() {
|
| function TestCase(env, i1, f1, i2, f2) {
|
| print("Testing foreign variables...");
|
| var module = Wasm.instantiateModuleFromAsm(
|
| - AsmModule.toString(), env);
|
| + AsmModule.toString(), stdlib, env);
|
| assertEquals(i1, module.geti1());
|
| assertEquals(f1, module.getf1());
|
| assertEquals(i2, module.geti2());
|
| @@ -1192,7 +1197,7 @@ TestForeignVariables();
|
| }
|
|
|
| var m = Wasm.instantiateModuleFromAsm(
|
| - TestByteHeapAccessCompat.toString());
|
| + TestByteHeapAccessCompat.toString(), stdlib);
|
| m.store(0, 20);
|
| m.store(4, 21);
|
| m.store(8, 22);
|
| @@ -1241,7 +1246,8 @@ assertWasm(15, TestGlobalBlock, { x: 4, y: 11 });
|
| return {ifunc: ifunc, dfunc: dfunc};
|
| }
|
|
|
| - var m = Wasm.instantiateModuleFromAsm(CommaModule.toString());
|
| + var m = Wasm.instantiateModuleFromAsm(
|
| + CommaModule.toString(), stdlib);
|
| assertEquals(123, m.ifunc(456.7, 123));
|
| assertEquals(123.4, m.dfunc(456, 123.4));
|
| })();
|
| @@ -1311,7 +1317,8 @@ assertWasm(1, TestXor);
|
| return {func: func};
|
| }
|
|
|
| - var m = Wasm.instantiateModuleFromAsm(Module.toString());
|
| + var m = Wasm.instantiateModuleFromAsm(
|
| + Module.toString(), stdlib);
|
| assertEquals(3, m.func());
|
| })();
|
|
|
| @@ -1330,7 +1337,8 @@ assertWasm(1, TestXor);
|
| return {func: func};
|
| }
|
|
|
| - var m = Wasm.instantiateModuleFromAsm(Module.toString());
|
| + var m = Wasm.instantiateModuleFromAsm(
|
| + Module.toString(), stdlib);
|
| assertEquals(3, m.func());
|
| })();
|
|
|
| @@ -1348,7 +1356,8 @@ assertWasm(1, TestXor);
|
| return {func: func};
|
| }
|
|
|
| - var m = Wasm.instantiateModuleFromAsm(Module.toString());
|
| + var m = Wasm.instantiateModuleFromAsm(
|
| + Module.toString(), stdlib);
|
| assertEquals(1.23, m.func());
|
| });
|
|
|
| @@ -1363,7 +1372,8 @@ assertWasm(1, TestXor);
|
| return {func: func};
|
| }
|
|
|
| - var m = Wasm.instantiateModuleFromAsm(Module.toString());
|
| + var m = Wasm.instantiateModuleFromAsm(
|
| + Module.toString(), stdlib);
|
| assertEquals(7, m.func());
|
| })();
|
|
|
| @@ -1379,7 +1389,7 @@ assertWasm(1, TestXor);
|
| return {func: func};
|
| }
|
| assertThrows(function() {
|
| - Wasm.instantiateModuleFromAsm(Module.toString());
|
| + Wasm.instantiateModuleFromAsm(Module.toString(), stdlib);
|
| });
|
| })();
|
|
|
| @@ -1395,7 +1405,7 @@ assertWasm(1, TestXor);
|
| return {func: func};
|
| }
|
| assertThrows(function() {
|
| - Wasm.instantiateModuleFromAsm(Module.toString());
|
| + Wasm.instantiateModuleFromAsm(Module.toString(), stdlib);
|
| });
|
| })();
|
|
|
| @@ -1410,7 +1420,7 @@ assertWasm(1, TestXor);
|
| return {func: func};
|
| }
|
| assertThrows(function() {
|
| - Wasm.instantiateModuleFromAsm(Module.toString());
|
| + Wasm.instantiateModuleFromAsm(Module.toString(), stdlib);
|
| });
|
| })();
|
|
|
| @@ -1425,7 +1435,7 @@ assertWasm(1, TestXor);
|
| return {func: func};
|
| }
|
| assertThrows(function() {
|
| - Wasm.instantiateModuleFromAsm(Module.toString());
|
| + Wasm.instantiateModuleFromAsm(Module.toString(), stdlib);
|
| });
|
| })();
|
|
|
| @@ -1443,7 +1453,7 @@ assertWasm(1, TestXor);
|
| return {func: func};
|
| }
|
|
|
| - var m = Wasm.instantiateModuleFromAsm(Module.toString());
|
| + var m = Wasm.instantiateModuleFromAsm(Module.toString(), stdlib);
|
| assertEquals(3, m.func());
|
| })();
|
|
|
| @@ -1459,7 +1469,7 @@ assertWasm(1, TestXor);
|
| return {func: func};
|
| }
|
|
|
| - var m = Wasm.instantiateModuleFromAsm(Module.toString());
|
| + var m = Wasm.instantiateModuleFromAsm(Module.toString(), stdlib);
|
| assertEquals(-34359738370.75, m.func());
|
| })();
|
|
|
| @@ -1476,7 +1486,7 @@ assertWasm(1, TestXor);
|
| }
|
|
|
| assertThrows(function() {
|
| - Wasm.instantiateModuleFromAsm(Module.toString());
|
| + Wasm.instantiateModuleFromAsm(Module.toString(), stdlib);
|
| });
|
| })();
|
|
|
| @@ -1493,7 +1503,7 @@ assertWasm(1, TestXor);
|
| return {func: func};
|
| }
|
|
|
| - var m = Wasm.instantiateModuleFromAsm(Module.toString());
|
| + var m = Wasm.instantiateModuleFromAsm(Module.toString(), stdlib);
|
| assertEquals(0, m.func());
|
| })();
|
|
|
| @@ -1508,7 +1518,7 @@ assertWasm(1, TestXor);
|
| }
|
| return { main : aaa };
|
| }
|
| - var wasm = Wasm.instantiateModuleFromAsm(asmModule.toString());
|
| + var wasm = Wasm.instantiateModuleFromAsm(asmModule.toString(), stdlib);
|
| assertEquals(1321347704, wasm.main());
|
| })();
|
|
|
| @@ -1533,7 +1543,7 @@ assertWasm(1, TestXor);
|
| u0x87654321: u0x87654321,
|
| };
|
| }
|
| - var wasm = Wasm.instantiateModuleFromAsm(asmModule.toString());
|
| + var wasm = Wasm.instantiateModuleFromAsm(asmModule.toString(), stdlib);
|
| assertEquals(0xffffffff, wasm.u0xffffffff());
|
| assertEquals(0x80000000, wasm.u0x80000000());
|
| assertEquals(0x87654321, wasm.u0x87654321());
|
| @@ -1541,13 +1551,13 @@ assertWasm(1, TestXor);
|
|
|
| (function TestBadNoDeclaration() {
|
| assertThrows(function() {
|
| - Wasm.instantiateModuleFromAsm('33;');
|
| + Wasm.instantiateModuleFromAsm('33;', stdlib);
|
| });
|
| })();
|
|
|
| (function TestBadVarDeclaration() {
|
| assertThrows(function() {
|
| - Wasm.instantiateModuleFromAsm('var x = 3;');
|
| + Wasm.instantiateModuleFromAsm('var x = 3;', stdlib);
|
| });
|
| })();
|
|
|
| @@ -1562,7 +1572,7 @@ assertWasm(1, TestXor);
|
| }
|
| return {main:main};
|
| }
|
| - var wasm = Wasm.instantiateModuleFromAsm(asmModule.toString());
|
| + var wasm = Wasm.instantiateModuleFromAsm(asmModule.toString(), stdlib);
|
| assertEquals(231, wasm.main());
|
| })();
|
|
|
| @@ -1598,6 +1608,6 @@ assertWasm(1, TestXor);
|
| }
|
| return {main:main};
|
| }
|
| - var wasm = Wasm.instantiateModuleFromAsm(asmModule.toString());
|
| + var wasm = Wasm.instantiateModuleFromAsm(asmModule.toString(), stdlib);
|
| assertEquals(323, wasm.main());
|
| })();
|
|
|