v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#include <hydrogen-instructions.h>
Public Member Functions | |
Range () | |
Range (int32_t lower, int32_t upper) | |
int32_t | upper () const |
int32_t | lower () const |
Range * | next () const |
Range * | CopyClearLower (Zone *zone) const |
Range * | CopyClearUpper (Zone *zone) const |
Range * | Copy (Zone *zone) const |
int32_t | Mask () const |
void | set_can_be_minus_zero (bool b) |
bool | CanBeMinusZero () const |
bool | CanBeZero () const |
bool | CanBeNegative () const |
bool | Includes (int value) const |
bool | IsMostGeneric () const |
bool | IsInSmiRange () const |
void | KeepOrder () |
void | StackUpon (Range *other) |
void | Intersect (Range *other) |
void | Union (Range *other) |
void | CombinedMax (Range *other) |
void | CombinedMin (Range *other) |
void | AddConstant (int32_t value) |
void | Sar (int32_t value) |
void | Shl (int32_t value) |
bool | AddAndCheckOverflow (Range *other) |
bool | SubAndCheckOverflow (Range *other) |
bool | MulAndCheckOverflow (Range *other) |
Public Member Functions inherited from ZoneObject | |
INLINE (void *operator new(size_t size, Zone *zone)) | |
void | operator delete (void *, size_t) |
void | operator delete (void *pointer, Zone *zone) |
Definition at line 240 of file hydrogen-instructions.h.
|
inline |
Definition at line 242 of file hydrogen-instructions.h.
Referenced by Range::Copy(), Range::CopyClearLower(), and Range::CopyClearUpper().
|
inline |
Definition at line 248 of file hydrogen-instructions.h.
bool AddAndCheckOverflow | ( | Range * | other | ) |
Definition at line 195 of file hydrogen-instructions.cc.
References Range::KeepOrder(), Range::lower(), and Range::upper().
Referenced by HAdd::InferRange().
void AddConstant | ( | int32_t | value | ) |
Definition at line 132 of file hydrogen-instructions.cc.
|
inline |
Definition at line 270 of file hydrogen-instructions.h.
References Range::CanBeZero().
Referenced by Range::CombinedMax(), Range::CombinedMin(), Range::Copy(), HAdd::InferRange(), HSub::InferRange(), HMod::InferRange(), HDiv::InferRange(), Range::Intersect(), Range::IsMostGeneric(), and Range::Union().
|
inline |
Definition at line 272 of file hydrogen-instructions.h.
Referenced by HMul::InferRange(), and HMod::InferRange().
|
inline |
Definition at line 271 of file hydrogen-instructions.h.
Referenced by Range::CanBeMinusZero(), HSub::InferRange(), and HMul::InferRange().
void CombinedMax | ( | Range * | other | ) |
Definition at line 159 of file hydrogen-instructions.cc.
References Range::CanBeMinusZero(), v8::internal::Max(), and Range::set_can_be_minus_zero().
Referenced by HMathMinMax::InferRange().
void CombinedMin | ( | Range * | other | ) |
Definition at line 166 of file hydrogen-instructions.cc.
References Range::CanBeMinusZero(), v8::internal::Min(), and Range::set_can_be_minus_zero().
Referenced by HMathMinMax::InferRange().
Definition at line 263 of file hydrogen-instructions.h.
References Range::CanBeMinusZero(), Range::Range(), and Range::set_can_be_minus_zero().
Referenced by HChange::InferRange(), HPhi::InferRange(), HAdd::InferRange(), HSub::InferRange(), HMul::InferRange(), HMathMinMax::InferRange(), HShl::InferRange(), HShr::InferRange(), and HSar::InferRange().
Definition at line 257 of file hydrogen-instructions.h.
References v8::internal::kMinInt, and Range::Range().
Definition at line 260 of file hydrogen-instructions.h.
References v8::internal::kMaxInt, and Range::Range().
|
inline |
Definition at line 273 of file hydrogen-instructions.h.
void Intersect | ( | Range * | other | ) |
Definition at line 143 of file hydrogen-instructions.cc.
References Range::CanBeMinusZero(), v8::internal::Max(), v8::internal::Min(), and Range::set_can_be_minus_zero().
Referenced by Range::StackUpon().
|
inline |
Definition at line 277 of file hydrogen-instructions.h.
References Smi::kMaxValue, and Smi::kMinValue.
Referenced by HChange::InferRange().
|
inline |
Definition at line 274 of file hydrogen-instructions.h.
References Range::CanBeMinusZero(), v8::internal::kMaxInt, and v8::internal::kMinInt.
void KeepOrder | ( | ) |
Definition at line 219 of file hydrogen-instructions.cc.
Referenced by Range::AddAndCheckOverflow(), and Range::SubAndCheckOverflow().
|
inline |
Definition at line 255 of file hydrogen-instructions.h.
Referenced by Range::AddAndCheckOverflow(), Range::MulAndCheckOverflow(), and Range::SubAndCheckOverflow().
int32_t Mask | ( | ) | const |
Definition at line 119 of file hydrogen-instructions.cc.
Referenced by HBitwise::InferRange().
bool MulAndCheckOverflow | ( | Range * | other | ) |
Definition at line 235 of file hydrogen-instructions.cc.
References Range::lower(), v8::internal::Max(), v8::internal::Min(), and Range::upper().
Referenced by HMul::InferRange().
|
inline |
Definition at line 256 of file hydrogen-instructions.h.
Referenced by HValue::RemoveLastAddedRange().
void Sar | ( | int32_t | value | ) |
Definition at line 173 of file hydrogen-instructions.cc.
References Range::set_can_be_minus_zero().
Referenced by HShr::InferRange(), and HSar::InferRange().
|
inline |
Definition at line 269 of file hydrogen-instructions.h.
Referenced by Range::CombinedMax(), Range::CombinedMin(), Range::Copy(), HValue::InferRange(), HChange::InferRange(), HConstant::InferRange(), HAdd::InferRange(), HSub::InferRange(), HMul::InferRange(), HMod::InferRange(), HDiv::InferRange(), HShl::InferRange(), HShr::InferRange(), HSar::InferRange(), Range::Intersect(), Range::Sar(), Range::Shl(), and Range::Union().
void Shl | ( | int32_t | value | ) |
Definition at line 181 of file hydrogen-instructions.cc.
References v8::internal::kMaxInt, v8::internal::kMinInt, and Range::set_can_be_minus_zero().
Referenced by HShl::InferRange().
|
inline |
Definition at line 285 of file hydrogen-instructions.h.
References Range::Intersect().
Referenced by HValue::AddNewRange().
bool SubAndCheckOverflow | ( | Range * | other | ) |
Definition at line 207 of file hydrogen-instructions.cc.
References Range::KeepOrder(), Range::lower(), and Range::upper().
Referenced by HSub::InferRange().
void Union | ( | Range * | other | ) |
Definition at line 151 of file hydrogen-instructions.cc.
References Range::CanBeMinusZero(), v8::internal::Max(), v8::internal::Min(), and Range::set_can_be_minus_zero().
Referenced by HPhi::InferRange().
|
inline |
Definition at line 254 of file hydrogen-instructions.h.
Referenced by Range::AddAndCheckOverflow(), Range::MulAndCheckOverflow(), and Range::SubAndCheckOverflow().