v8  3.25.30(node0.11.13)
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)
 
LConstantOperand * DefineConstantOperand (HConstant *constant)
 
HConstant * LookupConstant (LConstantOperand *operand) const
 
Representation LookupLiteralRepresentation (LConstantOperand *operand) const
 
int ParameterAt (int index)
 
int GetParameterStackSlot (int index) const
 
int spill_slot_count () const
 
CompilationInfoinfo () const
 
HGraph * graph () const
 
Isolateisolate () 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
 
LLabel * GetLabel (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 ()
 
void set_allocated_double_registers (BitVector *allocated_registers)
 
BitVectorallocated_double_registers ()
 
- 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 629 of file lithium.h.

Constructor & Destructor Documentation

LChunk ( CompilationInfo info,
HGraph *  graph 
)
protected

Definition at line 253 of file lithium.cc.

Member Function Documentation

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

Definition at line 659 of file lithium.h.

References LChunk::zone().

void AddInstruction ( LInstruction instruction,
HBasicBlock *  block 
)
BitVector* allocated_double_registers ( )
inline

Definition at line 668 of file lithium.h.

Referenced by LChunk::set_allocated_double_registers().

LConstantOperand * DefineConstantOperand ( HConstant *  constant)

Definition at line 340 of file lithium.cc.

References LChunk::zone().

Label * GetAssemblyLabel ( int  block_id) const
LGap * GetGapAt ( int  index) const

Definition at line 365 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 345 of file lithium.cc.

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

HGraph* graph ( ) const
inline

Definition at line 642 of file lithium.h.

Referenced by LChunk::MarkEmptyBlocks().

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

Definition at line 655 of file lithium.h.

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

Definition at line 644 of file lithium.h.

Referenced by LChunk::MarkEmptyBlocks().

bool IsGapAt ( int  index) const

Definition at line 370 of file lithium.cc.

Referenced by LChunk::NearestGapPos().

Isolate* isolate ( ) const
inline

Definition at line 643 of file lithium.h.

Referenced by LChunk::Codegen().

HConstant * LookupConstant ( LConstantOperand *  operand) const

Definition at line 387 of file lithium.cc.

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

Definition at line 392 of file lithium.cc.

void MarkEmptyBlocks ( )
int NearestGapPos ( int  index) const

Definition at line 375 of file lithium.cc.

References LChunk::IsGapAt().

int ParameterAt ( int  index)

Definition at line 358 of file lithium.cc.

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

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

Definition at line 650 of file lithium.h.

void set_allocated_double_registers ( BitVector allocated_registers)
int spill_slot_count ( ) const
inline

Definition at line 640 of file lithium.h.

References LChunk::spill_slot_count_.

Zone* zone ( ) const
inline

Field Documentation

int spill_slot_count_
protected

Definition at line 675 of file lithium.h.

Referenced by LChunk::set_allocated_double_registers(), and LChunk::spill_slot_count().


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