summaryrefslogtreecommitdiff
path: root/deps/v8/test/unittests/interpreter
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2018-07-25 19:30:07 +0200
committerMichaël Zasso <targos@protonmail.com>2018-07-26 08:31:50 +0200
commit6a31d05340b22fc413ee83eaacd0a5565bbbe799 (patch)
tree78f9e1c2f417244842f6422f17e1816e70317100 /deps/v8/test/unittests/interpreter
parent4d94bb2b1f72b6b612983a517a39c5545724a3ad (diff)
downloadnode-new-6a31d05340b22fc413ee83eaacd0a5565bbbe799.tar.gz
deps: update V8 to 6.8.275.24
PR-URL: https://github.com/nodejs/node/pull/21079 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Yang Guo <yangguo@chromium.org>
Diffstat (limited to 'deps/v8/test/unittests/interpreter')
-rw-r--r--deps/v8/test/unittests/interpreter/bytecode-array-builder-unittest.cc10
-rw-r--r--deps/v8/test/unittests/interpreter/interpreter-assembler-unittest.cc41
2 files changed, 26 insertions, 25 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 e6348f4785..afcef22282 100644
--- a/deps/v8/test/unittests/interpreter/bytecode-array-builder-unittest.cc
+++ b/deps/v8/test/unittests/interpreter/bytecode-array-builder-unittest.cc
@@ -168,9 +168,9 @@ TEST_F(BytecodeArrayBuilderTest, AllBytecodesGenerated) {
// Emit create context operation.
builder.CreateBlockContext(&scope);
- builder.CreateCatchContext(reg, name, &scope);
- builder.CreateFunctionContext(1);
- builder.CreateEvalContext(1);
+ builder.CreateCatchContext(reg, &scope);
+ builder.CreateFunctionContext(&scope, 1);
+ builder.CreateEvalContext(&scope, 1);
builder.CreateWithContext(reg, &scope);
// Emit literal creation operations.
@@ -193,7 +193,7 @@ TEST_F(BytecodeArrayBuilderTest, AllBytecodesGenerated) {
.CallUndefinedReceiver(reg, pair, 1)
.CallRuntime(Runtime::kIsArray, reg)
.CallRuntimeForPair(Runtime::kLoadLookupSlotForCall, reg_list, pair)
- .CallJSRuntime(Context::OBJECT_IS_FROZEN, reg_list)
+ .CallJSRuntime(Context::OBJECT_CREATE, reg_list)
.CallWithSpread(reg, reg_list, 1);
// Emit binary operator invocations.
@@ -249,7 +249,6 @@ TEST_F(BytecodeArrayBuilderTest, AllBytecodesGenerated) {
// Emit test operator invocations.
builder.CompareOperation(Token::Value::EQ, reg, 1)
.CompareOperation(Token::Value::EQ_STRICT, reg, 2)
- .CompareOperation(Token::Value::EQ_STRICT, reg)
.CompareOperation(Token::Value::LT, reg, 3)
.CompareOperation(Token::Value::GT, reg, 4)
.CompareOperation(Token::Value::LTE, reg, 5)
@@ -257,6 +256,7 @@ TEST_F(BytecodeArrayBuilderTest, AllBytecodesGenerated) {
.CompareTypeOf(TestTypeOfFlags::LiteralFlag::kNumber)
.CompareOperation(Token::Value::INSTANCEOF, reg, 7)
.CompareOperation(Token::Value::IN, reg)
+ .CompareReference(reg)
.CompareUndetectable()
.CompareUndefined()
.CompareNull();
diff --git a/deps/v8/test/unittests/interpreter/interpreter-assembler-unittest.cc b/deps/v8/test/unittests/interpreter/interpreter-assembler-unittest.cc
index cb4875063c..3502e6d129 100644
--- a/deps/v8/test/unittests/interpreter/interpreter-assembler-unittest.cc
+++ b/deps/v8/test/unittests/interpreter/interpreter-assembler-unittest.cc
@@ -28,7 +28,8 @@ InterpreterAssemblerTestState::InterpreterAssemblerTestState(
test->isolate(), test->zone(),
InterpreterDispatchDescriptor(test->isolate()),
Code::BYTECODE_HANDLER, Bytecodes::ToString(bytecode),
- PoisoningMitigationLevel::kOn, Bytecodes::ReturnCount(bytecode)) {}
+ PoisoningMitigationLevel::kPoisonCriticalOnly,
+ Bytecodes::ReturnCount(bytecode)) {}
const interpreter::Bytecode kBytecodes[] = {
#define DEFINE_BYTECODE(Name, ...) interpreter::Bytecode::k##Name,
@@ -53,8 +54,10 @@ Matcher<Node*> InterpreterAssemblerTest::InterpreterAssemblerForTest::IsLoad(
const Matcher<c::LoadRepresentation>& rep_matcher,
const Matcher<Node*>& base_matcher, const Matcher<Node*>& index_matcher,
LoadSensitivity needs_poisoning) {
- if (poisoning_enabled() == PoisoningMitigationLevel::kOn &&
- needs_poisoning == LoadSensitivity::kNeedsPoisoning) {
+ CHECK_NE(LoadSensitivity::kUnsafe, needs_poisoning);
+ CHECK_NE(PoisoningMitigationLevel::kPoisonAll, poisoning_level());
+ if (poisoning_level() == PoisoningMitigationLevel::kPoisonCriticalOnly &&
+ needs_poisoning == LoadSensitivity::kCritical) {
return ::i::compiler::IsPoisonedLoad(rep_matcher, base_matcher,
index_matcher, _, _);
}
@@ -293,7 +296,7 @@ InterpreterAssemblerTest::InterpreterAssemblerForTest::IsLoadRegisterOperand(
return IsLoad(
MachineType::AnyTagged(), c::IsLoadParentFramePointer(),
c::IsWordShl(reg_operand, c::IsIntPtrConstant(kPointerSizeLog2)),
- LoadSensitivity::kNeedsPoisoning);
+ LoadSensitivity::kCritical);
}
TARGET_TEST_F(InterpreterAssemblerTest, Jump) {
@@ -354,45 +357,43 @@ TARGET_TEST_F(InterpreterAssemblerTest, BytecodeOperand) {
case interpreter::OperandType::kRegCount:
EXPECT_THAT(m.BytecodeOperandCount(i),
m.IsUnsignedOperand(offset, operand_size,
- LoadSensitivity::kNeedsPoisoning));
+ LoadSensitivity::kCritical));
break;
case interpreter::OperandType::kFlag8:
EXPECT_THAT(m.BytecodeOperandFlag(i),
m.IsUnsignedOperand(offset, operand_size,
- LoadSensitivity::kNeedsPoisoning));
+ LoadSensitivity::kCritical));
break;
case interpreter::OperandType::kIdx:
- EXPECT_THAT(
- m.BytecodeOperandIdx(i),
- c::IsChangeUint32ToWord(m.IsUnsignedOperand(
- offset, operand_size, LoadSensitivity::kNeedsPoisoning)));
+ EXPECT_THAT(m.BytecodeOperandIdx(i),
+ c::IsChangeUint32ToWord(m.IsUnsignedOperand(
+ offset, operand_size, LoadSensitivity::kCritical)));
break;
case interpreter::OperandType::kNativeContextIndex:
- EXPECT_THAT(
- m.BytecodeOperandNativeContextIndex(i),
- c::IsChangeUint32ToWord(m.IsUnsignedOperand(
- offset, operand_size, LoadSensitivity::kNeedsPoisoning)));
+ EXPECT_THAT(m.BytecodeOperandNativeContextIndex(i),
+ c::IsChangeUint32ToWord(m.IsUnsignedOperand(
+ offset, operand_size, LoadSensitivity::kCritical)));
break;
case interpreter::OperandType::kUImm:
EXPECT_THAT(m.BytecodeOperandUImm(i),
m.IsUnsignedOperand(offset, operand_size,
- LoadSensitivity::kNeedsPoisoning));
+ LoadSensitivity::kCritical));
break;
case interpreter::OperandType::kImm: {
EXPECT_THAT(m.BytecodeOperandImm(i),
m.IsSignedOperand(offset, operand_size,
- LoadSensitivity::kNeedsPoisoning));
+ LoadSensitivity::kCritical));
break;
}
case interpreter::OperandType::kRuntimeId:
EXPECT_THAT(m.BytecodeOperandRuntimeId(i),
m.IsUnsignedOperand(offset, operand_size,
- LoadSensitivity::kNeedsPoisoning));
+ LoadSensitivity::kCritical));
break;
case interpreter::OperandType::kIntrinsicId:
EXPECT_THAT(m.BytecodeOperandIntrinsicId(i),
m.IsUnsignedOperand(offset, operand_size,
- LoadSensitivity::kNeedsPoisoning));
+ LoadSensitivity::kCritical));
break;
case interpreter::OperandType::kRegList:
case interpreter::OperandType::kReg:
@@ -442,7 +443,7 @@ TARGET_TEST_F(InterpreterAssemblerTest, LoadConstantPoolEntry) {
m.IsLoad(MachineType::AnyTagged(), constant_pool_matcher,
c::IsIntPtrConstant(FixedArray::OffsetOfElementAt(2) -
kHeapObjectTag),
- LoadSensitivity::kNeedsPoisoning));
+ LoadSensitivity::kCritical));
}
{
Node* index = m.Parameter(2);
@@ -459,7 +460,7 @@ TARGET_TEST_F(InterpreterAssemblerTest, LoadConstantPoolEntry) {
c::IsIntPtrAdd(
c::IsIntPtrConstant(FixedArray::kHeaderSize - kHeapObjectTag),
c::IsWordShl(index, c::IsIntPtrConstant(kPointerSizeLog2))),
- LoadSensitivity::kNeedsPoisoning));
+ LoadSensitivity::kCritical));
}
}
}