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_INSTRUCTION_H_ | 5 #ifndef V8_COMPILER_INSTRUCTION_H_ |
6 #define V8_COMPILER_INSTRUCTION_H_ | 6 #define V8_COMPILER_INSTRUCTION_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 #include <iosfwd> | 9 #include <iosfwd> |
10 #include <map> | 10 #include <map> |
(...skipping 1552 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1563 void Print() const; | 1563 void Print() const; |
1564 | 1564 |
1565 void PrintBlock(const RegisterConfiguration* config, int block_id) const; | 1565 void PrintBlock(const RegisterConfiguration* config, int block_id) const; |
1566 void PrintBlock(int block_id) const; | 1566 void PrintBlock(int block_id) const; |
1567 | 1567 |
1568 void ValidateEdgeSplitForm() const; | 1568 void ValidateEdgeSplitForm() const; |
1569 void ValidateDeferredBlockExitPaths() const; | 1569 void ValidateDeferredBlockExitPaths() const; |
1570 void ValidateDeferredBlockEntryPaths() const; | 1570 void ValidateDeferredBlockEntryPaths() const; |
1571 void ValidateSSA() const; | 1571 void ValidateSSA() const; |
1572 | 1572 |
| 1573 static void SetRegisterConfigurationForTesting( |
| 1574 const RegisterConfiguration* regConfig); |
| 1575 static void ClearRegisterConfigurationForTesting(); |
| 1576 |
1573 private: | 1577 private: |
1574 friend V8_EXPORT_PRIVATE std::ostream& operator<<( | 1578 friend V8_EXPORT_PRIVATE std::ostream& operator<<( |
1575 std::ostream& os, const PrintableInstructionSequence& code); | 1579 std::ostream& os, const PrintableInstructionSequence& code); |
1576 | 1580 |
1577 typedef ZoneMap<const Instruction*, SourcePosition> SourcePositionMap; | 1581 typedef ZoneMap<const Instruction*, SourcePosition> SourcePositionMap; |
1578 | 1582 |
| 1583 static const RegisterConfiguration* RegisterConfigurationForTesting(); |
| 1584 static const RegisterConfiguration* registerConfigurationForTesting_; |
| 1585 |
1579 Isolate* isolate_; | 1586 Isolate* isolate_; |
1580 Zone* const zone_; | 1587 Zone* const zone_; |
1581 InstructionBlocks* const instruction_blocks_; | 1588 InstructionBlocks* const instruction_blocks_; |
1582 SourcePositionMap source_positions_; | 1589 SourcePositionMap source_positions_; |
1583 ConstantMap constants_; | 1590 ConstantMap constants_; |
1584 Immediates immediates_; | 1591 Immediates immediates_; |
1585 InstructionDeque instructions_; | 1592 InstructionDeque instructions_; |
1586 int next_virtual_register_; | 1593 int next_virtual_register_; |
1587 ReferenceMapDeque reference_maps_; | 1594 ReferenceMapDeque reference_maps_; |
1588 ZoneVector<MachineRepresentation> representations_; | 1595 ZoneVector<MachineRepresentation> representations_; |
(...skipping 13 matching lines...) Expand all Loading... |
1602 }; | 1609 }; |
1603 | 1610 |
1604 V8_EXPORT_PRIVATE std::ostream& operator<<( | 1611 V8_EXPORT_PRIVATE std::ostream& operator<<( |
1605 std::ostream& os, const PrintableInstructionSequence& code); | 1612 std::ostream& os, const PrintableInstructionSequence& code); |
1606 | 1613 |
1607 } // namespace compiler | 1614 } // namespace compiler |
1608 } // namespace internal | 1615 } // namespace internal |
1609 } // namespace v8 | 1616 } // namespace v8 |
1610 | 1617 |
1611 #endif // V8_COMPILER_INSTRUCTION_H_ | 1618 #endif // V8_COMPILER_INSTRUCTION_H_ |
OLD | NEW |