Chromium Code Reviews| Index: src/hydrogen-instructions.h |
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
| index 4ebb8044241a7aca72581c21a24efcb065cf5e0a..36ecf91228073dc90a06992d22fb71d70f5b47cd 100644 |
| --- a/src/hydrogen-instructions.h |
| +++ b/src/hydrogen-instructions.h |
| @@ -487,6 +487,7 @@ class HValue: public ZoneObject { |
| kCanOverflow, |
| kBailoutOnMinusZero, |
| kCanBeDivByZero, |
| + kDeoptimizeOnUndefined, |
| kIsArguments, |
| kTruncatingToInt32, |
| kLastFlag = kTruncatingToInt32 |
| @@ -1068,8 +1069,11 @@ class HChange: public HUnaryOperation { |
| HChange(HValue* value, |
| Representation from, |
| Representation to, |
| - bool is_truncating) |
| - : HUnaryOperation(value), from_(from) { |
| + bool is_truncating, |
| + bool deoptimize_on_undefined) |
| + : HUnaryOperation(value), |
| + from_(from), |
| + deoptimize_on_undefined_(deoptimize_on_undefined) { |
| ASSERT(!from.IsNone() && !to.IsNone()); |
| ASSERT(!from.Equals(to)); |
| set_representation(to); |
| @@ -1085,6 +1089,7 @@ class HChange: public HUnaryOperation { |
| Representation from() const { return from_; } |
| Representation to() const { return representation(); } |
| + bool deoptimize_on_undefined() const { return deoptimize_on_undefined_; } |
| virtual Representation RequiredInputRepresentation(int index) const { |
| return from_; |
| } |
| @@ -1098,11 +1103,13 @@ class HChange: public HUnaryOperation { |
| if (!other->IsChange()) return false; |
| HChange* change = HChange::cast(other); |
| return value() == change->value() |
| - && to().Equals(change->to()); |
| + && to().Equals(change->to()) |
| + && deoptimize_on_undefined() == change->deoptimize_on_undefined(); |
| } |
| private: |
| Representation from_; |
| + bool deoptimize_on_undefined_; |
| }; |
| @@ -2502,6 +2509,7 @@ class HCompare: public HBinaryOperation { |
| Representation GetInputRepresentation() const { |
| return input_representation_; |
| } |
| + |
|
William Hesse
2011/06/08 14:30:30
Removed.
|
| Token::Value token() const { return token_; } |
| virtual void PrintDataTo(StringStream* stream); |