v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::interpreter::BytecodeHandlerReducer< Next > Class Template Reference
Inheritance diagram for v8::internal::interpreter::BytecodeHandlerReducer< Next >:
Collaboration diagram for v8::internal::interpreter::BytecodeHandlerReducer< Next >:

Public Member Functions

 ~BytecodeHandlerReducer ()
 
void InitializeParameters (V< Object > accumulator, V< BytecodeArray > bytecode_array, V< WordPtr > bytecode_offset, V< WordPtr > dispatch_table)
 
V< ObjectGetAccumulator ()
 
void SetAccumulator (V< Object > value)
 
V< ContextGetContext ()
 
void Dispatch ()
 
void DispatchToBytecodeWithOptionalStarLookahead (V< WordPtr > target_bytecode)
 
void DispatchToBytecode (V< WordPtr > target_bytecode, V< WordPtr > new_bytecode_offset)
 
void DispatchToBytecodeHandlerEntry (V< WordPtr > handler_entry, V< WordPtr > bytecode_offset)
 
void StarDispatchLookahead (V< WordPtr > target_bytecode)
 
template<typename... Args>
void TailCallBytecodeDispatch (const CallInterfaceDescriptor &descriptor, V< WordPtr > target, Args... args)
 
V< WordPtrAdvance (ConstOrV< WordPtr > delta)
 
V< ObjectLoadRegister (Register reg)
 
V< WordPtrGetInterpretedFramePointer ()
 
V< WordPtrBytecodeOffset ()
 
V< WordPtrReloadBytecodeOffset ()
 
V< Word32LoadFromBytecodeArrayAt (MemoryRepresentation loaded_rep, V< WordPtr > bytecode_offset, int additional_offset=0)
 
V< WordPtrLoadBytecode (V< WordPtr > bytecode_offset)
 
V< WordPtrLoadAndUntagRegister (Register reg)
 
V< WordPtrDispatchTablePointer ()
 
V< BytecodeArrayBytecodeArrayTaggedPointer ()
 
V< Word32BytecodeOperandIdxInt32 (int operand_index)
 
V< Word32BytecodeUnsignedOperand (int operand_index, OperandSize operand_size)
 
V< Word32BytecodeOperand (int operand_index, OperandSize operand_size)
 
int OperandOffset (int operand_index) const
 

Private Types

template<typename T >
using Var = compiler::turboshaft::Var<T, assembler_t>
 

Private Member Functions

Bytecode bytecode () const
 
OperandScale operand_scale () const
 
int CurrentBytecodeSize () const
 
void TrackRegisterUse (ImplicitRegisterUse use)
 

Private Attributes

Isolateisolate_ = __ data() -> isolate()
 
ZoneWithName< compiler::kGraphZoneName > & graph_zone_
 
BytecodeHandlerDatadata_ = *__ data() -> bytecode_handler_data()
 
OpIndex bytecode_offset_parameter_
 
OpIndex dispatch_table_parameter_
 
Var< Objectaccumulator_ {this}
 
Var< WordPtrinterpreted_frame_pointer_ {this}
 
Var< WordPtrbytecode_offset_ {this}
 
Var< Objectbytecode_array_ {this}
 
Var< WordPtrdispatch_table_ {this}
 

Detailed Description

template<typename Next>
class v8::internal::interpreter::BytecodeHandlerReducer< Next >

Definition at line 42 of file interpreter-generator-tsa.cc.

Member Typedef Documentation

◆ Var

template<typename Next >
template<typename T >
using v8::internal::interpreter::BytecodeHandlerReducer< Next >::Var = compiler::turboshaft::Var<T, assembler_t>
private

Definition at line 286 of file interpreter-generator-tsa.cc.

Constructor & Destructor Documentation

◆ ~BytecodeHandlerReducer()

template<typename Next >
v8::internal::interpreter::BytecodeHandlerReducer< Next >::~BytecodeHandlerReducer ( )
inline

Definition at line 46 of file interpreter-generator-tsa.cc.

Here is the call graph for this function:

Member Function Documentation

◆ Advance()

template<typename Next >
V< WordPtr > v8::internal::interpreter::BytecodeHandlerReducer< Next >::Advance ( ConstOrV< WordPtr > delta)
inline

Definition at line 134 of file interpreter-generator-tsa.cc.

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

◆ bytecode()

template<typename Next >
Bytecode v8::internal::interpreter::BytecodeHandlerReducer< Next >::bytecode ( ) const
inlineprivate

Definition at line 267 of file interpreter-generator-tsa.cc.

Here is the caller graph for this function:

◆ BytecodeArrayTaggedPointer()

template<typename Next >
V< BytecodeArray > v8::internal::interpreter::BytecodeHandlerReducer< Next >::BytecodeArrayTaggedPointer ( )
inline

Definition at line 216 of file interpreter-generator-tsa.cc.

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

◆ BytecodeOffset()

