| 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 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 328 // Access to the machine stack. | 328 // Access to the machine stack. |
| 329 const Operator* LoadStackPointer(); | 329 const Operator* LoadStackPointer(); |
| 330 const Operator* LoadFramePointer(); | 330 const Operator* LoadFramePointer(); |
| 331 const Operator* LoadParentFramePointer(); | 331 const Operator* LoadParentFramePointer(); |
| 332 | 332 |
| 333 // checked-load heap, index, length | 333 // checked-load heap, index, length |
| 334 const Operator* CheckedLoad(CheckedLoadRepresentation); | 334 const Operator* CheckedLoad(CheckedLoadRepresentation); |
| 335 // checked-store heap, index, length, value | 335 // checked-store heap, index, length, value |
| 336 const Operator* CheckedStore(CheckedStoreRepresentation); | 336 const Operator* CheckedStore(CheckedStoreRepresentation); |
| 337 | 337 |
| 338 // atomic-load [base + index] | |
| 339 const Operator* AtomicLoad(LoadRepresentation rep); | |
| 340 | |
| 341 // Target machine word-size assumed by this builder. | 338 // Target machine word-size assumed by this builder. |
| 342 bool Is32() const { return word() == MachineRepresentation::kWord32; } | 339 bool Is32() const { return word() == MachineRepresentation::kWord32; } |
| 343 bool Is64() const { return word() == MachineRepresentation::kWord64; } | 340 bool Is64() const { return word() == MachineRepresentation::kWord64; } |
| 344 MachineRepresentation word() const { return word_; } | 341 MachineRepresentation word() const { return word_; } |
| 345 | 342 |
| 346 // Pseudo operators that translate to 32/64-bit operators depending on the | 343 // Pseudo operators that translate to 32/64-bit operators depending on the |
| 347 // word-size of the target machine assumed by this builder. | 344 // word-size of the target machine assumed by this builder. |
| 348 #define PSEUDO_OP_LIST(V) \ | 345 #define PSEUDO_OP_LIST(V) \ |
| 349 V(Word, And) \ | 346 V(Word, And) \ |
| 350 V(Word, Or) \ | 347 V(Word, Or) \ |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 382 }; | 379 }; |
| 383 | 380 |
| 384 | 381 |
| 385 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) | 382 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) |
| 386 | 383 |
| 387 } // namespace compiler | 384 } // namespace compiler |
| 388 } // namespace internal | 385 } // namespace internal |
| 389 } // namespace v8 | 386 } // namespace v8 |
| 390 | 387 |
| 391 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ | 388 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ |
| OLD | NEW |