diff options
author | Michaël Zasso <targos@protonmail.com> | 2018-03-07 08:54:53 +0100 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2018-03-07 16:48:52 +0100 |
commit | 88786fecff336342a56e6f2e7ff3b286be716e47 (patch) | |
tree | 92e6ba5b8ac8dae1a058988d20c9d27bfa654390 /deps/v8/test/unittests/interpreter | |
parent | 4e86f9b5ab83cbabf43839385bf383e6a7ef7d19 (diff) | |
download | node-new-88786fecff336342a56e6f2e7ff3b286be716e47.tar.gz |
deps: update V8 to 6.5.254.31
PR-URL: https://github.com/nodejs/node/pull/18453
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Diffstat (limited to 'deps/v8/test/unittests/interpreter')
7 files changed, 58 insertions, 36 deletions
diff --git a/deps/v8/test/unittests/interpreter/bytecode-array-builder-unittest.cc b/deps/v8/test/unittests/interpreter/bytecode-array-builder-unittest.cc index bbc9e565c9..26fcd1937b 100644 --- a/deps/v8/test/unittests/interpreter/bytecode-array-builder-unittest.cc +++ b/deps/v8/test/unittests/interpreter/bytecode-array-builder-unittest.cc @@ -13,6 +13,7 @@ #include "src/interpreter/bytecode-label.h" #include "src/interpreter/bytecode-register-allocator.h" #include "src/objects-inl.h" +#include "test/unittests/interpreter/bytecode-utils.h" #include "test/unittests/test-utils.h" namespace v8 { @@ -41,8 +42,11 @@ TEST_F(BytecodeArrayBuilderTest, AllBytecodesGenerated) { Register reg(0); Register other(reg.index() + 1); Register wide(128); - RegisterList reg_list(0, 10); - RegisterList empty, single(0, 1), pair(0, 2), triple(0, 3); + RegisterList empty; + RegisterList single = BytecodeUtils::NewRegisterList(0, 1); + RegisterList pair = BytecodeUtils::NewRegisterList(0, 2); + RegisterList triple = BytecodeUtils::NewRegisterList(0, 3); + RegisterList reg_list = BytecodeUtils::NewRegisterList(0, 10); // Emit argument creation operations. builder.CreateArguments(CreateArgumentsType::kMappedArguments) @@ -89,8 +93,6 @@ TEST_F(BytecodeArrayBuilderTest, AllBytecodesGenerated) { feedback_spec.AddLoadGlobalICSlot(INSIDE_TYPEOF); FeedbackSlot sloppy_store_global_slot = feedback_spec.AddStoreGlobalICSlot(LanguageMode::kSloppy); - FeedbackSlot strict_store_global_slot = - feedback_spec.AddStoreGlobalICSlot(LanguageMode::kStrict); FeedbackSlot load_slot = feedback_spec.AddLoadICSlot(); FeedbackSlot keyed_load_slot = feedback_spec.AddKeyedLoadICSlot(); FeedbackSlot sloppy_store_slot = @@ -109,10 +111,7 @@ TEST_F(BytecodeArrayBuilderTest, AllBytecodesGenerated) { .LoadGlobal(name, load_global_slot.ToInt(), TypeofMode::NOT_INSIDE_TYPEOF) .LoadGlobal(name, load_global_typeof_slot.ToInt(), TypeofMode::INSIDE_TYPEOF) - .StoreGlobal(name, sloppy_store_global_slot.ToInt(), - LanguageMode::kSloppy) - .StoreGlobal(name, strict_store_global_slot.ToInt(), - LanguageMode::kStrict); + .StoreGlobal(name, sloppy_store_global_slot.ToInt()); // Emit context operations. builder.PushContext(reg) @@ -387,7 +386,7 @@ TEST_F(BytecodeArrayBuilderTest, AllBytecodesGenerated) { // Emit generator operations. builder.SuspendGenerator(reg, reg_list, 0) .RestoreGeneratorState(reg) - .RestoreGeneratorRegisters(reg, reg_list); + .ResumeGenerator(reg, reg, reg_list); // Intrinsics handled by the interpreter. builder.CallRuntime(Runtime::kInlineIsArray, reg_list); @@ -398,7 +397,7 @@ TEST_F(BytecodeArrayBuilderTest, AllBytecodesGenerated) { // Emit abort bytecode. { BytecodeLabel after; - builder.Abort(kGenerator).Bind(&after); + builder.Abort(AbortReason::kOperandIsASmi).Bind(&after); } // Insert dummy ops to force longer jumps. diff --git a/deps/v8/test/unittests/interpreter/bytecode-array-iterator-unittest.cc b/deps/v8/test/unittests/interpreter/bytecode-array-iterator-unittest.cc index ee5d8803f7..f7c89e2869 100644 --- a/deps/v8/test/unittests/interpreter/bytecode-array-iterator-unittest.cc +++ b/deps/v8/test/unittests/interpreter/bytecode-array-iterator-unittest.cc @@ -7,6 +7,7 @@ #include "src/interpreter/bytecode-array-builder.h" #include "src/interpreter/bytecode-array-iterator.h" #include "src/objects-inl.h" +#include "test/unittests/interpreter/bytecode-utils.h" #include "test/unittests/test-utils.h" namespace v8 { @@ -33,8 +34,8 @@ TEST_F(BytecodeArrayIteratorTest, IteratesBytecodeArray) { Smi* smi_1 = Smi::FromInt(-65536); Register reg_0(0); Register reg_1(1); - RegisterList pair(0, 2); - RegisterList triple(0, 3); + RegisterList pair = BytecodeUtils::NewRegisterList(0, 2); + RegisterList triple = BytecodeUtils::NewRegisterList(0, 3); Register param = Register::FromParameterIndex(2, builder.parameter_count()); const AstRawString* name = ast_factory.GetOneByteString("abc"); uint32_t name_index = 2; diff --git a/deps/v8/test/unittests/interpreter/bytecode-array-random-iterator-unittest.cc b/deps/v8/test/unittests/interpreter/bytecode-array-random-iterator-unittest.cc index 12cd55c2a9..8d2cd4c501 100644 --- a/deps/v8/test/unittests/interpreter/bytecode-array-random-iterator-unittest.cc +++ b/deps/v8/test/unittests/interpreter/bytecode-array-random-iterator-unittest.cc @@ -7,6 +7,7 @@ #include "src/interpreter/bytecode-array-builder.h" #include "src/interpreter/bytecode-array-random-iterator.h" #include "src/objects-inl.h" +#include "test/unittests/interpreter/bytecode-utils.h" #include "test/unittests/test-utils.h" namespace v8 { @@ -33,8 +34,8 @@ TEST_F(BytecodeArrayRandomIteratorTest, InvalidBeforeStart) { Smi* smi_1 = Smi::FromInt(-65536); Register reg_0(0); Register reg_1(1); - RegisterList pair(0, 2); - RegisterList triple(0, 3); + RegisterList pair = BytecodeUtils::NewRegisterList(0, 2); + RegisterList triple = BytecodeUtils::NewRegisterList(0, 3); Register param = Register::FromParameterIndex(2, builder.parameter_count()); const AstRawString* name = ast_factory.GetOneByteString("abc"); uint32_t feedback_slot = feedback_spec.AddLoadICSlot().ToInt(); @@ -87,8 +88,8 @@ TEST_F(BytecodeArrayRandomIteratorTest, InvalidAfterEnd) { Smi* smi_1 = Smi::FromInt(-65536); Register reg_0(0); Register reg_1(1); - RegisterList pair(0, 2); - RegisterList triple(0, 3); + RegisterList pair = BytecodeUtils::NewRegisterList(0, 2); + RegisterList triple = BytecodeUtils::NewRegisterList(0, 3); Register param = Register::FromParameterIndex(2, builder.parameter_count()); const AstRawString* name = ast_factory.GetOneByteString("abc"); uint32_t feedback_slot = feedback_spec.AddLoadICSlot().ToInt(); @@ -141,8 +142,8 @@ TEST_F(BytecodeArrayRandomIteratorTest, AccessesFirst) { Smi* smi_1 = Smi::FromInt(-65536); Register reg_0(0); Register reg_1(1); - RegisterList pair(0, 2); - RegisterList triple(0, 3); + RegisterList pair = BytecodeUtils::NewRegisterList(0, 2); + RegisterList triple = BytecodeUtils::NewRegisterList(0, 3); Register param = Register::FromParameterIndex(2, builder.parameter_count()); const AstRawString* name = ast_factory.GetOneByteString("abc"); uint32_t feedback_slot = feedback_spec.AddLoadICSlot().ToInt(); @@ -199,8 +200,8 @@ TEST_F(BytecodeArrayRandomIteratorTest, AccessesLast) { Smi* smi_1 = Smi::FromInt(-65536); Register reg_0(0); Register reg_1(1); - RegisterList pair(0, 2); - RegisterList triple(0, 3); + RegisterList pair = BytecodeUtils::NewRegisterList(0, 2); + RegisterList triple = BytecodeUtils::NewRegisterList(0, 3); Register param = Register::FromParameterIndex(2, builder.parameter_count()); const AstRawString* name = ast_factory.GetOneByteString("abc"); uint32_t feedback_slot = feedback_spec.AddLoadICSlot().ToInt(); @@ -258,8 +259,8 @@ TEST_F(BytecodeArrayRandomIteratorTest, RandomAccessValid) { Smi* smi_1 = Smi::FromInt(-65536); Register reg_0(0); Register reg_1(1); - RegisterList pair(0, 2); - RegisterList triple(0, 3); + RegisterList pair = BytecodeUtils::NewRegisterList(0, 2); + RegisterList triple = BytecodeUtils::NewRegisterList(0, 3); Register param = Register::FromParameterIndex(2, builder.parameter_count()); const AstRawString* name = ast_factory.GetOneByteString("abc"); uint32_t name_index = 2; @@ -443,8 +444,8 @@ TEST_F(BytecodeArrayRandomIteratorTest, IteratesBytecodeArray) { Smi* smi_1 = Smi::FromInt(-65536); Register reg_0(0); Register reg_1(1); - RegisterList pair(0, 2); - RegisterList triple(0, 3); + RegisterList pair = BytecodeUtils::NewRegisterList(0, 2); + RegisterList triple = BytecodeUtils::NewRegisterList(0, 3); Register param = Register::FromParameterIndex(2, builder.parameter_count()); const AstRawString* name = ast_factory.GetOneByteString("abc"); uint32_t name_index = 2; @@ -722,8 +723,8 @@ TEST_F(BytecodeArrayRandomIteratorTest, IteratesBytecodeArrayBackwards) { Smi* smi_1 = Smi::FromInt(-65536); Register reg_0(0); Register reg_1(1); - RegisterList pair(0, 2); - RegisterList triple(0, 3); + RegisterList pair = BytecodeUtils::NewRegisterList(0, 2); + RegisterList triple = BytecodeUtils::NewRegisterList(0, 3); Register param = Register::FromParameterIndex(2, builder.parameter_count()); const AstRawString* name = ast_factory.GetOneByteString("abc"); uint32_t name_index = 2; diff --git a/deps/v8/test/unittests/interpreter/bytecode-node-unittest.cc b/deps/v8/test/unittests/interpreter/bytecode-node-unittest.cc index af793ebcfe..8b8cae50ea 100644 --- a/deps/v8/test/unittests/interpreter/bytecode-node-unittest.cc +++ b/deps/v8/test/unittests/interpreter/bytecode-node-unittest.cc @@ -52,7 +52,7 @@ TEST_F(BytecodeNodeTest, Constructor4) { } TEST_F(BytecodeNodeTest, Constructor5) { - uint32_t operands[] = {0x71, 0xa5, 0x5a, 0xfc}; + uint32_t operands[] = {0x71, 0xA5, 0x5A, 0xFC}; BytecodeNode node(Bytecode::kForInNext, operands[0], operands[1], operands[2], operands[3]); CHECK_EQ(node.operand_count(), 4); @@ -65,7 +65,7 @@ TEST_F(BytecodeNodeTest, Constructor5) { } TEST_F(BytecodeNodeTest, Equality) { - uint32_t operands[] = {0x71, 0xa5, 0x5a, 0xfc}; + uint32_t operands[] = {0x71, 0xA5, 0x5A, 0xFC}; BytecodeNode node(Bytecode::kForInNext, operands[0], operands[1], operands[2], operands[3]); CHECK_EQ(node, node); @@ -75,7 +75,7 @@ TEST_F(BytecodeNodeTest, Equality) { } TEST_F(BytecodeNodeTest, EqualityWithSourceInfo) { - uint32_t operands[] = {0x71, 0xa5, 0x5a, 0xfc}; + uint32_t operands[] = {0x71, 0xA5, 0x5A, 0xFC}; BytecodeSourceInfo first_source_info(3, true); BytecodeNode node(Bytecode::kForInNext, operands[0], operands[1], operands[2], operands[3], first_source_info); @@ -87,7 +87,7 @@ TEST_F(BytecodeNodeTest, EqualityWithSourceInfo) { } TEST_F(BytecodeNodeTest, NoEqualityWithDifferentSourceInfo) { - uint32_t operands[] = {0x71, 0xa5, 0x5a, 0xfc}; + uint32_t operands[] = {0x71, 0xA5, 0x5A, 0xFC}; BytecodeSourceInfo source_info(77, true); BytecodeNode node(Bytecode::kForInNext, operands[0], operands[1], operands[2], operands[3], source_info); diff --git a/deps/v8/test/unittests/interpreter/bytecode-register-optimizer-unittest.cc b/deps/v8/test/unittests/interpreter/bytecode-register-optimizer-unittest.cc index 8c7b363ebf..9e3ceb140f 100644 --- a/deps/v8/test/unittests/interpreter/bytecode-register-optimizer-unittest.cc +++ b/deps/v8/test/unittests/interpreter/bytecode-register-optimizer-unittest.cc @@ -6,6 +6,7 @@ #include "src/interpreter/bytecode-label.h" #include "src/interpreter/bytecode-register-optimizer.h" +#include "test/unittests/interpreter/bytecode-utils.h" #include "test/unittests/test-utils.h" namespace v8 { @@ -169,8 +170,8 @@ TEST_F(BytecodeRegisterOptimizerTest, SingleTemporaryNotMaterializedForInput) { CHECK_EQ(write_count(), 0u); Register reg = optimizer()->GetInputRegister(temp0); - RegisterList reg_list = - optimizer()->GetInputRegisterList(RegisterList(temp0.index(), 1)); + RegisterList reg_list = optimizer()->GetInputRegisterList( + BytecodeUtils::NewRegisterList(temp0.index(), 1)); CHECK_EQ(write_count(), 0u); CHECK_EQ(parameter.index(), reg.index()); CHECK_EQ(parameter.index(), reg_list.first_register().index()); @@ -189,8 +190,8 @@ TEST_F(BytecodeRegisterOptimizerTest, RangeOfTemporariesMaterializedForInput) { optimizer() ->PrepareForBytecode<Bytecode::kCallJSRuntime, AccumulatorUse::kWrite>(); - RegisterList reg_list = - optimizer()->GetInputRegisterList(RegisterList(temp0.index(), 2)); + RegisterList reg_list = optimizer()->GetInputRegisterList( + BytecodeUtils::NewRegisterList(temp0.index(), 2)); CHECK_EQ(temp0.index(), reg_list.first_register().index()); CHECK_EQ(2, reg_list.register_count()); CHECK_EQ(write_count(), 2u); diff --git a/deps/v8/test/unittests/interpreter/bytecode-utils.h b/deps/v8/test/unittests/interpreter/bytecode-utils.h index 9a2cee3014..401884559e 100644 --- a/deps/v8/test/unittests/interpreter/bytecode-utils.h +++ b/deps/v8/test/unittests/interpreter/bytecode-utils.h @@ -6,6 +6,11 @@ #define V8_UNITTESTS_INTERPRETER_BYTECODE_UTILS_H_ #include "src/frames.h" +#include "src/interpreter/bytecode-register.h" + +namespace v8 { +namespace internal { +namespace interpreter { #if V8_TARGET_LITTLE_ENDIAN @@ -33,4 +38,19 @@ #define R16(i) U16(REG_OPERAND(i)) #define R32(i) U32(REG_OPERAND(i)) +class BytecodeUtils { + public: + // Expose raw RegisterList construction to tests. + static RegisterList NewRegisterList(int first_reg_index, int register_count) { + return RegisterList(first_reg_index, register_count); + } + + private: + DISALLOW_IMPLICIT_CONSTRUCTORS(BytecodeUtils); +}; + +} // namespace interpreter +} // namespace internal +} // namespace v8 + #endif // V8_UNITTESTS_INTERPRETER_BYTECODE_UTILS_H_ diff --git a/deps/v8/test/unittests/interpreter/interpreter-assembler-unittest.cc b/deps/v8/test/unittests/interpreter/interpreter-assembler-unittest.cc index 88acf680f5..03d9397c7f 100644 --- a/deps/v8/test/unittests/interpreter/interpreter-assembler-unittest.cc +++ b/deps/v8/test/unittests/interpreter/interpreter-assembler-unittest.cc @@ -417,7 +417,7 @@ TARGET_TEST_F(InterpreterAssemblerTest, StoreRegister) { TRACED_FOREACH(interpreter::Bytecode, bytecode, kBytecodes) { InterpreterAssemblerTestState state(this, bytecode); InterpreterAssemblerForTest m(&state, bytecode); - Node* store_value = m.Int32Constant(0xdeadbeef); + Node* store_value = m.Int32Constant(0xDEADBEEF); Node* reg_index_node = m.Parameter(0); Node* store_reg_node = m.StoreRegister(store_value, reg_index_node); EXPECT_THAT(store_reg_node, @@ -471,7 +471,7 @@ TARGET_TEST_F(InterpreterAssemblerTest, LoadObjectField) { TRACED_FOREACH(interpreter::Bytecode, bytecode, kBytecodes) { InterpreterAssemblerTestState state(this, bytecode); InterpreterAssemblerForTest m(&state, bytecode); - Node* object = m.IntPtrConstant(0xdeadbeef); + Node* object = m.IntPtrConstant(0xDEADBEEF); int offset = 16; Node* load_field = m.LoadObjectField(object, offset); EXPECT_THAT(load_field, |