v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::compiler::JSGraph Class Reference

#include <js-graph.h>

Inheritance diagram for v8::internal::compiler::JSGraph:
Collaboration diagram for v8::internal::compiler::JSGraph:

Public Member Functions

 JSGraph (Isolate *isolate, TFGraph *graph, CommonOperatorBuilder *common, JSOperatorBuilder *javascript, SimplifiedOperatorBuilder *simplified, MachineOperatorBuilder *machine)
 
 JSGraph (const JSGraph &)=delete
 
JSGraphoperator= (const JSGraph &)=delete
 
NodeCEntryStubConstant (int result_size, ArgvMode argv_mode=ArgvMode::kStack, bool builtin_exit_frame=false)
 
TNode< HolePaddingConstant ()
 
TNode< NumberNoContextConstant ()
 
NodeHeapConstantNoHole (Handle< HeapObject > value)
 
NodeHeapConstantMaybeHole (Handle< HeapObject > value)
 
NodeHeapConstantHole (Handle< HeapObject > value)
 
NodeTrustedHeapConstant (Handle< HeapObject > value)
 
NodeConstantNoHole (ObjectRef ref, JSHeapBroker *broker)
 
NodeConstantMaybeHole (ObjectRef ref, JSHeapBroker *broker)
 
NodeConstantMaybeHole (double value)
 
NodeConstantNoHole (double value)
 
NodeConstantMutableHeapNumber (HeapNumberRef ref, JSHeapBroker *broker)
 
TNode< BooleanBooleanConstant (bool is_true)
 
NodeSmiConstant (int32_t immediate)
 
JSOperatorBuilderjavascript () const
 
SimplifiedOperatorBuildersimplified () const
 
Isolateisolate () const
 
Factoryfactory () const
 
void GetCachedNodes (NodeVector *nodes)
 
- Public Member Functions inherited from v8::internal::compiler::MachineGraph
 MachineGraph (TFGraph *graph, CommonOperatorBuilder *common, MachineOperatorBuilder *machine)
 
 MachineGraph (const MachineGraph &)=delete
 
MachineGraphoperator= (const MachineGraph &)=delete
 
NodeUniqueInt32Constant (int32_t value)
 
NodeUniqueInt64Constant (int64_t value)
 
NodeInt32Constant (int32_t value)
 
NodeUint32Constant (uint32_t value)
 
NodeInt64Constant (int64_t value)
 
NodeUint64Constant (uint64_t value)
 
NodeIntPtrConstant (intptr_t value)
 
NodeUintPtrConstant (uintptr_t value)
 
NodeUniqueIntPtrConstant (intptr_t value)
 
NodeTaggedIndexConstant (intptr_t value)
 
NodeRelocatableInt32Constant (int32_t value, RelocInfo::Mode rmode)
 
NodeRelocatableInt64Constant (int64_t value, RelocInfo::Mode rmode)
 
NodeRelocatableIntPtrConstant (intptr_t value, RelocInfo::Mode rmode)
 
NodeRelocatableWasmBuiltinCallTarget (Builtin builtin)
 
NodeFloat32Constant (float value)
 
NodeFloat64Constant (double value)
 
NodePointerConstant (intptr_t value)
 
template<typename T >
NodePointerConstant (T *value)
 
NodeExternalConstant (ExternalReference ref)
 
NodeExternalConstant (Runtime::FunctionId function_id)
 
NodeDead ()
 
void StoreCallCount (NodeId call_id, int count)
 
int GetCallCount (NodeId call_id)
 
void ReserveCallCounts (size_t num_call_instructions)
 
CommonOperatorBuildercommon () const
 
MachineOperatorBuildermachine () const
 
TFGraphgraph () const
 
Zonezone () const
 

Private Member Functions

NodeNumberConstant (double value)
 
NodeConstant (ObjectRef value, JSHeapBroker *broker)
 

Private Attributes

Isolateisolate_
 
JSOperatorBuilderjavascript_
 
SimplifiedOperatorBuildersimplified_
 

Additional Inherited Members

- Protected Attributes inherited from v8::internal::compiler::MachineGraph
TFGraphgraph_
 
CommonOperatorBuildercommon_
 
MachineOperatorBuildermachine_
 
CommonNodeCache cache_
 
NodeAuxDataMap< int, -1 > call_counts_
 
NodeDead_ = nullptr
 

Detailed Description

Definition at line 27 of file js-graph.h.

Constructor & Destructor Documentation

◆ JSGraph() [1/2]

v8::internal::compiler::JSGraph::JSGraph ( Isolate * isolate,
TFGraph * graph,
CommonOperatorBuilder * common,
JSOperatorBuilder * javascript,
SimplifiedOperatorBuilder * simplified,
MachineOperatorBuilder * machine )
inline

Definition at line 29 of file js-graph.h.

◆ JSGraph() [2/2]

v8::internal::compiler::JSGraph::JSGraph ( const JSGraph & )
delete

