Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index 4a8a406eb3befbc126c4f0f6aa15119892ef316f..95ea409393bb52094cfdbb0ea65cd4c91e8bd650 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -271,6 +271,14 @@ class Range: public ZoneObject { |
bool IsInSmiRange() const { |
return lower_ >= Smi::kMinValue && upper_ <= Smi::kMaxValue; |
} |
+ void ClampToSmi() { |
+ lower_ = Max(lower_, Smi::kMinValue); |
+ upper_ = Min(upper_, Smi::kMaxValue); |
+ } |
+ void ClampToInt32() { |
Jakob Kummerow
2013/06/07 08:21:05
Considering that lower_ and upper_ are int32_t, th
|
+ lower_ = Max(lower_, kMinInt); |
+ upper_ = Min(upper_, kMaxInt); |
+ } |
void KeepOrder(); |
#ifdef DEBUG |
void Verify() const; |
@@ -2644,6 +2652,8 @@ class HUnaryMathOperation: public HTemplateInstruction<2> { |
} |
} |
+ virtual Range* InferRange(Zone* zone); |
+ |
virtual HValue* Canonicalize(); |
BuiltinFunctionId op() const { return op_; } |