| Index: src/hydrogen-instructions.h
|
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
|
| index decc62705b28808de6ca0f78b66fc503421dbc5e..a739f603e67958d68ec4e95e5b9bc60e6b4c30a7 100644
|
| --- a/src/hydrogen-instructions.h
|
| +++ b/src/hydrogen-instructions.h
|
| @@ -795,6 +795,7 @@ class HValue: public ZoneObject {
|
| kDeoptimizeOnUndefined,
|
| kIsArguments,
|
| kTruncatingToInt32,
|
| + // Set after an instruction is killed.
|
| kIsDead,
|
| // Instructions that are allowed to produce full range unsigned integer
|
| // values are marked with kUint32 flag. If arithmetic shift or a load from
|
| @@ -810,6 +811,8 @@ class HValue: public ZoneObject {
|
| // has processed this instruction.
|
| kIDefsProcessingDone,
|
| kHasNoObservableSideEffects,
|
| + // Indicates the instruction is live during dead code elimination.
|
| + kIsLive,
|
| kLastFlag = kIDefsProcessingDone
|
| };
|
|
|
| @@ -1072,8 +1075,9 @@ class HValue: public ZoneObject {
|
| UNREACHABLE();
|
| }
|
|
|
| - bool IsDead() const {
|
| - return HasNoUses() && !HasObservableSideEffects() && IsDeletable();
|
| + // Check if this instruction has some reason that prevents elimination.
|
| + bool CanBeEliminated() const {
|
| + return !HasObservableSideEffects() && IsDeletable();
|
| }
|
|
|
| #ifdef DEBUG
|
| @@ -2965,7 +2969,6 @@ class HPhi: public HValue {
|
| : inputs_(2, zone),
|
| merged_index_(merged_index),
|
| phi_id_(-1),
|
| - is_live_(false),
|
| is_convertible_to_integer_(true) {
|
| for (int i = 0; i < Representation::kNumRepresentations; i++) {
|
| non_phi_uses_[i] = 0;
|
| @@ -3025,8 +3028,6 @@ class HPhi: public HValue {
|
| 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; }
|
|
|
| static HPhi* cast(HValue* value) {
|
| ASSERT(value->IsPhi());
|
| @@ -3076,7 +3077,6 @@ class HPhi: public HValue {
|
| int non_phi_uses_[Representation::kNumRepresentations];
|
| int indirect_uses_[Representation::kNumRepresentations];
|
| int phi_id_;
|
| - bool is_live_;
|
| bool is_convertible_to_integer_;
|
| };
|
|
|
|
|