OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_MACHINE_OPERATOR_H_ | 5 #ifndef V8_COMPILER_MACHINE_OPERATOR_H_ |
6 #define V8_COMPILER_MACHINE_OPERATOR_H_ | 6 #define V8_COMPILER_MACHINE_OPERATOR_H_ |
7 | 7 |
8 #include "src/compiler/machine-type.h" | 8 #include "src/compiler/machine-type.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 WriteBarrierKind write_barrier_kind_; | 42 WriteBarrierKind write_barrier_kind_; |
43 }; | 43 }; |
44 | 44 |
45 bool operator==(StoreRepresentation, StoreRepresentation); | 45 bool operator==(StoreRepresentation, StoreRepresentation); |
46 bool operator!=(StoreRepresentation, StoreRepresentation); | 46 bool operator!=(StoreRepresentation, StoreRepresentation); |
47 | 47 |
48 size_t hash_value(StoreRepresentation); | 48 size_t hash_value(StoreRepresentation); |
49 | 49 |
50 std::ostream& operator<<(std::ostream&, StoreRepresentation); | 50 std::ostream& operator<<(std::ostream&, StoreRepresentation); |
51 | 51 |
| 52 StoreRepresentation const& StoreRepresentationOf(Operator const*); |
| 53 |
52 | 54 |
53 // Interface for building machine-level operators. These operators are | 55 // Interface for building machine-level operators. These operators are |
54 // machine-level but machine-independent and thus define a language suitable | 56 // machine-level but machine-independent and thus define a language suitable |
55 // for generating code to run on architectures such as ia32, x64, arm, etc. | 57 // for generating code to run on architectures such as ia32, x64, arm, etc. |
56 class MachineOperatorBuilder FINAL { | 58 class MachineOperatorBuilder FINAL { |
57 public: | 59 public: |
58 explicit MachineOperatorBuilder(MachineType word = kMachPtr); | 60 explicit MachineOperatorBuilder(MachineType word = kMachPtr); |
59 | 61 |
60 const Operator* Word32And(); | 62 const Operator* Word32And(); |
61 const Operator* Word32Or(); | 63 const Operator* Word32Or(); |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 private: | 180 private: |
179 const MachineOperatorBuilderImpl& impl_; | 181 const MachineOperatorBuilderImpl& impl_; |
180 const MachineType word_; | 182 const MachineType word_; |
181 }; | 183 }; |
182 | 184 |
183 } // namespace compiler | 185 } // namespace compiler |
184 } // namespace internal | 186 } // namespace internal |
185 } // namespace v8 | 187 } // namespace v8 |
186 | 188 |
187 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ | 189 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ |
OLD | NEW |