| 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/base/flags.h" | 8 #include "src/base/flags.h" |
| 9 #include "src/machine-type.h" | 9 #include "src/machine-type.h" |
| 10 | 10 |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 187 const Vector<MachineType> unalignedStoreSupportedTypes_; | 187 const Vector<MachineType> unalignedStoreSupportedTypes_; |
| 188 }; | 188 }; |
| 189 | 189 |
| 190 explicit MachineOperatorBuilder( | 190 explicit MachineOperatorBuilder( |
| 191 Zone* zone, | 191 Zone* zone, |
| 192 MachineRepresentation word = MachineType::PointerRepresentation(), | 192 MachineRepresentation word = MachineType::PointerRepresentation(), |
| 193 Flags supportedOperators = kNoFlags, | 193 Flags supportedOperators = kNoFlags, |
| 194 AlignmentRequirements alignmentRequirements = | 194 AlignmentRequirements alignmentRequirements = |
| 195 AlignmentRequirements::NoUnalignedAccessSupport()); | 195 AlignmentRequirements::NoUnalignedAccessSupport()); |
| 196 | 196 |
| 197 const Operator* Comment(const char* msg); |
| 197 const Operator* DebugBreak(); | 198 const Operator* DebugBreak(); |
| 198 | 199 |
| 199 const Operator* Word32And(); | 200 const Operator* Word32And(); |
| 200 const Operator* Word32Or(); | 201 const Operator* Word32Or(); |
| 201 const Operator* Word32Xor(); | 202 const Operator* Word32Xor(); |
| 202 const Operator* Word32Shl(); | 203 const Operator* Word32Shl(); |
| 203 const Operator* Word32Shr(); | 204 const Operator* Word32Shr(); |
| 204 const Operator* Word32Sar(); | 205 const Operator* Word32Sar(); |
| 205 const Operator* Word32Ror(); | 206 const Operator* Word32Ror(); |
| 206 const Operator* Word32Equal(); | 207 const Operator* Word32Equal(); |
| (...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 621 V(Uint, Mod) | 622 V(Uint, Mod) |
| 622 #define PSEUDO_OP(Prefix, Suffix) \ | 623 #define PSEUDO_OP(Prefix, Suffix) \ |
| 623 const Operator* Prefix##Suffix() { \ | 624 const Operator* Prefix##Suffix() { \ |
| 624 return Is32() ? Prefix##32##Suffix() : Prefix##64##Suffix(); \ | 625 return Is32() ? Prefix##32##Suffix() : Prefix##64##Suffix(); \ |
| 625 } | 626 } |
| 626 PSEUDO_OP_LIST(PSEUDO_OP) | 627 PSEUDO_OP_LIST(PSEUDO_OP) |
| 627 #undef PSEUDO_OP | 628 #undef PSEUDO_OP |
| 628 #undef PSEUDO_OP_LIST | 629 #undef PSEUDO_OP_LIST |
| 629 | 630 |
| 630 private: | 631 private: |
| 632 Zone* zone_; |
| 631 MachineOperatorGlobalCache const& cache_; | 633 MachineOperatorGlobalCache const& cache_; |
| 632 MachineRepresentation const word_; | 634 MachineRepresentation const word_; |
| 633 Flags const flags_; | 635 Flags const flags_; |
| 634 AlignmentRequirements const alignment_requirements_; | 636 AlignmentRequirements const alignment_requirements_; |
| 635 | 637 |
| 636 DISALLOW_COPY_AND_ASSIGN(MachineOperatorBuilder); | 638 DISALLOW_COPY_AND_ASSIGN(MachineOperatorBuilder); |
| 637 }; | 639 }; |
| 638 | 640 |
| 639 | 641 |
| 640 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) | 642 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) |
| 641 | 643 |
| 642 } // namespace compiler | 644 } // namespace compiler |
| 643 } // namespace internal | 645 } // namespace internal |
| 644 } // namespace v8 | 646 } // namespace v8 |
| 645 | 647 |
| 646 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ | 648 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ |
| OLD | NEW |