diff options
author | Michaël Zasso <targos@protonmail.com> | 2019-08-01 08:38:30 +0200 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2019-08-01 12:53:56 +0200 |
commit | 2dcc3665abf57c3607cebffdeeca062f5894885d (patch) | |
tree | 4f560748132edcfb4c22d6f967a7e80d23d7ea2c /deps/v8/test/common | |
parent | 1ee47d550c6de132f06110aa13eceb7551d643b3 (diff) | |
download | android-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.h | 4 | ||||
-rw-r--r-- | deps/v8/test/common/types-fuzz.h | 8 | ||||
-rw-r--r-- | deps/v8/test/common/wasm/test-signatures.h | 41 | ||||
-rw-r--r-- | deps/v8/test/common/wasm/wasm-macro-gen.h | 20 | ||||
-rw-r--r-- | deps/v8/test/common/wasm/wasm-module-runner.cc | 23 | ||||
-rw-r--r-- | deps/v8/test/common/wasm/wasm-module-runner.h | 9 |
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); |