| Index: src/compiler/schedule.h
|
| diff --git a/src/compiler/schedule.h b/src/compiler/schedule.h
|
| index 797418298788cb6c12eebf4e4d3170b2d2e3031d..b65a50719b1bdb2a03956d7e8fb4dee99cc88b46 100644
|
| --- a/src/compiler/schedule.h
|
| +++ b/src/compiler/schedule.h
|
| @@ -145,18 +145,21 @@ class BasicBlock FINAL : public ZoneObject {
|
| bool deferred() const { return deferred_; }
|
| void set_deferred(bool deferred) { deferred_ = deferred; }
|
|
|
| + int32_t dominator_depth() const { return dominator_depth_; }
|
| + void set_dominator_depth(int32_t dominator_depth);
|
| +
|
| BasicBlock* dominator() const { return dominator_; }
|
| void set_dominator(BasicBlock* dominator);
|
|
|
| BasicBlock* loop_header() const { return loop_header_; }
|
| void set_loop_header(BasicBlock* loop_header);
|
|
|
| + BasicBlock* loop_end() const { return loop_end_; }
|
| + void set_loop_end(BasicBlock* loop_end);
|
| +
|
| int32_t loop_depth() const { return loop_depth_; }
|
| void set_loop_depth(int32_t loop_depth);
|
|
|
| - int32_t loop_end() const { return loop_end_; }
|
| - void set_loop_end(int32_t loop_end);
|
| -
|
| RpoNumber GetAoNumber() const { return RpoNumber::FromInt(ao_number_); }
|
| int32_t ao_number() const { return ao_number_; }
|
| void set_ao_number(int32_t ao_number) { ao_number_ = ao_number; }
|
| @@ -166,19 +169,20 @@ class BasicBlock FINAL : public ZoneObject {
|
| void set_rpo_number(int32_t rpo_number);
|
|
|
| // Loop membership helpers.
|
| - inline bool IsLoopHeader() const { return loop_end_ >= 0; }
|
| + inline bool IsLoopHeader() const { return loop_end_ != NULL; }
|
| bool LoopContains(BasicBlock* block) const;
|
|
|
| private:
|
| int32_t ao_number_; // assembly order number of the block.
|
| int32_t rpo_number_; // special RPO number of the block.
|
| bool deferred_; // true if the block contains deferred code.
|
| + int32_t dominator_depth_; // Depth within the dominator tree.
|
| BasicBlock* dominator_; // Immediate dominator of the block.
|
| BasicBlock* loop_header_; // Pointer to dominating loop header basic block,
|
| // NULL if none. For loop headers, this points to
|
| // enclosing loop header.
|
| + BasicBlock* loop_end_; // end of the loop, if this block is a loop header.
|
| int32_t loop_depth_; // loop nesting, 0 is top-level
|
| - int32_t loop_end_; // end of the loop, if this block is a loop header.
|
|
|
| Control control_; // Control at the end of the block.
|
| Node* control_input_; // Input value for control.
|
|
|