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

#include <hydrogen.h>

Inheritance diagram for HGraph:
Collaboration diagram for HGraph:

Public Member Functions

 HGraph (CompilationInfo *info, Zone *zone)
 
Isolateisolate ()
 
Zonezone () const
 
const ZoneList< HBasicBlock * > * blocks () const
 
const ZoneList< HPhi * > * phi_list () const
 
HBasicBlockentry_block () const
 
HEnvironmentstart_environment () const
 
void InitializeInferredTypes ()
 
void InsertTypeConversions ()
 
void InsertRepresentationChanges ()
 
void MarkDeoptimizeOnUndefined ()
 
void ComputeMinusZeroChecks ()
 
bool ProcessArgumentsObject ()
 
void EliminateRedundantPhis ()
 
void EliminateUnreachablePhis ()
 
void Canonicalize ()
 
void OrderBlocks ()
 
void AssignDominators ()
 
void ReplaceCheckedValues ()
 
void EliminateRedundantBoundsChecks ()
 
void DehoistSimpleArrayIndexComputations ()
 
void PropagateDeoptimizingMark ()
 
bool CheckArgumentsPhiUses ()
 
bool CheckConstPhiUses ()
 
void CollectPhis ()
 
Handle< CodeCompile (CompilationInfo *info, Zone *zone)
 
void set_undefined_constant (HConstant *constant)
 
HConstantGetConstantUndefined () const
 
HConstantGetConstant1 ()
 
HConstantGetConstantMinus1 ()
 
HConstantGetConstantTrue ()
 
HConstantGetConstantFalse ()
 
HConstantGetConstantHole ()
 
HBasicBlockCreateBasicBlock ()
 
HArgumentsObjectGetArgumentsObject () const
 
void SetArgumentsObject (HArgumentsObject *object)
 
int GetMaximumValueID () const
 
int GetNextBlockID ()
 
int GetNextValueID (HValue *value)
 
HValueLookupValue (int id) const
 
bool has_osr_loop_entry ()
 
HBasicBlockosr_loop_entry ()
 
void set_osr_loop_entry (HBasicBlock *entry)
 
ZoneList< HUnknownOSRValue * > * osr_values ()
 
void set_osr_values (ZoneList< HUnknownOSRValue * > *values)
 
void MarkRecursive ()
 
bool is_recursive () const
 
- 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 245 of file hydrogen.h.

Constructor & Destructor Documentation

Member Function Documentation

bool CheckArgumentsPhiUses ( )

Definition at line 928 of file hydrogen.cc.

References HValue::CheckFlag(), and HValue::kIsArguments.

bool CheckConstPhiUses ( )

Definition at line 941 of file hydrogen.cc.

References HGraph::GetConstantHole(), HPhi::OperandAt(), and HPhi::OperandCount().

void CollectPhis ( )

Definition at line 956 of file hydrogen.cc.

References HGraph::zone().

Referenced by HGraphBuilder::CreateGraph().

void DehoistSimpleArrayIndexComputations ( )

Definition at line 3293 of file hydrogen.cc.

References HGraph::blocks(), HValue::cast(), and v8::internal::NULL.

Referenced by HGraphBuilder::CreateGraph().

void EliminateRedundantBoundsChecks ( )

Definition at line 3238 of file hydrogen.cc.

References HGraph::entry_block(), and HGraph::zone().

Referenced by HGraphBuilder::CreateGraph().

HBasicBlock* entry_block ( ) const
inline
HArgumentsObject* GetArgumentsObject ( ) const
inline

Definition at line 296 of file hydrogen.h.

HConstant * GetConstant1 ( )

Definition at line 582 of file hydrogen.cc.

References Smi::FromInt().

HConstant * GetConstantFalse ( )

Definition at line 597 of file hydrogen.cc.

References HGraph::isolate().

HConstant * GetConstantHole ( )

Definition at line 602 of file hydrogen.cc.

References HGraph::isolate().

Referenced by HGraph::CheckConstPhiUses().

HConstant * GetConstantMinus1 ( )

Definition at line 587 of file hydrogen.cc.

References Smi::FromInt().

HConstant * GetConstantTrue ( )

Definition at line 592 of file hydrogen.cc.

References HGraph::isolate().

HConstant* GetConstantUndefined ( ) const
inline

Definition at line 288 of file hydrogen.h.

Referenced by HGraphBuilder::CreateGraph().

int GetMaximumValueID ( ) const
inline

Definition at line 304 of file hydrogen.h.

Referenced by HGraph::Compile(), and HGraph::ComputeMinusZeroChecks().

int GetNextBlockID ( )
inline

Definition at line 305 of file hydrogen.h.

int GetNextValueID ( HValue value)
inline

Definition at line 306 of file hydrogen.h.

References HGraph::zone().

Referenced by HValue::SetBlock().

bool has_osr_loop_entry ( )
inline

Definition at line 319 of file hydrogen.h.

void InitializeInferredTypes ( )

Definition at line 2280 of file hydrogen.cc.

Referenced by HGraphBuilder::CreateGraph().

void InsertTypeConversions ( )
bool is_recursive ( ) const
inline

Definition at line 343 of file hydrogen.h.

Isolate* isolate ( )
inline
HValue* LookupValue ( int  id) const
inline

Definition at line 310 of file hydrogen.h.

References v8::internal::NULL.

Referenced by LChunk::LookupLiteral(), and LChunk::LookupLiteralRepresentation().

void MarkDeoptimizeOnUndefined ( )
void MarkRecursive ( )
inline

Definition at line 339 of file hydrogen.h.

void OrderBlocks ( )

Definition at line 756 of file hydrogen.cc.

References v8::internal::NULL, HBasicBlock::set_block_id(), and HGraph::zone().

Referenced by HGraphBuilder::CreateGraph().

HBasicBlock* osr_loop_entry ( )
inline

Definition at line 323 of file hydrogen.h.

Referenced by HGraphBuilder::CreateGraph().

ZoneList<HUnknownOSRValue*>* osr_values ( )
inline

Definition at line 331 of file hydrogen.h.

Referenced by HGraphBuilder::CreateGraph().

const ZoneList<HPhi*>* phi_list ( ) const
inline
bool ProcessArgumentsObject ( )
void PropagateDeoptimizingMark ( )

Definition at line 837 of file hydrogen.cc.

References HGraph::entry_block().

Referenced by HGraphBuilder::CreateGraph().

void ReplaceCheckedValues ( )
void set_osr_loop_entry ( HBasicBlock entry)
inline

Definition at line 327 of file hydrogen.h.

void set_osr_values ( ZoneList< HUnknownOSRValue * > *  values)
inline

Definition at line 335 of file hydrogen.h.

void set_undefined_constant ( HConstant constant)
inline

Definition at line 285 of file hydrogen.h.

void SetArgumentsObject ( HArgumentsObject object)
inline

Definition at line 300 of file hydrogen.h.

HEnvironment* start_environment ( ) const
inline

Definition at line 255 of file hydrogen.h.


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