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

#include <lithium-arm.h>

Inheritance diagram for LChunk:
Collaboration diagram for LChunk:

Public Member Functions

 LChunk (CompilationInfo *info, HGraph *graph)
 
void AddInstruction (LInstruction *instruction, HBasicBlock *block)
 
LConstantOperandDefineConstantOperand (HConstant *constant)
 
Handle< ObjectLookupLiteral (LConstantOperand *operand) const
 
Representation LookupLiteralRepresentation (LConstantOperand *operand) const
 
int GetNextSpillIndex (bool is_double)
 
LOperandGetNextSpillSlot (bool is_double)
 
int ParameterAt (int index)
 
int GetParameterStackSlot (int index) const
 
int spill_slot_count () const
 
CompilationInfo * info () 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
 
 LChunk (CompilationInfo *info, HGraph *graph)
 
void AddInstruction (LInstruction *instruction, HBasicBlock *block)
 
LConstantOperandDefineConstantOperand (HConstant *constant)
 
Handle< ObjectLookupLiteral (LConstantOperand *operand) const
 
Representation LookupLiteralRepresentation (LConstantOperand *operand) const
 
int GetNextSpillIndex (bool is_double)
 
LOperandGetNextSpillSlot (bool is_double)
 
int ParameterAt (int index)
 
int GetParameterStackSlot (int index) const
 
int spill_slot_count () const
 
int num_double_slots () const
 
CompilationInfo * info () 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
 
 LChunk (CompilationInfo *info, HGraph *graph)
 
void AddInstruction (LInstruction *instruction, HBasicBlock *block)
 
LConstantOperandDefineConstantOperand (HConstant *constant)
 
Handle< ObjectLookupLiteral (LConstantOperand *operand) const
 
Representation LookupLiteralRepresentation (LConstantOperand *operand) const
 
int GetNextSpillIndex (bool is_double)
 
LOperandGetNextSpillSlot (bool is_double)
 
int ParameterAt (int index)
 
int GetParameterStackSlot (int index) const
 
int spill_slot_count () const
 
CompilationInfo * info () 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
 
 LChunk (CompilationInfo *info, HGraph *graph)
 
void AddInstruction (LInstruction *instruction, HBasicBlock *block)
 
LConstantOperandDefineConstantOperand (HConstant *constant)
 
Handle< ObjectLookupLiteral (LConstantOperand *operand) const
 
Representation LookupLiteralRepresentation (LConstantOperand *operand) const
 
int GetNextSpillIndex (bool is_double)
 
LOperandGetNextSpillSlot (bool is_double)
 
int ParameterAt (int index)
 
int GetParameterStackSlot (int index) const
 
int spill_slot_count () const
 
CompilationInfo * info () 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
 
- 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 2225 of file lithium-arm.h.

Constructor & Destructor Documentation

LChunk ( CompilationInfo *  info,
HGraph graph 
)
explicit

Definition at line 410 of file lithium-arm.cc.

LChunk ( CompilationInfo *  info,
HGraph graph 
)
inline

Definition at line 2308 of file lithium-ia32.h.

LChunk ( CompilationInfo *  info,
HGraph graph 
)
explicit
LChunk ( CompilationInfo *  info,
HGraph graph 
)
inline

Definition at line 2167 of file lithium-x64.h.

Member Function Documentation

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

Definition at line 2217 of file lithium-x64.h.

void AddInlinedClosure ( Handle< JSFunction closure)
inline

Definition at line 2237 of file lithium-mips.h.

void AddInlinedClosure ( Handle< JSFunction closure)
inline

Definition at line 2271 of file lithium-arm.h.

void AddInlinedClosure ( Handle< JSFunction closure)
inline

Definition at line 2360 of file lithium-ia32.h.

void AddInstruction ( LInstruction instruction,
HBasicBlock block 
)
void AddInstruction ( LInstruction instruction,
HBasicBlock block 
)
void AddInstruction ( LInstruction instruction,
HBasicBlock block 
)
LConstantOperand* DefineConstantOperand ( HConstant constant)
LConstantOperand* DefineConstantOperand ( HConstant constant)
LConstantOperand * DefineConstantOperand ( HConstant constant)

Definition at line 492 of file lithium-arm.cc.

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

LConstantOperand* DefineConstantOperand ( HConstant constant)
Label* GetAssemblyLabel ( int  block_id) const
inline

Definition at line 2207 of file lithium-x64.h.

References ASSERT.

Label* GetAssemblyLabel ( int  block_id) const
inline

Definition at line 2227 of file lithium-mips.h.

References ASSERT.

Label* GetAssemblyLabel ( int  block_id) const
inline

Definition at line 2261 of file lithium-arm.h.

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

Label* GetAssemblyLabel ( int  block_id) const
inline

Definition at line 2350 of file lithium-ia32.h.

References ASSERT.

LGap* GetGapAt ( int  index) const
LGap* GetGapAt ( int  index) const
LGap * GetGapAt ( int  index) const

Definition at line 515 of file lithium-arm.cc.

References LGap::cast().

Referenced by LChunk::AddGapMove().

LGap* GetGapAt ( int  index) const
LLabel* GetLabel ( int  block_id) const
inline

Definition at line 2195 of file lithium-x64.h.

References LGap::cast(), and HBasicBlock::first_instruction_index().

LLabel* GetLabel ( int  block_id) const
inline

Definition at line 2215 of file lithium-mips.h.

References LGap::cast(), and HBasicBlock::first_instruction_index().

LLabel* GetLabel ( int  block_id) const
inline

Definition at line 2249 of file lithium-arm.h.

References LGap::cast(), and HBasicBlock::first_instruction_index().