template<typename Next >
V< WordPtr > v8::internal::interpreter::BytecodeHandlerReducer< Next >::BytecodeOffset ( )
inline

Definition at line 157 of file interpreter-generator-tsa.cc.

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

◆ BytecodeOperand()

template<typename Next >
V< Word32 > v8::internal::interpreter::BytecodeHandlerReducer< Next >::BytecodeOperand ( int operand_index,
OperandSize operand_size )
inline

Definition at line 239 of file interpreter-generator-tsa.cc.

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

◆ BytecodeOperandIdxInt32()

template<typename Next >
V< Word32 > v8::internal::interpreter::BytecodeHandlerReducer< Next >::BytecodeOperandIdxInt32 ( int operand_index)
inline

Definition at line 226 of file interpreter-generator-tsa.cc.

Here is the call graph for this function:

◆ BytecodeUnsignedOperand()

template<typename Next >
V< Word32 > v8::internal::interpreter::BytecodeHandlerReducer< Next >::BytecodeUnsignedOperand ( int operand_index,
OperandSize operand_size )
inline

Definition at line 234 of file interpreter-generator-tsa.cc.

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

◆ CurrentBytecodeSize()

template<typename Next >
int v8::internal::interpreter::BytecodeHandlerReducer< Next >::CurrentBytecodeSize ( ) const
inlineprivate

Definition at line 270 of file interpreter-generator-tsa.cc.

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

◆ Dispatch()

template<typename Next >
void v8::internal::interpreter::BytecodeHandlerReducer< Next >::Dispatch ( )
inline

Definition at line 80 of file interpreter-generator-tsa.cc.

Here is the call graph for this function:

◆ DispatchTablePointer()

template<typename Next >
V< WordPtr > v8::internal::interpreter::BytecodeHandlerReducer< Next >::DispatchTablePointer ( )
inline

Definition at line 207 of file interpreter-generator-tsa.cc.

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

◆ DispatchToBytecode()

template<typename Next >
void v8::internal::interpreter::BytecodeHandlerReducer< Next >::DispatchToBytecode ( V< WordPtr > target_bytecode,
V< WordPtr > new_bytecode_offset )
inline

Definition at line 96 of file interpreter-generator-tsa.cc.

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

◆ DispatchToBytecodeHandlerEntry()

template<typename Next >
void v8::internal::interpreter::BytecodeHandlerReducer< Next >::DispatchToBytecodeHandlerEntry ( V< WordPtr > handler_entry,
V< WordPtr > bytecode_offset )
inline

Definition at line 111 of file interpreter-generator-tsa.cc.

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

◆ DispatchToBytecodeWithOptionalStarLookahead()

template<typename Next >
void v8::internal::interpreter::BytecodeHandlerReducer< Next >::DispatchToBytecodeWithOptionalStarLookahead ( V< WordPtr > target_bytecode)
inline

Definition at line 89 of file interpreter-generator-tsa.cc.

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

◆ GetAccumulator()

template<typename Next >
V< Object > v8::internal::interpreter::BytecodeHandlerReducer< Next >::GetAccumulator ( )
inline

Definition at line 64 of file interpreter-generator-tsa.cc.

Here is the call graph for this function:

◆ GetContext()

template<typename Next >
V< Context > v8::internal::interpreter::BytecodeHandlerReducer< Next >::GetContext ( )
inline

Definition at line 76 of file interpreter-generator-tsa.cc.

Here is the call graph for this function:

◆ GetInterpretedFramePointer()

template<typename Next >
V< WordPtr > v8::internal::interpreter::BytecodeHandlerReducer< Next >::GetInterpretedFramePointer ( )
inline

Definition at line 146 of file interpreter-generator-tsa.cc.

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

◆ InitializeParameters()

template<typename Next >
void v8::internal::interpreter::BytecodeHandlerReducer< Next >::InitializeParameters ( V< Object > accumulator,
V< BytecodeArray > bytecode_array,
V< WordPtr > bytecode_offset,
V< WordPtr > dispatch_table )
inline

Definition at line 54 of file interpreter-generator-tsa.cc.

◆ LoadAndUntagRegister()

template<typename Next >
V< WordPtr > v8::internal::interpreter::BytecodeHandlerReducer< Next >::LoadAndUntagRegister ( Register reg)
inline

Definition at line 191 of file interpreter-generator-tsa.cc.

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

◆ LoadBytecode()

template<typename Next >
V< WordPtr > v8::internal::interpreter::BytecodeHandlerReducer< Next >::LoadBytecode ( V< WordPtr > bytecode_offset)
inline

Definition at line 184 of file interpreter-generator-tsa.cc.

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

◆ LoadFromBytecodeArrayAt()

template<typename Next >
V< Word32 > v8::internal::interpreter::BytecodeHandlerReducer< Next >::LoadFromBytecodeArrayAt ( MemoryRepresentation loaded_rep,
V< WordPtr > bytecode_offset,
int additional_offset = 0 )
inline

