| 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 1248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1259 | 1259 |
| 1260 bool needs_frame() const { return needs_frame_; } | 1260 bool needs_frame() const { return needs_frame_; } |
| 1261 void mark_needs_frame() { needs_frame_ = true; } | 1261 void mark_needs_frame() { needs_frame_ = true; } |
| 1262 | 1262 |
| 1263 bool must_construct_frame() const { return must_construct_frame_; } | 1263 bool must_construct_frame() const { return must_construct_frame_; } |
| 1264 void mark_must_construct_frame() { must_construct_frame_ = true; } | 1264 void mark_must_construct_frame() { must_construct_frame_ = true; } |
| 1265 | 1265 |
| 1266 bool must_deconstruct_frame() const { return must_deconstruct_frame_; } | 1266 bool must_deconstruct_frame() const { return must_deconstruct_frame_; } |
| 1267 void mark_must_deconstruct_frame() { must_deconstruct_frame_ = true; } | 1267 void mark_must_deconstruct_frame() { must_deconstruct_frame_ = true; } |
| 1268 | 1268 |
| 1269 void set_last_deferred(RpoNumber last) { last_deferred_ = last; } | |
| 1270 RpoNumber last_deferred() const { return last_deferred_; } | |
| 1271 | |
| 1272 private: | 1269 private: |
| 1273 Successors successors_; | 1270 Successors successors_; |
| 1274 Predecessors predecessors_; | 1271 Predecessors predecessors_; |
| 1275 PhiInstructions phis_; | 1272 PhiInstructions phis_; |
| 1276 RpoNumber ao_number_; // Assembly order number. | 1273 RpoNumber ao_number_; // Assembly order number. |
| 1277 const RpoNumber rpo_number_; | 1274 const RpoNumber rpo_number_; |
| 1278 const RpoNumber loop_header_; | 1275 const RpoNumber loop_header_; |
| 1279 const RpoNumber loop_end_; | 1276 const RpoNumber loop_end_; |
| 1280 int32_t code_start_; // start index of arch-specific code. | 1277 int32_t code_start_; // start index of arch-specific code. |
| 1281 int32_t code_end_; // end index of arch-specific code. | 1278 int32_t code_end_; // end index of arch-specific code. |
| 1282 const bool deferred_; // Block contains deferred code. | 1279 const bool deferred_; // Block contains deferred code. |
| 1283 const bool handler_; // Block is a handler entry point. | 1280 const bool handler_; // Block is a handler entry point. |
| 1284 bool needs_frame_; | 1281 bool needs_frame_; |
| 1285 bool must_construct_frame_; | 1282 bool must_construct_frame_; |
| 1286 bool must_deconstruct_frame_; | 1283 bool must_deconstruct_frame_; |
| 1287 RpoNumber last_deferred_; | |
| 1288 }; | 1284 }; |
| 1289 | 1285 |
| 1290 class InstructionSequence; | 1286 class InstructionSequence; |
| 1291 | 1287 |
| 1292 struct PrintableInstructionBlock { | 1288 struct PrintableInstructionBlock { |
| 1293 const RegisterConfiguration* register_configuration_; | 1289 const RegisterConfiguration* register_configuration_; |
| 1294 const InstructionBlock* block_; | 1290 const InstructionBlock* block_; |
| 1295 const InstructionSequence* code_; | 1291 const InstructionSequence* code_; |
| 1296 }; | 1292 }; |
| 1297 | 1293 |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1502 | 1498 |
| 1503 | 1499 |
| 1504 std::ostream& operator<<(std::ostream& os, | 1500 std::ostream& operator<<(std::ostream& os, |
| 1505 const PrintableInstructionSequence& code); | 1501 const PrintableInstructionSequence& code); |
| 1506 | 1502 |
| 1507 } // namespace compiler | 1503 } // namespace compiler |
| 1508 } // namespace internal | 1504 } // namespace internal |
| 1509 } // namespace v8 | 1505 } // namespace v8 |
| 1510 | 1506 |
| 1511 #endif // V8_COMPILER_INSTRUCTION_H_ | 1507 #endif // V8_COMPILER_INSTRUCTION_H_ |
| OLD | NEW |