Referenced by LChunk::MarkEmptyBlocks().

LLabel* GetLabel ( int  block_id) const
inline

Definition at line 2338 of file lithium-ia32.h.

References LGap::cast(), and HBasicBlock::first_instruction_index().

int GetNextSpillIndex ( bool  is_double)
int GetNextSpillIndex ( bool  is_double)
int GetNextSpillIndex ( bool  is_double)

Definition at line 420 of file lithium-arm.cc.

Referenced by LChunk::GetNextSpillSlot().

int GetNextSpillIndex ( bool  is_double)
LOperand* GetNextSpillSlot ( bool  is_double)
LOperand* GetNextSpillSlot ( bool  is_double)
LOperand * GetNextSpillSlot ( bool  is_double)
LOperand* GetNextSpillSlot ( bool  is_double)
int GetParameterStackSlot ( int  index) const
int GetParameterStackSlot ( int  index) const
int GetParameterStackSlot ( int  index) const

Definition at line 497 of file lithium-arm.cc.

References ASSERT, and LChunk::info().

int GetParameterStackSlot ( int  index) const
HGraph* graph ( ) const
inline

Definition at line 2187 of file lithium-x64.h.

HGraph* graph ( ) const
inline

Definition at line 2207 of file lithium-mips.h.

HGraph* graph ( ) const
inline

Definition at line 2241 of file lithium-arm.h.

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

HGraph* graph ( ) const
inline

Definition at line 2330 of file lithium-ia32.h.

CompilationInfo* info ( ) const
inline

Definition at line 2186 of file lithium-x64.h.

CompilationInfo* info ( ) const
inline

Definition at line 2206 of file lithium-mips.h.

CompilationInfo* info ( ) const
inline

Definition at line 2240 of file lithium-arm.h.

Referenced by LChunk::GetParameterStackSlot(), and LChunk::ParameterAt().

CompilationInfo* info ( ) const
inline

Definition at line 2329 of file lithium-ia32.h.

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

Definition at line 2213 of file lithium-x64.h.

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

Definition at line 2233 of file lithium-mips.h.

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

Definition at line 2267 of file lithium-arm.h.

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

Definition at line 2356 of file lithium-ia32.h.

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

Definition at line 2188 of file lithium-x64.h.

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

Definition at line 2208 of file lithium-mips.h.

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

Definition at line 2242 of file lithium-arm.h.

Referenced by LChunk::MarkEmptyBlocks().

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

Definition at line 2331 of file lithium-ia32.h.

bool IsGapAt ( int  index) const
bool IsGapAt ( int  index) const
bool IsGapAt ( int  index) const

Definition at line 520 of file lithium-arm.cc.

Referenced by LChunk::NearestGapPos().

bool IsGapAt ( int  index) const
int LookupDestination ( int  block_id) const
inline

Definition at line 2200 of file lithium-x64.h.

References v8::internal::NULL.

int LookupDestination ( int  block_id) const
inline

Definition at line 2220 of file lithium-mips.h.

References v8::internal::NULL.

int LookupDestination ( int  block_id) const
inline

Definition at line 2254 of file lithium-arm.h.

References LLabel::block_id(), v8::internal::NULL, and LLabel::replacement().

int LookupDestination ( int  block_id) const
inline

Definition at line 2343 of file lithium-ia32.h.

References v8::internal::NULL.

Handle<Object> LookupLiteral ( LConstantOperand operand) const
Handle<Object> LookupLiteral ( LConstantOperand operand) const
Handle< Object > LookupLiteral ( LConstantOperand operand) const

Definition at line 537 of file lithium-arm.cc.

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

Handle<Object> LookupLiteral ( LConstantOperand operand) const
Representation LookupLiteralRepresentation ( LConstantOperand operand) const
Representation LookupLiteralRepresentation ( LConstantOperand operand) const
Representation LookupLiteralRepresentation ( LConstantOperand operand) const

Definition at line 542 of file lithium-arm.cc.

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

Representation LookupLiteralRepresentation ( LConstantOperand operand) const
void MarkEmptyBlocks ( )
void MarkEmptyBlocks ( )
void MarkEmptyBlocks ( )
int NearestGapPos ( int  index) const
int NearestGapPos ( int  index) const
int NearestGapPos ( int  index) const

Definition at line 525 of file lithium-arm.cc.

References LChunk::IsGapAt().

int NearestGapPos ( int  index) const
int num_double_slots ( ) const
inline

Definition at line 2328 of file lithium-ia32.h.

int ParameterAt ( int  index)
int ParameterAt ( int  index)
int ParameterAt ( int  index)

Definition at line 508 of file lithium-arm.cc.

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

int ParameterAt ( int  index)
const ZoneList<LPointerMap*>* pointer_maps ( ) const
inline

Definition at line 2194 of file lithium-x64.h.

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

Definition at line 2214 of file lithium-mips.h.

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

Definition at line 2248 of file lithium-arm.h.

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

Definition at line 2337 of file lithium-ia32.h.

int spill_slot_count ( ) const
inline

Definition at line 2185 of file lithium-x64.h.

int spill_slot_count ( ) const
inline

Definition at line 2205 of file lithium-mips.h.

int spill_slot_count ( ) const
inline

Definition at line 2239 of file lithium-arm.h.

int spill_slot_count ( ) const
inline

Definition at line 2327 of file lithium-ia32.h.

Zone* zone ( ) const
inline

Definition at line 2221 of file lithium-x64.h.

Zone* zone ( ) const
inline

Definition at line 2241 of file lithium-mips.h.

Zone* zone ( ) const
inline

Definition at line 2364 of file lithium-ia32.h.


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