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

#include <lithium.h>

Inheritance diagram for LChunk:
Collaboration diagram for LChunk:

Public Member Functions

void AddInstruction (LInstruction *instruction, HBasicBlock *block)
 
LConstantOperandDefineConstantOperand (HConstant *constant)
 
HConstantLookupConstant (LConstantOperand *operand) const
 
Representation LookupLiteralRepresentation (LConstantOperand *operand) const
 
int ParameterAt (int index)
 
int GetParameterStackSlot (int index) const
 
int spill_slot_count () const
 
CompilationInfoinfo () const
 
HGraphgraph () const
 
const ZoneList< LInstruction * > * instructions () const
 
void AddGapMove (int index, LOperand *from, LOperand *to)
 
LGapGetGapAt (int index) const
 
bool IsGapAt (int index) const
 
int NearestGapPos (int index) const
 
void MarkEmptyBlocks ()
 
const ZoneList< LPointerMap * > * pointer_maps () const
 
LLabelGetLabel (int block_id) const
 
int LookupDestination (int block_id) const
 
Label * GetAssemblyLabel (int block_id) const
 
const ZoneList< Handle
< JSFunction > > * 
inlined_closures () const
 
void AddInlinedClosure (Handle< JSFunction > closure)
 
Zonezone () const
 
Handle< CodeCodegen ()
 
- 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)
 

Static Public Member Functions

static LChunkNewChunk (HGraph *graph)
 

Protected Member Functions

 LChunk (CompilationInfo *info, HGraph *graph)
 

Protected Attributes

int spill_slot_count_
 

Detailed Description

Definition at line 650 of file lithium.h.

Constructor & Destructor Documentation

LChunk ( CompilationInfo info,
HGraph graph 
)
inlineprotected

Definition at line 688 of file lithium.h.

Member Function Documentation

void AddGapMove ( int  index,
LOperand from,
LOperand to 
)
void AddInlinedClosure ( Handle< JSFunction closure)
inline

Definition at line 679 of file lithium.h.

References LChunk::zone().

LConstantOperand * DefineConstantOperand ( HConstant constant)

Definition at line 336 of file lithium.cc.

References LConstantOperand::Create(), HValue::id(), and LChunk::zone().

Label * GetAssemblyLabel ( int  block_id) const

Definition at line 275 of file lithium.cc.

References ASSERT, LChunk::GetLabel(), LLabel::HasReplacement(), and LLabel::label().

LGap * GetGapAt ( int  index) const

Definition at line 360 of file lithium.cc.

References LGap::cast().

Referenced by LChunk::AddGapMove().

LLabel * GetLabel ( int  block_id) const
int GetParameterStackSlot ( int  index) const

Definition at line 341 of file lithium.cc.

References ASSERT, LChunk::info(), Scope::num_parameters(), and CompilationInfo::scope().

HGraph* graph ( ) const
inline

Definition at line 663 of file lithium.h.

Referenced by LChunk::MarkEmptyBlocks(), and HTracer::TraceLithium().

CompilationInfo* info ( ) const
inline
const ZoneList<Handle<JSFunction> >* inlined_closures ( ) const
inline

Definition at line 675 of file lithium.h.

const ZoneList<LInstruction*>* instructions ( ) const
inline

Definition at line 664 of file lithium.h.

Referenced by LChunk::MarkEmptyBlocks().

bool IsGapAt ( int  index) const

Definition at line 365 of file lithium.cc.

Referenced by LChunk::NearestGapPos().

HConstant * LookupConstant ( LConstantOperand operand) const

Definition at line 382 of file lithium.cc.

References HValue::cast(), LOperand::index(), and HGraph::LookupValue().

int LookupDestination ( int  block_id) const
Representation LookupLiteralRepresentation ( LConstantOperand operand) const

Definition at line 387 of file lithium.cc.

References LOperand::index(), and HGraph::LookupValue().

int NearestGapPos ( int  index) const

Definition at line 370 of file lithium.cc.

References LChunk::IsGapAt().

int ParameterAt ( int  index)

Definition at line 353 of file lithium.cc.

References ASSERT, LChunk::info(), and v8::internal::kPointerSize.

const ZoneList<LPointerMap*>* pointer_maps ( ) const
inline

Definition at line 670 of file lithium.h.

int spill_slot_count ( ) const
inline

Definition at line 661 of file lithium.h.

References LChunk::spill_slot_count_.

Field Documentation

int spill_slot_count_
protected

Definition at line 696 of file lithium.h.

Referenced by LPlatformChunk::GetNextSpillIndex(), and LChunk::spill_slot_count().


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