|
V8 Project
|
#include <hydrogen.h>
Inheritance diagram for v8::internal::HOptimizedGraphBuilder:
Collaboration diagram for v8::internal::HOptimizedGraphBuilder:Classes | |
| class | BASE_EMBEDDED |
| class | PropertyAccessInfo |
Public Member Functions | |
| HOptimizedGraphBuilder (CompilationInfo *info) | |
| virtual bool | BuildGraph () OVERRIDE |
| BreakAndContinueScope * | break_scope () const |
| void | set_break_scope (BreakAndContinueScope *head) |
| HValue * | context () |
| HOsrBuilder * | osr () const |
| void | Bailout (BailoutReason reason) |
| HBasicBlock * | CreateJoin (HBasicBlock *first, HBasicBlock *second, BailoutId join_id) |
| FunctionState * | function_state () const |
| void | VisitDeclarations (ZoneList< Declaration * > *declarations) |
| void * | operator new (size_t size, Zone *zone) |
| void | operator delete (void *pointer, Zone *zone) |
| void | operator delete (void *pointer) |
| DEFINE_AST_VISITOR_SUBCLASS_MEMBERS () | |
Public Member Functions inherited from v8::internal::HGraphBuilder | |
| 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 () |
Protected Types | |
| typedef void(HOptimizedGraphBuilder::* | InlineFunctionGenerator) (CallRuntime *call) |
Static Protected Attributes | |
| static const InlineFunctionGenerator | kInlineFunctionGenerators [] |
| static const int | kMaxCallPolymorphism = 4 |
| static const int | kMaxLoadPolymorphism = 4 |
| static const int | kMaxStorePolymorphism = 4 |
| static const int | kUnlimitedMaxInlinedSourceSize = 100000 |
| static const int | kUnlimitedMaxInlinedNodes = 10000 |
| static const int | kUnlimitedMaxInlinedNodesCumulative = 10000 |
| static const int | kMaxFastLiteralDepth = 3 |
| static const int | kMaxFastLiteralProperties = 8 |
Private Types | |
| enum | GlobalPropertyAccess { kUseCell , kUseGeneric } |
| enum | ArrayIndexOfMode { kFirstIndexOf , kLastIndexOf } |
| enum | ApiCallType { kCallApiFunction , kCallApiMethod , kCallApiGetter , kCallApiSetter } |
| enum | PushBeforeSimulateBehavior { PUSH_BEFORE_SIMULATE , NO_PUSH_BEFORE_SIMULATE } |
Private Attributes | |
| FunctionState * | function_state_ |
| FunctionState | initial_function_state_ |
| AstContext * | ast_context_ |
| BreakAndContinueScope * | break_scope_ |
| int | inlined_count_ |
| ZoneList< Handle< Object > > | globals_ |
| bool | inline_bailout_ |
| HOsrBuilder * | osr_ |
Friends | |
| class | FunctionState |
| class | AstContext |
| class | KeyedLoadFastElementStub |
| class | HOsrBuilder |
Additional Inherited Members | |
Static Public Attributes inherited from v8::internal::HGraphBuilder | |
| static const int | kElementLoopUnrollThreshold = 8 |
Definition at line 2045 of file hydrogen.h.
|
protected |
Definition at line 2137 of file hydrogen.h.
|
private |
| Enumerator | |
|---|---|
| kCallApiFunction | |
| kCallApiMethod | |
| kCallApiGetter | |
| kCallApiSetter | |
Definition at line 2358 of file hydrogen.h.
| Enumerator | |
|---|---|
| PUSH_BEFORE_SIMULATE | |
| NO_PUSH_BEFORE_SIMULATE | |
Definition at line 2571 of file hydrogen.h.
|
explicit |
Definition at line 3321 of file hydrogen.cc.
References function_state_, initial_function_state_, v8::internal::HGraphBuilder::SetSourcePosition(), v8::internal::CompilationInfo::shared_info(), and v8::internal::CompilationInfo::zone().
Here is the call graph for this function:
|
private |
Definition at line 5797 of file hydrogen.cc.
References v8::internal::HGraphBuilder::BuildCheckHeapObject(), and map.
Referenced by BuildCompareInstruction(), TryCallApply(), and TryInlineBuiltinMethodCall().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 7421 of file hydrogen.cc.
References v8::internal::HGraphBuilder::BuildCheckPrototypeMaps(), and v8::internal::Handle< T >::is_null().
Referenced by HandlePolymorphicCallNamed(), and TryInlineApiCall().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 2412 of file hydrogen.h.
References v8::internal::handle(), and v8::internal::HGraphBuilder::isolate().
Referenced by BuildArrayCall(), IsCallArrayInlineable(), TryHandleArrayCall(), and TryHandleArrayCallNew().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Definition at line 2163 of file hydrogen.h.
References ast_context_.
Referenced by BuildArrayCall(), BuildInlinedCallArray(), BuildLoad(), BuildStore(), HandleCompoundAssignment(), HandleLiteralCompareNil(), HandleLiteralCompareTypeof(), HandlePolymorphicCallNamed(), HandlePolymorphicNamedFieldAccess(), TryArgumentsAccess(), TryCallApply(), TryInline(), TryInlineApiCall(), TryInlineBuiltinFunctionCall(), TryInlineBuiltinMethodCall(), VisitArithmeticExpression(), VisitDelete(), VisitLogicalExpression(), VisitNot(), VisitTypeof(), and VisitVoid().
Here is the caller graph for this function:| void v8::internal::HOptimizedGraphBuilder::Bailout | ( | BailoutReason | reason | ) |
Definition at line 4212 of file hydrogen.cc.
References v8::internal::CompilationInfo::AbortOptimization(), and current_info().
Referenced by BuildCompareInstruction(), BuildGraph(), HandleCompoundAssignment(), v8::internal::OptimizedCompileJob::OptimizeGraph(), SetUpScope(), and VisitDelete().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 2232 of file hydrogen.h.
References v8::internal::HGraphBuilder::environment().
Here is the call graph for this function:
|
inlineprotected |
Definition at line 2245 of file hydrogen.h.
References v8::internal::HGraphBuilder::environment(), IsEligibleForEnvironmentLivenessAnalysis(), and USE().
Referenced by HandleCompoundAssignment().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
|
private |
Definition at line 9489 of file hydrogen.cc.
References v8::internal::HGraphBuilder::AddStoreMapConstant(), v8::internal::HValue::ClearFlag(), v8::internal::HGraphBuilder::isolate(), v8::internal::ExternalArray::kAlignedSize, v8::internal::HValue::kCanOverflow, v8::internal::NOT_TENURED, NULL, and v8::internal::Representation::Smi().
Here is the call graph for this function:
|
private |
Definition at line 9534 of file hydrogen.cc.
References v8::internal::HGraphBuilder::AddStoreMapConstant(), v8::internal::HGraphBuilder::BuildObjectSizeAlignment(), v8::internal::HValue::ClearFlag(), context(), v8::internal::HGraphBuilder::isolate(), v8::internal::HValue::kCanOverflow, v8::internal::FixedArrayBase::kHeaderSize, v8::internal::kObjectAlignment, v8::internal::kObjectAlignmentMask, v8::internal::NOT_TENURED, v8::internal::Representation::Smi(), and v8::internal::STATIC_ASSERT().
Here is the call graph for this function:
|
private |
Definition at line 8781 of file hydrogen.cc.
References array_function(), ast_context(), BuildInlinedCallArray(), Drop(), v8::internal::Expression::id(), IsCallArrayInlineable(), PreProcessCall(), and v8::internal::AstContext::ReturnInstruction().
Referenced by TryHandleArrayCall(), and TryHandleArrayCallNew().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 8801 of file hydrogen.cc.
References v8::internal::HGraphBuilder::AddLoadArrayLength(), v8::internal::HGraphBuilder::AddLoadElements(), v8::internal::ALLOW_RETURN_HOLE, context(), DCHECK, DCHECK_EQ, v8::internal::Representation::Double(), Drop(), v8::internal::Isolate::factory(), v8::internal::HGraphBuilder::graph(), v8::internal::IsFastDoubleElementsKind(), v8::internal::IsFastElementsKind(), v8::internal::IsFastSmiElementsKind(), v8::internal::HGraphBuilder::isolate(), kFirstIndexOf, kLastIndexOf, mode(), NULL, v8::internal::HGraphBuilder::Pop(), v8::internal::HGraphBuilder::Push(), and v8::internal::Representation::Smi().
Referenced by TryInlineBuiltinMethodCall().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 10224 of file hydrogen.cc.
References v8::internal::HGraphBuilder::BuildBinaryOperation(), Drop(), v8::internal::HValue::HasObservableSideEffects(), v8::internal::Handle< T >::is_null(), v8::internal::HValue::IsPhi(), v8::internal::HGraphBuilder::Push(), PUSH_BEFORE_SIMULATE, and v8::internal::REMOVABLE_SIMULATE.
Referenced by HandleCompoundAssignment(), and VisitArithmeticExpression().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 7455 of file hydrogen.cc.
References context(), current_info(), v8::internal::HGraphBuilder::graph(), v8::internal::SharedFunctionInfo::kDontAdaptArgumentsSentinel, NewArgumentAdaptorCall(), NewPlainFunctionCall(), NULL, and UNREACHABLE.
Referenced by BuildMonomorphicAccess(), and HandlePolymorphicCallNamed().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 10773 of file hydrogen.cc.
References AddCheckMap(), v8::internal::HGraphBuilder::AddSimulate(), v8::internal::TypeImpl< Config >::AsClass(), Bailout(), v8::internal::HValue::block(), v8::internal::HGraphBuilder::BuildCheckHeapObject(), Drop(), v8::internal::Representation::FromType(), v8::internal::HGraphBuilder::graph(), v8::internal::TypeImpl< Config >::Is(), v8::internal::TypeImpl< Config >::IsClass(), v8::internal::Token::IsEqualityOp(), v8::internal::TypeImpl< Config >::IsInhabited(), v8::internal::Representation::IsNone(), v8::internal::Representation::IsTagged(), map, NULL, v8::internal::HGraphBuilder::Push(), PUSH_BEFORE_SIMULATE, v8::internal::REMOVABLE_SIMULATE, v8::internal::HCompareNumericAndBranch::set_observed_input_representation(), v8::internal::HInstruction::set_operand_position(), v8::internal::HCompareNumericAndBranch::SetOperandPositions(), v8::internal::Deoptimizer::SOFT, and v8::internal::HGraphBuilder::zone().
Here is the call graph for this function:Definition at line 5325 of file hydrogen.cc.
References context(), v8::internal::Scope::ContextChainLength(), DCHECK, v8::internal::HGraphBuilder::environment(), v8::internal::Variable::IsContextSlot(), NULL, v8::internal::Context::PREVIOUS_INDEX, v8::internal::HGraphBuilder::scope(), and v8::internal::Variable::scope().
Referenced by HandleCompoundAssignment().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 11137 of file hydrogen.cc.
References BuildEmitFixedArray(), BuildEmitFixedDoubleArray(), v8::internal::HGraphBuilder::BuildInitializeElementsHeader(), and UNREACHABLE.
Referenced by BuildFastLiteral().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 11178 of file hydrogen.cc.
References v8::internal::ALLOW_RETURN_HOLE, BuildFastLiteral(), v8::internal::Handle< T >::cast(), v8::internal::AllocationSiteUsageContext::EnterNewScope(), v8::internal::AllocationSiteUsageContext::ExitScope(), v8::internal::HGraphBuilder::isolate(), and NULL.
Referenced by BuildEmitElements().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 11159 of file hydrogen.cc.
References v8::internal::ALLOW_RETURN_HOLE, v8::internal::HValue::kAllowUndefinedAsNaN, NULL, and v8::internal::HValue::SetFlag().
Referenced by BuildEmitElements().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 11055 of file hydrogen.cc.
References v8::internal::HGraphBuilder::AddStoreMapConstant(), BuildFastLiteral(), v8::internal::Handle< T >::cast(), DCHECK, v8::internal::AllocationSiteUsageContext::EnterNewScope(), v8::internal::AllocationSiteUsageContext::ExitScope(), v8::internal::FIELD, v8::internal::HGraphBuilder::graph(), v8::internal::Representation::IsDouble(), v8::internal::HGraphBuilder::isolate(), v8::internal::Representation::IsSmi(), v8::internal::HeapNumber::kSize, v8::internal::MUTABLE_HEAP_NUMBER_TYPE, and name.
Referenced by BuildFastLiteral().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 11011 of file hydrogen.cc.
References v8::internal::HGraphBuilder::AddStoreMapConstant(), v8::internal::Handle< T >::cast(), DCHECK, and v8::internal::HGraphBuilder::isolate().
Referenced by BuildFastLiteral().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 10933 of file hydrogen.cc.
References v8::internal::AllocationSite::AddDependentCompilationInfo(), BuildEmitElements(), BuildEmitInObjectProperties(), BuildEmitObjectHeader(), BuildInitElementsInObjectHeader(), v8::internal::AllocationSiteContext::current(), DCHECK, v8::internal::FIXED_ARRAY_TYPE, v8::internal::FIXED_DOUBLE_ARRAY_TYPE, v8::internal::Isolate::heap(), v8::internal::Heap::InNewSpace(), v8::internal::HGraphBuilder::isolate(), v8::internal::JS_ARRAY_TYPE, v8::internal::JS_OBJECT_TYPE, v8::internal::NOT_TENURED, NULL, v8::internal::TENURED, v8::internal::AllocationSite::TENURING, and v8::internal::HGraphBuilder::top_info().
Referenced by BuildEmitFixedArray(), and BuildEmitInObjectProperties().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Implements v8::internal::HGraphBuilder.
Definition at line 4254 of file hydrogen.cc.
References Bailout(), v8::internal::Scope::calls_eval(), v8::internal::HGraphBuilder::CreateBasicBlock(), v8::internal::HGraphBuilder::current_block(), current_info(), DCHECK, v8::internal::Scope::declarations(), v8::internal::BailoutId::Declarations(), v8::internal::HGraphBuilder::environment(), v8::internal::HOsrBuilder::FinishGraph(), v8::internal::Scope::function(), v8::internal::BailoutId::FunctionEntry(), v8::internal::HGraphBuilder::Goto(), v8::internal::HGraphBuilder::graph(), v8::internal::Scope::HasIllegalRedeclaration(), v8::internal::Scope::is_function_scope(), NULL, osr(), v8::internal::CompilationInfo::scope(), v8::internal::HGraphBuilder::scope(), v8::internal::HGraphBuilder::set_current_block(), SetUpScope(), VisitDeclarations(), and VisitStatements().
Here is the call graph for this function:
|
private |
Definition at line 9924 of file hydrogen.cc.
References v8::internal::HValue::ClearAllSideEffects(), v8::internal::Representation::FromType(), v8::internal::HGraphBuilder::graph(), v8::internal::Representation::IsDouble(), v8::internal::Representation::IsNone(), v8::internal::Representation::IsTagged(), v8::internal::HValue::kCannotBeTagged, v8::internal::HValue::kFlexibleRepresentation, v8::internal::HGraphBuilder::Pop(), v8::internal::HGraphBuilder::Push(), v8::internal::HValue::SetFlag(), v8::internal::Representation::Smi(), and Top().
Here is the call graph for this function:
|
private |
Definition at line 11040 of file hydrogen.cc.
References DCHECK, v8::internal::HGraphBuilder::isolate(), and NULL.
Referenced by BuildFastLiteral().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 9161 of file hydrogen.cc.
References v8::internal::AllocationSite::AddDependentCompilationInfo(), ast_context(), v8::internal::HGraphBuilder::BuildAllocateArrayFromLength(), DCHECK, v8::internal::DISABLE_ALLOCATION_SITES, Drop(), v8::internal::HGraphBuilder::environment(), v8::internal::GetHoleyElementsKind(), v8::internal::Handle< T >::is_null(), v8::internal::IsHoleyElementsKind(), v8::internal::AstContext::ReturnValue(), Top(), v8::internal::HGraphBuilder::top_info(), and v8::internal::AllocationSite::TRANSITIONS.
Referenced by BuildArrayCall().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 6847 of file hydrogen.cc.
References function_state(), function_strict_mode(), v8::internal::handle(), v8::internal::HGraphBuilder::isolate(), and v8::internal::LOAD.
Referenced by HandleKeyedElementAccess(), and HandlePolymorphicElementAccess().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 6869 of file hydrogen.cc.
References v8::internal::ALLOW_RETURN_HOLE, v8::internal::HGraphBuilder::BuildCheckPrototypeMaps(), v8::internal::FAST_HOLEY_DOUBLE_ELEMENTS, v8::internal::HGraphBuilder::graph(), v8::internal::HGraphBuilder::isolate(), map, and v8::internal::NEVER_RETURN_HOLE.
Referenced by BuildMonomorphicElementAccess(), and HandlePolymorphicElementAccess().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 7337 of file hydrogen.cc.
References v8::internal::HGraphBuilder::AddInstruction(), ast_context(), BuildNamedAccess(), BuildStringCharCodeAt(), Drop(), HandleKeyedElementAccess(), v8::internal::HInstruction::IsLinked(), v8::internal::LOAD, name, NULL, v8::internal::HGraphBuilder::Pop(), v8::internal::HGraphBuilder::Push(), v8::internal::REMOVABLE_SIMULATE, v8::internal::AstContext::ReturnInstruction(), and v8::internal::AstContext::ReturnValue().
Referenced by PushLoad().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 5804 of file hydrogen.cc.
References v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::access(), v8::internal::HValue::ActualValue(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::field_maps(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::field_type(), v8::internal::JSObject::GetDataProperty(), v8::internal::HGraphBuilder::isolate(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::name(), NULL, v8::internal::Representation::Tagged(), and v8::internal::HGraphBuilder::zone().
Referenced by BuildMonomorphicAccess().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 3387 of file hydrogen.cc.
References v8::internal::HGraphBuilder::CreateLoopHeaderBlock(), v8::internal::HGraphBuilder::Goto(), and v8::internal::HGraphBuilder::set_current_block().
Referenced by BuildLoopEntry(), and v8::internal::HOsrBuilder::BuildOsrLoopEntry().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 3395 of file hydrogen.cc.
References BuildLoopEntry(), v8::internal::HOsrBuilder::BuildOsrLoopEntry(), v8::internal::HOsrBuilder::HasOsrEntryAt(), and osr().
Here is the call graph for this function:
|
private |
Definition at line 6172 of file hydrogen.cc.
References v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::accessor(), BuildCallConstantFunction(), v8::internal::HGraphBuilder::BuildCheckPrototypeMaps(), BuildLoadNamedField(), BuildStoreNamedField(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::constant(), DCHECK, v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::GetJSObjectFieldAccess(), v8::internal::HGraphBuilder::graph(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::has_holder(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::holder(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::IsAccessor(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::IsConstant(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::IsField(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::IsFound(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::IsLoad(), v8::internal::HGraphBuilder::isolate(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::IsTransition(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::map(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::name(), v8::internal::NeedsWrappingFor(), NULL, v8::internal::HGraphBuilder::Push(), PushArgumentsFromEnvironment(), TryInlineGetter(), TryInlineSetter(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::type(), and v8::internal::WRAP_AND_CALL.
Referenced by BuildNamedAccess(), and HandlePolymorphicNamedFieldAccess().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 6885 of file hydrogen.cc.
References v8::internal::PrototypeIterator::Advance(), v8::internal::HGraphBuilder::BuildCheckPrototypeMaps(), BuildKeyedHoleMode(), v8::internal::HGraphBuilder::BuildUncheckedMonomorphicElementAccess(), DCHECK, v8::internal::PrototypeIterator::GetCurrent(), v8::internal::handle(), v8::internal::PrototypeIterator::IsAtEnd(), v8::internal::JS_ARRAY_TYPE, map, NULL, and v8::internal::STORE.
Referenced by HandleKeyedElementAccess(), and HandlePolymorphicElementAccess().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 7288 of file hydrogen.cc.
References v8::internal::AreStringTypes(), v8::internal::HGraphBuilder::BuildCheckHeapObject(), BuildMonomorphicAccess(), BuildNamedGeneric(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::CanAccessAsMonomorphic(), v8::internal::ComputeReceiverTypes(), DCHECK, HandlePolymorphicNamedFieldAccess(), v8::internal::TypeImpl< Config >::Is(), name, NULL, ToType(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::type(), and v8::internal::HGraphBuilder::zone().
Referenced by BuildLoad(), BuildStore(), and HandleKeyedElementAccess().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 6819 of file hydrogen.cc.
References function_state(), function_strict_mode(), v8::internal::handle(), v8::internal::HGraphBuilder::isolate(), v8::internal::LOAD, name, and v8::internal::Deoptimizer::SOFT.
Referenced by BuildNamedAccess(), HandlePolymorphicCallNamed(), and HandlePolymorphicNamedFieldAccess().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 6422 of file hydrogen.cc.
References v8::internal::HGraphBuilder::AddInstruction(), ast_context(), BuildNamedAccess(), v8::internal::Handle< T >::cast(), DCHECK, Drop(), v8::internal::HGraphBuilder::environment(), HandleKeyedElementAccess(), v8::internal::HValue::HasObservableSideEffects(), name, NULL, v8::internal::HGraphBuilder::Pop(), v8::internal::HGraphBuilder::Push(), v8::internal::REMOVABLE_SIMULATE, v8::internal::AstContext::ReturnValue(), and v8::internal::STORE.
Referenced by BuildStoreForEffect(), HandleCompoundAssignment(), and HandlePropertyAssignment().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 9964 of file hydrogen.cc.
References BuildStore(), NULL, and v8::internal::HGraphBuilder::Push().
Here is the call graph for this function:
|
private |
Definition at line 5846 of file hydrogen.cc.
References v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::access(), v8::internal::HValue::ActualValue(), v8::internal::HGraphBuilder::AddStoreMapConstant(), v8::internal::HGraphBuilder::BuildCheckHeapObject(), DCHECK, v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::field_maps(), v8::internal::INITIALIZING_STORE, v8::internal::HGraphBuilder::isolate(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::IsTransition(), v8::internal::HeapNumber::kSize, v8::internal::MUTABLE_HEAP_NUMBER_TYPE, v8::internal::NOT_TENURED, NULL, v8::internal::STORE_TO_INITIALIZED_ENTRY, v8::internal::Representation::Tagged(), and v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::transition().
Referenced by BuildMonomorphicAccess().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 10091 of file hydrogen.cc.
References v8::internal::HGraphBuilder::AddLoadStringLength(), v8::internal::HGraphBuilder::BuildCheckString(), and v8::base::OS::nan_value().
Referenced by BuildLoad(), and TryInlineBuiltinMethodCall().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 10921 of file hydrogen.cc.
References function_state(), and NULL.
Here is the call graph for this function:
|
inlineprotected |
Definition at line 2170 of file hydrogen.h.
References function_state().
Referenced by TryInline().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Definition at line 2179 of file hydrogen.h.
References function_state().
Referenced by TryInline().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinevirtual |
Implements v8::internal::HGraphBuilder.
Definition at line 2113 of file hydrogen.h.
References v8::internal::HGraphBuilder::environment().
Referenced by BuildAllocateFixedTypedArray(), BuildArrayIndexOf(), BuildCallConstantFunction(), BuildContextChainWalk(), HandleCompoundAssignment(), HandleGlobalVariableAssignment(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::map(), NewArgumentAdaptorCall(), set_ast_context(), SetUpScope(), TryInline(), TryInlineApiCall(), TryInlineBuiltinFunctionCall(), TryInlineBuiltinMethodCall(), VisitLogicalExpression(), and VisitNot().
Here is the call graph for this function:
Here is the caller graph for this function:| HBasicBlock * v8::internal::HOptimizedGraphBuilder::CreateJoin | ( | HBasicBlock * | first, |
| HBasicBlock * | second, | ||
| BailoutId | join_id | ||
| ) |
Definition at line 3341 of file hydrogen.cc.
References v8::internal::HGraphBuilder::Goto(), v8::internal::HGraphBuilder::graph(), and NULL.
Referenced by VisitLogicalExpression(), and VisitNot().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 3370 of file hydrogen.cc.
References v8::internal::BreakableStatement::ExitId(), v8::internal::HGraphBuilder::Goto(), and NULL.
Here is the call graph for this function:
|
inlineprotected |
Definition at line 2167 of file hydrogen.h.
References function_state().
Referenced by Bailout(), BuildCallConstantFunction(), BuildGraph(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::current_info(), HandleCompoundAssignment(), HandleGlobalVariableAssignment(), HandlePolymorphicCallNamed(), v8::internal::HOsrBuilder::HasOsrEntryAt(), InliningAstSize(), IsCallArrayInlineable(), LookupGlobalProperty(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::map(), TryCallApply(), TryInline(), and VisitDeclarations().
Here is the call graph for this function:
Here is the caller graph for this function:| v8::internal::HOptimizedGraphBuilder::DEFINE_AST_VISITOR_SUBCLASS_MEMBERS | ( | ) |
|
private |
|
inlineprotected |
Definition at line 2231 of file hydrogen.h.
References v8::internal::HGraphBuilder::environment().
Referenced by BuildArrayCall(), BuildArrayIndexOf(), BuildBinaryOperation(), BuildCompareInstruction(), BuildInlinedCallArray(), BuildLoad(), BuildStore(), HandlePolymorphicCallNamed(), TryArgumentsAccess(), TryCallApply(), TryInlineApiCall(), TryInlineBuiltinFunctionCall(), TryInlineBuiltinMethodCall(), and VisitLogicalExpression().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 7209 of file hydrogen.cc.
References v8::internal::List< T, AllocationPolicy >::at(), function_state(), v8::internal::HInstruction::InsertAfter(), v8::internal::HValue::kUseGVN, and NULL.
Referenced by TryArgumentsAccess().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Definition at line 2173 of file hydrogen.h.
References function_state().
Referenced by TryInline().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 2123 of file hydrogen.h.
References function_state_.
Referenced by BuildKeyedGeneric(), BuildNamedGeneric(), BuildThisFunction(), call_context(), ClearInlinedTestContext(), current_info(), EnsureArgumentsArePushedForAccess(), function_return(), function_strict_mode(), inlined_test_context(), TryArgumentsAccess(), TryCallApply(), and TryInline().
Here is the caller graph for this function:
|
inlineprotected |
Definition at line 2182 of file hydrogen.h.
References function_state().
Referenced by BuildKeyedGeneric(), BuildNamedGeneric(), HandleGlobalVariableAssignment(), and VisitDelete().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 6530 of file hydrogen.cc.
References ast_context(), Bailout(), BindIfLive(), BuildBinaryOperation(), BuildContextChainWalk(), BuildStore(), CHECK_ALIVE, v8::internal::CONST, v8::internal::CONST_LEGACY, context(), v8::internal::Variable::CONTEXT, current_info(), DCHECK, HandleGlobalVariableAssignment(), v8::internal::Variable::index(), v8::internal::LET, v8::internal::Variable::LOCAL, v8::internal::Variable::location(), v8::internal::Variable::LOOKUP, v8::internal::Variable::mode(), mode(), NULL, v8::internal::Scope::num_parameters(), v8::internal::Variable::PARAMETER, v8::internal::HGraphBuilder::Pop(), v8::internal::HGraphBuilder::Push(), PUSH_BEFORE_SIMULATE, PushLoad(), v8::internal::REMOVABLE_SIMULATE, v8::internal::AstContext::ReturnValue(), v8::internal::CompilationInfo::scope(), v8::internal::HGraphBuilder::scope(), Top(), v8::internal::Variable::UNALLOCATED, UNREACHABLE, and VisitForValue().
Here is the call graph for this function:
|
private |
Definition at line 6479 of file hydrogen.cc.
References context(), current_info(), DCHECK, v8::internal::Deoptimizer::EAGER, v8::internal::EQ, function_strict_mode(), v8::internal::Context::GLOBAL_OBJECT_INDEX, v8::internal::HValue::HasObservableSideEffects(), v8::internal::HGraphBuilder::isolate(), kUseCell, LookupGlobalProperty(), v8::internal::Variable::name(), NULL, v8::internal::REMOVABLE_SIMULATE, v8::internal::STORE, and USE().
Referenced by HandleCompoundAssignment().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 7125 of file hydrogen.cc.
References v8::internal::HValue::ActualValue(), v8::internal::HGraphBuilder::AddInstruction(), v8::internal::HGraphBuilder::BuildCheckHeapObject(), BuildKeyedGeneric(), BuildMonomorphicElementAccess(), BuildNamedAccess(), v8::internal::ComputeReceiverTypes(), DCHECK, v8::internal::Isolate::factory(), v8::internal::Expression::GetStoreMode(), HandlePolymorphicElementAccess(), v8::internal::HValue::HasObservableSideEffects(), v8::internal::HInstruction::IsLinked(), v8::internal::HGraphBuilder::isolate(), v8::internal::Expression::IsPropertyName(), map, NULL, v8::internal::Deoptimizer::SOFT, v8::internal::STORE, and v8::internal::HGraphBuilder::zone().
Referenced by BuildLoad(), and BuildStore().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 10893 of file hydrogen.cc.
References ast_context(), v8::internal::HGraphBuilder::BuildCompareNil(), CHECK_ALIVE, v8::internal::HGraphBuilder::current_block(), DCHECK, DCHECK_EQ, v8::internal::EQ, v8::internal::HGraphBuilder::graph(), v8::internal::HValue::id(), v8::internal::TypeImpl< Config >::Is(), v8::internal::kNullValue, v8::None, NULL, v8::internal::HGraphBuilder::Pop(), v8::internal::AstContext::ReturnContinuation(), v8::internal::AstContext::ReturnControl(), v8::internal::HGraphBuilder::SetSourcePosition(), VisitForValue(), and v8::internal::HGraphBuilder::zone().
Here is the call graph for this function:
|
private |
Definition at line 10640 of file hydrogen.cc.
References ast_context(), CHECK_ALIVE, v8::internal::HGraphBuilder::Pop(), v8::internal::AstContext::ReturnControl(), v8::internal::HGraphBuilder::SetSourcePosition(), and VisitForTypeOf().
Here is the call graph for this function:
|
private |
Definition at line 7508 of file hydrogen.cc.
References AddCheckPrototypeMaps(), v8::internal::HGraphBuilder::AddInstruction(), v8::internal::HGraphBuilder::AddSimulate(), ast_context(), BuildCallConstantFunction(), v8::internal::HGraphBuilder::BuildCheckHeapObject(), BuildNamedGeneric(), v8::internal::CALL_AS_METHOD, v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::CanAccessMonomorphic(), v8::internal::Handle< T >::cast(), CHECK_ALIVE, v8::internal::CompilationInfo::closure(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::constant(), v8::internal::HGraphBuilder::current_block(), current_info(), DCHECK, Drop(), v8::internal::HGraphBuilder::environment(), v8::internal::Isolate::factory(), v8::internal::HGraphBuilder::FinishCurrentBlock(), v8::internal::HGraphBuilder::FinishExitWithHardDeoptimization(), v8::internal::anonymous_namespace{flags.cc}::flags, v8::internal::SmartPointerBase< Deallocator, T >::get(), v8::internal::HGraphBuilder::Goto(), v8::internal::HGraphBuilder::GotoNoSimulate(), v8::internal::HGraphBuilder::graph(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::holder(), v8::internal::HValue::id(), v8::internal::FunctionSorter::index(), InliningAstSize(), v8::internal::TypeImpl< Config >::Is(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::IsConstant(), v8::internal::HGraphBuilder::isolate(), kMaxCallPolymorphism, v8::internal::LOAD, map, v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::map(), name, v8::internal::NeedsWrappingFor(), v8::internal::NO_CALL_FUNCTION_FLAGS, NULL, v8::internal::HGraphBuilder::Pop(), v8::internal::PrintF(), v8::internal::HGraphBuilder::Push(), PushArgumentsFromEnvironment(), v8::internal::REMOVABLE_SIMULATE, v8::internal::AstContext::ReturnInstruction(), v8::internal::AstContext::ReturnValue(), v8::internal::HGraphBuilder::set_current_block(), ToType(), TryInlineCall(), v8::internal::HValue::type(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::type(), VisitExpressions(), and v8::internal::WRAP_AND_CALL.
Here is the call graph for this function:
|
private |
Definition at line 6989 of file hydrogen.cc.
References v8::internal::List< T, AllocationPolicy >::Add(), v8::internal::HGraphBuilder::AddInstruction(), v8::internal::List< T, AllocationPolicy >::at(), v8::internal::HGraphBuilder::BuildCheckHeapObject(), BuildKeyedGeneric(), BuildKeyedHoleMode(), BuildMonomorphicElementAccess(), v8::internal::HGraphBuilder::BuildUncheckedMonomorphicElementAccess(), DCHECK, v8::internal::HGraphBuilder::FinishCurrentBlock(), v8::internal::HGraphBuilder::FinishExitWithHardDeoptimization(), v8::internal::GetInitialFastElementsKind(), v8::internal::HGraphBuilder::GotoNoSimulate(), v8::internal::HGraphBuilder::graph(), v8::internal::HValue::HasObservableSideEffects(), v8::internal::Handle< T >::is_null(), v8::internal::IsDictionaryElementsKind(), v8::internal::IsExternalArrayElementsKind(), v8::internal::IsFastElementsKind(), v8::internal::IsFixedTypedArrayElementsKind(), v8::internal::Map::IsValidElementsTransition(), v8::internal::JS_ARRAY_TYPE, v8::internal::HValue::kHasNoObservableSideEffects, v8::internal::LOAD, map, NULL, v8::internal::HGraphBuilder::Pop(), v8::internal::HGraphBuilder::Push(), v8::internal::HGraphBuilder::scope(), v8::internal::HGraphBuilder::set_current_block(), v8::internal::HValue::SetFlag(), v8::internal::SLOPPY_ARGUMENTS_ELEMENTS, v8::internal::STORE, and TryBuildConsolidatedElementLoad().
Referenced by HandleKeyedElementAccess().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 6250 of file hydrogen.cc.
References v8::internal::HGraphBuilder::AddInstruction(), ast_context(), v8::internal::HGraphBuilder::BuildCheckHeapObject(), BuildMonomorphicAccess(), BuildNamedGeneric(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::CanAccessMonomorphic(), v8::internal::HGraphBuilder::current_block(), DCHECK, v8::internal::Isolate::factory(), v8::internal::HGraphBuilder::FinishCurrentBlock(), v8::internal::HGraphBuilder::FinishExitWithHardDeoptimization(), v8::internal::HGraphBuilder::Goto(), v8::internal::HGraphBuilder::GotoNoSimulate(), v8::internal::HGraphBuilder::graph(), v8::internal::TypeImpl< Config >::Is(), v8::internal::HInstruction::IsLinked(), v8::internal::HGraphBuilder::isolate(), kMaxLoadPolymorphism, kMaxStorePolymorphism, v8::internal::LOAD, v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::map(), name, NULL, v8::internal::HGraphBuilder::Pop(), v8::internal::HGraphBuilder::Push(), v8::internal::REMOVABLE_SIMULATE, v8::internal::AstContext::ReturnValue(), v8::internal::HGraphBuilder::set_current_block(), v8::internal::STATIC_ASSERT(), v8::internal::STORE, ToType(), and v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::type().
Referenced by BuildNamedAccess().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 6463 of file hydrogen.cc.
References BuildStore(), CHECK_ALIVE, DCHECK, NULL, and VisitForValue().
Here is the call graph for this function:
|
private |
Definition at line 8767 of file hydrogen.cc.
References CHECK, v8::internal::HGraphBuilder::graph(), v8::internal::HGraphBuilder::isolate(), v8::internal::SLOPPY, and v8::internal::SharedFunctionInfo::strict_mode().
Here is the call graph for this function:
|
inlineprotected |
Definition at line 2176 of file hydrogen.h.
References function_state().
Referenced by TryInline().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 7712 of file hydrogen.cc.
References v8::internal::CompilationInfo::closure(), current_info(), v8::internal::kNotInlinable, kUnlimitedMaxInlinedSourceSize, v8::internal::Min(), and TraceInline().
Referenced by HandlePolymorphicCallNamed(), and TryInline().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 9217 of file hydrogen.cc.
References array_function(), v8::internal::CompilationInfo::closure(), current_info(), DCHECK, v8::internal::HGraphBuilder::environment(), v8::internal::Handle< T >::is_null(), v8::internal::HGraphBuilder::kElementLoopUnrollThreshold, NULL, Top(), and TraceInline().
Referenced by BuildArrayCall().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Definition at line 2233 of file hydrogen.h.
References v8::internal::Variable::is_arguments(), and v8::internal::Variable::is_this().
Referenced by BindIfLive(), and LookupAndMakeLive().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 3358 of file hydrogen.cc.
References v8::internal::IterationStatement::ContinueId(), v8::internal::HGraphBuilder::Goto(), and NULL.
Here is the call graph for this function:Definition at line 2259 of file hydrogen.h.
References v8::internal::HGraphBuilder::environment(), IsEligibleForEnvironmentLivenessAnalysis(), and USE().
Referenced by TryCallApply().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 5301 of file hydrogen.cc.
References v8::internal::ACCESSOR, current_info(), v8::internal::Variable::is_this(), kUseCell, kUseGeneric, v8::internal::STORE, and UNREACHABLE.
Referenced by HandleGlobalVariableAssignment().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 7437 of file hydrogen.cc.
References v8::internal::Isolate::builtins(), context(), v8::internal::CallInterfaceDescriptor::GetEnvironmentLength(), and v8::internal::HGraphBuilder::isolate().
Referenced by BuildCallConstantFunction().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 7430 of file hydrogen.cc.
Referenced by BuildCallConstantFunction().
Here is the caller graph for this function:
|
inline |
Definition at line 2131 of file hydrogen.h.
|
inline |
Definition at line 2130 of file hydrogen.h.
|
inline |
Definition at line 2127 of file hydrogen.h.
References v8::internal::Zone::New(), size, and v8::internal::HGraphBuilder::zone().
Here is the call graph for this function:
|
inline |
Definition at line 2115 of file hydrogen.h.
References osr_.
Referenced by BuildGraph(), and BuildLoopEntry().
Here is the caller graph for this function:
|
protected |
Definition at line 4468 of file hydrogen.cc.
References PushArgumentsFromEnvironment().
Referenced by BuildArrayCall().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
|
protected |
Definition at line 4453 of file hydrogen.cc.
References v8::internal::List< T, AllocationPolicy >::Add(), v8::internal::HGraphBuilder::AddInstruction(), v8::internal::HGraphBuilder::Pop(), and v8::internal::HGraphBuilder::zone().
Referenced by BuildMonomorphicAccess(), HandlePolymorphicCallNamed(), PreProcessCall(), TryCallApply(), and TryInlineApiCall().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 7327 of file hydrogen.cc.
References v8::internal::ARGUMENTS_NOT_ALLOWED, BuildLoad(), NULL, and v8::internal::HGraphBuilder::Push().
Referenced by HandleCompoundAssignment().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Definition at line 2164 of file hydrogen.h.
References ast_context_, and context().
Referenced by v8::internal::AstContext::AstContext(), and v8::internal::AstContext::~AstContext().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 2111 of file hydrogen.h.
References break_scope_.
Referenced by v8::internal::HOptimizedGraphBuilder::BASE_EMBEDDED::BreakAndContinueScope().
Here is the caller graph for this function:
|
inlineprotected |
|
protected |
Definition at line 4474 of file hydrogen.cc.
References v8::internal::HGraphBuilder::AddInstruction(), v8::internal::Scope::arguments(), Bailout(), context(), DCHECK_EQ, v8::internal::HGraphBuilder::environment(), v8::internal::HGraphBuilder::graph(), v8::internal::Variable::IsStackAllocated(), NULL, v8::internal::Scope::num_parameters(), v8::internal::HGraphBuilder::scope(), and v8::internal::HGraphBuilder::zone().
Referenced by BuildGraph().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Definition at line 2230 of file hydrogen.h.
References v8::internal::HGraphBuilder::environment().
Referenced by BuildIncrement(), BuildInlinedCallArray(), HandleCompoundAssignment(), IsCallArrayInlineable(), TryInlineBuiltinMethodCall(), and VisitLogicalExpression().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 4513 of file hydrogen.cc.
References map, and v8::internal::HGraphBuilder::zone().
Referenced by BuildNamedAccess(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::CanAccessAsMonomorphic(), HandlePolymorphicCallNamed(), HandlePolymorphicNamedFieldAccess(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::LookupInPrototypes(), and v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::ToType().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 7690 of file hydrogen.cc.
References v8::internal::SmartPointerBase< Deallocator, T >::get(), NULL, and v8::internal::PrintF().
Referenced by InliningAstSize(), IsCallArrayInlineable(), and TryInline().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 7237 of file hydrogen.cc.
References ast_context(), CHECK_ALIVE_OR_RETURN, Drop(), EnsureArgumentsArePushedForAccess(), v8::internal::HGraphBuilder::environment(), v8::internal::String::Equals(), function_state(), v8::internal::HGraphBuilder::graph(), v8::internal::HValue::id(), v8::internal::HGraphBuilder::isolate(), v8::internal::HValue::kIsArguments, name, NULL, v8::internal::HGraphBuilder::Pop(), v8::internal::HGraphBuilder::Push(), v8::internal::AstContext::ReturnInstruction(), and VisitForValue().
Here is the call graph for this function:
|
private |
Definition at line 6923 of file hydrogen.cc.
References v8::internal::HGraphBuilder::BuildUncheckedMonomorphicElementAccess(), v8::internal::GetHoleyElementsKind(), v8::internal::IsHoleyElementsKind(), v8::internal::IsMoreGeneralElementsKindTransition(), v8::internal::JS_ARRAY_TYPE, v8::internal::LOAD, map, v8::internal::NEVER_RETURN_HOLE, NULL, and v8::internal::STANDARD_STORE.
Referenced by HandlePolymorphicElementAccess().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 8693 of file hydrogen.cc.
References AddCheckMap(), ast_context(), v8::internal::List< T, AllocationPolicy >::at(), v8::internal::HGraphBuilder::BuildWrapReceiver(), v8::internal::Handle< T >::cast(), CHECK_ALIVE_OR_RETURN, v8::internal::HValue::CheckFlag(), current_info(), DCHECK, DCHECK_EQ, Drop(), v8::internal::HGraphBuilder::environment(), function_state(), v8::internal::handle(), v8::internal::HValue::id(), v8::internal::HGraphBuilder::isolate(), v8::internal::JS_FUNCTION_TYPE, v8::internal::HValue::kIsArguments, LookupAndMakeLive(), NULL, v8::internal::HGraphBuilder::Pop(), v8::internal::HGraphBuilder::Push(), PushArgumentsFromEnvironment(), v8::internal::AstContext::ReturnInstruction(), v8::internal::HGraphBuilder::scope(), TryInlineApply(), and VisitForValue().
Here is the call graph for this function:
|
private |
Definition at line 8952 of file hydrogen.cc.
References array_function(), BuildArrayCall(), and v8::internal::Handle< T >::is_null().
Here is the call graph for this function:
|
private |
Definition at line 8968 of file hydrogen.cc.
References array_function(), and BuildArrayCall().
Here is the call graph for this function:
|
private |
Definition at line 7753 of file hydrogen.cc.
References v8::internal::HGraphBuilder::AddLeaveInlined(), v8::internal::Scope::Analyze(), ast_context(), v8::internal::List< T, AllocationPolicy >::at(), call_context(), ClearInlinedTestContext(), v8::internal::CompilationInfo::closure(), v8::internal::CONSTRUCT_CALL_RETURN, context(), v8::internal::HGraphBuilder::current_block(), current_info(), DCHECK, v8::internal::Scope::declarations(), v8::internal::Compiler::EnsureDeoptimizationSupport(), v8::internal::HGraphBuilder::environment(), v8::internal::CompilationInfo::function(), function_return(), function_state(), FunctionState, v8::internal::HGraphBuilder::Goto(), v8::internal::HGraphBuilder::graph(), v8::internal::Isolate::has_pending_exception(), inlined_count_, inlined_test_context(), InliningAstSize(), v8::internal::CompilationInfo::isolate(), v8::internal::JS_FUNCTION, v8::internal::kNotInlinable, kUnlimitedMaxInlinedNodes, kUnlimitedMaxInlinedNodesCumulative, v8::internal::Min(), v8::internal::BailoutId::None(), NULL, v8::internal::Scope::num_heap_slots(), v8::internal::Parser::Parse(), v8::internal::CompilationInfo::RetryOptimization(), v8::internal::AstTyper::Run(), v8::internal::CompilationInfo::scope(), v8::internal::HGraphBuilder::scope(), v8::internal::HGraphBuilder::set_current_block(), v8::internal::HGraphBuilder::set_scope(), v8::internal::CompilationInfo::SetAstValueFactory(), v8::internal::SETTER_CALL_RETURN, v8::internal::HGraphBuilder::top_info(), TraceInline(), VisitDeclarations(), VisitStatements(), and v8::internal::HGraphBuilder::zone().
Referenced by TryInlineApply(), TryInlineCall(), TryInlineConstruct(), TryInlineGetter(), and TryInlineSetter().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 8578 of file hydrogen.cc.
References AddCheckPrototypeMaps(), ast_context(), CHECK, context(), DCHECK, DCHECK_EQ, Drop(), v8::internal::CallInterfaceDescriptor::GetEnvironmentLength(), v8::internal::handle(), v8::internal::HGraphBuilder::isolate(), kCallApiFunction, kCallApiGetter, kCallApiMethod, kCallApiSetter, v8::internal::kPointerSize, NULL, v8::internal::HGraphBuilder::Pop(), v8::internal::PrintF(), PushArgumentsFromEnvironment(), v8::internal::AstContext::ReturnInstruction(), UNREACHABLE, and v8::internal::HGraphBuilder::zone().
Referenced by TryInlineApiFunctionCall(), TryInlineApiGetter(), TryInlineApiMethodCall(), and TryInlineApiSetter().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 8521 of file hydrogen.cc.
References kCallApiFunction, and TryInlineApiCall().
Here is the call graph for this function:
|
private |
Definition at line 8550 of file hydrogen.cc.
References kCallApiGetter, NULL, TryInlineApiCall(), and v8::internal::HGraphBuilder::zone().
Referenced by TryInlineGetter().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 8535 of file hydrogen.cc.
References kCallApiMethod, and TryInlineApiCall().
Here is the call graph for this function:
|
private |
Definition at line 8564 of file hydrogen.cc.
References kCallApiSetter, NULL, TryInlineApiCall(), and v8::internal::HGraphBuilder::zone().
Referenced by TryInlineSetter().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 8085 of file hydrogen.cc.
References v8::internal::NORMAL_RETURN, NULL, v8::internal::HGraphBuilder::ScriptPositionToSourcePosition(), and TryInline().
Referenced by TryCallApply().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 8098 of file hydrogen.cc.
References ast_context(), context(), Drop(), v8::internal::HValue::id(), v8::internal::HGraphBuilder::Pop(), v8::internal::AstContext::ReturnInstruction(), and v8::internal::HGraphBuilder::zone().
Here is the call graph for this function:
|
private |
Definition at line 8138 of file hydrogen.cc.
References AddCheckMap(), v8::internal::HGraphBuilder::AddElementAccess(), v8::internal::HGraphBuilder::AddInstruction(), v8::internal::HGraphBuilder::AddLoadElements(), v8::internal::ALLOW_RETURN_HOLE, ast_context(), BuildArrayIndexOf(), v8::internal::HGraphBuilder::BuildCheckPrototypeMaps(), v8::internal::HGraphBuilder::BuildCopyElementsOnWrite(), BuildStringCharCodeAt(), v8::internal::HGraphBuilder::BuildUncheckedMonomorphicElementAccess(), v8::internal::HValue::ClearFlag(), context(), DCHECK, Drop(), v8::internal::EQ, v8::internal::Isolate::factory(), v8::internal::FAST_HOLEY_ELEMENTS, v8::internal::HGraphBuilder::graph(), v8::internal::handle(), v8::internal::HValue::HasObservableSideEffects(), v8::internal::FixedDoubleArray::hole_nan_as_double(), v8::internal::HValue::id(), v8::internal::INITIALIZING_STORE, v8::internal::Handle< T >::is_null(), v8::internal::AstContext::IsEffect(), v8::internal::IsFastElementsKind(), v8::internal::IsFastSmiOrObjectElementsKind(), v8::internal::HGraphBuilder::isolate(), v8::internal::JSArray::IsReadOnlyLengthDescriptor(), v8::internal::JS_ARRAY_TYPE, v8::internal::HValue::kAllowUndefinedAsNaN, v8::internal::HValue::kCanOverflow, kFirstIndexOf, kLastIndexOf, v8::internal::kMathPowHalf, v8::internal::LOAD, mode(), v8::internal::NEVER_RETURN_HOLE, NULL, v8::internal::HGraphBuilder::Pop(), v8::internal::HGraphBuilder::Push(), v8::internal::REMOVABLE_SIMULATE, v8::internal::AstContext::ReturnInstruction(), v8::internal::AstContext::ReturnValue(), v8::internal::HGraphBuilder::scope(), v8::internal::STORE, v8::internal::STORE_AND_GROW_NO_TRANSITION, v8::internal::STORE_TO_INITIALIZED_ENTRY, Top(), and v8::internal::HGraphBuilder::zone().
Here is the call graph for this function:
|
private |
Definition at line 8032 of file hydrogen.cc.
References v8::internal::NORMAL_RETURN, NULL, v8::internal::HGraphBuilder::ScriptPositionToSourcePosition(), and TryInline().
Referenced by HandlePolymorphicCallNamed().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 8043 of file hydrogen.cc.
References v8::internal::CONSTRUCT_CALL_RETURN, v8::internal::HValue::id(), v8::internal::HGraphBuilder::ScriptPositionToSourcePosition(), and TryInline().
Here is the call graph for this function:
|
private |
Definition at line 8055 of file hydrogen.cc.
References v8::internal::GETTER_CALL_RETURN, NULL, v8::internal::HGraphBuilder::source_position(), TryInline(), and TryInlineApiGetter().
Referenced by BuildMonomorphicAccess().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 8070 of file hydrogen.cc.
References v8::internal::SETTER_CALL_RETURN, v8::internal::HGraphBuilder::source_position(), TryInline(), and TryInlineApiSetter().
Referenced by BuildMonomorphicAccess().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 10620 of file hydrogen.cc.
References ast_context(), BuildBinaryOperation(), v8::internal::HValue::cast(), CHECK_ALIVE, NO_PUSH_BEFORE_SIMULATE, v8::internal::HGraphBuilder::Pop(), PUSH_BEFORE_SIMULATE, v8::internal::AstContext::ReturnValue(), v8::internal::HGraphBuilder::ScriptPositionToSourcePosition(), v8::internal::HGraphBuilder::SetSourcePosition(), VisitForValue(), and v8::internal::HGraphBuilder::zone().
Here is the call graph for this function:
|
protected |
Definition at line 10509 of file hydrogen.cc.
References CHECK_ALIVE, and VisitForEffect().
Here is the call graph for this function:| void v8::internal::HOptimizedGraphBuilder::VisitDeclarations | ( | ZoneList< Declaration * > * | declarations | ) |
Definition at line 11224 of file hydrogen.cc.
References current_info(), DCHECK, v8::internal::BitFieldBase< T, shift, size, U >::encode(), v8::internal::Isolate::factory(), v8::internal::anonymous_namespace{flags.cc}::flags, globals_, v8::internal::HGraphBuilder::isolate(), and v8::internal::TENURED.
Referenced by BuildGraph(), and TryInline().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 9828 of file hydrogen.cc.
References v8::internal::HGraphBuilder::AddLoadJSBuiltin(), ast_context(), Bailout(), CHECK_ALIVE, function_strict_mode(), v8::internal::HGraphBuilder::graph(), v8::internal::HValue::id(), v8::internal::Variable::is_this(), v8::internal::Variable::IsContextSlot(), v8::internal::Variable::IsStackAllocated(), v8::internal::Variable::IsUnallocated(), NULL, v8::internal::HGraphBuilder::Pop(), v8::internal::AstContext::ReturnInstruction(), v8::internal::AstContext::ReturnValue(), VisitForEffect(), and VisitForValue().
Here is the call graph for this function:
|
protected |
Definition at line 4246 of file hydrogen.cc.
References v8::internal::List< T, AllocationPolicy >::at(), CHECK_ALIVE, and VisitForValue().
Referenced by HandlePolymorphicCallNamed().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 4238 of file hydrogen.cc.
Referenced by VisitLogicalExpression(), and VisitNot().
Here is the caller graph for this function:
|
protected |
Definition at line 4218 of file hydrogen.cc.
Referenced by VisitComma(), VisitDelete(), VisitLogicalExpression(), VisitNot(), and VisitVoid().
Here is the caller graph for this function:
|
protected |
Definition at line 4231 of file hydrogen.cc.
References v8::internal::ARGUMENTS_NOT_ALLOWED.
Referenced by HandleLiteralCompareTypeof(), and VisitTypeof().
Here is the caller graph for this function:
|
protected |
Definition at line 4224 of file hydrogen.cc.
References v8::internal::flag.
Referenced by HandleCompoundAssignment(), HandleLiteralCompareNil(), HandlePropertyAssignment(), TryArgumentsAccess(), TryCallApply(), VisitArithmeticExpression(), VisitDelete(), VisitExpressions(), and VisitLogicalExpression().
Here is the caller graph for this function:
|
protected |
Definition at line 10517 of file hydrogen.cc.
References v8::internal::AND, ast_context(), CHECK_ALIVE, CHECK_BAILOUT, context(), CreateJoin(), v8::internal::HGraphBuilder::current_block(), DCHECK, Drop(), v8::internal::HGraphBuilder::FinishCurrentBlock(), v8::internal::HGraphBuilder::graph(), NULL, v8::internal::HGraphBuilder::Pop(), v8::internal::AstContext::ReturnValue(), v8::internal::HGraphBuilder::set_current_block(), Top(), VisitForControl(), VisitForEffect(), and VisitForValue().
Here is the call graph for this function:
|
protected |
Definition at line 4936 of file hydrogen.cc.
References v8::internal::IterationStatement::body(), CHECK_BAILOUT, DCHECK, and v8::internal::IterationStatement::StackCheckId().
Here is the call graph for this function:
|
protected |
Definition at line 9880 of file hydrogen.cc.
References ast_context(), CHECK_BAILOUT, context(), CreateJoin(), DCHECK, v8::internal::HGraphBuilder::graph(), NULL, v8::internal::HGraphBuilder::Pop(), v8::internal::HGraphBuilder::Push(), v8::internal::AstContext::ReturnValue(), v8::internal::HGraphBuilder::set_current_block(), VisitForControl(), and VisitForEffect().
Here is the call graph for this function:
|
protectedvirtual |
Definition at line 4518 of file hydrogen.cc.
References v8::internal::List< T, AllocationPolicy >::at(), CHECK_ALIVE, and v8::internal::Statement::IsJump().
Referenced by BuildGraph(), and TryInline().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 9872 of file hydrogen.cc.
References ast_context(), CHECK_ALIVE, v8::internal::HValue::id(), v8::internal::HGraphBuilder::Pop(), v8::internal::AstContext::ReturnInstruction(), and VisitForTypeOf().
Here is the call graph for this function:
|
protected |
Definition at line 9866 of file hydrogen.cc.
References ast_context(), CHECK_ALIVE, v8::internal::HGraphBuilder::graph(), v8::internal::AstContext::ReturnValue(), and VisitForEffect().
Here is the call graph for this function:
|
friend |
Definition at line 2737 of file hydrogen.h.
|
friend |
Definition at line 2736 of file hydrogen.h.
Referenced by TryInline().
|
friend |
Definition at line 2739 of file hydrogen.h.
|
friend |
Definition at line 2738 of file hydrogen.h.
|
private |
Definition at line 2724 of file hydrogen.h.
Referenced by ast_context(), and set_ast_context().
|
private |
Definition at line 2727 of file hydrogen.h.
Referenced by break_scope(), and set_break_scope().
|
private |
Definition at line 2717 of file hydrogen.h.
Referenced by function_state(), HOptimizedGraphBuilder(), and set_function_state().
Definition at line 2730 of file hydrogen.h.
Referenced by VisitDeclarations().
|
private |
Definition at line 2720 of file hydrogen.h.
Referenced by HOptimizedGraphBuilder().
|
private |
Definition at line 2732 of file hydrogen.h.
|
private |
Definition at line 2729 of file hydrogen.h.
Referenced by TryInline().
|
staticprotected |
Definition at line 2143 of file hydrogen.h.
|
staticprotected |
Definition at line 2145 of file hydrogen.h.
Referenced by HandlePolymorphicCallNamed().
|
staticprotected |
Definition at line 2157 of file hydrogen.h.
|
staticprotected |
Definition at line 2158 of file hydrogen.h.
|
staticprotected |
Definition at line 2146 of file hydrogen.h.
Referenced by v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::CanAccessAsMonomorphic(), and HandlePolymorphicNamedFieldAccess().
|
staticprotected |
Definition at line 2147 of file hydrogen.h.
Referenced by v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::CanAccessAsMonomorphic(), and HandlePolymorphicNamedFieldAccess().
|
staticprotected |
Definition at line 2152 of file hydrogen.h.
Referenced by TryInline().
|
staticprotected |
Definition at line 2153 of file hydrogen.h.
Referenced by TryInline().
|
staticprotected |
Definition at line 2151 of file hydrogen.h.
Referenced by InliningAstSize().
|
private |
Definition at line 2734 of file hydrogen.h.
Referenced by osr().