| Index: src/hydrogen-instructions.h
|
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
|
| index 5aedf46a9ba291be2cb446d6f41f35950dda20c3..afb0fed51589220189c5338c29e90bb291d2afc5 100644
|
| --- a/src/hydrogen-instructions.h
|
| +++ b/src/hydrogen-instructions.h
|
| @@ -737,21 +737,6 @@ class HValue : public ZoneObject {
|
| return representation_.IsHeapObject() || type_.IsHeapObject();
|
| }
|
|
|
| - // An operation needs to override this function iff:
|
| - // 1) it can produce an int32 output.
|
| - // 2) the true value of its output can potentially be minus zero.
|
| - // The implementation must set a flag so that it bails out in the case where
|
| - // it would otherwise output what should be a minus zero as an int32 zero.
|
| - // If the operation also exists in a form that takes int32 and outputs int32
|
| - // then the operation should return its input value so that we can propagate
|
| - // back. There are three operations that need to propagate back to more than
|
| - // one input. They are phi and binary div and mul. They always return NULL
|
| - // and expect the caller to take care of things.
|
| - virtual HValue* EnsureAndPropagateNotMinusZero(BitVector* visited) {
|
| - visited->Add(id());
|
| - return NULL;
|
| - }
|
| -
|
| // There are HInstructions that do not really change a value, they
|
| // only add pieces of information to it (like bounds checks, map checks,
|
| // smi checks...).
|
| @@ -1717,9 +1702,6 @@ class HForceRepresentation V8_FINAL : public HTemplateInstruction<1> {
|
|
|
| HValue* value() { return OperandAt(0); }
|
|
|
| - virtual HValue* EnsureAndPropagateNotMinusZero(
|
| - BitVector* visited) V8_OVERRIDE;
|
| -
|
| virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE {
|
| return representation(); // Same as the output representation.
|
| }
|
| @@ -1765,8 +1747,6 @@ class HChange V8_FINAL : public HUnaryOperation {
|
| return CheckUsesForFlag(kAllowUndefinedAsNaN);
|
| }
|
|
|
| - virtual HValue* EnsureAndPropagateNotMinusZero(
|
| - BitVector* visited) V8_OVERRIDE;
|
| virtual HType CalculateInferredType() V8_OVERRIDE;
|
| virtual HValue* Canonicalize() V8_OVERRIDE;
|
|
|
| @@ -2570,9 +2550,6 @@ class HUnaryMathOperation V8_FINAL : public HTemplateInstruction<2> {
|
|
|
| virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE;
|
|
|
| - virtual HValue* EnsureAndPropagateNotMinusZero(
|
| - BitVector* visited) V8_OVERRIDE;
|
| -
|
| virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE {
|
| if (index == 0) {
|
| return Representation::Tagged();
|
| @@ -4044,9 +4021,6 @@ class HMathFloorOfDiv V8_FINAL : public HBinaryOperation {
|
| HValue*,
|
| HValue*);
|
|
|
| - virtual HValue* EnsureAndPropagateNotMinusZero(
|
| - BitVector* visited) V8_OVERRIDE;
|
| -
|
| DECLARE_CONCRETE_INSTRUCTION(MathFloorOfDiv)
|
|
|
| protected:
|
| @@ -4653,9 +4627,6 @@ class HAdd V8_FINAL : public HArithmeticBinaryOperation {
|
| return !representation().IsTagged() && !representation().IsExternal();
|
| }
|
|
|
| - virtual HValue* EnsureAndPropagateNotMinusZero(
|
| - BitVector* visited) V8_OVERRIDE;
|
| -
|
| virtual HValue* Canonicalize() V8_OVERRIDE;
|
|
|
| virtual bool TryDecompose(DecompositionResult* decomposition) V8_OVERRIDE {
|
| @@ -4712,9 +4683,6 @@ class HSub V8_FINAL : public HArithmeticBinaryOperation {
|
| HValue* left,
|
| HValue* right);
|
|
|
| - virtual HValue* EnsureAndPropagateNotMinusZero(
|
| - BitVector* visited) V8_OVERRIDE;
|
| -
|
| virtual HValue* Canonicalize() V8_OVERRIDE;
|
|
|
| virtual bool TryDecompose(DecompositionResult* decomposition) V8_OVERRIDE {
|
| @@ -4761,9 +4729,6 @@ class HMul V8_FINAL : public HArithmeticBinaryOperation {
|
| return mul;
|
| }
|
|
|
| - virtual HValue* EnsureAndPropagateNotMinusZero(
|
| - BitVector* visited) V8_OVERRIDE;
|
| -
|
| virtual HValue* Canonicalize() V8_OVERRIDE;
|
|
|
| // Only commutative if it is certain that not two objects are multiplicated.
|
| @@ -4801,9 +4766,6 @@ class HMod V8_FINAL : public HArithmeticBinaryOperation {
|
| HValue* left,
|
| HValue* right);
|
|
|
| - virtual HValue* EnsureAndPropagateNotMinusZero(
|
| - BitVector* visited) V8_OVERRIDE;
|
| -
|
| virtual HValue* Canonicalize() V8_OVERRIDE;
|
|
|
| virtual void UpdateRepresentation(Representation new_rep,
|
| @@ -4837,9 +4799,6 @@ class HDiv V8_FINAL : public HArithmeticBinaryOperation {
|
| HValue* left,
|
| HValue* right);
|
|
|
| - virtual HValue* EnsureAndPropagateNotMinusZero(
|
| - BitVector* visited) V8_OVERRIDE;
|
| -
|
| virtual HValue* Canonicalize() V8_OVERRIDE;
|
|
|
| virtual void UpdateRepresentation(Representation new_rep,
|
|
|