| 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/compiler/machine-type.h" | 9 #include "src/compiler/machine-type.h" |
| 10 | 10 |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 170 // Floating point rounding. | 170 // Floating point rounding. |
| 171 const Operator* Float64Floor(); | 171 const Operator* Float64Floor(); |
| 172 const Operator* Float64Ceil(); | 172 const Operator* Float64Ceil(); |
| 173 const Operator* Float64RoundTruncate(); | 173 const Operator* Float64RoundTruncate(); |
| 174 const Operator* Float64RoundTiesAway(); | 174 const Operator* Float64RoundTiesAway(); |
| 175 bool HasFloat64Floor() { return flags_ & kFloat64Floor; } | 175 bool HasFloat64Floor() { return flags_ & kFloat64Floor; } |
| 176 bool HasFloat64Ceil() { return flags_ & kFloat64Ceil; } | 176 bool HasFloat64Ceil() { return flags_ & kFloat64Ceil; } |
| 177 bool HasFloat64RoundTruncate() { return flags_ & kFloat64RoundTruncate; } | 177 bool HasFloat64RoundTruncate() { return flags_ & kFloat64RoundTruncate; } |
| 178 bool HasFloat64RoundTiesAway() { return flags_ & kFloat64RoundTiesAway; } | 178 bool HasFloat64RoundTiesAway() { return flags_ & kFloat64RoundTiesAway; } |
| 179 | 179 |
| 180 // Floating point bit representation. |
| 181 const Operator* Float64ExtractLowWord32(); |
| 182 const Operator* Float64ExtractHighWord32(); |
| 183 const Operator* Float64InsertLowWord32(); |
| 184 const Operator* Float64InsertHighWord32(); |
| 185 |
| 180 // load [base + index] | 186 // load [base + index] |
| 181 const Operator* Load(LoadRepresentation rep); | 187 const Operator* Load(LoadRepresentation rep); |
| 182 | 188 |
| 183 // store [base + index], value | 189 // store [base + index], value |
| 184 const Operator* Store(StoreRepresentation rep); | 190 const Operator* Store(StoreRepresentation rep); |
| 185 | 191 |
| 186 // Access to the machine stack. | 192 // Access to the machine stack. |
| 187 const Operator* LoadStackPointer(); | 193 const Operator* LoadStackPointer(); |
| 188 | 194 |
| 189 // checked-load heap, index, length | 195 // checked-load heap, index, length |
| (...skipping 29 matching lines...) Expand all Loading... |
| 219 V(Uint, Mod) | 225 V(Uint, Mod) |
| 220 #define PSEUDO_OP(Prefix, Suffix) \ | 226 #define PSEUDO_OP(Prefix, Suffix) \ |
| 221 const Operator* Prefix##Suffix() { \ | 227 const Operator* Prefix##Suffix() { \ |
| 222 return Is32() ? Prefix##32##Suffix() : Prefix##64##Suffix(); \ | 228 return Is32() ? Prefix##32##Suffix() : Prefix##64##Suffix(); \ |
| 223 } | 229 } |
| 224 PSEUDO_OP_LIST(PSEUDO_OP) | 230 PSEUDO_OP_LIST(PSEUDO_OP) |
| 225 #undef PSEUDO_OP | 231 #undef PSEUDO_OP |
| 226 #undef PSEUDO_OP_LIST | 232 #undef PSEUDO_OP_LIST |
| 227 | 233 |
| 228 private: | 234 private: |
| 229 Zone* zone_; | 235 Zone* const zone_; |
| 230 const MachineOperatorGlobalCache& cache_; | 236 MachineOperatorGlobalCache const& cache_; |
| 231 const MachineType word_; | 237 MachineType const word_; |
| 232 const Flags flags_; | 238 Flags const flags_; |
| 233 | 239 |
| 234 DISALLOW_COPY_AND_ASSIGN(MachineOperatorBuilder); | 240 DISALLOW_COPY_AND_ASSIGN(MachineOperatorBuilder); |
| 235 }; | 241 }; |
| 236 | 242 |
| 237 | 243 |
| 238 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) | 244 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) |
| 239 | 245 |
| 240 } // namespace compiler | 246 } // namespace compiler |
| 241 } // namespace internal | 247 } // namespace internal |
| 242 } // namespace v8 | 248 } // namespace v8 |
| 243 | 249 |
| 244 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ | 250 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ |
| OLD | NEW |