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

#include <maglev-inlining.h>

Collaboration diagram for v8::internal::maglev::MaglevInliner:

Public Member Functions

 MaglevInliner (MaglevCompilationInfo *compilation_info, Graph *graph)
 
void Run (bool is_tracing_maglev_graphs_enabled)
 

Private Member Functions

compiler::JSHeapBrokerbroker () const
 
Zonezone () const
 
MaglevCallSiteInfoChooseNextCallSite ()
 
MaybeReduceResult BuildInlineFunction (MaglevCallSiteInfo *call_site)
 
std::vector< BasicBlock * > TruncateGraphAt (BasicBlock *block)
 
template<class Node , typename... Args>
ValueNodeAddNodeAtBlockEnd (MaglevGraphBuilder &builder, std::initializer_list< ValueNode * > inputs, Args &&... args)
 
void RegisterNode (MaglevGraphBuilder &builder, Node *node)
 
ValueNodeEnsureTagged (MaglevGraphBuilder &builder, ValueNode *node)
 
void RemovePredecessorFollowing (ControlNode *control, BasicBlock *call_block)
 
void RemoveUnreachableBlocks ()
 

Static Private Member Functions

static void UpdatePredecessorsOf (BasicBlock *block, BasicBlock *prev_pred, BasicBlock *new_pred)
 

Private Attributes

MaglevCompilationInfocompilation_info_
 
Graphgraph_
 

Detailed Description

Definition at line 22 of file maglev-inlining.h.

Constructor & Destructor Documentation

◆ MaglevInliner()

v8::internal::maglev::MaglevInliner::MaglevInliner ( MaglevCompilationInfo * compilation_info,
Graph * graph )
inline

Definition at line 24 of file maglev-inlining.h.

Member Function Documentation

◆ AddNodeAtBlockEnd()

template<class Node , typename... Args>
ValueNode * v8::internal::maglev::MaglevInliner::AddNodeAtBlockEnd ( MaglevGraphBuilder & builder,
std::initializer_list< ValueNode * > inputs,
Args &&... args )
inlineprivate

Definition at line 215 of file maglev-inlining.h.

Here is the call graph for this function:

◆ broker()

compiler::JSHeapBroker * v8::internal::maglev::MaglevInliner::broker ( ) const
inlineprivate

Definition at line 64 of file maglev-inlining.h.

Here is the call graph for this function:

◆ BuildInlineFunction()

MaybeReduceResult v8::internal::maglev::MaglevInliner::BuildInlineFunction ( MaglevCallSiteInfo * call_site)
inlineprivate

Definition at line 87 of file maglev-inlining.h.

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

◆ ChooseNextCallSite()

MaglevCallSiteInfo * v8::internal::maglev::MaglevInliner::ChooseNextCallSite ( )
inlineprivate

Definition at line 67 of file maglev-inlining.h.

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

◆ EnsureTagged()

ValueNode * v8::internal::maglev::MaglevInliner::EnsureTagged ( MaglevGraphBuilder & builder,
ValueNode * node )
inlineprivate

Definition at line 233 of file maglev-inlining.h.

◆ RegisterNode()

void v8::internal::maglev::MaglevInliner::RegisterNode ( MaglevGraphBuilder & builder,
Node * node )
inlineprivate

Definition at line 227 of file maglev-inlining.h.

Here is the call graph for this function:

◆ RemovePredecessorFollowing()

void v8::internal::maglev::MaglevInliner::RemovePredecessorFollowing ( ControlNode * control,
BasicBlock * call_block )
inlineprivate

Definition at line 269 of file maglev-inlining.h.

Here is the call graph for this function:

◆ RemoveUnreachableBlocks()

void v8::internal::maglev::MaglevInliner::RemoveUnreachableBlocks ( )
inlineprivate

Definition at line 285 of file maglev-inlining.h.

Here is the call graph for this function:

◆ Run()

void v8::internal::maglev::MaglevInliner::Run ( bool is_tracing_maglev_graphs_enabled)
inline

Definition at line 27 of file maglev-inlining.h.

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

◆ TruncateGraphAt()

std::vector< BasicBlock * > v8::internal::maglev::MaglevInliner::TruncateGraphAt ( BasicBlock * block)
inlineprivate

Definition at line 201 of file maglev-inlining.h.

◆ UpdatePredecessorsOf()

static void v8::internal::maglev::MaglevInliner::UpdatePredecessorsOf ( BasicBlock * block,
BasicBlock * prev_pred,
BasicBlock * new_pred )
inlinestaticprivate

Definition at line 254 of file maglev-inlining.h.

◆ zone()

Zone * v8::internal::maglev::MaglevInliner::zone ( ) const
inlineprivate

Definition at line 65 of file maglev-inlining.h.

Here is the call graph for this function:

Member Data Documentation

◆ compilation_info_

MaglevCompilationInfo* v8::internal::maglev::MaglevInliner::compilation_info_
private

Definition at line 61 of file maglev-inlining.h.

◆ graph_

Graph* v8::internal::maglev::MaglevInliner::graph_
private

Definition at line 62 of file maglev-inlining.h.


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