v8
3.11.10(node0.8.26)
V8 is Google's open source JavaScript engine
|
#include <lithium-arm.h>
Public Member Functions | |
LChunk (CompilationInfo *info, HGraph *graph) | |
void | AddInstruction (LInstruction *instruction, HBasicBlock *block) |
LConstantOperand * | DefineConstantOperand (HConstant *constant) |
Handle< Object > | LookupLiteral (LConstantOperand *operand) const |
Representation | LookupLiteralRepresentation (LConstantOperand *operand) const |
int | GetNextSpillIndex (bool is_double) |
LOperand * | GetNextSpillSlot (bool is_double) |
int | ParameterAt (int index) |
int | GetParameterStackSlot (int index) const |
int | spill_slot_count () const |
CompilationInfo * | info () const |
HGraph * | graph () const |
const ZoneList< LInstruction * > * | instructions () const |
void | AddGapMove (int index, LOperand *from, LOperand *to) |
LGap * | GetGapAt (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) |
Zone * | zone () const |
LChunk (CompilationInfo *info, HGraph *graph) | |
void | AddInstruction (LInstruction *instruction, HBasicBlock *block) |
LConstantOperand * | DefineConstantOperand (HConstant *constant) |
Handle< Object > | LookupLiteral (LConstantOperand *operand) const |
Representation | LookupLiteralRepresentation (LConstantOperand *operand) const |
int | GetNextSpillIndex (bool is_double) |
LOperand * | GetNextSpillSlot (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 |
HGraph * | graph () const |
const ZoneList< LInstruction * > * | instructions () const |
void | AddGapMove (int index, LOperand *from, LOperand *to) |
LGap * | GetGapAt (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) |
Zone * | zone () const |
LChunk (CompilationInfo *info, HGraph *graph) | |
void | AddInstruction (LInstruction *instruction, HBasicBlock *block) |
LConstantOperand * | DefineConstantOperand (HConstant *constant) |
Handle< Object > | LookupLiteral (LConstantOperand *operand) const |
Representation | LookupLiteralRepresentation (LConstantOperand *operand) const |
int | GetNextSpillIndex (bool is_double) |
LOperand * | GetNextSpillSlot (bool is_double) |
int | ParameterAt (int index) |
int | GetParameterStackSlot (int index) const |
int | spill_slot_count () const |
CompilationInfo * | info () const |
HGraph * | graph () const |
const ZoneList< LInstruction * > * | instructions () const |
void | AddGapMove (int index, LOperand *from, LOperand *to) |
LGap * | GetGapAt (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) |
Zone * | zone () const |
LChunk (CompilationInfo *info, HGraph *graph) | |
void | AddInstruction (LInstruction *instruction, HBasicBlock *block) |
LConstantOperand * | DefineConstantOperand (HConstant *constant) |
Handle< Object > | LookupLiteral (LConstantOperand *operand) const |
Representation | LookupLiteralRepresentation (LConstantOperand *operand) const |
int | GetNextSpillIndex (bool is_double) |
LOperand * | GetNextSpillSlot (bool is_double) |
int | ParameterAt (int index) |
int | GetParameterStackSlot (int index) const |
int | spill_slot_count () const |
CompilationInfo * | info () const |
HGraph * | graph () const |
const ZoneList< LInstruction * > * | instructions () const |
void | AddGapMove (int index, LOperand *from, LOperand *to) |
LGap * | GetGapAt (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) |
Zone * | zone () 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) |
Definition at line 2225 of file lithium-arm.h.
Definition at line 410 of file lithium-arm.cc.
Definition at line 2308 of file lithium-ia32.h.
Definition at line 2167 of file lithium-x64.h.
Definition at line 531 of file lithium-arm.cc.
References LParallelMove::AddMove(), LChunk::GetGapAt(), LGap::GetOrCreateParallelMove(), LGap::START, and LChunk::zone().
|
inline |
Definition at line 2217 of file lithium-x64.h.
|
inline |
Definition at line 2237 of file lithium-mips.h.
|
inline |
Definition at line 2271 of file lithium-arm.h.
|
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 | ||
) |
Definition at line 473 of file lithium-arm.cc.
References LInstruction::HasPointerMap(), LInstruction::IsControl(), LInstruction::pointer_map(), LPointerMap::set_lithium_position(), HGraph::zone(), and LChunk::zone().
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 | ) |
|
inline |
Definition at line 2207 of file lithium-x64.h.
References ASSERT.
|
inline |
Definition at line 2227 of file lithium-mips.h.
References ASSERT.
|
inline |
Definition at line 2261 of file lithium-arm.h.
References ASSERT, LLabel::HasReplacement(), and LLabel::label().
|
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 |
|
inline |
Definition at line 2195 of file lithium-x64.h.
References LGap::cast(), and HBasicBlock::first_instruction_index().
|
inline |
Definition at line 2215 of file lithium-mips.h.
References LGap::cast(), and HBasicBlock::first_instruction_index().
|
inline |
Definition at line 2249 of file lithium-arm.h.
References LGap::cast(), and HBasicBlock::first_instruction_index().
Referenced by LChunk::MarkEmptyBlocks().
|
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 | ) |
Definition at line 427 of file lithium-arm.cc.
References LStackSlot::Create(), LDoubleStackSlot::Create(), LChunk::GetNextSpillIndex(), and LChunk::zone().
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 |
|
inline |
Definition at line 2187 of file lithium-x64.h.
|
inline |
Definition at line 2207 of file lithium-mips.h.
|
inline |
Definition at line 2241 of file lithium-arm.h.
Referenced by LChunk::MarkEmptyBlocks(), and HTracer::TraceLithium().
|
inline |
Definition at line 2330 of file lithium-ia32.h.
|
inline |
Definition at line 2186 of file lithium-x64.h.
|
inline |
Definition at line 2206 of file lithium-mips.h.
|
inline |
Definition at line 2240 of file lithium-arm.h.
Referenced by LChunk::GetParameterStackSlot(), and LChunk::ParameterAt().
|
inline |
Definition at line 2329 of file lithium-ia32.h.
|
inline |
Definition at line 2213 of file lithium-x64.h.
|
inline |
Definition at line 2233 of file lithium-mips.h.
|
inline |
Definition at line 2267 of file lithium-arm.h.
|
inline |
Definition at line 2356 of file lithium-ia32.h.
|
inline |
Definition at line 2188 of file lithium-x64.h.
|
inline |
Definition at line 2208 of file lithium-mips.h.
|
inline |
Definition at line 2242 of file lithium-arm.h.
Referenced by LChunk::MarkEmptyBlocks().
|
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 |
|
inline |
Definition at line 2200 of file lithium-x64.h.
References v8::internal::NULL.
|
inline |
Definition at line 2220 of file lithium-mips.h.
References v8::internal::NULL.
|
inline |
Definition at line 2254 of file lithium-arm.h.
References LLabel::block_id(), v8::internal::NULL, and LLabel::replacement().
|
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 | ( | ) |
Definition at line 437 of file lithium-arm.cc.
References LGoto::block_id(), HGraph::blocks(), LGap::cast(), HBasicBlock::first_instruction_index(), LChunk::GetLabel(), LChunk::graph(), LChunk::instructions(), LLabel::is_loop_header(), LInstruction::IsGap(), LGap::IsRedundant(), HBasicBlock::last_instruction_index(), and LLabel::set_replacement().
Referenced by HGraph::Compile().
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 |
|
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 | ) |
|
inline |
Definition at line 2194 of file lithium-x64.h.
|
inline |
Definition at line 2214 of file lithium-mips.h.
|
inline |
Definition at line 2248 of file lithium-arm.h.
|
inline |
Definition at line 2337 of file lithium-ia32.h.
|
inline |
Definition at line 2185 of file lithium-x64.h.
|
inline |
Definition at line 2205 of file lithium-mips.h.
|
inline |
Definition at line 2239 of file lithium-arm.h.
|
inline |
Definition at line 2327 of file lithium-ia32.h.
|
inline |
Definition at line 2221 of file lithium-x64.h.
|
inline |
Definition at line 2241 of file lithium-mips.h.
|
inline |
Definition at line 2275 of file lithium-arm.h.
Referenced by LChunk::AddGapMove(), LChunk::AddInstruction(), LChunk::DefineConstantOperand(), and LChunk::GetNextSpillSlot().
|
inline |
Definition at line 2364 of file lithium-ia32.h.