Chromium Code Reviews| Index: test/unittests/interpreter/bytecodes-unittest.cc |
| diff --git a/test/unittests/interpreter/bytecodes-unittest.cc b/test/unittests/interpreter/bytecodes-unittest.cc |
| index 58f72c4424319b53ef14dd6d3c6d982cbba47acb..b3554c385372869de67591df26a31a14b0e6ead8 100644 |
| --- a/test/unittests/interpreter/bytecodes-unittest.cc |
| +++ b/test/unittests/interpreter/bytecodes-unittest.cc |
| @@ -280,6 +280,41 @@ TEST(OperandScale, PrefixesRequired) { |
| Bytecode::kExtraWide); |
| } |
| +TEST(AccumulatorUse, LogicalOperators) { |
| + CHECK_EQ(AccumulatorUse::kNone | AccumulatorUse::kRead, |
| + AccumulatorUse::kRead); |
| + CHECK_EQ(AccumulatorUse::kRead | AccumulatorUse::kWrite, |
| + AccumulatorUse::kReadWrite); |
| + CHECK_EQ(AccumulatorUse::kRead & AccumulatorUse::kReadWrite, |
| + AccumulatorUse::kRead); |
| + CHECK_EQ(AccumulatorUse::kRead & AccumulatorUse::kWrite, |
| + AccumulatorUse::kNone); |
| +} |
| + |
| +TEST(AccumulatorUse, SampleBytecodes) { |
| + CHECK(Bytecodes::ReadsAccumulator(Bytecode::kStar)); |
| + CHECK(!Bytecodes::WritesAccumulator(Bytecode::kStar)); |
| + CHECK_EQ(Bytecodes::GetAccumulatorUse(Bytecode::kStar), |
| + AccumulatorUse::kRead); |
| + CHECK(!Bytecodes::ReadsAccumulator(Bytecode::kLdar)); |
| + CHECK(Bytecodes::WritesAccumulator(Bytecode::kLdar)); |
| + CHECK_EQ(Bytecodes::GetAccumulatorUse(Bytecode::kLdar), |
| + AccumulatorUse::kWrite); |
| + CHECK(Bytecodes::ReadsAccumulator(Bytecode::kAdd)); |
| + CHECK(Bytecodes::WritesAccumulator(Bytecode::kAdd)); |
| + CHECK_EQ(Bytecodes::GetAccumulatorUse(Bytecode::kAdd), |
| + AccumulatorUse::kReadWrite); |
| +} |
| + |
| +TEST(AccumulatorUse, AccumulatorUseToString) { |
| + std::set<std::string> names; |
| + names.insert(Bytecodes::AccumulatorUseToString(AccumulatorUse::kNone)); |
| + names.insert(Bytecodes::AccumulatorUseToString(AccumulatorUse::kRead)); |
| + names.insert(Bytecodes::AccumulatorUseToString(AccumulatorUse::kWrite)); |
| + names.insert(Bytecodes::AccumulatorUseToString(AccumulatorUse::kReadWrite)); |
| + CHECK_EQ(names.size(), 4); |
|
rmcilroy
2016/04/05 12:59:23
Not sure what this is testing?
oth
2016/04/05 14:12:10
It tests the associated names of the AccumulatorUs
|
| +} |
| + |
| } // namespace interpreter |
| } // namespace internal |
| } // namespace v8 |