v8  3.11.10(node0.8.26)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Range Class Reference

#include <hydrogen-instructions.h>

Inheritance diagram for Range:
Collaboration diagram for Range:

Public Member Functions

 Range ()
 
 Range (int32_t lower, int32_t upper)
 
int32_t upper () const
 
int32_t lower () const
 
Rangenext () const
 
RangeCopyClearLower (Zone *zone) const
 
RangeCopyClearUpper (Zone *zone) const
 
RangeCopy (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 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)
 

Detailed Description

Definition at line 227 of file hydrogen-instructions.h.

Constructor & Destructor Documentation

Range ( )
inline
Range ( int32_t  lower,
int32_t  upper 
)
inline

Definition at line 235 of file hydrogen-instructions.h.

Member Function Documentation

bool AddAndCheckOverflow ( Range other)

Definition at line 181 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.

bool CanBeNegative ( ) const
inline

Definition at line 259 of file hydrogen-instructions.h.

Referenced by HMul::InferRange(), and HMod::InferRange().

bool CanBeZero ( ) const
inline
Range* CopyClearLower ( Zone zone) const
inline

Definition at line 244 of file hydrogen-instructions.h.

References v8::internal::kMinInt, and Range::Range().

Range* CopyClearUpper ( Zone zone) const
inline

Definition at line 247 of file hydrogen-instructions.h.

References v8::internal::kMaxInt, and Range::Range().

bool Includes ( int  value) const
inline

Definition at line 260 of file hydrogen-instructions.h.

void Intersect ( Range other)
bool IsInSmiRange ( ) const
inline

Definition at line 264 of file hydrogen-instructions.h.

References Smi::kMaxValue, and Smi::kMinValue.

Referenced by HChange::InferRange().

bool IsMostGeneric ( ) const
inline
void KeepOrder ( )
int32_t lower ( ) const
inline
int32_t Mask ( ) const

Definition at line 119 of file hydrogen-instructions.cc.

Referenced by HBitwise::InferRange().

bool MulAndCheckOverflow ( Range other)
Range* next ( ) const
inline

Definition at line 243 of file hydrogen-instructions.h.

Referenced by HValue::RemoveLastAddedRange().

void Sar ( int32_t  value)

Definition at line 159 of file hydrogen-instructions.cc.

References Range::set_can_be_minus_zero().

Referenced by HShr::InferRange(), and HSar::InferRange().

void Shl ( int32_t  value)
void StackUpon ( Range other)
inline

Definition at line 272 of file hydrogen-instructions.h.

References Range::Intersect().

Referenced by HValue::AddNewRange().

bool SubAndCheckOverflow ( Range other)

Definition at line 193 of file hydrogen-instructions.cc.

References Range::KeepOrder(), Range::lower(), and Range::upper().

Referenced by HSub::InferRange().

void Union ( Range other)
int32_t upper ( ) const
inline

The documentation for this class was generated from the following files: