OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 int argument_count() const { return argument_count_; } | 84 int argument_count() const { return argument_count_; } |
85 void set_argument_count(int count) { argument_count_ = count; } | 85 void set_argument_count(int count) { argument_count_ = count; } |
86 int first_instruction_index() const { return first_instruction_index_; } | 86 int first_instruction_index() const { return first_instruction_index_; } |
87 void set_first_instruction_index(int index) { | 87 void set_first_instruction_index(int index) { |
88 first_instruction_index_ = index; | 88 first_instruction_index_ = index; |
89 } | 89 } |
90 int last_instruction_index() const { return last_instruction_index_; } | 90 int last_instruction_index() const { return last_instruction_index_; } |
91 void set_last_instruction_index(int index) { | 91 void set_last_instruction_index(int index) { |
92 last_instruction_index_ = index; | 92 last_instruction_index_ = index; |
93 } | 93 } |
| 94 bool is_osr_entry() { return is_osr_entry_; } |
| 95 void set_osr_entry() { is_osr_entry_ = true; } |
94 | 96 |
95 void AttachLoopInformation(); | 97 void AttachLoopInformation(); |
96 void DetachLoopInformation(); | 98 void DetachLoopInformation(); |
97 bool IsLoopHeader() const { return loop_information() != NULL; } | 99 bool IsLoopHeader() const { return loop_information() != NULL; } |
98 bool IsStartBlock() const { return block_id() == 0; } | 100 bool IsStartBlock() const { return block_id() == 0; } |
99 void PostProcessLoopHeader(IterationStatement* stmt); | 101 void PostProcessLoopHeader(IterationStatement* stmt); |
100 | 102 |
101 bool IsFinished() const { return end_ != NULL; } | 103 bool IsFinished() const { return end_ != NULL; } |
102 void AddPhi(HPhi* phi); | 104 void AddPhi(HPhi* phi); |
103 void RemovePhi(HPhi* phi); | 105 void RemovePhi(HPhi* phi); |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
186 // Outgoing parameter count at block exit, set during lithium translation. | 188 // Outgoing parameter count at block exit, set during lithium translation. |
187 int argument_count_; | 189 int argument_count_; |
188 // Instruction indices into the lithium code stream. | 190 // Instruction indices into the lithium code stream. |
189 int first_instruction_index_; | 191 int first_instruction_index_; |
190 int last_instruction_index_; | 192 int last_instruction_index_; |
191 ZoneList<int> deleted_phis_; | 193 ZoneList<int> deleted_phis_; |
192 HBasicBlock* parent_loop_header_; | 194 HBasicBlock* parent_loop_header_; |
193 bool is_inline_return_target_; | 195 bool is_inline_return_target_; |
194 bool is_deoptimizing_; | 196 bool is_deoptimizing_; |
195 bool dominates_loop_successors_; | 197 bool dominates_loop_successors_; |
| 198 bool is_osr_entry_; |
196 }; | 199 }; |
197 | 200 |
198 | 201 |
199 class HPredecessorIterator BASE_EMBEDDED { | 202 class HPredecessorIterator BASE_EMBEDDED { |
200 public: | 203 public: |
201 explicit HPredecessorIterator(HBasicBlock* block) | 204 explicit HPredecessorIterator(HBasicBlock* block) |
202 : predecessor_list_(block->predecessors()), current_(0) { } | 205 : predecessor_list_(block->predecessors()), current_(0) { } |
203 | 206 |
204 bool Done() { return current_ >= predecessor_list_->length(); } | 207 bool Done() { return current_ >= predecessor_list_->length(); } |
205 HBasicBlock* Current() { return predecessor_list_->at(current_); } | 208 HBasicBlock* Current() { return predecessor_list_->at(current_); } |
(...skipping 1453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1659 const char* filename_; | 1662 const char* filename_; |
1660 HeapStringAllocator string_allocator_; | 1663 HeapStringAllocator string_allocator_; |
1661 StringStream trace_; | 1664 StringStream trace_; |
1662 int indent_; | 1665 int indent_; |
1663 }; | 1666 }; |
1664 | 1667 |
1665 | 1668 |
1666 } } // namespace v8::internal | 1669 } } // namespace v8::internal |
1667 | 1670 |
1668 #endif // V8_HYDROGEN_H_ | 1671 #endif // V8_HYDROGEN_H_ |
OLD | NEW |