V8 Project
|
#include <js-graph.h>
Public Member Functions | |
JSGraph (Graph *graph, CommonOperatorBuilder *common, JSOperatorBuilder *javascript, Typer *typer, MachineOperatorBuilder *machine) | |
Node * | CEntryStubConstant () |
Node * | UndefinedConstant () |
Node * | TheHoleConstant () |
Node * | TrueConstant () |
Node * | FalseConstant () |
Node * | NullConstant () |
Node * | ZeroConstant () |
Node * | OneConstant () |
Node * | NaNConstant () |
Node * | HeapConstant (Unique< Object > value) |
Node * | HeapConstant (Handle< Object > value) |
Node * | Constant (Handle< Object > value) |
Node * | Constant (double value) |
Node * | Constant (int32_t value) |
Node * | Int32Constant (int32_t value) |
Node * | Uint32Constant (uint32_t value) |
Node * | Float32Constant (float value) |
Node * | Float64Constant (double value) |
Node * | ExternalConstant (ExternalReference ref) |
Node * | SmiConstant (int32_t immediate) |
JSOperatorBuilder * | javascript () |
CommonOperatorBuilder * | common () |
MachineOperatorBuilder * | machine () |
Graph * | graph () |
Zone * | zone () |
Isolate * | isolate () |
![]() | |
INLINE (void *operator new(size_t size, Zone *zone)) | |
void | operator delete (void *, size_t) |
void | operator delete (void *pointer, Zone *zone) |
Private Member Functions | |
Node * | ImmovableHeapConstant (Handle< Object > value) |
Node * | NumberConstant (double value) |
Node * | NewNode (const Operator *op) |
Factory * | factory () |
Private Attributes | |
Graph * | graph_ |
CommonOperatorBuilder * | common_ |
JSOperatorBuilder * | javascript_ |
Typer * | typer_ |
MachineOperatorBuilder * | machine_ |
SetOncePointer< Node > | c_entry_stub_constant_ |
SetOncePointer< Node > | undefined_constant_ |
SetOncePointer< Node > | the_hole_constant_ |
SetOncePointer< Node > | true_constant_ |
SetOncePointer< Node > | false_constant_ |
SetOncePointer< Node > | null_constant_ |
SetOncePointer< Node > | zero_constant_ |
SetOncePointer< Node > | one_constant_ |
SetOncePointer< Node > | nan_constant_ |
CommonNodeCache | cache_ |
Definition at line 24 of file js-graph.h.
|
inline |
Definition at line 26 of file js-graph.h.
Node * v8::internal::compiler::JSGraph::CEntryStubConstant | ( | ) |
Definition at line 26 of file js-graph.cc.
References c_entry_stub_constant_, v8::internal::SetOncePointer< T >::get(), ImmovableHeapConstant(), v8::internal::SetOncePointer< T >::is_set(), isolate(), and v8::internal::SetOncePointer< T >::set().
|
inline |
Definition at line 87 of file js-graph.h.
References common_.
Referenced by v8::internal::compiler::JSInliner::AddClosureToFrameState(), v8::internal::compiler::SimplifiedLowering::common(), v8::internal::compiler::JSGenericLowering::common(), v8::internal::compiler::JSInliner::CreateArgumentsAdaptorFrameState(), ExternalConstant(), Float32Constant(), Float64Constant(), HeapConstant(), ImmovableHeapConstant(), Int32Constant(), NumberConstant(), v8::internal::compiler::JSInliner::TryInlineCall(), and v8::internal::compiler::Inlinee::UnifyReturn().
Node * v8::internal::compiler::JSGraph::Constant | ( | double | value | ) |
Definition at line 136 of file js-graph.cc.
References NumberConstant(), OneConstant(), and ZeroConstant().
Definition at line 115 of file js-graph.cc.
References FalseConstant(), HeapConstant(), NullConstant(), TheHoleConstant(), TrueConstant(), and UndefinedConstant().
Referenced by v8::internal::compiler::AstGraphBuilder::BuildThrowReferenceError(), v8::internal::compiler::AstGraphBuilder::BuildVariableAssignment(), v8::internal::compiler::AstGraphBuilder::BuildVariableDelete(), v8::internal::compiler::AstGraphBuilder::BuildVariableLoad(), v8::internal::compiler::RepresentationChanger::GetTaggedRepresentationFor(), v8::internal::compiler::JSContextSpecializer::ReduceJSLoadContext(), v8::internal::compiler::JSContextSpecializer::ReduceJSStoreContext(), SmiConstant(), v8::internal::compiler::JSContextSpecializer::SpecializeToContext(), and v8::internal::compiler::AstGraphBuilder::VisitDeclarations().
Node * v8::internal::compiler::JSGraph::Constant | ( | int32_t | value | ) |
Definition at line 143 of file js-graph.cc.
References NumberConstant(), OneConstant(), and ZeroConstant().
Node * v8::internal::compiler::JSGraph::ExternalConstant | ( | ExternalReference | ref | ) |
Definition at line 183 of file js-graph.cc.
References cache_, common(), NewNode(), and NULL.
Referenced by v8::internal::compiler::JSGenericLowering::ExternalConstant().
|
inlineprivate |
Definition at line 116 of file js-graph.h.
References v8::internal::Isolate::factory(), and isolate().
Referenced by FalseConstant(), NullConstant(), TheHoleConstant(), TrueConstant(), and UndefinedConstant().
Node * v8::internal::compiler::JSGraph::FalseConstant | ( | ) |
Definition at line 60 of file js-graph.cc.
References factory(), false_constant_, v8::internal::SetOncePointer< T >::get(), ImmovableHeapConstant(), v8::internal::SetOncePointer< T >::is_set(), and v8::internal::SetOncePointer< T >::set().
Referenced by v8::internal::compiler::AstGraphBuilder::BuildVariableDelete(), Constant(), v8::internal::compiler::RepresentationChanger::GetTaggedRepresentationFor(), and v8::internal::compiler::RepresentationSelector::VisitNode().
Node * v8::internal::compiler::JSGraph::Float32Constant | ( | float | value | ) |
Definition at line 168 of file js-graph.cc.
References common(), and NewNode().
Referenced by v8::internal::compiler::RepresentationChanger::GetFloat32RepresentationFor().
Node * v8::internal::compiler::JSGraph::Float64Constant | ( | double | value | ) |
Definition at line 174 of file js-graph.cc.
References cache_, common(), NewNode(), and NULL.
Referenced by v8::internal::compiler::RepresentationChanger::GetFloat64RepresentationFor().
|
inline |
Definition at line 89 of file js-graph.h.
References graph_.
Referenced by v8::internal::compiler::JSInliner::CreateArgumentsAdaptorFrameState(), v8::internal::compiler::RepresentationChanger::GetBitRepresentationFor(), v8::internal::compiler::RepresentationChanger::GetFloat32RepresentationFor(), v8::internal::compiler::RepresentationChanger::GetFloat64RepresentationFor(), v8::internal::compiler::RepresentationChanger::GetTaggedRepresentationFor(), v8::internal::compiler::RepresentationChanger::GetWord32RepresentationFor(), v8::internal::compiler::SimplifiedLowering::graph(), v8::internal::compiler::JSGenericLowering::graph(), v8::internal::compiler::JSInliner::Inline(), v8::internal::compiler::Inlinee::InlineAtCall(), v8::internal::compiler::RepresentationChanger::InsertChangeFloat32ToFloat64(), NewNode(), v8::internal::compiler::RepresentationSelector::Run(), v8::internal::compiler::JSContextSpecializer::SpecializeToContext(), v8::internal::compiler::JSInliner::TryInlineCall(), v8::internal::compiler::Inlinee::UnifyReturn(), and zone().
Definition at line 102 of file js-graph.cc.
References HeapConstant().
Definition at line 96 of file js-graph.cc.
References common(), and NewNode().
Referenced by v8::internal::compiler::JSGenericLowering::CodeConstant(), Constant(), v8::internal::compiler::JSGenericLowering::FunctionConstant(), HeapConstant(), and ImmovableHeapConstant().
Definition at line 13 of file js-graph.cc.
References common(), v8::internal::Unique< T >::CreateImmovable(), HeapConstant(), and NewNode().
Referenced by CEntryStubConstant(), FalseConstant(), NullConstant(), TheHoleConstant(), TrueConstant(), and UndefinedConstant().
Node * v8::internal::compiler::JSGraph::Int32Constant | ( | int32_t | value | ) |
Definition at line 150 of file js-graph.cc.
References cache_, common(), NewNode(), and NULL.
Referenced by v8::internal::compiler::SimplifiedLowering::DoLoadField(), v8::internal::compiler::SimplifiedLowering::DoStoreField(), v8::internal::compiler::RepresentationChanger::GetBitRepresentationFor(), v8::internal::compiler::JSGenericLowering::Int32Constant(), v8::internal::compiler::RepresentationChanger::MakeInt32Constant(), v8::internal::compiler::SimplifiedLowering::OffsetMinusTagConstant(), v8::internal::compiler::SimplifiedLowering::SmiTag(), Uint32Constant(), v8::internal::compiler::SimplifiedLowering::Untag(), and v8::internal::compiler::RepresentationSelector::VisitNode().
|
inline |
Definition at line 91 of file js-graph.h.
References v8::internal::Zone::isolate(), and zone().
Referenced by CEntryStubConstant(), and factory().
|
inline |
Definition at line 86 of file js-graph.h.
References javascript_.
Referenced by v8::internal::compiler::AstGraphBuilder::javascript(), v8::internal::compiler::JSContextSpecializer::ReduceJSLoadContext(), v8::internal::compiler::JSContextSpecializer::ReduceJSStoreContext(), and v8::internal::compiler::JSInliner::TryInlineCall().
|
inline |
Definition at line 88 of file js-graph.h.
References machine_.
Referenced by v8::internal::compiler::RepresentationChanger::machine(), v8::internal::compiler::SimplifiedLowering::machine(), v8::internal::compiler::JSGenericLowering::machine(), and v8::internal::compiler::JSInliner::TryInlineCall().
Node * v8::internal::compiler::JSGraph::NaNConstant | ( | ) |
Definition at line 88 of file js-graph.cc.
References v8::internal::SetOncePointer< T >::get(), v8::internal::SetOncePointer< T >::is_set(), nan_constant_, v8::base::OS::nan_value(), NumberConstant(), and v8::internal::SetOncePointer< T >::set().
|
private |
Definition at line 19 of file js-graph.cc.
References graph(), v8::internal::compiler::Typer::Init(), v8::internal::compiler::Graph::NewNode(), and typer_.
Referenced by ExternalConstant(), Float32Constant(), Float64Constant(), HeapConstant(), ImmovableHeapConstant(), Int32Constant(), and NumberConstant().
Node * v8::internal::compiler::JSGraph::NullConstant | ( | ) |
Definition at line 68 of file js-graph.cc.
References factory(), v8::internal::SetOncePointer< T >::get(), ImmovableHeapConstant(), v8::internal::SetOncePointer< T >::is_set(), null_constant_, and v8::internal::SetOncePointer< T >::set().
Referenced by Constant().
|
private |
Definition at line 159 of file js-graph.cc.
References cache_, common(), NewNode(), and NULL.
Referenced by Constant(), NaNConstant(), OneConstant(), and ZeroConstant().
Node * v8::internal::compiler::JSGraph::OneConstant | ( | ) |
Definition at line 82 of file js-graph.cc.
References v8::internal::SetOncePointer< T >::get(), v8::internal::SetOncePointer< T >::is_set(), NumberConstant(), one_constant_, and v8::internal::SetOncePointer< T >::set().
Referenced by Constant(), and v8::internal::compiler::RepresentationChanger::GetBitRepresentationFor().
|
inline |
Definition at line 81 of file js-graph.h.
References Constant(), DCHECK, and v8::internal::Smi::IsValid().
Referenced by v8::internal::compiler::JSGenericLowering::SmiConstant().
Node * v8::internal::compiler::JSGraph::TheHoleConstant | ( | ) |
Definition at line 44 of file js-graph.cc.
References factory(), v8::internal::SetOncePointer< T >::get(), ImmovableHeapConstant(), v8::internal::SetOncePointer< T >::is_set(), v8::internal::SetOncePointer< T >::set(), and the_hole_constant_.
Referenced by v8::internal::compiler::AstGraphBuilder::BuildHoleCheckSilent(), v8::internal::compiler::AstGraphBuilder::BuildHoleCheckThrow(), v8::internal::compiler::AstGraphBuilder::BuildVariableAssignment(), v8::internal::compiler::AstGraphBuilder::BuildVariableLoad(), and Constant().
Node * v8::internal::compiler::JSGraph::TrueConstant | ( | ) |
Definition at line 52 of file js-graph.cc.
References factory(), v8::internal::SetOncePointer< T >::get(), ImmovableHeapConstant(), v8::internal::SetOncePointer< T >::is_set(), v8::internal::SetOncePointer< T >::set(), and true_constant_.
Referenced by v8::internal::compiler::AstGraphBuilder::BuildVariableDelete(), Constant(), v8::internal::compiler::RepresentationChanger::GetTaggedRepresentationFor(), v8::internal::compiler::AstGraphBuilder::VisitDelete(), and v8::internal::compiler::RepresentationSelector::VisitNode().
|
inline |
Definition at line 68 of file js-graph.h.
References Int32Constant().
Node * v8::internal::compiler::JSGraph::UndefinedConstant | ( | ) |
Definition at line 35 of file js-graph.cc.
References factory(), v8::internal::SetOncePointer< T >::get(), ImmovableHeapConstant(), v8::internal::SetOncePointer< T >::is_set(), v8::internal::SetOncePointer< T >::set(), and undefined_constant_.
Referenced by v8::internal::compiler::AstGraphBuilder::BuildVariableLoad(), Constant(), v8::internal::compiler::JSInliner::CreateArgumentsAdaptorFrameState(), v8::internal::compiler::AstGraphBuilder::CreateGraph(), v8::internal::compiler::AstGraphBuilder::Environment::Environment(), v8::internal::compiler::Inlinee::InlineAtCall(), and v8::internal::compiler::AstGraphBuilder::VisitVoid().
Node * v8::internal::compiler::JSGraph::ZeroConstant | ( | ) |
Definition at line 76 of file js-graph.cc.
References v8::internal::SetOncePointer< T >::get(), v8::internal::SetOncePointer< T >::is_set(), NumberConstant(), v8::internal::SetOncePointer< T >::set(), and zero_constant_.
Referenced by Constant().
|
inline |
Definition at line 90 of file js-graph.h.
References graph(), and v8::internal::compiler::GenericGraphBase::zone().
Referenced by v8::internal::compiler::Inlinee::InlineAtCall(), isolate(), v8::internal::compiler::Inlinee::UnifyReturn(), v8::internal::compiler::RepresentationSelector::VisitNode(), and v8::internal::compiler::SimplifiedLowering::zone().
|
private |
Definition at line 100 of file js-graph.h.
Referenced by CEntryStubConstant().
|
private |
Definition at line 110 of file js-graph.h.
Referenced by ExternalConstant(), Float64Constant(), Int32Constant(), and NumberConstant().
|
private |
Definition at line 95 of file js-graph.h.
Referenced by common().
|
private |
Definition at line 104 of file js-graph.h.
Referenced by FalseConstant().
|
private |
Definition at line 94 of file js-graph.h.
Referenced by graph().
|
private |
Definition at line 96 of file js-graph.h.
Referenced by javascript().
|
private |
Definition at line 98 of file js-graph.h.
Referenced by machine().
|
private |
Definition at line 108 of file js-graph.h.
Referenced by NaNConstant().
|
private |
Definition at line 105 of file js-graph.h.
Referenced by NullConstant().
|
private |
Definition at line 107 of file js-graph.h.
Referenced by OneConstant().
|
private |
Definition at line 102 of file js-graph.h.
Referenced by TheHoleConstant().
|
private |
Definition at line 103 of file js-graph.h.
Referenced by TrueConstant().
|
private |
Definition at line 97 of file js-graph.h.
Referenced by NewNode().
|
private |
Definition at line 101 of file js-graph.h.
Referenced by UndefinedConstant().
|
private |
Definition at line 106 of file js-graph.h.
Referenced by ZeroConstant().