Index: src/hydrogen.h |
diff --git a/src/hydrogen.h b/src/hydrogen.h |
index 0837bf9634e33cc088a7a8dea90e479161c65902..ef61bffeb006638195df1768dc069cac4c8fa29c 100644 |
--- a/src/hydrogen.h |
+++ b/src/hydrogen.h |
@@ -355,6 +355,14 @@ class HGraph: public ZoneObject { |
use_optimistic_licm_ = value; |
} |
+ bool has_soft_deoptimize() { |
+ return has_soft_deoptimize_; |
+ } |
+ |
+ void set_has_soft_deoptimize(bool value) { |
+ has_soft_deoptimize_ = value; |
+ } |
+ |
void MarkRecursive() { |
is_recursive_ = true; |
} |
@@ -377,6 +385,7 @@ class HGraph: public ZoneObject { |
int32_t integer_value); |
void MarkAsDeoptimizingRecursively(HBasicBlock* block); |
+ void NullifyUnreachableInstructions(); |
void InsertTypeConversions(HInstruction* instr); |
void PropagateMinusZeroChecks(HValue* value, BitVector* visited); |
void RecursivelyMarkPhiDeoptimizeOnUndefined(HPhi* phi); |
@@ -414,6 +423,7 @@ class HGraph: public ZoneObject { |
bool is_recursive_; |
bool use_optimistic_licm_; |
+ bool has_soft_deoptimize_; |
int type_change_checksum_; |
DISALLOW_COPY_AND_ASSIGN(HGraph); |
@@ -956,6 +966,8 @@ class HOptimizedGraphBuilder: public HGraphBuilder, public AstVisitor { |
bool inline_bailout() { return inline_bailout_; } |
+ void AddSoftDeoptimize(); |
+ |
// Bailout environment manipulation. |
void Push(HValue* value) { environment()->Push(value); } |
HValue* Pop() { return environment()->Pop(); } |