Index: test/cctest/wasm/test-run-wasm-64.cc |
diff --git a/test/cctest/wasm/test-run-wasm-64.cc b/test/cctest/wasm/test-run-wasm-64.cc |
index 8ccc03901e95ba6ac5d98788fe9d245e5e697e2a..966524497e82cab79a460f2347bbca6cfe9719f0 100644 |
--- a/test/cctest/wasm/test-run-wasm-64.cc |
+++ b/test/cctest/wasm/test-run-wasm-64.cc |
@@ -32,6 +32,7 @@ |
#define asu64(x) static_cast<uint64_t>(x) |
#define B2(a, b) kExprBlock, a, b, kExprEnd |
+#define B1(a) kExprBlock, a, kExprEnd |
// Can't bridge macro land with nested macros. |
#if V8_TARGET_ARCH_MIPS |
@@ -834,8 +835,8 @@ |
WasmRunner<int32_t> r(&module); |
BUILD( |
r, |
- WASM_I32_CONVERT_I64(WASM_CALL_FUNCTION( |
- index, WASM_I64V_9(0xbcd12340000000b), |
+ WASM_I32_CONVERT_I64(WASM_CALL_FUNCTIONN( |
+ 19, index, WASM_I64V_9(0xbcd12340000000b), |
WASM_I64V_9(0xbcd12340000000c), WASM_I32V_1(0xd), |
WASM_I32_CONVERT_I64(WASM_I64V_9(0xbcd12340000000e)), |
WASM_I64V_9(0xbcd12340000000f), WASM_I64V_10(0xbcd1234000000010), |
@@ -1118,7 +1119,7 @@ |
// Build the caller function. |
WasmRunner<int64_t> r(&module, MachineType::Int64(), MachineType::Int64()); |
- BUILD(r, WASM_CALL_FUNCTION(index, WASM_GET_LOCAL(0), WASM_GET_LOCAL(1))); |
+ BUILD(r, WASM_CALL_FUNCTION2(index, WASM_GET_LOCAL(0), WASM_GET_LOCAL(1))); |
FOR_INT32_INPUTS(i) { |
FOR_INT32_INPUTS(j) { |
@@ -1153,11 +1154,7 @@ |
ZERO_OFFSET, // -- |
kExprI64StoreMem, // -- |
ZERO_ALIGNMENT, // -- |
- ZERO_OFFSET, // -- |
- kExprI8Const, 0, // -- |
- loads[m], // -- |
- ZERO_ALIGNMENT, // -- |
- ZERO_OFFSET, // -- |
+ ZERO_OFFSET // -- |
}; |
r.Build(code, code + arraysize(code)); |
@@ -1259,9 +1256,10 @@ |
int64_t* memory = module.AddMemoryElems<int64_t>(8); |
WasmRunner<int64_t> r(&module, MachineType::Int64()); |
- BUILD(r, WASM_STORE_MEM(MachineType::Float64(), WASM_ZERO, |
- WASM_F64_REINTERPRET_I64(WASM_GET_LOCAL(0))), |
- WASM_GET_LOCAL(0)); |
+ BUILD(r, |
+ WASM_BLOCK(WASM_STORE_MEM(MachineType::Float64(), WASM_ZERO, |
+ WASM_F64_REINTERPRET_I64(WASM_GET_LOCAL(0))), |
+ WASM_GET_LOCAL(0))); |
FOR_INT32_INPUTS(i) { |
int64_t expected = static_cast<int64_t>(*i) * 0x300010001; |
@@ -1322,17 +1320,18 @@ |
WasmRunner<uint64_t> r(&module, MachineType::Int32()); |
const byte kSum = r.AllocateLocal(kAstI64); |
- BUILD( |
- r, |
- WASM_WHILE( |
- WASM_GET_LOCAL(0), |
- WASM_BLOCK( |
- WASM_SET_LOCAL(kSum, |
- WASM_I64_ADD(WASM_GET_LOCAL(kSum), |
- WASM_LOAD_MEM(MachineType::Int64(), |
- WASM_GET_LOCAL(0)))), |
- WASM_SET_LOCAL(0, WASM_I32_SUB(WASM_GET_LOCAL(0), WASM_I8(8))))), |
- WASM_GET_LOCAL(1)); |
+ BUILD(r, |
+ WASM_BLOCK( |
+ WASM_WHILE( |
+ WASM_GET_LOCAL(0), |
+ WASM_BLOCK( |
+ WASM_SET_LOCAL( |
+ kSum, WASM_I64_ADD(WASM_GET_LOCAL(kSum), |
+ WASM_LOAD_MEM(MachineType::Int64(), |
+ WASM_GET_LOCAL(0)))), |
+ WASM_SET_LOCAL( |
+ 0, WASM_I32_SUB(WASM_GET_LOCAL(0), WASM_I8(8))))), |
+ WASM_GET_LOCAL(1))); |
// Run 4 trials. |
for (int i = 0; i < 3; i++) { |
@@ -1354,8 +1353,7 @@ |
for (byte i = 0; i <= 3; i++) { |
WasmRunner<int64_t> r(&module, MachineType::Int64()); |
BUILD(r, WASM_STORE_MEM_ALIGNMENT(MachineType::Int64(), WASM_ZERO, i, |
- WASM_GET_LOCAL(0)), |
- WASM_GET_LOCAL(0)); |
+ WASM_GET_LOCAL(0))); |
module.RandomizeMemory(1111); |
module.WriteMemory<int64_t>(&memory[0], 0); |
@@ -1373,10 +1371,10 @@ |
int64_t* global = module.AddGlobal<int64_t>(kAstI64); |
WasmRunner<int32_t> r(&module, MachineType::Int32()); |
// global = global + p0 |
- BUILD(r, WASM_SET_GLOBAL( |
- 0, WASM_I64_AND(WASM_GET_GLOBAL(0), |
- WASM_I64_SCONVERT_I32(WASM_GET_LOCAL(0)))), |
- WASM_ZERO); |
+ BUILD(r, B2(WASM_SET_GLOBAL( |
+ 0, WASM_I64_AND(WASM_GET_GLOBAL(0), |
+ WASM_I64_SCONVERT_I32(WASM_GET_LOCAL(0)))), |
+ WASM_ZERO)); |
module.WriteMemory<int64_t>(global, 0xFFFFFFFFFFFFFFFFLL); |
for (int i = 9; i < 444444; i += 111111) { |
@@ -1479,11 +1477,11 @@ |
WasmFunctionCompiler t(sig, &module); |
std::vector<byte> code; |
+ ADD_CODE(code, kExprI8Const, 0); |
for (byte p = 0; p < num_params; p++) { |
ADD_CODE(code, kExprGetLocal, p); |
} |
- ADD_CODE(code, kExprI8Const, 0); |
- ADD_CODE(code, kExprCallIndirect, 1); |
+ ADD_CODE(code, kExprCallIndirect, static_cast<byte>(num_params), 1); |
t.Build(&code[0], &code[0] + code.size()); |
t.Compile(); |
@@ -1542,7 +1540,8 @@ |
} |
// Call the selector function. |
- ADD_CODE(code, kExprCallFunction, static_cast<byte>(index)); |
+ ADD_CODE(code, kExprCallFunction, static_cast<byte>(num_params), |
+ static_cast<byte>(index)); |
// Store the result in memory. |
ADD_CODE(code, |