| 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 1282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1293 | 1293 |
| 1294 bool needs_frame() const { return needs_frame_; } | 1294 bool needs_frame() const { return needs_frame_; } |
| 1295 void mark_needs_frame() { needs_frame_ = true; } | 1295 void mark_needs_frame() { needs_frame_ = true; } |
| 1296 | 1296 |
| 1297 bool must_construct_frame() const { return must_construct_frame_; } | 1297 bool must_construct_frame() const { return must_construct_frame_; } |
| 1298 void mark_must_construct_frame() { must_construct_frame_ = true; } | 1298 void mark_must_construct_frame() { must_construct_frame_ = true; } |
| 1299 | 1299 |
| 1300 bool must_deconstruct_frame() const { return must_deconstruct_frame_; } | 1300 bool must_deconstruct_frame() const { return must_deconstruct_frame_; } |
| 1301 void mark_must_deconstruct_frame() { must_deconstruct_frame_ = true; } | 1301 void mark_must_deconstruct_frame() { must_deconstruct_frame_ = true; } |
| 1302 | 1302 |
| 1303 void set_last_deferred(RpoNumber last) { last_deferred_ = last; } | |
| 1304 RpoNumber last_deferred() const { return last_deferred_; } | |
| 1305 | |
| 1306 private: | 1303 private: |
| 1307 Successors successors_; | 1304 Successors successors_; |
| 1308 Predecessors predecessors_; | 1305 Predecessors predecessors_; |
| 1309 PhiInstructions phis_; | 1306 PhiInstructions phis_; |
| 1310 RpoNumber ao_number_; // Assembly order number. | 1307 RpoNumber ao_number_; // Assembly order number. |
| 1311 const RpoNumber rpo_number_; | 1308 const RpoNumber rpo_number_; |
| 1312 const RpoNumber loop_header_; | 1309 const RpoNumber loop_header_; |
| 1313 const RpoNumber loop_end_; | 1310 const RpoNumber loop_end_; |
| 1314 int32_t code_start_; // start index of arch-specific code. | 1311 int32_t code_start_; // start index of arch-specific code. |
| 1315 int32_t code_end_; // end index of arch-specific code. | 1312 int32_t code_end_; // end index of arch-specific code. |
| 1316 const bool deferred_; // Block contains deferred code. | 1313 const bool deferred_; // Block contains deferred code. |
| 1317 const bool handler_; // Block is a handler entry point. | 1314 const bool handler_; // Block is a handler entry point. |
| 1318 bool needs_frame_; | 1315 bool needs_frame_; |
| 1319 bool must_construct_frame_; | 1316 bool must_construct_frame_; |
| 1320 bool must_deconstruct_frame_; | 1317 bool must_deconstruct_frame_; |
| 1321 RpoNumber last_deferred_; | |
| 1322 }; | 1318 }; |
| 1323 | 1319 |
| 1324 class InstructionSequence; | 1320 class InstructionSequence; |
| 1325 | 1321 |
| 1326 struct PrintableInstructionBlock { | 1322 struct PrintableInstructionBlock { |
| 1327 const RegisterConfiguration* register_configuration_; | 1323 const RegisterConfiguration* register_configuration_; |
| 1328 const InstructionBlock* block_; | 1324 const InstructionBlock* block_; |
| 1329 const InstructionSequence* code_; | 1325 const InstructionSequence* code_; |
| 1330 }; | 1326 }; |
| 1331 | 1327 |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1536 | 1532 |
| 1537 | 1533 |
| 1538 std::ostream& operator<<(std::ostream& os, | 1534 std::ostream& operator<<(std::ostream& os, |
| 1539 const PrintableInstructionSequence& code); | 1535 const PrintableInstructionSequence& code); |
| 1540 | 1536 |
| 1541 } // namespace compiler | 1537 } // namespace compiler |
| 1542 } // namespace internal | 1538 } // namespace internal |
| 1543 } // namespace v8 | 1539 } // namespace v8 |
| 1544 | 1540 |
| 1545 #endif // V8_COMPILER_INSTRUCTION_H_ | 1541 #endif // V8_COMPILER_INSTRUCTION_H_ |
| OLD | NEW |