v8  3.14.5(node0.10.28)
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)
 
Isolateisolate ()
 
Zonezone () const
 
CompilationInfoinfo () 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 ()
 
void ComputeSafeUint32Operations ()
 
bool ProcessArgumentsObject ()
 
void EliminateRedundantPhis ()
 
void EliminateUnreachablePhis ()
 
void Canonicalize ()
 
void OrderBlocks ()
 
void AssignDominators ()
 
void ReplaceCheckedValues ()
 
void EliminateRedundantBoundsChecks ()
 
void DehoistSimpleArrayIndexComputations ()
 
void DeadCodeElimination ()
 
void PropagateDeoptimizingMark ()
 
bool CheckArgumentsPhiUses ()
 
bool CheckConstPhiUses ()
 
void CollectPhis ()
 
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 Optimize (SmartArrayPointer< char > *bailout_reason)
 
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)
 
int update_type_change_checksum (int delta)
 
bool use_optimistic_licm ()
 
void set_use_optimistic_licm (bool value)
 
void MarkRecursive ()
 
bool is_recursive () const
 
void RecordUint32Instruction (HInstruction *instr)
 
- 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 243 of file hydrogen.h.

Constructor & Destructor Documentation

Member Function Documentation

bool CheckArgumentsPhiUses ( )

Definition at line 1155 of file hydrogen.cc.

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

Referenced by HGraph::Optimize().

bool CheckConstPhiUses ( )

Definition at line 1168 of file hydrogen.cc.

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

Referenced by HGraph::Optimize().

void CollectPhis ( )

Definition at line 1183 of file hydrogen.cc.

References HGraph::zone().

Referenced by HGraph::Optimize().

void ComputeSafeUint32Operations ( )
void DehoistSimpleArrayIndexComputations ( )

Definition at line 3751 of file hydrogen.cc.

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

Referenced by HGraph::Optimize().

void EliminateRedundantBoundsChecks ( )

Definition at line 3696 of file hydrogen.cc.

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

Referenced by HGraph::Optimize().

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

Definition at line 295 of file hydrogen.h.

HConstant * GetConstant1 ( )

Definition at line 594 of file hydrogen.cc.

HConstant * GetConstantFalse ( )

Definition at line 609 of file hydrogen.cc.

References HGraph::isolate().

HConstant * GetConstantHole ( )

Definition at line 614 of file hydrogen.cc.

References HGraph::isolate().

Referenced by HGraph::CheckConstPhiUses().

HConstant * GetConstantMinus1 ( )

Definition at line 599 of file hydrogen.cc.

HConstant * GetConstantTrue ( )

Definition at line 604 of file hydrogen.cc.

References HGraph::isolate().

HConstant* GetConstantUndefined ( ) const
inline

Definition at line 287 of file hydrogen.h.

Referenced by HGraphBuilder::CreateGraph().

int GetMaximumValueID ( ) const
inline

Definition at line 303 of file hydrogen.h.

Referenced by HGraph::ComputeMinusZeroChecks(), and LChunk::NewChunk().

int GetNextBlockID ( )
inline

Definition at line 304 of file hydrogen.h.

int GetNextValueID ( HValue value)
inline

Definition at line 305 of file hydrogen.h.

References HGraph::zone().

Referenced by HValue::SetBlock().

bool has_osr_loop_entry ( )
inline

Definition at line 320 of file hydrogen.h.

Referenced by HGraph::Optimize().

CompilationInfo* info ( ) const
inline

Definition at line 249 of file hydrogen.h.

Referenced by LChunk::NewChunk(), and HGraph::Optimize().

void InitializeInferredTypes ( )

Definition at line 2466 of file hydrogen.cc.

Referenced by HGraph::Optimize().

void InsertTypeConversions ( )
bool is_recursive ( ) const
inline

Definition at line 357 of file hydrogen.h.

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

Definition at line 309 of file hydrogen.h.

References v8::internal::NULL.

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

void MarkDeoptimizeOnUndefined ( )
void MarkRecursive ( )
inline

Definition at line 353 of file hydrogen.h.

HBasicBlock* osr_loop_entry ( )
inline

Definition at line 324 of file hydrogen.h.

Referenced by HGraph::Optimize().

ZoneList<HUnknownOSRValue*>* osr_values ( )
inline

Definition at line 332 of file hydrogen.h.

Referenced by HGraph::Optimize().

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

Definition at line 1064 of file hydrogen.cc.

References HGraph::entry_block().

Referenced by HGraph::Optimize().

void RecordUint32Instruction ( HInstruction instr)
inline

Definition at line 361 of file hydrogen.h.

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

void ReplaceCheckedValues ( )
void set_osr_loop_entry ( HBasicBlock entry)
inline

Definition at line 328 of file hydrogen.h.

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

Definition at line 336 of file hydrogen.h.

void set_undefined_constant ( HConstant constant)
inline

Definition at line 284 of file hydrogen.h.

void set_use_optimistic_licm ( bool  value)
inline

Definition at line 349 of file hydrogen.h.

Referenced by HGraphBuilder::CreateGraph().

void SetArgumentsObject ( HArgumentsObject object)
inline

Definition at line 299 of file hydrogen.h.

HEnvironment* start_environment ( ) const
inline

Definition at line 254 of file hydrogen.h.

int update_type_change_checksum ( int  delta)
inline

Definition at line 340 of file hydrogen.h.

Referenced by HGraphBuilder::CreateGraph().

bool use_optimistic_licm ( )
inline

Definition at line 345 of file hydrogen.h.


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