Definition at line 176 of file interpreter-generator-tsa.cc.

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

◆ LoadRegister()

template<typename Next >
V< Object > v8::internal::interpreter::BytecodeHandlerReducer< Next >::LoadRegister ( Register reg)
inline

Definition at line 140 of file interpreter-generator-tsa.cc.

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

◆ operand_scale()

template<typename Next >
OperandScale v8::internal::interpreter::BytecodeHandlerReducer< Next >::operand_scale ( ) const
inlineprivate

Definition at line 268 of file interpreter-generator-tsa.cc.

Here is the caller graph for this function:

◆ OperandOffset()

template<typename Next >
int v8::internal::interpreter::BytecodeHandlerReducer< Next >::OperandOffset ( int operand_index) const
inline

Definition at line 261 of file interpreter-generator-tsa.cc.

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

◆ ReloadBytecodeOffset()

template<typename Next >
V< WordPtr > v8::internal::interpreter::BytecodeHandlerReducer< Next >::ReloadBytecodeOffset ( )
inline

Definition at line 165 of file interpreter-generator-tsa.cc.

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

◆ SetAccumulator()

template<typename Next >
void v8::internal::interpreter::BytecodeHandlerReducer< Next >::SetAccumulator ( V< Object > value)
inline

Definition at line 70 of file interpreter-generator-tsa.cc.

Here is the call graph for this function:

◆ StarDispatchLookahead()

template<typename Next >
void v8::internal::interpreter::BytecodeHandlerReducer< Next >::StarDispatchLookahead ( V< WordPtr > target_bytecode)
inline

Definition at line 118 of file interpreter-generator-tsa.cc.

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

◆ TailCallBytecodeDispatch()

template<typename Next >
template<typename... Args>
void v8::internal::interpreter::BytecodeHandlerReducer< Next >::TailCallBytecodeDispatch ( const CallInterfaceDescriptor & descriptor,
V< WordPtr > target,
Args... args )
inline

Definition at line 121 of file interpreter-generator-tsa.cc.

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

◆ TrackRegisterUse()

template<typename Next >
void v8::internal::interpreter::BytecodeHandlerReducer< Next >::TrackRegisterUse ( ImplicitRegisterUse use)
inlineprivate

Definition at line 274 of file interpreter-generator-tsa.cc.

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

Member Data Documentation

◆ accumulator_

template<typename Next >
Var<Object> v8::internal::interpreter::BytecodeHandlerReducer< Next >::accumulator_ {this}
private

Definition at line 287 of file interpreter-generator-tsa.cc.

◆ bytecode_array_

template<typename Next >
Var<Object> v8::internal::interpreter::BytecodeHandlerReducer< Next >::bytecode_array_ {this}
private

Definition at line 290 of file interpreter-generator-tsa.cc.

◆ bytecode_offset_

template<typename Next >
Var<WordPtr> v8::internal::interpreter::BytecodeHandlerReducer< Next >::bytecode_offset_ {this}
private

Definition at line 289 of file interpreter-generator-tsa.cc.

◆ bytecode_offset_parameter_

template<typename Next >
OpIndex v8::internal::interpreter::BytecodeHandlerReducer< Next >::bytecode_offset_parameter_
private

Definition at line 283 of file interpreter-generator-tsa.cc.

◆ data_

template<typename Next >
BytecodeHandlerData& v8::internal::interpreter::BytecodeHandlerReducer< Next >::data_ = *__ data() -> bytecode_handler_data()
private

Definition at line 281 of file interpreter-generator-tsa.cc.

◆ dispatch_table_

template<typename Next >
Var<WordPtr> v8::internal::interpreter::BytecodeHandlerReducer< Next >::dispatch_table_ {this}
private

Definition at line 291 of file interpreter-generator-tsa.cc.

◆ dispatch_table_parameter_

template<typename Next >
OpIndex v8::internal::interpreter::BytecodeHandlerReducer< Next >::dispatch_table_parameter_
private

Definition at line 284 of file interpreter-generator-tsa.cc.

◆ graph_zone_

template<typename Next >
ZoneWithName<compiler::kGraphZoneName>& v8::internal::interpreter::BytecodeHandlerReducer< Next >::graph_zone_
private
Initial value:
=
union v8::internal::@341::BuiltinMetadata::KindSpecificData data
Zone * graph_zone

Definition at line 279 of file interpreter-generator-tsa.cc.

◆ interpreted_frame_pointer_

template<typename Next >
Var<WordPtr> v8::internal::interpreter::BytecodeHandlerReducer< Next >::interpreted_frame_pointer_ {this}
private

Definition at line 288 of file interpreter-generator-tsa.cc.

◆ isolate_

template<typename Next >
Isolate* v8::internal::interpreter::BytecodeHandlerReducer< Next >::isolate_ = __ data() -> isolate()
private

Definition at line 278 of file interpreter-generator-tsa.cc.


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