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
HSimulate Class Reference

#include <hydrogen-instructions.h>

Inheritance diagram for HSimulate:
Collaboration diagram for HSimulate:

Public Member Functions

 HSimulate (int ast_id, int pop_count, Zone *zone)
 
virtual ~HSimulate ()
 
virtual void PrintDataTo (StringStream *stream)
 
bool HasAstId () const
 
int ast_id () const
 
void set_ast_id (int id)
 
int pop_count () const
 
const ZoneList< HValue * > * values () const
 
int GetAssignedIndexAt (int index) const
 
bool HasAssignedIndexAt (int index) const
 
void AddAssignedValue (int index, HValue *value)
 
void AddPushedValue (HValue *value)
 
virtual int OperandCount ()
 
virtual HValueOperandAt (int index)
 
virtual Representation RequiredInputRepresentation (int index)
 
- Public Member Functions inherited from HInstruction
HInstructionnext () const
 
HInstructionprevious () const
 
virtual void PrintTo (StringStream *stream)
 
bool IsLinked () const
 
void Unlink ()
 
void InsertBefore (HInstruction *next)
 
void InsertAfter (HInstruction *previous)
 
int position () const
 
bool has_position () const
 
void set_position (int position)
 
bool CanTruncateToInt32 () const
 
virtual LInstructionCompileToLithium (LChunkBuilder *builder)=0
 
virtual bool IsCall ()
 
- Public Member Functions inherited from HValue
 STATIC_ASSERT (kLastFlag< kBitsPerInt)
 
virtual Opcode opcode () const =0
 
bool IsPhi () const
 
 HValue ()
 
virtual ~HValue ()
 
HBasicBlockblock () const
 
void SetBlock (HBasicBlock *block)
 
int LoopWeight () const
 
int id () const
 
void set_id (int id)
 
HUseIterator uses () const
 
virtual bool EmitAtUses ()
 
Representation representation () const
 
void ChangeRepresentation (Representation r)
 
void AssumeRepresentation (Representation r)
 
virtual bool IsConvertibleToInteger () const
 
HType type () const
 
void set_type (HType new_type)
 
virtual HValueEnsureAndPropagateNotMinusZero (BitVector *visited)
 
bool IsDefinedAfter (HBasicBlock *other) const
 
void SetOperandAt (int index, HValue *value)
 
void DeleteAndReplaceWith (HValue *other)
 
void ReplaceAllUsesWith (HValue *other)
 
bool HasNoUses () const
 
bool HasMultipleUses () const
 
int UseCount () const
 
void Kill ()
 
int flags () const
 
void SetFlag (Flag f)
 
void ClearFlag (Flag f)
 
bool CheckFlag (Flag f) const
 
bool CheckUsesForFlag (Flag f)
 
GVNFlagSet gvn_flags () const
 
void SetGVNFlag (GVNFlag f)
 
void ClearGVNFlag (GVNFlag f)
 
bool CheckGVNFlag (GVNFlag f) const
 
void SetAllSideEffects ()
 
void ClearAllSideEffects ()
 
bool HasSideEffects () const
 
bool HasObservableSideEffects () const
 
GVNFlagSet DependsOnFlags () const
 
GVNFlagSet SideEffectFlags () const
 
GVNFlagSet ChangesFlags () const
 
GVNFlagSet ObservableChangesFlags () const
 
Rangerange () const
 
bool HasRange () const
 
void AddNewRange (Range *r, Zone *zone)
 
void RemoveLastAddedRange ()
 
void ComputeInitialRange (Zone *zone)
 
virtual Representation InferredRepresentation ()
 
virtual Representation ObservedInputRepresentation (int index)
 
virtual HValueCanonicalize ()
 
bool Equals (HValue *other)
 
virtual intptr_t Hashcode ()
 
void PrintNameTo (StringStream *stream)
 
void PrintTypeTo (StringStream *stream)
 
