|
V8 Project
|
#include <lithium.h>
Inheritance diagram for v8::internal::LChunk:
Collaboration diagram for v8::internal::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 |
| CompilationInfo * | info () const |
| HGraph * | graph () const |
| Isolate * | isolate () 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) |
| void | AddDeprecationDependency (Handle< Map > map) |
| void | AddStabilityDependency (Handle< Map > map) |
| Zone * | zone () const |
| Handle< Code > | Codegen () |
| void | set_allocated_double_registers (BitVector *allocated_registers) |
| BitVector * | allocated_double_registers () |
Public Member Functions inherited from v8::internal::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 LChunk * | NewChunk (HGraph *graph) |
Protected Member Functions | |
| LChunk (CompilationInfo *info, HGraph *graph) | |
Protected Attributes | |
| int | spill_slot_count_ |
Private Types | |
| typedef std::less< Handle< Map > > | MapLess |
| typedef zone_allocator< Handle< Map > > | MapAllocator |
| typedef std::set< Handle< Map >, MapLess, MapAllocator > | MapSet |
Private Member Functions | |
| void | CommitDependencies (Handle< Code > code) const |
Private Attributes | |
| CompilationInfo * | info_ |
| HGraph *const | graph_ |
| BitVector * | allocated_double_registers_ |
| ZoneList< LInstruction * > | instructions_ |
| ZoneList< LPointerMap * > | pointer_maps_ |
| ZoneList< Handle< JSFunction > > | inlined_closures_ |
| MapSet | deprecation_dependencies_ |
| MapSet | stability_dependencies_ |
|
private |
|
private |
|
private |
|
protected |
Definition at line 267 of file lithium.cc.
Definition at line 653 of file lithium.h.
References DCHECK, deprecation_dependencies_, info_, v8::internal::CompilationInfo::IsStub(), and map.
Here is the call graph for this function:Definition at line 396 of file lithium.cc.
References GetGapAt(), v8::internal::LGap::GetOrCreateParallelMove(), v8::internal::LGap::START, to(), and zone().
Here is the call graph for this function:
|
inline |
Definition at line 649 of file lithium.h.
References inlined_closures_, and zone().
Here is the call graph for this function:| void v8::internal::LChunk::AddInstruction | ( | LInstruction * | instruction, |
| HBasicBlock * | block | ||
| ) |
Definition at line 335 of file lithium.cc.
References v8::internal::List< T, AllocationPolicy >::Add(), v8::internal::LInstruction::HasPointerMap(), v8::internal::LInstruction::hydrogen_value(), instructions_, v8::internal::LInstruction::IsControl(), v8::internal::LInstruction::pointer_map(), pointer_maps_, and zone().
Here is the call graph for this function:Definition at line 660 of file lithium.h.
References DCHECK, info_, v8::internal::CompilationInfo::IsStub(), map, and stability_dependencies_.
Here is the call graph for this function:
|
inline |
Definition at line 672 of file lithium.h.
References allocated_double_registers_.
Referenced by set_allocated_double_registers().
Here is the caller graph for this function:Definition at line 461 of file lithium.cc.
References v8::internal::Assembler::AbortedCodeGeneration(), CommitDependencies(), DCHECK, v8::internal::AssemblerBase::enable_serializer(), v8::internal::LCodeGen::FinishCode(), v8::internal::CompilationInfo::flags(), v8::internal::anonymous_namespace{flags.cc}::flags, v8::internal::LCodeGen::GenerateCode(), info(), isolate(), LOG_CODE_EVENT, v8::internal::CodeGenerator::MakeCodeEpilogue(), v8::internal::CodeGenerator::MakeCodePrologue(), MarkEmptyBlocks(), v8::internal::LCodeGen::NeedsEagerFrame(), NULL, v8::internal::Handle< T >::null(), v8::internal::Assembler::positions_recorder(), and v8::internal::CodeGenerator::PrintCode().
Referenced by v8::internal::DoGenerateCode(), and v8::internal::OptimizedCompileJob::GenerateCode().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 413 of file lithium.cc.
References v8::internal::Map::AddDependentCode(), v8::internal::CompilationInfo::CommitDependencies(), DCHECK, deprecation_dependencies_, info_, v8::internal::DependentCode::kPrototypeCheckGroup, v8::internal::DependentCode::kTransitionGroup, map, and stability_dependencies_.
Referenced by Codegen().
Here is the call graph for this function:
Here is the caller graph for this function:| LConstantOperand * v8::internal::LChunk::DefineConstantOperand | ( | HConstant * | constant | ) |
Definition at line 355 of file lithium.cc.
References zone().
Here is the call graph for this function:| Label * v8::internal::LChunk::GetAssemblyLabel | ( | int | block_id | ) | const |
Definition at line 293 of file lithium.cc.
References DCHECK, and GetLabel().
Referenced by v8::internal::LControlInstruction< I, T >::FalseLabel(), and v8::internal::LControlInstruction< I, T >::TrueLabel().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 380 of file lithium.cc.
References v8::internal::LGap::cast(), and instructions_.
Referenced by AddGapMove().
Here is the call graph for this function:
Here is the caller graph for this function:| LLabel * v8::internal::LChunk::GetLabel | ( | int | block_id | ) | const |
Definition at line 278 of file lithium.cc.
References graph_, and instructions_.
Referenced by GetAssemblyLabel(), LookupDestination(), and MarkEmptyBlocks().
Here is the caller graph for this function:Definition at line 360 of file lithium.cc.
References DCHECK, info(), and v8::internal::CompilationInfo::num_parameters().
Here is the call graph for this function:
|
inline |
Definition at line 632 of file lithium.h.
References graph_.
Referenced by MarkEmptyBlocks(), and NewChunk().
Here is the caller graph for this function:
|
inline |
Definition at line 631 of file lithium.h.
References info_.
Referenced by Codegen(), v8::internal::DoGenerateCode(), GetParameterStackSlot(), NewChunk(), ParameterAt(), and set_allocated_double_registers().
Here is the caller graph for this function:
|
inline |
Definition at line 645 of file lithium.h.
References inlined_closures_.
|
inline |
Definition at line 634 of file lithium.h.
References instructions_.
Referenced by MarkEmptyBlocks().
Here is the caller graph for this function:Definition at line 385 of file lithium.cc.
References instructions_.
Referenced by NearestGapPos().
Here is the caller graph for this function:
|
inline |
| HConstant * v8::internal::LChunk::LookupConstant | ( | LConstantOperand * | operand | ) | const |
Definition at line 402 of file lithium.cc.
References graph_.
Definition at line 285 of file lithium.cc.
References GetLabel(), and NULL.
Referenced by v8::internal::LControlInstruction< I, T >::FalseDestination(), and v8::internal::LControlInstruction< I, T >::TrueDestination().
Here is the call graph for this function:
Here is the caller graph for this function:| Representation v8::internal::LChunk::LookupLiteralRepresentation | ( | LConstantOperand * | operand | ) | const |
Definition at line 407 of file lithium.cc.
References graph_.
| void v8::internal::LChunk::MarkEmptyBlocks | ( | ) |
Definition at line 300 of file lithium.cc.
References v8::internal::LGap::cast(), GetLabel(), graph(), instructions(), v8::internal::LInstruction::IsGap(), and v8::internal::LGap::IsRedundant().
Referenced by Codegen().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 390 of file lithium.cc.
References IsGapAt().
Here is the call graph for this function:
|
static |
Definition at line 434 of file lithium.cc.
References v8::internal::CompilationInfo::AbortOptimization(), graph(), info(), v8::internal::LUnallocated::kMaxVirtualRegisters, NULL, and set_allocated_double_registers().
Referenced by v8::internal::OptimizedCompileJob::OptimizeGraph(), and v8::internal::OptimizeGraph().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 373 of file lithium.cc.
References DCHECK, info(), and v8::internal::kPointerSize.
Here is the call graph for this function:
|
inline |
| void v8::internal::LChunk::set_allocated_double_registers | ( | BitVector * | allocated_registers | ) |
Definition at line 497 of file lithium.cc.
References allocated_double_registers(), allocated_double_registers_, info(), v8::internal::kDoubleSize, v8::internal::kPointerSize, and spill_slot_count_.
Referenced by NewChunk().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
|
inline |
Definition at line 667 of file lithium.h.
References info_, and v8::internal::CompilationInfo::zone().
Referenced by AddGapMove(), AddInlinedClosure(), AddInstruction(), and DefineConstantOperand().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 690 of file lithium.h.
Referenced by allocated_double_registers(), and set_allocated_double_registers().
|
private |
Definition at line 694 of file lithium.h.
Referenced by AddDeprecationDependency(), and CommitDependencies().
|
private |
Definition at line 689 of file lithium.h.
Referenced by GetLabel(), graph(), isolate(), LookupConstant(), and LookupLiteralRepresentation().
|
private |
Definition at line 688 of file lithium.h.
Referenced by AddDeprecationDependency(), AddStabilityDependency(), CommitDependencies(), info(), and zone().
|
private |
Definition at line 693 of file lithium.h.
Referenced by AddInlinedClosure(), and inlined_closures().
|
private |
Definition at line 691 of file lithium.h.
Referenced by AddInstruction(), GetGapAt(), GetLabel(), instructions(), and IsGapAt().
|
private |
Definition at line 692 of file lithium.h.
Referenced by AddInstruction(), and pointer_maps().
|
protected |
Definition at line 679 of file lithium.h.
Referenced by set_allocated_double_registers(), and spill_slot_count().
|
private |
Definition at line 695 of file lithium.h.
Referenced by AddStabilityDependency(), and CommitDependencies().