summaryrefslogtreecommitdiff
path: root/deps/v8/test/cctest/wasm/test-run-wasm-asmjs.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/cctest/wasm/test-run-wasm-asmjs.cc')
-rw-r--r--deps/v8/test/cctest/wasm/test-run-wasm-asmjs.cc76
1 files changed, 33 insertions, 43 deletions
diff --git a/deps/v8/test/cctest/wasm/test-run-wasm-asmjs.cc b/deps/v8/test/cctest/wasm/test-run-wasm-asmjs.cc
index 2e71a86a1d..286578a580 100644
--- a/deps/v8/test/cctest/wasm/test-run-wasm-asmjs.cc
+++ b/deps/v8/test/cctest/wasm/test-run-wasm-asmjs.cc
@@ -31,9 +31,9 @@ namespace wasm {
void RunWasm_##name(TestExecutionTier execution_tier)
ASMJS_EXEC_TEST(Int32AsmjsDivS) {
- WasmRunner<int32_t, int32_t, int32_t> r(execution_tier);
- r.builder().ChangeOriginToAsmjs();
- BUILD(r, WASM_BINOP(kExprI32AsmjsDivS, WASM_LOCAL_GET(0), WASM_LOCAL_GET(1)));
+ WasmRunner<int32_t, int32_t, int32_t> r(execution_tier, kAsmJsSloppyOrigin);
+ r.Build(
+ {WASM_BINOP(kExprI32AsmjsDivS, WASM_LOCAL_GET(0), WASM_LOCAL_GET(1))});
const int32_t kMin = std::numeric_limits<int32_t>::min();
CHECK_EQ(0, r.Call(0, 100));
CHECK_EQ(0, r.Call(100, 0));
@@ -43,9 +43,9 @@ ASMJS_EXEC_TEST(Int32AsmjsDivS) {
}
ASMJS_EXEC_TEST(Int32AsmjsRemS) {
- WasmRunner<int32_t, int32_t, int32_t> r(execution_tier);
- r.builder().ChangeOriginToAsmjs();
- BUILD(r, WASM_BINOP(kExprI32AsmjsRemS, WASM_LOCAL_GET(0), WASM_LOCAL_GET(1)));
+ WasmRunner<int32_t, int32_t, int32_t> r(execution_tier, kAsmJsSloppyOrigin);
+ r.Build(
+ {WASM_BINOP(kExprI32AsmjsRemS, WASM_LOCAL_GET(0), WASM_LOCAL_GET(1))});
const int32_t kMin = std::numeric_limits<int32_t>::min();
CHECK_EQ(33, r.Call(133, 100));
CHECK_EQ(0, r.Call(kMin, -1));
@@ -55,9 +55,9 @@ ASMJS_EXEC_TEST(Int32AsmjsRemS) {
}
ASMJS_EXEC_TEST(Int32AsmjsDivU) {
- WasmRunner<int32_t, int32_t, int32_t> r(execution_tier);
- r.builder().ChangeOriginToAsmjs();
- BUILD(r, WASM_BINOP(kExprI32AsmjsDivU, WASM_LOCAL_GET(0), WASM_LOCAL_GET(1)));
+ WasmRunner<int32_t, int32_t, int32_t> r(execution_tier, kAsmJsSloppyOrigin);
+ r.Build(
+ {WASM_BINOP(kExprI32AsmjsDivU, WASM_LOCAL_GET(0), WASM_LOCAL_GET(1))});
const int32_t kMin = std::numeric_limits<int32_t>::min();
CHECK_EQ(0, r.Call(0, 100));
CHECK_EQ(0, r.Call(kMin, -1));
@@ -67,9 +67,9 @@ ASMJS_EXEC_TEST(Int32AsmjsDivU) {
}
ASMJS_EXEC_TEST(Int32AsmjsRemU) {
- WasmRunner<int32_t, int32_t, int32_t> r(execution_tier);
- r.builder().ChangeOriginToAsmjs();
- BUILD(r, WASM_BINOP(kExprI32AsmjsRemU, WASM_LOCAL_GET(0), WASM_LOCAL_GET(1)));
+ WasmRunner<int32_t, int32_t, int32_t> r(execution_tier, kAsmJsSloppyOrigin);
+ r.Build(
+ {WASM_BINOP(kExprI32AsmjsRemU, WASM_LOCAL_GET(0), WASM_LOCAL_GET(1))});
const int32_t kMin = std::numeric_limits<int32_t>::min();
CHECK_EQ(17, r.Call(217, 100));
CHECK_EQ(0, r.Call(100, 0));
@@ -79,9 +79,8 @@ ASMJS_EXEC_TEST(Int32AsmjsRemU) {
}
ASMJS_EXEC_TEST(I32AsmjsSConvertF32) {
- WasmRunner<int32_t, float> r(execution_tier);
- r.builder().ChangeOriginToAsmjs();
- BUILD(r, WASM_UNOP(kExprI32AsmjsSConvertF32, WASM_LOCAL_GET(0)));
+ WasmRunner<int32_t, float> r(execution_tier, kAsmJsSloppyOrigin);
+ r.Build({WASM_UNOP(kExprI32AsmjsSConvertF32, WASM_LOCAL_GET(0))});
FOR_FLOAT32_INPUTS(i) {
int32_t expected = DoubleToInt32(i);
@@ -90,9 +89,8 @@ ASMJS_EXEC_TEST(I32AsmjsSConvertF32) {
}
ASMJS_EXEC_TEST(I32AsmjsSConvertF64) {
- WasmRunner<int32_t, double> r(execution_tier);
- r.builder().ChangeOriginToAsmjs();
- BUILD(r, WASM_UNOP(kExprI32AsmjsSConvertF64, WASM_LOCAL_GET(0)));
+ WasmRunner<int32_t, double> r(execution_tier, kAsmJsSloppyOrigin);
+ r.Build({WASM_UNOP(kExprI32AsmjsSConvertF64, WASM_LOCAL_GET(0))});
FOR_FLOAT64_INPUTS(i) {
int32_t expected = DoubleToInt32(i);
@@ -101,9 +99,8 @@ ASMJS_EXEC_TEST(I32AsmjsSConvertF64) {
}
ASMJS_EXEC_TEST(I32AsmjsUConvertF32) {
- WasmRunner<uint32_t, float> r(execution_tier);
- r.builder().ChangeOriginToAsmjs();
- BUILD(r, WASM_UNOP(kExprI32AsmjsUConvertF32, WASM_LOCAL_GET(0)));
+ WasmRunner<uint32_t, float> r(execution_tier, kAsmJsSloppyOrigin);
+ r.Build({WASM_UNOP(kExprI32AsmjsUConvertF32, WASM_LOCAL_GET(0))});
FOR_FLOAT32_INPUTS(i) {
uint32_t expected = DoubleToUint32(i);
@@ -112,9 +109,8 @@ ASMJS_EXEC_TEST(I32AsmjsUConvertF32) {
}
ASMJS_EXEC_TEST(I32AsmjsUConvertF64) {
- WasmRunner<uint32_t, double> r(execution_tier);
- r.builder().ChangeOriginToAsmjs();
- BUILD(r, WASM_UNOP(kExprI32AsmjsUConvertF64, WASM_LOCAL_GET(0)));
+ WasmRunner<uint32_t, double> r(execution_tier, kAsmJsSloppyOrigin);
+ r.Build({WASM_UNOP(kExprI32AsmjsUConvertF64, WASM_LOCAL_GET(0))});
FOR_FLOAT64_INPUTS(i) {
uint32_t expected = DoubleToUint32(i);
@@ -123,12 +119,11 @@ ASMJS_EXEC_TEST(I32AsmjsUConvertF64) {
}
ASMJS_EXEC_TEST(LoadMemI32_oob_asm) {
- WasmRunner<int32_t, uint32_t> r(execution_tier);
- r.builder().ChangeOriginToAsmjs();
+ WasmRunner<int32_t, uint32_t> r(execution_tier, kAsmJsSloppyOrigin);
int32_t* memory = r.builder().AddMemoryElems<int32_t>(8);
r.builder().RandomizeMemory(1112);
- BUILD(r, WASM_UNOP(kExprI32AsmjsLoadMem, WASM_LOCAL_GET(0)));
+ r.Build({WASM_UNOP(kExprI32AsmjsLoadMem, WASM_LOCAL_GET(0))});
memory[0] = 999999;
CHECK_EQ(999999, r.Call(0u));
@@ -143,12 +138,11 @@ ASMJS_EXEC_TEST(LoadMemI32_oob_asm) {
}
ASMJS_EXEC_TEST(LoadMemF32_oob_asm) {
- WasmRunner<float, uint32_t> r(execution_tier);
- r.builder().ChangeOriginToAsmjs();
+ WasmRunner<float, uint32_t> r(execution_tier, kAsmJsSloppyOrigin);
float* memory = r.builder().AddMemoryElems<float>(8);
r.builder().RandomizeMemory(1112);
- BUILD(r, WASM_UNOP(kExprF32AsmjsLoadMem, WASM_LOCAL_GET(0)));
+ r.Build({WASM_UNOP(kExprF32AsmjsLoadMem, WASM_LOCAL_GET(0))});
memory[0] = 9999.5f;
CHECK_EQ(9999.5f, r.Call(0u));
@@ -163,12 +157,11 @@ ASMJS_EXEC_TEST(LoadMemF32_oob_asm) {
}
ASMJS_EXEC_TEST(LoadMemF64_oob_asm) {
- WasmRunner<double, uint32_t> r(execution_tier);
- r.builder().ChangeOriginToAsmjs();
+ WasmRunner<double, uint32_t> r(execution_tier, kAsmJsSloppyOrigin);
double* memory = r.builder().AddMemoryElems<double>(8);
r.builder().RandomizeMemory(1112);
- BUILD(r, WASM_UNOP(kExprF64AsmjsLoadMem, WASM_LOCAL_GET(0)));
+ r.Build({WASM_UNOP(kExprF64AsmjsLoadMem, WASM_LOCAL_GET(0))});
memory[0] = 9799.5;
CHECK_EQ(9799.5, r.Call(0u));
@@ -185,13 +178,12 @@ ASMJS_EXEC_TEST(LoadMemF64_oob_asm) {
}
ASMJS_EXEC_TEST(StoreMemI32_oob_asm) {
- WasmRunner<int32_t, uint32_t, uint32_t> r(execution_tier);
- r.builder().ChangeOriginToAsmjs();
+ WasmRunner<int32_t, uint32_t, uint32_t> r(execution_tier, kAsmJsSloppyOrigin);
int32_t* memory = r.builder().AddMemoryElems<int32_t>(8);
r.builder().RandomizeMemory(1112);
- BUILD(r, WASM_BINOP(kExprI32AsmjsStoreMem, WASM_LOCAL_GET(0),
- WASM_LOCAL_GET(1)));
+ r.Build({WASM_BINOP(kExprI32AsmjsStoreMem, WASM_LOCAL_GET(0),
+ WASM_LOCAL_GET(1))});
memory[0] = 7777;
CHECK_EQ(999999, r.Call(0u, 999999));
@@ -208,9 +200,8 @@ ASMJS_EXEC_TEST(StoreMemI32_oob_asm) {
ASMJS_EXEC_TEST(Int32AsmjsDivS_byzero_const) {
for (int8_t denom = -2; denom < 8; ++denom) {
- WasmRunner<int32_t, int32_t> r(execution_tier);
- r.builder().ChangeOriginToAsmjs();
- BUILD(r, WASM_I32_ASMJS_DIVS(WASM_LOCAL_GET(0), WASM_I32V_1(denom)));
+ WasmRunner<int32_t, int32_t> r(execution_tier, kAsmJsSloppyOrigin);
+ r.Build({WASM_I32_ASMJS_DIVS(WASM_LOCAL_GET(0), WASM_I32V_1(denom))});
FOR_INT32_INPUTS(i) {
if (denom == 0) {
CHECK_EQ(0, r.Call(i));
@@ -225,9 +216,8 @@ ASMJS_EXEC_TEST(Int32AsmjsDivS_byzero_const) {
ASMJS_EXEC_TEST(Int32AsmjsRemS_byzero_const) {
for (int8_t denom = -2; denom < 8; ++denom) {
- WasmRunner<int32_t, int32_t> r(execution_tier);
- r.builder().ChangeOriginToAsmjs();
- BUILD(r, WASM_I32_ASMJS_REMS(WASM_LOCAL_GET(0), WASM_I32V_1(denom)));
+ WasmRunner<int32_t, int32_t> r(execution_tier, kAsmJsSloppyOrigin);
+ r.Build({WASM_I32_ASMJS_REMS(WASM_LOCAL_GET(0), WASM_I32V_1(denom))});
FOR_INT32_INPUTS(i) {
if (denom == 0) {
CHECK_EQ(0, r.Call(i));