| Index: test/mjsunit/wasm/indirect-calls.js
|
| diff --git a/test/mjsunit/wasm/indirect-calls.js b/test/mjsunit/wasm/indirect-calls.js
|
| index 26021bb74d69a7d4a5ad12feac7ef5dc3d1c8eea..1e87c6f8230fd862b49acfeddbe0bcfe491285d0 100644
|
| --- a/test/mjsunit/wasm/indirect-calls.js
|
| +++ b/test/mjsunit/wasm/indirect-calls.js
|
| @@ -14,7 +14,7 @@
|
| builder.addImport("add", sig_index);
|
| builder.addFunction("add", sig_index)
|
| .addBody([
|
| - kExprGetLocal, 0, kExprGetLocal, 1, kExprCallFunction, 0
|
| + kExprGetLocal, 0, kExprGetLocal, 1, kExprCallImport, kArity2, 0
|
| ]);
|
| builder.addFunction("sub", sig_index)
|
| .addBody([
|
| @@ -24,13 +24,13 @@
|
| ]);
|
| builder.addFunction("main", kSig_i_iii)
|
| .addBody([
|
| + kExprGetLocal, 0,
|
| kExprGetLocal, 1,
|
| kExprGetLocal, 2,
|
| - kExprGetLocal, 0,
|
| - kExprCallIndirect, sig_index
|
| + kExprCallIndirect, kArity2, sig_index
|
| ])
|
| .exportFunc()
|
| - builder.appendToTable([1, 2, 3]);
|
| + builder.appendToTable([0, 1, 2]);
|
|
|
| return builder.instantiate({add: function(a, b) { return a + b | 0; }});
|
| })();
|
| @@ -47,40 +47,3 @@
|
|
|
| assertTraps(kTrapFuncSigMismatch, "module.exports.main(2, 12, 33)");
|
| assertTraps(kTrapFuncInvalid, "module.exports.main(3, 12, 33)");
|
| -
|
| -
|
| -module = (function () {
|
| - var builder = new WasmModuleBuilder();
|
| -
|
| - var sig_i_ii = builder.addType(kSig_i_ii);
|
| - var sig_i_i = builder.addType(kSig_i_i);
|
| - builder.addImport("mul", sig_i_ii);
|
| - builder.addFunction("add", sig_i_ii)
|
| - .addBody([
|
| - kExprGetLocal, 0, // --
|
| - kExprGetLocal, 1, // --
|
| - kExprI32Add // --
|
| - ]);
|
| - builder.addFunction("popcnt", sig_i_i)
|
| - .addBody([
|
| - kExprGetLocal, 0, // --
|
| - kExprI32Popcnt // --
|
| - ]);
|
| - builder.addFunction("main", kSig_i_iii)
|
| - .addBody([
|
| - kExprGetLocal, 1,
|
| - kExprGetLocal, 2,
|
| - kExprGetLocal, 0,
|
| - kExprCallIndirect, sig_i_ii
|
| - ])
|
| - .exportFunc()
|
| - builder.appendToTable([0, 1, 2, 3]);
|
| -
|
| - return builder.instantiate({mul: function(a, b) { return a * b | 0; }});
|
| -})();
|
| -
|
| -assertEquals(-6, module.exports.main(0, -2, 3));
|
| -assertEquals(99, module.exports.main(1, 22, 77));
|
| -assertTraps(kTrapFuncSigMismatch, "module.exports.main(2, 12, 33)");
|
| -assertTraps(kTrapFuncSigMismatch, "module.exports.main(3, 12, 33)");
|
| -assertTraps(kTrapFuncInvalid, "module.exports.main(4, 12, 33)");
|
|
|