V8 Project
|
Public Member Functions | |
CodeStubGraphBuilder (Isolate *isolate, Stub *stub) | |
![]() | |
CodeStubGraphBuilderBase (Isolate *isolate, HydrogenCodeStub *stub) | |
virtual bool | BuildGraph () |
![]() | |
HGraphBuilder (CompilationInfo *info) | |
virtual | ~HGraphBuilder () |
Scope * | scope () const |
void | set_scope (Scope *scope) |
HBasicBlock * | current_block () const |
void | set_current_block (HBasicBlock *block) |
HEnvironment * | environment () const |
Zone * | zone () const |
HGraph * | graph () const |
Isolate * | isolate () const |
CompilationInfo * | top_info () |
HGraph * | CreateGraph () |
void | Push (HValue *value) |
HValue * | Pop () |
HInstruction * | AddInstruction (HInstruction *instr) |
void | FinishCurrentBlock (HControlInstruction *last) |
void | FinishExitCurrentBlock (HControlInstruction *instruction) |
void | Goto (HBasicBlock *from, HBasicBlock *target, FunctionState *state=NULL, bool add_simulate=true) |
void | Goto (HBasicBlock *target, FunctionState *state=NULL, bool add_simulate=true) |
void | GotoNoSimulate (HBasicBlock *from, HBasicBlock *target) |
void | GotoNoSimulate (HBasicBlock *target) |
void | AddLeaveInlined (HBasicBlock *block, HValue *return_value, FunctionState *state) |
void | AddLeaveInlined (HValue *return_value, FunctionState *state) |
template<class I > | |
HInstruction * | NewUncasted () |
template<class I > | |
I * | New () |
template<class I > | |
HInstruction * | AddUncasted () |
template<class I > | |
I * | Add () |
template<class I , class P1 > | |
HInstruction * | NewUncasted (P1 p1) |
template<class I , class P1 > | |
I * | New (P1 p1) |
template<class I , class P1 > | |
HInstruction * | AddUncasted (P1 p1) |
template<class I , class P1 > | |
I * | Add (P1 p1) |
template<class I , class P1 , class P2 > | |
HInstruction * | NewUncasted (P1 p1, P2 p2) |
template<class I , class P1 , class P2 > | |
I * | New (P1 p1, P2 p2) |
template<class I , class P1 , class P2 > | |
HInstruction * | AddUncasted (P1 p1, P2 p2) |
template<class I , class P1 , class P2 > | |
I * | Add (P1 p1, P2 p2) |
template<class I , class P1 , class P2 , class P3 > | |
HInstruction * | NewUncasted (P1 p1, P2 p2, P3 p3) |
template<class I , class P1 , class P2 , class P3 > | |
I * | New (P1 p1, P2 p2, P3 p3) |
template<class I , class P1 , class P2 , class P3 > | |
HInstruction * | AddUncasted (P1 p1, P2 p2, P3 p3) |
template<class I , class P1 , class P2 , class P3 > | |
I * | Add (P1 p1, P2 p2, P3 p3) |
template<class I , class P1 , class P2 , class P3 , class P4 > | |
HInstruction * | NewUncasted (P1 p1, P2 p2, P3 p3, P4 p4) |
template<class I , class P1 , class P2 , class P3 , class P4 > | |
I * | New (P1 p1, P2 p2, P3 p3, P4 p4) |
template<class I , class P1 , class P2 , class P3 , class P4 > | |
HInstruction * | AddUncasted (P1 p1, P2 p2, P3 p3, P4 p4) |
template<class I , class P1 , class P2 , class P3 , class P4 > | |
I * | Add (P1 p1, P2 p2, P3 p3, P4 p4) |
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 > | |
HInstruction * | NewUncasted (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) |
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 > | |
I * | New (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) |
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 > | |
HInstruction * | AddUncasted (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) |
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 > | |
I * | Add (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) |
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 > | |
HInstruction * | NewUncasted (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) |
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 > | |
I * | New (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) |
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 > | |
HInstruction * | AddUncasted (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) |
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 > | |
I * | Add (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) |
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 > | |
HInstruction * | NewUncasted (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) |
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 > | |
I * | New (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) |
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 > | |
HInstruction * | AddUncasted (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) |
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 > | |
I * | Add (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) |
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 > | |
HInstruction * | NewUncasted (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8) |
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 > | |
I * | New (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8) |
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 > | |
HInstruction * | AddUncasted (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8) |
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 > | |
I * | Add (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8) |
void | AddSimulate (BailoutId id, RemovableSimulate removable=FIXED_SIMULATE) |
template<> | |
HDeoptimize * | Add (const char *reason, Deoptimizer::BailoutType type) |
template<> | |
HInstruction * | AddUncasted (const char *reason, Deoptimizer::BailoutType type) |
template<> | |
HSimulate * | Add (BailoutId id, RemovableSimulate removable) |
template<> | |
HSimulate * | Add (BailoutId id) |
template<> | |
HInstruction * | AddUncasted (BailoutId id) |
template<> | |
HReturn * | Add (HValue *value) |
template<> | |
HReturn * | Add (HConstant *value) |
template<> | |
HInstruction * | AddUncasted (HValue *value) |
template<> | |
HInstruction * | AddUncasted (HConstant *value) |
template<> | |
HCallRuntime * | Add (Handle< String > name, const Runtime::Function *c_function, int argument_count) |
template<> | |
HInstruction * | AddUncasted (Handle< String > name, const Runtime::Function *c_function, int argument_count) |
template<> | |
HContext * | New () |
template<> | |
HInstruction * | NewUncasted () |
Additional Inherited Members | |
![]() | |
static const int | kElementLoopUnrollThreshold = 8 |
![]() | |
enum | ArgumentClass { NONE , SINGLE , MULTIPLE } |
Definition at line 189 of file code-stubs-hydrogen.cc.
|
inline |
Definition at line 191 of file code-stubs-hydrogen.cc.
|
inlineprotectedvirtual |
Definition at line 203 of file code-stubs-hydrogen.cc.
References NULL, and UNIMPLEMENTED.
Referenced by v8::internal::CodeStubGraphBuilder< Stub >::BuildCodeStub().
|
protected |
Definition at line 1000 of file code-stubs-hydrogen.cc.
References v8::internal::CompareNilICStub::GetType(), and v8::internal::Isolate::heap().
|
protected |
Definition at line 1026 of file code-stubs-hydrogen.cc.
References v8::internal::ADD, DCHECK, v8::internal::HEAP_NUMBER_TYPE, v8::internal::TypeImpl< Config >::Is(), v8::internal::BinaryOpICStub::kLeft, v8::internal::BinaryOpICStub::kRight, v8::internal::TypeImpl< Config >::Maybe(), v8::None, v8::internal::NOT_TENURED, NULL, v8::internal::OVERWRITE_LEFT, and v8::internal::compiler::Push().
|
protected |
Definition at line 1150 of file code-stubs-hydrogen.cc.
References v8::internal::anonymous_namespace{flags.cc}::flags, v8::internal::STRING_ADD_CHECK_LEFT, and v8::internal::STRING_ADD_CHECK_RIGHT.
|
protected |
Definition at line 1176 of file code-stubs-hydrogen.cc.
References v8::internal::ToBooleanStub::mode(), NULL, v8::internal::ToBooleanStub::RESULT_AS_INVERSE_ODDBALL, v8::internal::ToBooleanStub::RESULT_AS_ODDBALL, v8::internal::ToBooleanStub::RESULT_AS_SMI, and v8::internal::ToBooleanStub::types().
|
protected |
Definition at line 1212 of file code-stubs-hydrogen.cc.
References v8::internal::StoreGlobalStub::check_global(), v8::internal::Smi::FromInt(), v8::internal::StoreGlobalStub::global_placeholder(), v8::internal::StoreGlobalStub::is_constant(), v8::internal::StoreDescriptor::kValueIndex, and NULL.
|
inlineprotectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 195 of file code-stubs-hydrogen.cc.
References v8::internal::CodeStubGraphBuilder< Stub >::BuildCodeInitializedStub(), v8::internal::CodeStubGraphBuilder< Stub >::BuildCodeUninitializedStub(), and v8::internal::CodeStubGraphBuilder< Stub >::casted_stub().
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 286 of file code-stubs-hydrogen.cc.
References v8::internal::compiler::Push().
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 317 of file code-stubs-hydrogen.cc.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 330 of file code-stubs-hydrogen.cc.
References v8::internal::EQ, v8::internal::FAST_DOUBLE_ELEMENTS, v8::internal::FAST_ELEMENTS, v8::internal::AllocationSite::kTransitionInfoOffset, NULL, and v8::internal::compiler::Push().
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 400 of file code-stubs-hydrogen.cc.
References DCHECK, v8::internal::EQ, v8::internal::FAST_ELEMENTS, v8::internal::JS_OBJECT_TYPE, v8::internal::JSObject::kHeaderSize, v8::internal::kPointerSize, v8::internal::kPointerSizeLog2, v8::internal::AllocationMemento::kSize, v8::internal::AllocationSite::kTransitionInfoOffset, v8::internal::NOT_TENURED, NULL, and size.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 467 of file code-stubs-hydrogen.cc.
References v8::internal::FAST_ELEMENTS, v8::internal::feedback_vector, v8::internal::GetInitialFastElementsKind(), v8::internal::INITIALIZING_STORE, v8::internal::JS_OBJECT_TYPE, v8::internal::AllocationSite::kDependentCodeOffset, v8::internal::AllocationSite::kNestedSiteOffset, v8::internal::AllocationSite::kPretenureCreateCountOffset, v8::internal::AllocationSite::kPretenureDataOffset, v8::internal::AllocationSite::kSize, v8::internal::AllocationSite::kTransitionInfoOffset, v8::internal::AllocationSite::kWeakNextOffset, NULL, size, and v8::internal::TENURED.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 542 of file code-stubs-hydrogen.cc.
References v8::internal::LoadDescriptor::kNameIndex, v8::internal::LoadDescriptor::kReceiverIndex, v8::internal::LOAD, v8::internal::NEVER_RETURN_HOLE, NULL, and v8::internal::STANDARD_STORE.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 579 of file code-stubs-hydrogen.cc.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 590 of file code-stubs-hydrogen.cc.
References v8::internal::DescriptorArray::GetValueOffset(), v8::internal::Map::kDescriptorsOffset, map, NULL, and v8::internal::Representation::Tagged().
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 630 of file code-stubs-hydrogen.cc.
References v8::internal::ALLOW_RETURN_HOLE, DCHECK, v8::internal::FAST_ELEMENTS, v8::internal::FAST_HOLEY_ELEMENTS, v8::internal::FixedArrayBase::kHeaderSize, v8::internal::LoadDescriptor::kNameIndex, v8::internal::LoadDescriptor::kReceiverIndex, NULL, and v8::internal::Representation::Smi().
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 748 of file code-stubs-hydrogen.cc.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 759 of file code-stubs-hydrogen.cc.
References v8::internal::String::kLengthOffset, and v8::internal::JSValue::kValueOffset.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 773 of file code-stubs-hydrogen.cc.
References v8::internal::StoreDescriptor::kNameIndex, v8::internal::StoreDescriptor::kReceiverIndex, v8::internal::StoreDescriptor::kValueIndex, v8::internal::NEVER_RETURN_HOLE, and v8::internal::STORE.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 791 of file code-stubs-hydrogen.cc.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 921 of file code-stubs-hydrogen.cc.
References NONE.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 934 of file code-stubs-hydrogen.cc.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 948 of file code-stubs-hydrogen.cc.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 961 of file code-stubs-hydrogen.cc.
References NONE.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 974 of file code-stubs-hydrogen.cc.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 987 of file code-stubs-hydrogen.cc.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 1125 of file code-stubs-hydrogen.cc.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 1264 of file code-stubs-hydrogen.cc.
References v8::internal::ALLOW_RETURN_HOLE, v8::internal::Deoptimizer::EAGER, v8::internal::ElementsTransitionAndStoreStub::kKeyIndex, v8::internal::ElementsTransitionAndStoreStub::kMapIndex, v8::internal::ElementsTransitionAndStoreStub::kObjectIndex, v8::internal::ElementsTransitionAndStoreStub::kValueIndex, map, and v8::internal::STORE.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 1449 of file code-stubs-hydrogen.cc.
References v8::internal::Context::FunctionMapIndex(), v8::internal::JS_FUNCTION_TYPE, v8::internal::JSFunction::kSize, v8::internal::NOT_TENURED, NULL, and size.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 1508 of file code-stubs-hydrogen.cc.
References v8::internal::Context::CLOSURE_INDEX, v8::internal::Context::EXTENSION_INDEX, v8::internal::FIXED_ARRAY_TYPE, v8::internal::Context::GLOBAL_OBJECT_INDEX, v8::internal::FixedArrayBase::kHeaderSize, v8::internal::kPointerSize, v8::internal::Context::MIN_CONTEXT_SLOTS, v8::internal::NOT_TENURED, NULL, and v8::internal::Context::PREVIOUS_INDEX.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 1563 of file code-stubs-hydrogen.cc.
References v8::internal::LoadDescriptor::kNameIndex, and v8::internal::LoadDescriptor::kReceiverIndex.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 1583 of file code-stubs-hydrogen.cc.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 1908 of file code-stubs-hydrogen.cc.
References v8::internal::Deoptimizer::EAGER, and v8::internal::VectorLoadICDescriptor::kReceiverIndex.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 1919 of file code-stubs-hydrogen.cc.
References v8::internal::Deoptimizer::EAGER, and v8::internal::VectorLoadICDescriptor::kReceiverIndex.
|
protectedvirtual |
Implements v8::internal::CodeStubGraphBuilderBase.
Definition at line 1937 of file code-stubs-hydrogen.cc.
References v8::internal::Code::ComputeHandlerFlags(), v8::internal::anonymous_namespace{flags.cc}::flags, v8::internal::LoadDescriptor::kNameIndex, v8::internal::LoadDescriptor::kReceiverIndex, name, and v8::internal::Code::RemoveTypeAndHolderFromFlags().
|
inlineprotectedvirtual |
Definition at line 208 of file code-stubs-hydrogen.cc.
References v8::internal::HGraphBuilder::graph().
Referenced by v8::internal::CodeStubGraphBuilder< Stub >::BuildCodeStub().
|
inlineprotected |
Definition at line 218 of file code-stubs-hydrogen.cc.
References v8::internal::CodeStubGraphBuilderBase::stub().
Referenced by v8::internal::CodeStubGraphBuilder< Stub >::BuildCodeStub().