Member Function Documentation

◆ BooleanConstant()

TNode< Boolean > v8::internal::compiler::JSGraph::BooleanConstant ( bool is_true)
inline

Definition at line 94 of file js-graph.h.

Here is the caller graph for this function:

◆ CEntryStubConstant()

Node * v8::internal::compiler::JSGraph::CEntryStubConstant ( int result_size,
ArgvMode argv_mode = ArgvMode::kStack,
bool builtin_exit_frame = false )

Definition at line 23 of file js-graph.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Constant()

Node * v8::internal::compiler::JSGraph::Constant ( ObjectRef value,
JSHeapBroker * broker )
private

Definition at line 68 of file js-graph.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ConstantMaybeHole() [1/2]

Node * v8::internal::compiler::JSGraph::ConstantMaybeHole ( double value)

Definition at line 130 of file js-graph.cc.

Here is the call graph for this function:

◆ ConstantMaybeHole() [2/2]

Node * v8::internal::compiler::JSGraph::ConstantMaybeHole ( ObjectRef ref,
JSHeapBroker * broker )

Definition at line 64 of file js-graph.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ConstantMutableHeapNumber()

Node * v8::internal::compiler::JSGraph::ConstantMutableHeapNumber ( HeapNumberRef ref,
JSHeapBroker * broker )

Definition at line 120 of file js-graph.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ConstantNoHole() [1/2]

Node * v8::internal::compiler::JSGraph::ConstantNoHole ( double value)

Definition at line 125 of file js-graph.cc.

Here is the call graph for this function:

◆ ConstantNoHole() [2/2]

Node * v8::internal::compiler::JSGraph::ConstantNoHole ( ObjectRef ref,
JSHeapBroker * broker )

Definition at line 51 of file js-graph.cc.

Here is the call graph for this function:

◆ factory()

Factory * v8::internal::compiler::JSGraph::factory ( ) const
inline

Definition at line 107 of file js-graph.h.

Here is the caller graph for this function:

◆ GetCachedNodes()

void v8::internal::compiler::JSGraph::GetCachedNodes ( NodeVector * nodes)

Definition at line 180 of file js-graph.cc.

Here is the call graph for this function:

◆ HeapConstantHole()

Node * v8::internal::compiler::JSGraph::HeapConstantHole ( Handle< HeapObject > value)

Definition at line 163 of file js-graph.cc.

Here is the call graph for this function:

◆ HeapConstantMaybeHole()

Node * v8::internal::compiler::JSGraph::HeapConstantMaybeHole ( Handle< HeapObject > value)

Definition at line 155 of file js-graph.cc.

Here is the call graph for this function:

◆ HeapConstantNoHole()

Node * v8::internal::compiler::JSGraph::HeapConstantNoHole ( Handle< HeapObject > value)

Definition at line 146 of file js-graph.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isolate()

Isolate * v8::internal::compiler::JSGraph::isolate ( ) const
inline

Definition at line 106 of file js-graph.h.

Here is the caller graph for this function:

◆ javascript()

JSOperatorBuilder * v8::internal::compiler::JSGraph::javascript ( ) const
inline

Definition at line 104 of file js-graph.h.

Here is the caller graph for this function:

◆ NoContextConstant()

TNode< Number > v8::internal::compiler::JSGraph::NoContextConstant ( )
inline

Definition at line 49 of file js-graph.h.

◆ NumberConstant()

Node * v8::internal::compiler::JSGraph::NumberConstant ( double value)
private

Definition at line 138 of file js-graph.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

JSGraph & v8::internal::compiler::JSGraph::operator= ( const JSGraph & )
delete

◆ PaddingConstant()

TNode< Hole > v8::internal::compiler::JSGraph::PaddingConstant ( )
inline

Definition at line 46 of file js-graph.h.

◆ simplified()

SimplifiedOperatorBuilder * v8::internal::compiler::JSGraph::simplified ( ) const
inline

Definition at line 105 of file js-graph.h.

Here is the caller graph for this function:

◆ SmiConstant()

Node * v8::internal::compiler::JSGraph::SmiConstant ( int32_t immediate)
inline

Definition at line 99 of file js-graph.h.

Here is the caller graph for this function:

◆ TrustedHeapConstant()

Node * v8::internal::compiler::JSGraph::TrustedHeapConstant ( Handle< HeapObject > value)

Definition at line 172 of file js-graph.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ isolate_

Isolate* v8::internal::compiler::JSGraph::isolate_
private

Definition at line 156 of file js-graph.h.

◆ javascript_

JSOperatorBuilder* v8::internal::compiler::JSGraph::javascript_
private

Definition at line 157 of file js-graph.h.

◆ simplified_

SimplifiedOperatorBuilder* v8::internal::compiler::JSGraph::simplified_
private

Definition at line 158 of file js-graph.h.


The documentation for this class was generated from the following files: