| OLD | NEW | 
|    1 // Copyright 2014 the V8 project authors. All rights reserved. |    1 // Copyright 2014 the V8 project authors. All rights reserved. | 
|    2 // Use of this source code is governed by a BSD-style license that can be |    2 // Use of this source code is governed by a BSD-style license that can be | 
|    3 // found in the LICENSE file. |    3 // found in the LICENSE file. | 
|    4  |    4  | 
|    5 #ifndef V8_COMPILER_UNITTESTS_INSTRUCTION_SELECTOR_UNITTEST_H_ |    5 #ifndef V8_COMPILER_UNITTESTS_INSTRUCTION_SELECTOR_UNITTEST_H_ | 
|    6 #define V8_COMPILER_UNITTESTS_INSTRUCTION_SELECTOR_UNITTEST_H_ |    6 #define V8_COMPILER_UNITTESTS_INSTRUCTION_SELECTOR_UNITTEST_H_ | 
|    7  |    7  | 
|    8 #include <deque> |    8 #include <deque> | 
|    9 #include <ostream>  // NOLINT(readability/streams) |    9 #include <set> | 
|   10  |   10  | 
|   11 #include "src/base/utils/random-number-generator.h" |   11 #include "src/base/utils/random-number-generator.h" | 
|   12 #include "src/compiler/instruction-selector.h" |   12 #include "src/compiler/instruction-selector.h" | 
|   13 #include "src/compiler/raw-machine-assembler.h" |   13 #include "src/compiler/raw-machine-assembler.h" | 
|   14 #include "test/compiler-unittests/compiler-unittests.h" |   14 #include "test/compiler-unittests/compiler-unittests.h" | 
|   15  |   15  | 
|   16 namespace v8 { |   16 namespace v8 { | 
|   17 namespace internal { |   17 namespace internal { | 
|   18 namespace compiler { |   18 namespace compiler { | 
|   19  |   19  | 
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  109   }; |  109   }; | 
|  110  |  110  | 
|  111   class Stream V8_FINAL { |  111   class Stream V8_FINAL { | 
|  112    public: |  112    public: | 
|  113     size_t size() const { return instructions_.size(); } |  113     size_t size() const { return instructions_.size(); } | 
|  114     const Instruction* operator[](size_t index) const { |  114     const Instruction* operator[](size_t index) const { | 
|  115       EXPECT_LT(index, size()); |  115       EXPECT_LT(index, size()); | 
|  116       return instructions_[index]; |  116       return instructions_[index]; | 
|  117     } |  117     } | 
|  118  |  118  | 
 |  119     bool IsDouble(int virtual_register) const { | 
 |  120       return doubles_.find(virtual_register) != doubles_.end(); | 
 |  121     } | 
 |  122  | 
 |  123     bool IsReference(int virtual_register) const { | 
 |  124       return references_.find(virtual_register) != references_.end(); | 
 |  125     } | 
 |  126  | 
|  119     int32_t ToInt32(const InstructionOperand* operand) const { |  127     int32_t ToInt32(const InstructionOperand* operand) const { | 
|  120       return ToConstant(operand).ToInt32(); |  128       return ToConstant(operand).ToInt32(); | 
|  121     } |  129     } | 
|  122  |  130  | 
|  123     int ToVreg(const InstructionOperand* operand) const { |  131     int ToVreg(const InstructionOperand* operand) const { | 
|  124       EXPECT_EQ(InstructionOperand::UNALLOCATED, operand->kind()); |  132       EXPECT_EQ(InstructionOperand::UNALLOCATED, operand->kind()); | 
|  125       return UnallocatedOperand::cast(operand)->virtual_register(); |  133       return UnallocatedOperand::cast(operand)->virtual_register(); | 
|  126     } |  134     } | 
|  127  |  135  | 
|  128    private: |  136    private: | 
| (...skipping 11 matching lines...) Expand all  Loading... | 
|  140       return i->second; |  148       return i->second; | 
|  141     } |  149     } | 
|  142  |  150  | 
|  143     friend class StreamBuilder; |  151     friend class StreamBuilder; | 
|  144  |  152  | 
|  145     typedef std::map<int, Constant> ConstantMap; |  153     typedef std::map<int, Constant> ConstantMap; | 
|  146  |  154  | 
|  147     ConstantMap constants_; |  155     ConstantMap constants_; | 
|  148     ConstantMap immediates_; |  156     ConstantMap immediates_; | 
|  149     std::deque<Instruction*> instructions_; |  157     std::deque<Instruction*> instructions_; | 
 |  158     std::set<int> doubles_; | 
 |  159     std::set<int> references_; | 
|  150   }; |  160   }; | 
|  151  |  161  | 
|  152   base::RandomNumberGenerator rng_; |  162   base::RandomNumberGenerator rng_; | 
|  153 }; |  163 }; | 
|  154  |  164  | 
|  155  |  165  | 
|  156 template <typename T> |  166 template <typename T> | 
|  157 class InstructionSelectorTestWithParam |  167 class InstructionSelectorTestWithParam | 
|  158     : public InstructionSelectorTest, |  168     : public InstructionSelectorTest, | 
|  159       public ::testing::WithParamInterface<T> {}; |  169       public ::testing::WithParamInterface<T> {}; | 
|  160  |  170  | 
|  161 }  // namespace compiler |  171 }  // namespace compiler | 
|  162 }  // namespace internal |  172 }  // namespace internal | 
|  163 }  // namespace v8 |  173 }  // namespace v8 | 
|  164  |  174  | 
|  165 #endif  // V8_COMPILER_UNITTESTS_INSTRUCTION_SELECTOR_UNITTEST_H_ |  175 #endif  // V8_COMPILER_UNITTESTS_INSTRUCTION_SELECTOR_UNITTEST_H_ | 
| OLD | NEW |