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
 
JSGraph & operator= (const JSGraph &)=delete
 
Node * CEntryStubConstant (int result_size, ArgvMode argv_mode=ArgvMode::kStack, bool builtin_exit_frame=false)
 
TNode< Hole > PaddingConstant ()
 
TNode< Number > NoContextConstant ()
 
Node * HeapConstantNoHole (Handle< HeapObject > value)
 
Node * HeapConstantMaybeHole (Handle< HeapObject > value)
 
Node * HeapConstantHole (Handle< HeapObject > value)
 
Node * TrustedHeapConstant (Handle< HeapObject > value)
 
Node * ConstantNoHole (ObjectRef ref, JSHeapBroker *broker)
 
Node * ConstantMaybeHole (ObjectRef ref, JSHeapBroker *broker)
 
Node * ConstantMaybeHole (double value)
 
Node * ConstantNoHole (double value)
 
Node * ConstantMutableHeapNumber (HeapNumberRef ref, JSHeapBroker *broker)
 
TNode< Boolean > BooleanConstant (bool is_true)
 
Node * SmiConstant (int32_t immediate)
 
JSOperatorBuilder * javascript () const
 
SimplifiedOperatorBuilder * simplified () const
 
Isolate * isolate () const
 
Factory * factory () 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
 
MachineGraph & operator= (const MachineGraph &)=delete
 
Node * UniqueInt32Constant (int32_t value)
 
Node * UniqueInt64Constant (int64_t value)
 
Node * Int32Constant (int32_t value)
 
Node * Uint32Constant (uint32_t value)
 
Node * Int64Constant (int64_t value)
 
Node * Uint64Constant (uint64_t value)
 
Node * IntPtrConstant (intptr_t value)
 
Node * UintPtrConstant (uintptr_t value)
 
Node * UniqueIntPtrConstant (intptr_t value)
 
Node * TaggedIndexConstant (intptr_t value)
 
Node * RelocatableInt32Constant (int32_t value, RelocInfo::Mode rmode)
 
Node * RelocatableInt64Constant (int64_t value, RelocInfo::Mode rmode)
 
Node * RelocatableIntPtrConstant (intptr_t value, RelocInfo::Mode rmode)
 
Node * RelocatableWasmBuiltinCallTarget (Builtin builtin)
 
Node * Float32Constant (float value)
 
Node * Float64Constant (double value)
 
Node * PointerConstant (intptr_t value)
 
template<typename T >
Node * PointerConstant (T *value)
 
Node * ExternalConstant (ExternalReference ref)
 
Node * ExternalConstant (Runtime::FunctionId function_id)
 
Node * Dead ()
 
void StoreCallCount (NodeId call_id, int count)
 
int GetCallCount (NodeId call_id)
 
void ReserveCallCounts (size_t num_call_instructions)
 
CommonOperatorBuilder * common () const
 
MachineOperatorBuilder * machine () const
 
TFGraph * graph () const
 
Zone * zone () const
 

Private Member Functions

Node * NumberConstant (double value)
 
Node * Constant (ObjectRef value, JSHeapBroker *broker)
 

Private Attributes

Isolate * isolate_
 
JSOperatorBuilder * javascript_
 
SimplifiedOperatorBuilder * simplified_
 

Additional Inherited Members

- Protected Attributes inherited from v8::internal::compiler::MachineGraph
TFGraph * graph_
 
CommonOperatorBuilder * common_
 
MachineOperatorBuilder * machine_
 
CommonNodeCache cache_
 
NodeAuxDataMap< int, -1 > call_counts_
 
Node * Dead_ = 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: