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

#include <assembler.h>

Inheritance diagram for v8::internal::compiler::turboshaft::GenericReducerBase< Next >:
Collaboration diagram for v8::internal::compiler::turboshaft::GenericReducerBase< Next >:

Public Types

using Base = ReducerBaseForwarder<Next>
 

Public Member Functions

void Bind (Block *block)
 
bool CanAutoInlineBlocksWithSinglePredecessor () const
 
void Analyze ()
 
void RemoveLast (OpIndex index_of_last_operation)
 
void FixLoopPhi (const PhiOp &input_phi, OpIndex output_index, Block *output_graph_loop)
 
OpIndex REDUCE Phi (base::Vector< const OpIndex > inputs, RegisterRepresentation rep)
 
OpIndex REDUCE PendingLoopPhi (OpIndex first, RegisterRepresentation rep)
 
V< None > REDUCE Goto (Block *destination, bool is_backedge)
 
V< None > REDUCE Branch (V< Word32 > condition, Block *if_true, Block *if_false, BranchHint hint)
 
V< Object > REDUCE CatchBlockBegin ()
 
V< None > REDUCE Switch (V< Word32 > input, base::Vector< SwitchOp::Case > cases, Block *default_case, BranchHint default_hint)
 
V< Any > REDUCE Call (V< CallTarget > callee, OptionalV< turboshaft::FrameState > frame_state, base::Vector< const OpIndex > arguments, const TSCallDescriptor *descriptor, OpEffects effects)
 
OpIndex REDUCE FastApiCall (V< FrameState > frame_state, V< Object > data_argument, V< Context > context, base::Vector< const OpIndex > arguments, const FastApiCallParameters *parameters, base::Vector< const RegisterRepresentation > out_reps)
 

Private Member Functions

V< None > REDUCE CheckException (V< Any > throwing_operation, Block *successor, Block *catch_block)
 
bool CatchIfInCatchScope (OpIndex throwing_operation)
 

Detailed Description

template<typename Next>
class v8::internal::compiler::turboshaft::GenericReducerBase< Next >

Definition at line 17 of file reducer-traits.h.

Member Typedef Documentation

◆ Base

template<typename Next >
using v8::internal::compiler::turboshaft::GenericReducerBase< Next >::Base = ReducerBaseForwarder<Next>

Definition at line 1089 of file assembler.h.

Member Function Documentation

◆ Analyze()

template<typename Next >
void v8::internal::compiler::turboshaft::GenericReducerBase< Next >::Analyze ( )
inline

Definition at line 1098 of file assembler.h.

◆ Bind()

template<typename Next >
void v8::internal::compiler::turboshaft::GenericReducerBase< Next >::Bind ( Block * block)
inline

Definition at line 1091 of file assembler.h.

◆ Branch()

template<typename Next >
V< None > REDUCE v8::internal::compiler::turboshaft::GenericReducerBase< Next >::Branch ( V< Word32 > condition,
Block * if_true,
Block * if_false,
BranchHint hint )
inline

Definition at line 1163 of file assembler.h.

◆ Call()

template<typename Next >
V< Any > REDUCE v8::internal::compiler::turboshaft::GenericReducerBase< Next >::Call ( V< CallTarget > callee,
OptionalV< turboshaft::FrameState > frame_state,
base::Vector< const OpIndex > arguments,
const TSCallDescriptor * descriptor,
OpEffects effects )
inline

Definition at line 1227 of file assembler.h.

Here is the call graph for this function:

◆ CanAutoInlineBlocksWithSinglePredecessor()

template<typename Next >
bool v8::internal::compiler::turboshaft::GenericReducerBase< Next >::CanAutoInlineBlocksWithSinglePredecessor ( ) const
inline

Definition at line 1096 of file assembler.h.

◆ CatchBlockBegin()

template<typename Next >
V< Object > REDUCE v8::internal::compiler::turboshaft::GenericReducerBase< Next >::CatchBlockBegin ( )
inline

Definition at line 1178 of file assembler.h.

Here is the call graph for this function:

◆ CatchIfInCatchScope()

template<typename Next >
bool v8::internal::compiler::turboshaft::GenericReducerBase< Next >::CatchIfInCatchScope ( OpIndex throwing_operation)
inlineprivate

Definition at line 1294 of file assembler.h.

Here is the caller graph for this function:

◆ CheckException()

template<typename Next >
V< None > REDUCE v8::internal::compiler::turboshaft::GenericReducerBase< Next >::CheckException ( V< Any > throwing_operation,
Block * successor,
Block * catch_block )
inlineprivate

Definition at line 1281 of file assembler.h.

◆ FastApiCall()

template<typename Next >
OpIndex REDUCE v8::internal::compiler::turboshaft::GenericReducerBase< Next >::FastApiCall ( V< FrameState > frame_state,
V< Object > data_argument,
V< Context > context,
base::Vector< const OpIndex > arguments,
const FastApiCallParameters * parameters,
base::Vector< const RegisterRepresentation > out_reps )
inline

Definition at line 1246 of file assembler.h.

Here is the call graph for this function:

◆ FixLoopPhi()

template<typename Next >
void v8::internal::compiler::turboshaft::GenericReducerBase< Next >::FixLoopPhi ( const PhiOp & input_phi,
OpIndex output_index,
Block * output_graph_loop )
inline

Definition at line 1108 of file assembler.h.

Here is the call graph for this function:

◆ Goto()

template<typename Next >
V< None > REDUCE v8::internal::compiler::turboshaft::GenericReducerBase< Next >::Goto ( Block * destination,
bool is_backedge )
inline

Definition at line 1150 of file assembler.h.

◆ PendingLoopPhi()

template<typename Next >
OpIndex REDUCE v8::internal::compiler::turboshaft::GenericReducerBase< Next >::PendingLoopPhi ( OpIndex first,
RegisterRepresentation rep )
inline

Definition at line 1145 of file assembler.h.

◆ Phi()

template<typename Next >
OpIndex REDUCE v8::internal::compiler::turboshaft::GenericReducerBase< Next >::Phi ( base::Vector< const OpIndex > inputs,
RegisterRepresentation rep )
inline

Definition at line 1138 of file assembler.h.

◆ RemoveLast()

template<typename Next >
void v8::internal::compiler::turboshaft::GenericReducerBase< Next >::RemoveLast ( OpIndex index_of_last_operation)
inline

Definition at line 1104 of file assembler.h.

◆ Switch()

template<typename Next >
V< None > REDUCE v8::internal::compiler::turboshaft::GenericReducerBase< Next >::Switch ( V< Word32 > input,
base::Vector< SwitchOp::Case > cases,
Block * default_case,
BranchHint default_hint )
inline

Definition at line 1204 of file assembler.h.


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