| Index: src/hydrogen.h
|
| diff --git a/src/hydrogen.h b/src/hydrogen.h
|
| index 004aa16a8784337f874768166b75833c6eea8086..5f85a21afb4657d008fb14699caf7e6fb9e80b53 100644
|
| --- a/src/hydrogen.h
|
| +++ b/src/hydrogen.h
|
| @@ -170,7 +170,11 @@ class HBasicBlock: public ZoneObject {
|
| HBasicBlock* inlined_entry_block() { return inlined_entry_block_; }
|
|
|
| bool IsDeoptimizing() const { return is_deoptimizing_; }
|
| - void MarkAsDeoptimizing() { is_deoptimizing_ = true; }
|
| + void MarkAsDeoptimizing();
|
| +
|
| + void MarkUnreachable();
|
| + bool IsUnreachable() const { return !is_reachable_; }
|
| + bool IsReachable() const { return is_reachable_; }
|
|
|
| bool IsLoopSuccessorDominator() const {
|
| return dominates_loop_successors_;
|
| @@ -213,6 +217,7 @@ class HBasicBlock: public ZoneObject {
|
| HBasicBlock* parent_loop_header_;
|
| // For blocks marked as inline return target: the block with HEnterInlined.
|
| HBasicBlock* inlined_entry_block_;
|
| + bool is_reachable_ : 1;
|
| bool is_inline_return_target_ : 1;
|
| bool is_deoptimizing_ : 1;
|
| bool dominates_loop_successors_ : 1;
|
| @@ -454,6 +459,9 @@ class HGraph: public ZoneObject {
|
| uint32_instructions_->Add(instr, zone());
|
| }
|
|
|
| + void MarkHasUnreachableCode() { has_unreachable_code_ = true; }
|
| + bool HasUnreachableCode() const { return has_unreachable_code_; }
|
| +
|
| void IncrementInNoSideEffectsScope() { no_side_effects_scope_count_++; }
|
| void DecrementInNoSideEffectsScope() { no_side_effects_scope_count_--; }
|
| bool IsInsideNoSideEffectsScope() { return no_side_effects_scope_count_ > 0; }
|
| @@ -497,6 +505,7 @@ class HGraph: public ZoneObject {
|
| CompilationInfo* info_;
|
| Zone* zone_;
|
|
|
| + bool has_unreachable_code_;
|
| bool is_recursive_;
|
| bool use_optimistic_licm_;
|
| bool has_soft_deoptimize_;
|
|
|