| Index: src/hydrogen-instructions.h
|
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
|
| index 27675606056852a9093c827bf9ff16c0b18d09d4..62e7f35f6713e96cedf033ba3c0793f6aa56fa4a 100644
|
| --- a/src/hydrogen-instructions.h
|
| +++ b/src/hydrogen-instructions.h
|
| @@ -819,6 +819,11 @@ class HValue: public ZoneObject {
|
| : NULL;
|
| }
|
|
|
| + // A purely informative definition is an idef that will not emit code and
|
| + // should therefore be removed from the graph in the RestoreActualValues
|
| + // phase (so that live ranges will be shorter).
|
| + virtual bool IsPurelyInformativeDefinition() { return false; }
|
| +
|
| // This method must always return the original HValue SSA definition
|
| // (regardless of any iDef of this value).
|
| HValue* ActualValue() {
|
| @@ -1286,6 +1291,7 @@ class HNumericConstraint : public HTemplateInstruction<2> {
|
| NumericRelation relation() { return relation_; }
|
|
|
| virtual int RedefinedOperandIndex() { return 0; }
|
| + virtual bool IsPurelyInformativeDefinition() { return true; }
|
|
|
| virtual Representation RequiredInputRepresentation(int index) {
|
| return representation();
|
| @@ -3359,6 +3365,7 @@ class HBoundsCheck: public HTemplateInstruction<2> {
|
| HValue* length() { return OperandAt(1); }
|
|
|
| virtual int RedefinedOperandIndex() { return 0; }
|
| + virtual bool IsPurelyInformativeDefinition() { return skip_check(); }
|
| virtual void AddInformativeDefinitions();
|
|
|
| DECLARE_CONCRETE_INSTRUCTION(BoundsCheck)
|
|
|