summaryrefslogtreecommitdiff
path: root/deps/v8/test/common
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2019-08-01 08:38:30 +0200
committerMichaël Zasso <targos@protonmail.com>2019-08-01 12:53:56 +0200
commit2dcc3665abf57c3607cebffdeeca062f5894885d (patch)
tree4f560748132edcfb4c22d6f967a7e80d23d7ea2c /deps/v8/test/common
parent1ee47d550c6de132f06110aa13eceb7551d643b3 (diff)
downloadandroid-node-v8-2dcc3665abf57c3607cebffdeeca062f5894885d.tar.gz
android-node-v8-2dcc3665abf57c3607cebffdeeca062f5894885d.tar.bz2
android-node-v8-2dcc3665abf57c3607cebffdeeca062f5894885d.zip
deps: update V8 to 7.6.303.28
PR-URL: https://github.com/nodejs/node/pull/28016 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Diffstat (limited to 'deps/v8/test/common')
-rw-r--r--deps/v8/test/common/assembler-tester.h4
-rw-r--r--deps/v8/test/common/types-fuzz.h8
-rw-r--r--deps/v8/test/common/wasm/test-signatures.h41
-rw-r--r--deps/v8/test/common/wasm/wasm-macro-gen.h20
-rw-r--r--deps/v8/test/common/wasm/wasm-module-runner.cc23
-rw-r--r--deps/v8/test/common/wasm/wasm-module-runner.h9
6 files changed, 80 insertions, 25 deletions
diff --git a/deps/v8/test/common/assembler-tester.h b/deps/v8/test/common/assembler-tester.h
index 4b3499b149..4c3d8ff618 100644
--- a/deps/v8/test/common/assembler-tester.h
+++ b/deps/v8/test/common/assembler-tester.h
@@ -5,8 +5,8 @@
#ifndef V8_TEST_COMMON_ASSEMBLER_TESTER_H_
#define V8_TEST_COMMON_ASSEMBLER_TESTER_H_
-#include "src/assembler.h"
-#include "src/code-desc.h"
+#include "src/codegen/assembler.h"
+#include "src/codegen/code-desc.h"
namespace v8 {
namespace internal {
diff --git a/deps/v8/test/common/types-fuzz.h b/deps/v8/test/common/types-fuzz.h
index f539ed9701..06ab9067d8 100644
--- a/deps/v8/test/common/types-fuzz.h
+++ b/deps/v8/test/common/types-fuzz.h
@@ -29,9 +29,9 @@
#define V8_TEST_CCTEST_TYPES_H_
#include "src/base/utils/random-number-generator.h"
+#include "src/execution/isolate.h"
#include "src/heap/factory.h"
-#include "src/isolate.h"
-#include "src/v8.h"
+#include "src/init/v8.h"
namespace v8 {
namespace internal {
@@ -135,8 +135,8 @@ class Types {
Type Integer;
- typedef std::vector<Type> TypeVector;
- typedef std::vector<Handle<i::Object> > ValueVector;
+ using TypeVector = std::vector<Type>;
+ using ValueVector = std::vector<Handle<i::Object> >;
TypeVector types;
ValueVector values;
diff --git a/deps/v8/test/common/wasm/test-signatures.h b/deps/v8/test/common/wasm/test-signatures.h
index 8b47720870..120e81cf1e 100644
--- a/deps/v8/test/common/wasm/test-signatures.h
+++ b/deps/v8/test/common/wasm/test-signatures.h
@@ -5,7 +5,7 @@
#ifndef TEST_SIGNATURES_H
#define TEST_SIGNATURES_H
-#include "src/signature.h"
+#include "src/codegen/signature.h"
#include "src/wasm/value-type.h"
#include "src/wasm/wasm-opcodes.h"
@@ -25,8 +25,9 @@ class TestSignatures {
sig_i_ff(1, 2, kIntFloatTypes4),
sig_i_d(1, 1, kIntDoubleTypes4),
sig_i_dd(1, 2, kIntDoubleTypes4),
- sig_i_r(1, 1, kIntRefTypes4),
- sig_i_rr(1, 2, kIntRefTypes4),
+ sig_i_r(1, 1, kIntAnyRefTypes4),
+ sig_i_rr(1, 2, kIntAnyRefTypes4),
+ sig_i_a(1, 1, kIntAnyFuncTypes4),
sig_l_v(1, 0, kLongTypes4),
sig_l_l(1, 1, kLongTypes4),
sig_l_ll(1, 2, kLongTypes4),
@@ -36,10 +37,15 @@ class TestSignatures {
sig_d_d(1, 1, kDoubleTypes4),
sig_d_dd(1, 2, kDoubleTypes4),
sig_r_v(1, 0, kRefTypes4),
+ sig_a_v(1, 0, kFuncTypes4),
+ sig_r_r(1, 1, kRefTypes4),
+ sig_a_a(1, 1, kFuncTypes4),
sig_v_v(0, 0, kIntTypes4),
sig_v_i(0, 1, kIntTypes4),
sig_v_ii(0, 2, kIntTypes4),
sig_v_iii(0, 3, kIntTypes4),
+ sig_v_r(0, 1, kRefTypes4),
+ sig_v_a(0, 1, kFuncTypes4),
sig_s_i(1, 1, kSimd128IntTypes4),
sig_ii_v(2, 0, kIntTypes4),
sig_iii_v(3, 0, kIntTypes4) {
@@ -49,15 +55,18 @@ class TestSignatures {
for (int i = 0; i < 4; i++) kFloatTypes4[i] = kWasmF32;
for (int i = 0; i < 4; i++) kDoubleTypes4[i] = kWasmF64;
for (int i = 0; i < 4; i++) kRefTypes4[i] = kWasmAnyRef;
- for (int i = 0; i < 4; i++) kIntLongTypes4[i] = kWasmI64;
- for (int i = 0; i < 4; i++) kIntFloatTypes4[i] = kWasmF32;
- for (int i = 0; i < 4; i++) kIntDoubleTypes4[i] = kWasmF64;
- for (int i = 0; i < 4; i++) kIntRefTypes4[i] = kWasmAnyRef;
+ for (int i = 0; i < 4; i++) kFuncTypes4[i] = kWasmAnyFunc;
+ for (int i = 1; i < 4; i++) kIntLongTypes4[i] = kWasmI64;
+ for (int i = 1; i < 4; i++) kIntFloatTypes4[i] = kWasmF32;
+ for (int i = 1; i < 4; i++) kIntDoubleTypes4[i] = kWasmF64;
+ for (int i = 1; i < 4; i++) kIntAnyRefTypes4[i] = kWasmAnyRef;
+ for (int i = 1; i < 4; i++) kIntAnyFuncTypes4[i] = kWasmAnyFunc;
for (int i = 0; i < 4; i++) kSimd128IntTypes4[i] = kWasmS128;
kIntLongTypes4[0] = kWasmI32;
kIntFloatTypes4[0] = kWasmI32;
kIntDoubleTypes4[0] = kWasmI32;
- kIntRefTypes4[0] = kWasmI32;
+ kIntAnyRefTypes4[0] = kWasmI32;
+ kIntAnyFuncTypes4[0] = kWasmI32;
kSimd128IntTypes4[1] = kWasmI32;
}
@@ -77,6 +86,7 @@ class TestSignatures {
FunctionSig* i_ll() { return &sig_i_ll; }
FunctionSig* i_r() { return &sig_i_r; }
FunctionSig* i_rr() { return &sig_i_rr; }
+ FunctionSig* i_a() { return &sig_i_a; }
FunctionSig* f_f() { return &sig_f_f; }
FunctionSig* f_ff() { return &sig_f_ff; }
@@ -84,11 +94,16 @@ class TestSignatures {
FunctionSig* d_dd() { return &sig_d_dd; }
FunctionSig* r_v() { return &sig_r_v; }
+ FunctionSig* a_v() { return &sig_a_v; }
+ FunctionSig* r_r() { return &sig_r_r; }
+ FunctionSig* a_a() { return &sig_a_a; }
FunctionSig* v_v() { return &sig_v_v; }
FunctionSig* v_i() { return &sig_v_i; }
FunctionSig* v_ii() { return &sig_v_ii; }
FunctionSig* v_iii() { return &sig_v_iii; }
+ FunctionSig* v_r() { return &sig_v_r; }
+ FunctionSig* v_a() { return &sig_v_a; }
FunctionSig* s_i() { return &sig_s_i; }
FunctionSig* ii_v() { return &sig_ii_v; }
@@ -109,10 +124,12 @@ class TestSignatures {
ValueType kFloatTypes4[4];
ValueType kDoubleTypes4[4];
ValueType kRefTypes4[4];
+ ValueType kFuncTypes4[4];
ValueType kIntLongTypes4[4];
ValueType kIntFloatTypes4[4];
ValueType kIntDoubleTypes4[4];
- ValueType kIntRefTypes4[4];
+ ValueType kIntAnyRefTypes4[4];
+ ValueType kIntAnyFuncTypes4[4];
ValueType kSimd128IntTypes4[4];
FunctionSig sig_i_v;
@@ -126,6 +143,7 @@ class TestSignatures {
FunctionSig sig_i_dd;
FunctionSig sig_i_r;
FunctionSig sig_i_rr;
+ FunctionSig sig_i_a;
FunctionSig sig_l_v;
FunctionSig sig_l_l;
@@ -138,11 +156,16 @@ class TestSignatures {
FunctionSig sig_d_dd;
FunctionSig sig_r_v;
+ FunctionSig sig_a_v;
+ FunctionSig sig_r_r;
+ FunctionSig sig_a_a;
FunctionSig sig_v_v;
FunctionSig sig_v_i;
FunctionSig sig_v_ii;
FunctionSig sig_v_iii;
+ FunctionSig sig_v_r;
+ FunctionSig sig_v_a;
FunctionSig sig_s_i;
FunctionSig sig_ii_v;
diff --git a/deps/v8/test/common/wasm/wasm-macro-gen.h b/deps/v8/test/common/wasm/wasm-macro-gen.h
index cdeb3d3cdf..ecdd0a8b30 100644
--- a/deps/v8/test/common/wasm/wasm-macro-gen.h
+++ b/deps/v8/test/common/wasm/wasm-macro-gen.h
@@ -140,6 +140,18 @@
kExprCatch, catchstmt, kExprEnd
#define WASM_SELECT(tval, fval, cond) tval, fval, cond, kExprSelect
+#define WASM_SELECT_I(tval, fval, cond) \
+ tval, fval, cond, kExprSelectWithType, U32V_1(1), kLocalI32
+#define WASM_SELECT_L(tval, fval, cond) \
+ tval, fval, cond, kExprSelectWithType, U32V_1(1), kLocalI64
+#define WASM_SELECT_F(tval, fval, cond) \
+ tval, fval, cond, kExprSelectWithType, U32V_1(1), kLocalF32
+#define WASM_SELECT_D(tval, fval, cond) \
+ tval, fval, cond, kExprSelectWithType, U32V_1(1), kLocalF64
+#define WASM_SELECT_R(tval, fval, cond) \
+ tval, fval, cond, kExprSelectWithType, U32V_1(1), kLocalAnyRef
+#define WASM_SELECT_A(tval, fval, cond) \
+ tval, fval, cond, kExprSelectWithType, U32V_1(1), kLocalAnyFunc
#define WASM_RETURN0 kExprReturn
#define WASM_RETURN1(val) val, kExprReturn
@@ -346,6 +358,7 @@ inline WasmOpcode LoadStoreOpcodeOf(MachineType type, bool store) {
static_cast<byte>(bit_cast<uint64_t>(static_cast<double>(val)) >> 56)
#define WASM_REF_NULL kExprRefNull
+#define WASM_REF_FUNC(val) kExprRefFunc, val
#define WASM_REF_IS_NULL(val) val, kExprRefIsNull
#define WASM_GET_LOCAL(index) kExprGetLocal, static_cast<byte>(index)
@@ -618,6 +631,13 @@ inline WasmOpcode LoadStoreOpcodeOf(MachineType type, bool store) {
#define WASM_ELEM_DROP(seg) WASM_NUMERIC_OP(kExprElemDrop), U32V_1(seg)
#define WASM_TABLE_COPY(dst, src, size) \
dst, src, size, WASM_NUMERIC_OP(kExprTableCopy), TABLE_ZERO, TABLE_ZERO
+#define WASM_TABLE_GROW(table, initial_value, delta) \
+ initial_value, delta, WASM_NUMERIC_OP(kExprTableGrow), \
+ static_cast<byte>(table)
+#define WASM_TABLE_SIZE(table) \
+ WASM_NUMERIC_OP(kExprTableSize), static_cast<byte>(table)
+#define WASM_TABLE_FILL(table, times, value, start) \
+ times, value, start, WASM_NUMERIC_OP(kExprTableFill), static_cast<byte>(table)
//------------------------------------------------------------------------------
// Memory Operations.
diff --git a/deps/v8/test/common/wasm/wasm-module-runner.cc b/deps/v8/test/common/wasm/wasm-module-runner.cc
index d5ee914ffc..d193cbc5ac 100644
--- a/deps/v8/test/common/wasm/wasm-module-runner.cc
+++ b/deps/v8/test/common/wasm/wasm-module-runner.cc
@@ -4,11 +4,11 @@
#include "test/common/wasm/wasm-module-runner.h"
-#include "src/handles.h"
-#include "src/isolate.h"
-#include "src/objects-inl.h"
+#include "src/execution/isolate.h"
+#include "src/handles/handles.h"
#include "src/objects/heap-number-inl.h"
-#include "src/property-descriptor.h"
+#include "src/objects/objects-inl.h"
+#include "src/objects/property-descriptor.h"
#include "src/wasm/module-decoder.h"
#include "src/wasm/wasm-engine.h"
#include "src/wasm/wasm-interpreter.h"
@@ -26,14 +26,21 @@ uint32_t GetInitialMemSize(const WasmModule* module) {
return kWasmPageSize * module->initial_pages;
}
-MaybeHandle<WasmInstanceObject> CompileAndInstantiateForTesting(
- Isolate* isolate, ErrorThrower* thrower, const ModuleWireBytes& bytes) {
+MaybeHandle<WasmModuleObject> CompileForTesting(Isolate* isolate,
+ ErrorThrower* thrower,
+ const ModuleWireBytes& bytes) {
auto enabled_features = WasmFeaturesFromIsolate(isolate);
MaybeHandle<WasmModuleObject> module = isolate->wasm_engine()->SyncCompile(
isolate, enabled_features, thrower, bytes);
DCHECK_EQ(thrower->error(), module.is_null());
- if (module.is_null()) return {};
+ return module;
+}
+MaybeHandle<WasmInstanceObject> CompileAndInstantiateForTesting(
+ Isolate* isolate, ErrorThrower* thrower, const ModuleWireBytes& bytes) {
+ MaybeHandle<WasmModuleObject> module =
+ CompileForTesting(isolate, thrower, bytes);
+ if (module.is_null()) return {};
return isolate->wasm_engine()->SyncInstantiate(
isolate, thrower, module.ToHandleChecked(), {}, {});
}
@@ -254,7 +261,7 @@ int32_t CallWasmFunctionForTesting(Isolate* isolate,
return Smi::ToInt(*result);
}
if (result->IsHeapNumber()) {
- return static_cast<int32_t>(HeapNumber::cast(*result)->value());
+ return static_cast<int32_t>(HeapNumber::cast(*result).value());
}
thrower->RuntimeError(
"Calling exported wasm function failed: Return value should be number");
diff --git a/deps/v8/test/common/wasm/wasm-module-runner.h b/deps/v8/test/common/wasm/wasm-module-runner.h
index f3ed508e40..e78b852a7e 100644
--- a/deps/v8/test/common/wasm/wasm-module-runner.h
+++ b/deps/v8/test/common/wasm/wasm-module-runner.h
@@ -5,8 +5,8 @@
#ifndef V8_WASM_MODULE_RUNNER_H_
#define V8_WASM_MODULE_RUNNER_H_
-#include "src/isolate.h"
-#include "src/objects.h"
+#include "src/execution/isolate.h"
+#include "src/objects/objects.h"
#include "src/wasm/wasm-interpreter.h"
#include "src/wasm/wasm-module.h"
#include "src/wasm/wasm-objects.h"
@@ -57,6 +57,11 @@ bool InterpretWasmModuleForTesting(Isolate* isolate,
int32_t CompileAndRunWasmModule(Isolate* isolate, const byte* module_start,
const byte* module_end);
+// Decode and compile the given module with no imports.
+MaybeHandle<WasmModuleObject> CompileForTesting(Isolate* isolate,
+ ErrorThrower* thrower,
+ const ModuleWireBytes& bytes);
+
// Decode, compile, and instantiate the given module with no imports.
MaybeHandle<WasmInstanceObject> CompileAndInstantiateForTesting(
Isolate* isolate, ErrorThrower* thrower, const ModuleWireBytes& bytes);