void PrintRangeTo (StringStream *stream)
 
void PrintChangesTo (StringStream *stream)
 
const char * Mnemonic () const
 
bool UpdateInferredType ()
 
virtual HType CalculateInferredType ()
 
virtual void SetSideEffectDominator (GVNFlag side_effect, HValue *dominator)
 
- 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)
 

Protected Member Functions

virtual void InternalSetOperandAt (int index, HValue *value)
 
- Protected Member Functions inherited from HInstruction
 HInstruction ()
 
virtual void DeleteFromGraph ()
 
- Protected Member Functions inherited from HValue
virtual bool DataEquals (HValue *other)
 
virtual void RepresentationChanged (Representation to)
 
virtual RangeInferRange (Zone *zone)
 
void clear_block ()
 
void set_representation (Representation r)
 
HUseListNodeRemoveUse (HValue *value, int index)
 
void RegisterUse (int index, HValue *new_value)
 

Additional Inherited Members

- Public Types inherited from HValue
enum  Flag {
  kFlexibleRepresentation, kUseGVN, kTrackSideEffectDominators, kCanOverflow,
  kBailoutOnMinusZero, kCanBeDivByZero, kDeoptimizeOnUndefined, kIsArguments,
  kTruncatingToInt32, kIsDead, kLastFlag = kIsDead
}
 
enum  Opcode { kPhi }
 
- Static Public Member Functions inherited from HValue
static GVNFlag ChangesFlagFromInt (int x)
 
static GVNFlag DependsOnFlagFromInt (int x)
 
static GVNFlagSet ConvertChangesToDependsFlags (GVNFlagSet flags)
 
static HValuecast (HValue *value)
 
- Static Public Attributes inherited from HValue
static const int kNoNumber = -1
 
static const int kChangesToDependsFlagsLeftShift = 1
 
- Static Protected Member Functions inherited from HValue
static GVNFlagSet AllDependsOnFlagSet ()
 
static GVNFlagSet AllChangesFlagSet ()
 
static GVNFlagSet AllSideEffectsFlagSet ()
 
static GVNFlagSet AllObservableSideEffectsFlagSet ()
 
- Protected Attributes inherited from HValue
HBasicBlockblock_
 
int id_
 
Representation representation_
 
HType type_
 
HUseListNodeuse_list_
 
Rangerange_
 
int flags_
 
GVNFlagSet gvn_flags_
 

Detailed Description

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

Constructor & Destructor Documentation

HSimulate ( int  ast_id,
int  pop_count,
Zone zone 
)
inline

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

virtual ~HSimulate ( )
inlinevirtual

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

Member Function Documentation

void AddAssignedValue ( int  index,
HValue value 
)
inline

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

void AddPushedValue ( HValue value)
inline

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

int ast_id ( ) const
inline

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

Referenced by HSimulate::PrintDataTo().

int GetAssignedIndexAt ( int  index) const
inline

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

References ASSERT.

Referenced by HSimulate::PrintDataTo().

bool HasAssignedIndexAt ( int  index) const
inline

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

Referenced by HSimulate::PrintDataTo().

bool HasAstId ( ) const
inline

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

References AstNode::kNoNumber.

virtual void InternalSetOperandAt ( int  index,
HValue value 
)
inlineprotectedvirtual

Implements HValue.

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

References HUnaryControlInstruction::value().

virtual HValue* OperandAt ( int  index)
inlinevirtual

Implements HValue.

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

virtual int OperandCount ( )
inlinevirtual

Implements HValue.

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

int pop_count ( ) const
inline

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

void PrintDataTo ( StringStream stream)
virtual
virtual Representation RequiredInputRepresentation ( int  index)
inlinevirtual

Implements HValue.

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

References Representation::None().

void set_ast_id ( int  id)
inline

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

References ASSERT, and HValue::id().

const ZoneList<HValue*>* values ( ) const
inline

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


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