v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
Public Member Functions | |
CodeStubGraphBuilderBase (Isolate *isolate, HydrogenCodeStub *stub) | |
virtual bool | BuildGraph () |
Public Member Functions inherited from HGraphBuilder | |
HGraphBuilder (CompilationInfo *info) | |
virtual | ~HGraphBuilder () |
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 () |
Protected Types | |
enum | ArgumentClass { NONE, SINGLE, MULTIPLE } |
Definition at line 56 of file code-stubs-hydrogen.cc.
|
protected |
Enumerator | |
---|---|
NONE | |
SINGLE | |
MULTIPLE |
Definition at line 89 of file code-stubs-hydrogen.cc.
|
inline |
Definition at line 58 of file code-stubs-hydrogen.cc.
References HydrogenCodeStub::GetInterfaceDescriptor(), CodeStubInterfaceDescriptor::register_param_count_, and SmartPointerBase< Deallocator, T >::Reset().
|
protected |
Definition at line 658 of file code-stubs-hydrogen.cc.
References CodeStubGraphBuilderBase::GetParameter(), ArrayConstructorStubBase::kAllocationSite, ArrayConstructorStubBase::kConstructor, CodeStubGraphBuilderBase::MULTIPLE, CodeStubGraphBuilderBase::NONE, v8::internal::NULL, and CodeStubGraphBuilderBase::SINGLE.
|
protected |
Definition at line 1142 of file code-stubs-hydrogen.cc.
References HGraphBuilder::AddIncrementCounter(), Isolate::counters(), CodeStubGraphBuilderBase::isolate(), SharedFunctionInfo::kCachedCodeOffset, SharedFunctionInfo::kContextOffset, SharedFunctionInfo::kLiteralsOffset, SharedFunctionInfo::kOsrAstIdOffset, v8::internal::literals(), CodeStubGraphBuilderBase::LoadFromOptimizedCodeMap(), BailoutId::None(), v8::internal::NULL, Context::OPTIMIZED_FUNCTIONS_LIST, and BailoutId::ToInt().
Referenced by CodeStubGraphBuilderBase::BuildInstallFromOptimizedCodeMap().
|
protectedpure virtual |
Implemented in CodeStubGraphBuilder< Stub >, CodeStubGraphBuilder< Stub >, CodeStubGraphBuilder< Stub >, CodeStubGraphBuilder< Stub >, CodeStubGraphBuilder< Stub >, CodeStubGraphBuilder< Stub >, CodeStubGraphBuilder< Stub >, CodeStubGraphBuilder< Stub >, CodeStubGraphBuilder< Stub >, CodeStubGraphBuilder< Stub >, CodeStubGraphBuilder< Stub >, CodeStubGraphBuilder< Stub >, CodeStubGraphBuilder< Stub >, CodeStubGraphBuilder< Stub >, CodeStubGraphBuilder< Stub >, CodeStubGraphBuilder< Stub >, CodeStubGraphBuilder< Stub >, CodeStubGraphBuilder< Stub >, CodeStubGraphBuilder< Stub >, CodeStubGraphBuilder< Stub >, CodeStubGraphBuilder< Stub >, CodeStubGraphBuilder< Stub >, and CodeStubGraphBuilder< Stub >.
Referenced by CodeStubGraphBuilderBase::BuildGraph().
|
virtual |
Implements HGraphBuilder.
Definition at line 132 of file code-stubs-hydrogen.cc.
References ASSERT, CodeStubGraphBuilderBase::BuildCodeStub(), HValue::ClearFlag(), Isolate::counters(), HGraphBuilder::CreateBasicBlock(), HGraphBuilder::current_block(), HGraphBuilder::FinishCurrentBlock(), CodeStubInterfaceDescriptor::function_mode_, Isolate::GetHTracer(), HGraphBuilder::Goto(), HGraphBuilder::graph(), CodeStubInterfaceDescriptor::hint_stack_parameter_count_, Representation::Integer32(), Register::is_valid(), CodeStubGraphBuilderBase::isolate(), CodeStubInterfaceDescriptor::IsParameterCountRegister(), v8::internal::JS_FUNCTION_STUB_MODE, HValue::kCanOverflow, v8::internal::name, v8::internal::NULL, v8::internal::PrintF(), CodeStubInterfaceDescriptor::register_param_count_, HGraphBuilder::set_current_block(), CodeStubInterfaceDescriptor::stack_parameter_count_, CodeStubGraphBuilderBase::stub(), BailoutId::StubEntry(), and Representation::Tagged().
Definition at line 1190 of file code-stubs-hydrogen.cc.
References HGraphBuilder::graph(), and v8::internal::NULL.
Referenced by CodeStubGraphBuilderBase::BuildInstallFromOptimizedCodeMap().
|
protected |
Definition at line 1219 of file code-stubs-hydrogen.cc.
References HGraphBuilder::AddIncrementCounter(), CodeStubGraphBuilderBase::BuildCheckAndInstallOptimizedCode(), CodeStubGraphBuilderBase::BuildInstallCode(), CodeStubGraphBuilderBase::context(), Isolate::counters(), v8::internal::EQ, CodeStubGraphBuilderBase::isolate(), SharedFunctionInfo::kEntriesStart, SharedFunctionInfo::kEntryLength, and v8::internal::NULL.
|
protected |
|
protected |
Definition at line 576 of file code-stubs-hydrogen.cc.
References Representation::IsDouble(), v8::internal::NULL, and Representation::Tagged().
|
inlineprotectedvirtual |
Implements HGraphBuilder.
Definition at line 81 of file code-stubs-hydrogen.cc.
Referenced by CodeStubGraphBuilderBase::BuildInstallFromOptimizedCodeMap().
|
inlineprotected |
Definition at line 74 of file code-stubs-hydrogen.cc.
References ASSERT, and v8::internal::NULL.
|
inlineprotected |
Definition at line 70 of file code-stubs-hydrogen.cc.
References ASSERT.
Referenced by CodeStubGraphBuilderBase::BuildArrayConstructor(), and CodeStubGraphBuilderBase::BuildInternalArrayConstructor().
|
inlineprotected |
Definition at line 79 of file code-stubs-hydrogen.cc.
|
inlineprotected |
Definition at line 82 of file code-stubs-hydrogen.cc.
References CompilationInfo::isolate().
Referenced by CodeStubGraphBuilderBase::BuildCheckAndInstallOptimizedCode(), CodeStubGraphBuilderBase::BuildGraph(), and CodeStubGraphBuilderBase::BuildInstallFromOptimizedCodeMap().
|
protected |
Definition at line 1201 of file code-stubs-hydrogen.cc.
References ASSERT, v8::internal::FAST_ELEMENTS, SharedFunctionInfo::kEntryLength, and v8::internal::NULL.
Referenced by CodeStubGraphBuilderBase::BuildCheckAndInstallOptimizedCode().
|
inlineprotected |
Definition at line 80 of file code-stubs-hydrogen.cc.
References CompilationInfo::code_stub().
Referenced by CodeStubGraphBuilderBase::BuildGraph(), and CodeStubGraphBuilder< Stub >::casted_stub().