Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index 4a8a406eb3befbc126c4f0f6aa15119892ef316f..c5ad174c353c8c5f0dc810414819566428dff472 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -1035,7 +1035,13 @@ class HValue: public ZoneObject { |
} |
Range* range() const { return range_; } |
+ // We should really use the null object pattern here... |
bool HasRange() const { return range_ != NULL; } |
+ bool CanBeNegative() const { return !HasRange() || range()->CanBeNegative(); } |
+ bool CanBeZero() const { return !HasRange() || range()->CanBeZero(); } |
+ bool RangeCanInclude(int value) const { |
+ return !HasRange() || range()->Includes(value); |
+ } |
void AddNewRange(Range* r, Zone* zone); |
void RemoveLastAddedRange(); |
void ComputeInitialRange(Zone* zone); |