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_REGISTER_CONFIGURATION_H_ | 5 #ifndef V8_COMPILER_REGISTER_CONFIGURATION_H_ |
6 #define V8_COMPILER_REGISTER_CONFIGURATION_H_ | 6 #define V8_COMPILER_REGISTER_CONFIGURATION_H_ |
7 | 7 |
8 #include "src/base/macros.h" | 8 #include "src/base/macros.h" |
9 #include "src/machine-type.h" | 9 #include "src/machine-type.h" |
10 | 10 |
(...skipping 20 matching lines...) Expand all Loading... |
31 | 31 |
32 // Architecture independent maxes. | 32 // Architecture independent maxes. |
33 static const int kMaxGeneralRegisters = 32; | 33 static const int kMaxGeneralRegisters = 32; |
34 static const int kMaxFPRegisters = 32; | 34 static const int kMaxFPRegisters = 32; |
35 | 35 |
36 static const RegisterConfiguration* ArchDefault(CompilerSelector compiler); | 36 static const RegisterConfiguration* ArchDefault(CompilerSelector compiler); |
37 | 37 |
38 RegisterConfiguration(int num_general_registers, int num_double_registers, | 38 RegisterConfiguration(int num_general_registers, int num_double_registers, |
39 int num_allocatable_general_registers, | 39 int num_allocatable_general_registers, |
40 int num_allocatable_double_registers, | 40 int num_allocatable_double_registers, |
41 AliasingKind fp_aliasing_kind, | |
42 const int* allocatable_general_codes, | 41 const int* allocatable_general_codes, |
43 const int* allocatable_double_codes, | 42 const int* allocatable_double_codes, |
| 43 AliasingKind fp_aliasing_kind, |
44 char const* const* general_names, | 44 char const* const* general_names, |
45 char const* const* float_names, | 45 char const* const* float_names, |
46 char const* const* double_names); | 46 char const* const* double_names); |
47 | 47 |
48 int num_general_registers() const { return num_general_registers_; } | 48 int num_general_registers() const { return num_general_registers_; } |
49 int num_float_registers() const { return num_float_registers_; } | 49 int num_float_registers() const { return num_float_registers_; } |
50 int num_double_registers() const { return num_double_registers_; } | 50 int num_double_registers() const { return num_double_registers_; } |
51 int num_allocatable_general_registers() const { | 51 int num_allocatable_general_registers() const { |
52 return num_allocatable_general_registers_; | 52 return num_allocatable_general_registers_; |
53 } | 53 } |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 bool AreAliases(MachineRepresentation rep, int index, | 104 bool AreAliases(MachineRepresentation rep, int index, |
105 MachineRepresentation other_rep, int other_index) const; | 105 MachineRepresentation other_rep, int other_index) const; |
106 | 106 |
107 private: | 107 private: |
108 const int num_general_registers_; | 108 const int num_general_registers_; |
109 int num_float_registers_; | 109 int num_float_registers_; |
110 const int num_double_registers_; | 110 const int num_double_registers_; |
111 int num_allocatable_general_registers_; | 111 int num_allocatable_general_registers_; |
112 int num_allocatable_double_registers_; | 112 int num_allocatable_double_registers_; |
113 int num_allocatable_float_registers_; | 113 int num_allocatable_float_registers_; |
114 AliasingKind fp_aliasing_kind_; | |
115 int32_t allocatable_general_codes_mask_; | 114 int32_t allocatable_general_codes_mask_; |
116 int32_t allocatable_double_codes_mask_; | 115 int32_t allocatable_double_codes_mask_; |
117 const int* allocatable_general_codes_; | 116 const int* allocatable_general_codes_; |
118 const int* allocatable_double_codes_; | 117 const int* allocatable_double_codes_; |
119 int allocatable_float_codes_[kMaxFPRegisters]; | 118 int allocatable_float_codes_[kMaxFPRegisters]; |
| 119 AliasingKind fp_aliasing_kind_; |
120 char const* const* general_register_names_; | 120 char const* const* general_register_names_; |
121 char const* const* float_register_names_; | 121 char const* const* float_register_names_; |
122 char const* const* double_register_names_; | 122 char const* const* double_register_names_; |
123 }; | 123 }; |
124 | 124 |
125 } // namespace internal | 125 } // namespace internal |
126 } // namespace v8 | 126 } // namespace v8 |
127 | 127 |
128 #endif // V8_COMPILER_REGISTER_CONFIGURATION_H_ | 128 #endif // V8_COMPILER_REGISTER_CONFIGURATION_H_ |
OLD | NEW |