| Index: src/hydrogen-instructions.h
|
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
|
| index c618fdfb544686061721f168ef1fed319f46419e..76d8dfb906c33c236fa6974b629aff0a4bd3fcba 100644
|
| --- a/src/hydrogen-instructions.h
|
| +++ b/src/hydrogen-instructions.h
|
| @@ -3584,15 +3584,6 @@ class HConstant V8_FINAL : public HTemplateInstruction<0> {
|
| return object_.IsInitialized() && object_ == other;
|
| }
|
|
|
| -#ifdef DEBUG
|
| - virtual void Verify() V8_OVERRIDE { }
|
| -#endif
|
| -
|
| - DECLARE_CONCRETE_INSTRUCTION(Constant)
|
| -
|
| - protected:
|
| - virtual Range* InferRange(Zone* zone) V8_OVERRIDE;
|
| -
|
| virtual bool DataEquals(HValue* other) V8_OVERRIDE {
|
| HConstant* other_constant = HConstant::cast(other);
|
| if (has_int32_value_) {
|
| @@ -3617,6 +3608,15 @@ class HConstant V8_FINAL : public HTemplateInstruction<0> {
|
| }
|
| }
|
|
|
| +#ifdef DEBUG
|
| + virtual void Verify() V8_OVERRIDE { }
|
| +#endif
|
| +
|
| + DECLARE_CONCRETE_INSTRUCTION(Constant)
|
| +
|
| + protected:
|
| + virtual Range* InferRange(Zone* zone) V8_OVERRIDE;
|
| +
|
| private:
|
| friend class HGraph;
|
| HConstant(Handle<Object> handle, Representation r = Representation::None());
|
| @@ -4280,24 +4280,6 @@ class HCompareMinusZeroAndBranch V8_FINAL : public HUnaryControlInstruction {
|
|
|
| class HCompareObjectEqAndBranch : public HTemplateControlInstruction<2, 2> {
|
| public:
|
| - HCompareObjectEqAndBranch(HValue* left,
|
| - HValue* right,
|
| - HBasicBlock* true_target = NULL,
|
| - HBasicBlock* false_target = NULL) {
|
| - // TODO(danno): make this private when the IfBuilder properly constructs
|
| - // control flow instructions.
|
| - ASSERT(!left->IsConstant() ||
|
| - (!HConstant::cast(left)->HasInteger32Value() ||
|
| - HConstant::cast(left)->HasSmiValue()));
|
| - ASSERT(!right->IsConstant() ||
|
| - (!HConstant::cast(right)->HasInteger32Value() ||
|
| - HConstant::cast(right)->HasSmiValue()));
|
| - SetOperandAt(0, left);
|
| - SetOperandAt(1, right);
|
| - SetSuccessorAt(0, true_target);
|
| - SetSuccessorAt(1, false_target);
|
| - }
|
| -
|
| DECLARE_INSTRUCTION_FACTORY_P2(HCompareObjectEqAndBranch, HValue*, HValue*);
|
| DECLARE_INSTRUCTION_FACTORY_P4(HCompareObjectEqAndBranch, HValue*, HValue*,
|
| HBasicBlock*, HBasicBlock*);
|
| @@ -4318,6 +4300,23 @@ class HCompareObjectEqAndBranch : public HTemplateControlInstruction<2, 2> {
|
| }
|
|
|
| DECLARE_CONCRETE_INSTRUCTION(CompareObjectEqAndBranch)
|
| +
|
| + private:
|
| + HCompareObjectEqAndBranch(HValue* left,
|
| + HValue* right,
|
| + HBasicBlock* true_target = NULL,
|
| + HBasicBlock* false_target = NULL) {
|
| + ASSERT(!left->IsConstant() ||
|
| + (!HConstant::cast(left)->HasInteger32Value() ||
|
| + HConstant::cast(left)->HasSmiValue()));
|
| + ASSERT(!right->IsConstant() ||
|
| + (!HConstant::cast(right)->HasInteger32Value() ||
|
| + HConstant::cast(right)->HasSmiValue()));
|
| + SetOperandAt(0, left);
|
| + SetOperandAt(1, right);
|
| + SetSuccessorAt(0, true_target);
|
| + SetSuccessorAt(1, false_target);
|
| + }
|
| };
|
|
|
|
|
|
|