Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1606)

Unified Diff: test/cctest/wasm/test-run-wasm.cc

Issue 2230063002: [wasm] Experimental: Add support for multiple non-homogeneous tables Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/wasm/wasm-module.cc ('k') | test/cctest/wasm/test-run-wasm-64.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/cctest/wasm/test-run-wasm.cc
diff --git a/test/cctest/wasm/test-run-wasm.cc b/test/cctest/wasm/test-run-wasm.cc
index f48e44d4eb5c258f67fd3452510affe2c47eeb79..fd743df1a0536879182776d6f046764253011a31 100644
--- a/test/cctest/wasm/test-run-wasm.cc
+++ b/test/cctest/wasm/test-run-wasm.cc
@@ -930,7 +930,7 @@ WASM_EXEC_TEST(BrTable4) {
WASM_I8(75)};
WasmRunner<int32_t> r(execution_mode, MachineType::Int32());
- r.Build(code, code + arraysize(code));
+ r.Build(code, code + arraysize(code), false);
for (int x = -3; x < 50; ++x) {
int index = (x > 3 || x < 0) ? 3 : x;
@@ -960,7 +960,7 @@ WASM_EXEC_TEST(BrTable4x4) {
WASM_I8(55)};
WasmRunner<int32_t> r(execution_mode, MachineType::Int32());
- r.Build(code, code + arraysize(code));
+ r.Build(code, code + arraysize(code), false);
for (int x = -6; x < 47; ++x) {
int index = (x > 3 || x < 0) ? 3 : x;
@@ -986,7 +986,7 @@ WASM_EXEC_TEST(BrTable4_fallthru) {
WasmRunner<int32_t> r(execution_mode, MachineType::Int32(),
MachineType::Int32());
- r.Build(code, code + arraysize(code));
+ r.Build(code, code + arraysize(code), false);
CHECK_EQ(15, r.Call(0, 0));
CHECK_EQ(14, r.Call(1, 0));
@@ -1778,13 +1778,13 @@ static void TestBuildGraphForSimpleExpression(WasmOpcode opcode) {
if (sig->parameter_count() == 1) {
byte code[] = {WASM_NO_LOCALS, kExprGetLocal, 0, static_cast<byte>(opcode)};
TestBuildingGraph(&zone, &jsgraph, nullptr, sig, nullptr, code,
- code + arraysize(code));
+ code + arraysize(code), false);
} else {
CHECK_EQ(2, sig->parameter_count());
byte code[] = {WASM_NO_LOCALS, kExprGetLocal, 0, kExprGetLocal, 1,
static_cast<byte>(opcode)};
TestBuildingGraph(&zone, &jsgraph, nullptr, sig, nullptr, code,
- code + arraysize(code));
+ code + arraysize(code), false);
}
}
@@ -2200,7 +2200,7 @@ static void Run_WasmMixedCall_N(WasmExecutionMode execution_mode, int start) {
// Return the expected value.
ADD_CODE(code, WASM_I32V_2(kExpected));
- r.Build(&code[0], &code[0] + code.size());
+ r.Build(&code[0], &code[0] + code.size(), false);
// Run the code.
for (int t = 0; t < 10; ++t) {
@@ -2401,18 +2401,19 @@ WASM_EXEC_TEST(SimpleCallIndirect) {
// Signature table.
module.AddSignature(sigs.f_ff());
- module.AddSignature(sigs.i_ii());
+ byte index = module.AddSignature(sigs.i_ii());
module.AddSignature(sigs.d_dd());
// Function table.
uint16_t indirect_function_table[] = {0, 1};
- module.AddIndirectFunctionTable(indirect_function_table,
+ module.AddIndirectFunctionTable(sigs.i_ii(), index, indirect_function_table,
arraysize(indirect_function_table));
module.PopulateIndirectFunctionTable();
// Builder the caller function.
WasmRunner<int32_t> r(&module, MachineType::Int32());
- BUILD(r, WASM_CALL_INDIRECT2(1, WASM_GET_LOCAL(0), WASM_I8(66), WASM_I8(22)));
+ BUILD(r,
+ WASM_CALL_INDIRECT2(1, 0, WASM_GET_LOCAL(0), WASM_I8(66), WASM_I8(22)));
CHECK_EQ(88, r.Call(0));
CHECK_EQ(44, r.Call(1));
@@ -2433,12 +2434,12 @@ WASM_EXEC_TEST(MultipleCallIndirect) {
// Signature table.
module.AddSignature(sigs.f_ff());
- module.AddSignature(sigs.i_ii());
+ byte index = module.AddSignature(sigs.i_ii());
module.AddSignature(sigs.d_dd());
// Function table.
uint16_t indirect_function_table[] = {0, 1};
- module.AddIndirectFunctionTable(indirect_function_table,
+ module.AddIndirectFunctionTable(sigs.i_ii(), index, indirect_function_table,
arraysize(indirect_function_table));
module.PopulateIndirectFunctionTable();
@@ -2446,9 +2447,9 @@ WASM_EXEC_TEST(MultipleCallIndirect) {
WasmRunner<int32_t> r(&module, MachineType::Int32(), MachineType::Int32(),
MachineType::Int32());
BUILD(r, WASM_I32_ADD(
- WASM_CALL_INDIRECT2(1, WASM_GET_LOCAL(0), WASM_GET_LOCAL(1),
+ WASM_CALL_INDIRECT2(1, 0, WASM_GET_LOCAL(0), WASM_GET_LOCAL(1),
WASM_GET_LOCAL(2)),
- WASM_CALL_INDIRECT2(1, WASM_GET_LOCAL(1), WASM_GET_LOCAL(2),
+ WASM_CALL_INDIRECT2(1, 0, WASM_GET_LOCAL(1), WASM_GET_LOCAL(2),
WASM_GET_LOCAL(0))));
CHECK_EQ(5, r.Call(0, 1, 2));
@@ -2477,11 +2478,8 @@ WASM_EXEC_TEST(CallIndirect_NoTable) {
// Builder the caller function.
WasmRunner<int32_t> r(&module, MachineType::Int32());
- BUILD(r, WASM_CALL_INDIRECT2(1, WASM_GET_LOCAL(0), WASM_I8(66), WASM_I8(22)));
-
- CHECK_TRAP(r.Call(0));
- CHECK_TRAP(r.Call(1));
- CHECK_TRAP(r.Call(2));
+ BUILD_FAIL(r, WASM_CALL_INDIRECT2(1, 0, WASM_GET_LOCAL(0), WASM_I8(66),
+ WASM_I8(22)));
}
WASM_EXEC_TEST(F32Floor) {
@@ -2740,9 +2738,8 @@ static void CompileCallIndirectMany(LocalType param) {
TestingModule module(kExecuteCompiled);
FunctionSig* sig = sigs.many(&zone, kAstStmt, param, num_params);
- module.AddSignature(sig);
- module.AddSignature(sig);
- module.AddIndirectFunctionTable(nullptr, 0);
+ byte index = module.AddSignature(sig);
+ module.AddIndirectFunctionTable(sig, index, nullptr, 0);
WasmFunctionCompiler t(sig, &module);
@@ -2751,9 +2748,9 @@ static void CompileCallIndirectMany(LocalType param) {
for (byte p = 0; p < num_params; ++p) {
ADD_CODE(code, kExprGetLocal, p);
}
- ADD_CODE(code, kExprCallIndirect, static_cast<byte>(num_params), 1);
+ ADD_CODE(code, kExprCallIndirect, static_cast<byte>(num_params), index, 0);
- t.Build(&code[0], &code[0] + code.size());
+ t.Build(&code[0], &code[0] + code.size(), false);
t.Compile();
}
}
« no previous file with comments | « src/wasm/wasm-module.cc ('k') | test/cctest/wasm/test-run-wasm-64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698