Home | History | Annotate | Download | only in src

Lines Matching refs:HBasicBlock

54 class HBasicBlock: public ZoneObject {
56 explicit HBasicBlock(HGraph* graph);
57 virtual ~HBasicBlock() { }
70 const ZoneList<HBasicBlock*>* predecessors() const { return &predecessors_; }
72 const ZoneList<HBasicBlock*>* dominated_blocks() const {
81 HBasicBlock* dominator() const { return dominator_; }
104 bool Dominates(HBasicBlock* other) const;
111 HBasicBlock* parent_loop_header() const { return parent_loop_header_; }
113 void set_parent_loop_header(HBasicBlock* block) {
124 void Goto(HBasicBlock* block, bool drop_extra = false);
126 int PredecessorIndexOf(HBasicBlock* predecessor) const;
128 void AssignCommonDominator(HBasicBlock* other);
138 HBasicBlock* target,
167 void RegisterPredecessor(HBasicBlock* pred);
168 void AddDominatedBlock(HBasicBlock* block);
180 ZoneList<HBasicBlock*> predecessors_;
181 HBasicBlock* dominator_;
182 ZoneList<HBasicBlock*> dominated_blocks_;
190 HBasicBlock* parent_loop_header_;
199 explicit HPredecessorIterator(HBasicBlock* block)
203 HBasicBlock* Current() { return predecessor_list_->at(current_); }
207 const ZoneList<HBasicBlock*>* predecessor_list_;
214 explicit HLoopInformation(HBasicBlock* loop_header)
223 const ZoneList<HBasicBlock*>* back_edges() const { return &back_edges_; }
224 const ZoneList<HBasicBlock*>* blocks() const { return &blocks_; }
225 HBasicBlock* loop_header() const { return loop_header_; }
226 HBasicBlock* GetLastBackEdge() const;
227 void RegisterBackEdge(HBasicBlock* block);
235 void AddBlock(HBasicBlock* block);
237 ZoneList<HBasicBlock*> back_edges_;
238 HBasicBlock* loop_header_;
239 ZoneList<HBasicBlock*> blocks_;
251 const ZoneList<HBasicBlock*>* blocks() const { return &blocks_; }
253 HBasicBlock* entry_block() const { return entry_block_; }
292 HBasicBlock* CreateBasicBlock();
320 HBasicBlock* osr_loop_entry() {
324 void set_osr_loop_entry(HBasicBlock* entry) {
337 void Postorder(HBasicBlock* block,
339 ZoneList<HBasicBlock*>* order,
340 HBasicBlock* loop_header);
343 ZoneList<HBasicBlock*>* order,
344 HBasicBlock* loop_header);
348 void MarkAsDeoptimizingRecursively(HBasicBlock* block);
359 void CheckForBackEdge(HBasicBlock* block, HBasicBlock* successor);
363 HBasicBlock* entry_block_;
365 ZoneList<HBasicBlock*> blocks_;
376 SetOncePointer<HBasicBlock> osr_loop_entry_;
383 Zone* HBasicBlock::zone() { return graph_->zone(); }
490 HEnvironment* CopyAsLoopHeader(HBasicBlock* block) const;
502 void AddIncomingEdge(HBasicBlock
657 HBasicBlock* if_true,
658 HBasicBlock* if_false)
675 HBasicBlock* if_true() const { return if_true_; }
676 HBasicBlock* if_false() const { return if_false_; }
684 HBasicBlock* if_true_;
685 HBasicBlock* if_false_;
709 HBasicBlock* function_return() { return function_return_; }
738 HBasicBlock* function_return_;
767 HBasicBlock* break_block() { return break_block_; }
768 void set_break_block(HBasicBlock* block) { break_block_ = block; }
769 HBasicBlock* continue_block() { return continue_block_; }
770 void set_continue_block(HBasicBlock* block) { continue_block_ = block; }
775 HBasicBlock* break_block_;
776 HBasicBlock* continue_block_;
796 HBasicBlock* Get(BreakableStatement* stmt, BreakType type, int* drop_extra);
813 HBasicBlock* current_block() const { return current_block_; }
814 void set_current_block(HBasicBlock* block) { current_block_ = block; }
831 HBasicBlock* CreateJoin(HBasicBlock* first,
832 HBasicBlock* second,
877 HBasicBlock* function_return() const {
920 HBasicBlock* loop_entry,
930 HBasicBlock* CreateLoop(IterationStatement* statement,
931 HBasicBlock* loop_entry,
932 HBasicBlock* body_exit,
933 HBasicBlock* loop_successor,
934 HBasicBlock* break_block);
936 HBasicBlock* JoinContinue(IterationStatement* statement,
937 HBasicBlock* exit_block,
938 HBasicBlock* continue_block);
952 HBasicBlock* true_block,
953 HBasicBlock* false_block);
985 HBasicBlock* CreateBasicBlock(HEnvironment* env);
986 HBasicBlock* CreateLoopHeaderBlock();
1145 HBasicBlock* current_block_;