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)"); |