V8 Project
|
#include <graph-builder.h>
Classes | |
class | Environment |
Public Member Functions | |
StructuredGraphBuilder (Graph *graph, CommonOperatorBuilder *common) | |
virtual | ~StructuredGraphBuilder () |
Node * | NewPhi (int count, Node *input, Node *control) |
Node * | NewEffectPhi (int count, Node *input, Node *control) |
Node * | MergeControl (Node *control, Node *other) |
Node * | MergeEffect (Node *value, Node *other, Node *control) |
Node * | MergeValue (Node *value, Node *other, Node *control) |
Node * | NewIfTrue () |
Node * | NewIfFalse () |
Node * | NewMerge () |
Node * | NewLoop () |
Node * | NewBranch (Node *condition) |
![]() | |
GraphBuilder (Graph *graph) | |
virtual | ~GraphBuilder () |
Node * | NewNode (const Operator *op) |
Node * | NewNode (const Operator *op, Node *n1) |
Node * | NewNode (const Operator *op, Node *n1, Node *n2) |
Node * | NewNode (const Operator *op, Node *n1, Node *n2, Node *n3) |
Node * | NewNode (const Operator *op, Node *n1, Node *n2, Node *n3, Node *n4) |
Node * | NewNode (const Operator *op, Node *n1, Node *n2, Node *n3, Node *n4, Node *n5) |
Node * | NewNode (const Operator *op, Node *n1, Node *n2, Node *n3, Node *n4, Node *n5, Node *n6) |
Node * | NewNode (const Operator *op, int value_input_count, Node **value_inputs) |
Graph * | graph () const |
Protected Member Functions | |
virtual Node * | MakeNode (const Operator *op, int value_input_count, Node **value_inputs) FINAL |
Environment * | environment () const |
void | set_environment (Environment *env) |
Node * | current_context () const |
void | set_current_context (Node *context) |
Node * | exit_control () const |
void | set_exit_control (Node *node) |
Node * | dead_control () |
Zone * | zone () const |
Isolate * | isolate () const |
CommonOperatorBuilder * | common () const |
template<class T > | |
Unique< T > | MakeUnique (Handle< T > object) |
virtual Environment * | CopyEnvironment (Environment *env) |
void | UpdateControlDependencyToLeaveFunction (Node *exit) |
Private Member Functions | |
DISALLOW_COPY_AND_ASSIGN (StructuredGraphBuilder) | |
Private Attributes | |
CommonOperatorBuilder * | common_ |
Environment * | environment_ |
SetOncePointer< Node > | dead_control_ |
Node * | current_context_ |
Node * | exit_control_ |
Friends | |
class | Environment |
class | ControlBuilder |
Definition at line 80 of file graph-builder.h.
v8::internal::compiler::StructuredGraphBuilder::StructuredGraphBuilder | ( | Graph * | graph, |
CommonOperatorBuilder * | common | ||
) |
Definition at line 22 of file graph-builder.cc.
|
inlinevirtual |
Definition at line 83 of file graph-builder.h.
|
inlineprotected |
Definition at line 128 of file graph-builder.h.
References common_.
Referenced by v8::internal::compiler::AstGraphBuilder::BuildLocalFunctionContext(), v8::internal::compiler::AstGraphBuilder::BuildVariableLoad(), v8::internal::compiler::AstGraphBuilder::Environment::Checkpoint(), v8::internal::compiler::StructuredGraphBuilder::Environment::common(), v8::internal::compiler::AstGraphBuilder::CreateGraph(), v8::internal::compiler::AstGraphBuilder::GetFunctionClosure(), v8::internal::compiler::AstGraphBuilder::GetFunctionContext(), v8::internal::compiler::StructuredGraphBuilder::Environment::Merge(), MergeControl(), MergeEffect(), MergeValue(), NewBranch(), NewEffectPhi(), NewIfFalse(), NewIfTrue(), NewLoop(), NewMerge(), NewPhi(), and v8::internal::compiler::AstGraphBuilder::Environment::UpdateStateValues().
|
protectedvirtual |
Reimplemented in v8::internal::compiler::AstGraphBuilder.
Definition at line 96 of file graph-builder.cc.
References Environment, and zone().
Referenced by v8::internal::compiler::StructuredGraphBuilder::Environment::CopyAsUnreachable(), v8::internal::compiler::StructuredGraphBuilder::Environment::CopyForConditional(), and v8::internal::compiler::StructuredGraphBuilder::Environment::CopyForLoop().
|
inlineprotected |
Definition at line 117 of file graph-builder.h.
References current_context_.
Referenced by v8::internal::compiler::AstGraphBuilder::BuildVariableAssignment(), v8::internal::compiler::AstGraphBuilder::BuildVariableDelete(), v8::internal::compiler::AstGraphBuilder::BuildVariableLoad(), v8::internal::compiler::StructuredGraphBuilder::Environment::GetContext(), MakeNode(), and v8::internal::compiler::AstGraphBuilder::VisitDeclarations().
|
protected |
Definition at line 239 of file graph-builder.cc.
References common_, dead_control_, v8::internal::SetOncePointer< T >::get(), v8::internal::compiler::GraphBuilder::graph(), v8::internal::SetOncePointer< T >::is_set(), v8::internal::compiler::Graph::NewNode(), and v8::internal::SetOncePointer< T >::set().
Referenced by MakeNode(), and v8::internal::compiler::StructuredGraphBuilder::Environment::MarkAsUnreachable().
|
private |
|
inlineprotected |
Definition at line 114 of file graph-builder.h.
References environment_.
Referenced by v8::internal::compiler::AstGraphBuilder::environment(), v8::internal::compiler::ControlBuilder::environment(), MakeNode(), and UpdateControlDependencyToLeaveFunction().
|
inlineprotected |
Definition at line 120 of file graph-builder.h.
References exit_control_.
Referenced by v8::internal::compiler::AstGraphBuilder::CreateGraph(), and UpdateControlDependencyToLeaveFunction().
|
inlineprotected |
Definition at line 127 of file graph-builder.h.
References v8::internal::Zone::isolate(), and zone().
Referenced by v8::internal::compiler::AstGraphBuilder::VisitDeclarations().
|
protectedvirtual |
Implements v8::internal::compiler::GraphBuilder.
Definition at line 31 of file graph-builder.cc.
References current_context(), DCHECK, dead_control(), environment(), environment_, v8::internal::compiler::StructuredGraphBuilder::Environment::GetControlDependency(), v8::internal::compiler::OperatorProperties::GetControlInputCount(), v8::internal::compiler::StructuredGraphBuilder::Environment::GetEffectDependency(), v8::internal::compiler::OperatorProperties::GetEffectInputCount(), v8::internal::compiler::GraphBuilder::graph(), v8::internal::compiler::OperatorProperties::HasContextInput(), v8::internal::compiler::OperatorProperties::HasControlOutput(), v8::internal::compiler::OperatorProperties::HasFrameStateInput(), v8::internal::compiler::Operator::InputCount(), v8::internal::kPointerSize, v8::internal::Zone::NewArray(), v8::internal::compiler::Graph::NewNode(), NULL, v8::internal::compiler::StructuredGraphBuilder::Environment::UpdateControlDependency(), v8::internal::compiler::StructuredGraphBuilder::Environment::UpdateEffectDependency(), and zone().
|
inlineprotected |
Definition at line 132 of file graph-builder.h.
References v8::internal::Unique< T >::CreateUninitialized().
Referenced by v8::internal::compiler::AstGraphBuilder::BuildVariableAssignment(), v8::internal::compiler::AstGraphBuilder::BuildVariableLoad(), v8::internal::compiler::AstGraphBuilder::VisitCallJSRuntime(), and v8::internal::compiler::AstGraphBuilder::VisitForInAssignment().
Node * v8::internal::compiler::StructuredGraphBuilder::MergeControl | ( | Node * | control, |
Node * | other | ||
) |
Definition at line 184 of file graph-builder.cc.
References common(), v8::internal::compiler::OperatorProperties::GetControlInputCount(), v8::internal::compiler::GraphBuilder::graph(), v8::internal::compiler::Graph::NewNode(), and zone().
Referenced by UpdateControlDependencyToLeaveFunction().
Node * v8::internal::compiler::StructuredGraphBuilder::MergeEffect | ( | Node * | value, |
Node * | other, | ||
Node * | control | ||
) |
Definition at line 205 of file graph-builder.cc.
References common(), v8::internal::compiler::NodeProperties::GetControlInput(), v8::internal::compiler::OperatorProperties::GetControlInputCount(), NewEffectPhi(), and zone().
Node * v8::internal::compiler::StructuredGraphBuilder::MergeValue | ( | Node * | value, |
Node * | other, | ||
Node * | control | ||
) |
Definition at line 222 of file graph-builder.cc.
References common(), v8::internal::compiler::NodeProperties::GetControlInput(), v8::internal::compiler::OperatorProperties::GetControlInputCount(), v8::internal::compiler::kMachAnyTagged, NewPhi(), and zone().
|
inline |
Definition at line 99 of file graph-builder.h.
References common(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by v8::internal::compiler::SwitchBuilder::BeginLabel(), and v8::internal::compiler::IfBuilder::If().
Node * v8::internal::compiler::StructuredGraphBuilder::NewEffectPhi | ( | int | count, |
Node * | input, | ||
Node * | control | ||
) |
Definition at line 174 of file graph-builder.cc.
References common(), v8::internal::compiler::GraphBuilder::graph(), v8::internal::MemsetPointer(), v8::internal::Zone::NewArray(), v8::internal::compiler::Graph::NewNode(), and zone().
Referenced by MergeEffect().
|
inline |
Definition at line 96 of file graph-builder.h.
References common(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by v8::internal::compiler::IfBuilder::Else(), and v8::internal::compiler::SwitchBuilder::EndLabel().
|
inline |
Definition at line 95 of file graph-builder.h.
References common(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by v8::internal::compiler::SwitchBuilder::BeginLabel(), and v8::internal::compiler::IfBuilder::Then().
|
inline |
Definition at line 98 of file graph-builder.h.
References common(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by v8::internal::compiler::LoopBuilder::BeginLoop().
|
inline |
Definition at line 97 of file graph-builder.h.
References common(), and v8::internal::compiler::GraphBuilder::NewNode().
Referenced by v8::internal::compiler::IfBuilder::Else().
Node * v8::internal::compiler::StructuredGraphBuilder::NewPhi | ( | int | count, |
Node * | input, | ||
Node * | control | ||
) |
Definition at line 164 of file graph-builder.cc.
References common(), v8::internal::compiler::GraphBuilder::graph(), v8::internal::compiler::kMachAnyTagged, v8::internal::MemsetPointer(), v8::internal::Zone::NewArray(), v8::internal::compiler::Graph::NewNode(), and zone().
Referenced by MergeValue().
|
inlineprotected |
Definition at line 118 of file graph-builder.h.
References current_context_.
Referenced by v8::internal::compiler::AstGraphBuilder::BuildLocalFunctionContext().
|
inlineprotected |
Definition at line 115 of file graph-builder.h.
References environment_.
Referenced by v8::internal::compiler::AstGraphBuilder::CreateGraph(), and v8::internal::compiler::ControlBuilder::set_environment().
|
inlineprotected |
Definition at line 121 of file graph-builder.h.
References exit_control_.
Referenced by UpdateControlDependencyToLeaveFunction().
|
protected |
Definition at line 85 of file graph-builder.cc.
References environment(), exit_control(), v8::internal::compiler::StructuredGraphBuilder::Environment::MarkAsUnreachable(), MergeControl(), NULL, and set_exit_control().
Referenced by v8::internal::compiler::AstGraphBuilder::CreateGraph().
|
inlineprotected |
Definition at line 126 of file graph-builder.h.
References v8::internal::compiler::GraphBuilder::graph(), and v8::internal::compiler::GenericGraphBase::zone().
Referenced by v8::internal::compiler::AstGraphBuilder::CopyEnvironment(), CopyEnvironment(), isolate(), MakeNode(), MergeControl(), MergeEffect(), MergeValue(), NewEffectPhi(), NewPhi(), and v8::internal::compiler::ControlBuilder::zone().
|
friend |
Definition at line 106 of file graph-builder.h.
|
friend |
Definition at line 105 of file graph-builder.h.
Referenced by v8::internal::compiler::AstGraphBuilder::CopyEnvironment(), and CopyEnvironment().
|
private |
Definition at line 144 of file graph-builder.h.
Referenced by common(), and dead_control().
|
private |
Definition at line 151 of file graph-builder.h.
Referenced by current_context(), and set_current_context().
|
private |
Definition at line 148 of file graph-builder.h.
Referenced by dead_control().
|
private |
Definition at line 145 of file graph-builder.h.
Referenced by environment(), MakeNode(), and set_environment().
|
private |
Definition at line 154 of file graph-builder.h.
Referenced by exit_control(), and set_exit_control().