Index: src/hydrogen-instructions.h |
=================================================================== |
--- src/hydrogen-instructions.h (revision 7081) |
+++ src/hydrogen-instructions.h (working copy) |
@@ -461,9 +461,9 @@ |
int id() const { return id_; } |
void set_id(int id) { id_ = id; } |
- const ZoneList<HValue*>* uses() const { return &uses_; } |
+ ZoneList<HValue*>* uses() { return &uses_; } |
- virtual bool EmitAtUses() const { return false; } |
+ virtual bool EmitAtUses() { return false; } |
Representation representation() const { return representation_; } |
void ChangeRepresentation(Representation r) { |
// Representation was already set and is allowed to be changed. |
@@ -1800,7 +1800,8 @@ |
explicit HPhi(int merged_index) |
: inputs_(2), |
merged_index_(merged_index), |
- phi_id_(-1) { |
+ phi_id_(-1), |
+ is_live_(false) { |
for (int i = 0; i < Representation::kNumRepresentations; i++) { |
non_phi_uses_[i] = 0; |
indirect_uses_[i] = 0; |
@@ -1834,6 +1835,7 @@ |
virtual HValue* OperandAt(int index) { return inputs_[index]; } |
HValue* GetRedundantReplacement(); |
void AddInput(HValue* value); |
+ bool HasRealUses(); |
bool IsReceiver() { return merged_index_ == 0; } |
@@ -1872,6 +1874,8 @@ |
return indirect_uses_[Representation::kDouble]; |
} |
int phi_id() { return phi_id_; } |
+ bool is_live() { return is_live_; } |
+ void set_is_live(bool b) { is_live_ = b; } |
protected: |
virtual void DeleteFromGraph(); |
@@ -1886,6 +1890,7 @@ |
int non_phi_uses_[Representation::kNumRepresentations]; |
int indirect_uses_[Representation::kNumRepresentations]; |
int phi_id_; |
+ bool is_live_; |
}; |
@@ -1916,7 +1921,7 @@ |
return Representation::None(); |
} |
- virtual bool EmitAtUses() const { return !representation().IsDouble(); } |
+ virtual bool EmitAtUses() { return !representation().IsDouble(); } |
virtual void PrintDataTo(StringStream* stream); |
virtual HType CalculateInferredType(); |
bool IsInteger() const { return handle_->IsSmi(); } |
@@ -2191,7 +2196,7 @@ |
void SetInputRepresentation(Representation r); |
- virtual bool EmitAtUses() const { |
+ virtual bool EmitAtUses() { |
return !HasSideEffects() && (uses()->length() <= 1); |
} |
@@ -2232,7 +2237,7 @@ |
SetFlag(kUseGVN); |
} |
- virtual bool EmitAtUses() const { |
+ virtual bool EmitAtUses() { |
return !HasSideEffects() && (uses()->length() <= 1); |
} |
@@ -2255,7 +2260,7 @@ |
SetFlag(kUseGVN); |
} |
- virtual bool EmitAtUses() const { |
+ virtual bool EmitAtUses() { |
return !HasSideEffects() && (uses()->length() <= 1); |
} |
@@ -2315,7 +2320,7 @@ |
SetFlag(kUseGVN); |
} |
- virtual bool EmitAtUses() const { |
+ virtual bool EmitAtUses() { |
return !HasSideEffects() && (uses()->length() <= 1); |
} |
@@ -2437,7 +2442,7 @@ |
HValue* left() { return OperandAt(1); } |
HValue* right() { return OperandAt(2); } |
- virtual bool EmitAtUses() const { |
+ virtual bool EmitAtUses() { |
return !HasSideEffects() && (uses()->length() <= 1); |
} |