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

#include <wasm-lowering-reducer.h>

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

Public Member Functions

V< Any > REDUCE GlobalGet (V< WasmTrustedInstanceData > instance, const wasm::WasmGlobal *global)
 
OpIndex REDUCE GlobalSet (V< WasmTrustedInstanceData > instance, V< Any > value, const wasm::WasmGlobal *global)
 
OpIndex REDUCE RootConstant (RootIndex index)
 
V< Word32 > REDUCE IsRootConstant (OpIndex object, RootIndex index)
 
OpIndex REDUCE Null (wasm::ValueType type)
 
V< Word32 > REDUCE IsNull (OpIndex object, wasm::ValueType type)
 
V< Object > REDUCE AssertNotNull (V< Object > object, wasm::ValueType type, TrapId trap_id)
 
V< Map > REDUCE RttCanon (V< FixedArray > rtts, wasm::ModuleTypeIndex type_index)
 
V< Word32 > REDUCE WasmTypeCheck (V< Object > object, OptionalV< Map > rtt, WasmTypeCheckConfig config)
 
V< Object > REDUCE WasmTypeCast (V< Object > object, OptionalV< Map > rtt, WasmTypeCheckConfig config)
 
V< Object > REDUCE AnyConvertExtern (V< Object > object)
 
V< Object > REDUCE ExternConvertAny (V< Object > object)
 
V< Object > REDUCE WasmTypeAnnotation (V< Object > value, wasm::ValueType type)
 
V< Any > REDUCE StructGet (V< WasmStructNullable > object, const wasm::StructType *type, wasm::ModuleTypeIndex type_index, int field_index, bool is_signed, CheckForNull null_check)
 
V< None > REDUCE StructSet (V< WasmStructNullable > object, V< Any > value, const wasm::StructType *type, wasm::ModuleTypeIndex type_index, int field_index, CheckForNull null_check)
 
V< Any > REDUCE ArrayGet (V< WasmArrayNullable > array, V< Word32 > index, const wasm::ArrayType *array_type, bool is_signed)
 
V< None > REDUCE ArraySet (V< WasmArrayNullable > array, V< Word32 > index, V< Any > value, wasm::ValueType element_type)
 
V< Word32 > REDUCE ArrayLength (V< WasmArrayNullable > array, CheckForNull null_check)
 
V< WasmArray > REDUCE WasmAllocateArray (V< Map > rtt, V< Word32 > length, const wasm::ArrayType *array_type)
 
V< WasmStruct > REDUCE WasmAllocateStruct (V< Map > rtt, const wasm::StructType *struct_type)
 
V< WasmFuncRef > REDUCE WasmRefFunc (V< WasmTrustedInstanceData > wasm_instance, uint32_t function_index)
 
V< String > REDUCE StringAsWtf16 (V< String > string)
 
OpIndex REDUCE StringPrepareForGetCodeUnit (V< Object > original_string)
 

Private Types

enum class  GlobalMode { kLoad , kStore }
 

Private Member Functions

MemoryRepresentation RepresentationFor (wasm::ValueType type, bool is_signed)
 
V< Word32ReduceWasmTypeCheckAbstract (V< Object > object, WasmTypeCheckConfig config)
 
V< ObjectReduceWasmTypeCastAbstract (V< Object > object, WasmTypeCheckConfig config)
 
V< ObjectReduceWasmTypeCastRtt (V< Object > object, OptionalV< Map > rtt, WasmTypeCheckConfig config)
 
V< Word32ReduceWasmTypeCheckRtt (V< Object > object, OptionalV< Map > rtt, WasmTypeCheckConfig config)
 
OpIndex LowerGlobalSetOrGet (V< WasmTrustedInstanceData > instance, V< Any > value, const wasm::WasmGlobal *global, GlobalMode mode)
 
V< Word32IsDataRefMap (V< Map > map)
 
V< ObjectLoadWasmTypeInfo (V< Map > map)
 
std::pair< bool, boolnull_checks_for_struct_op (CheckForNull null_check, int field_index)
 
int field_offset (const wasm::StructType *type, int field_index)
 

Private Attributes

const wasm::WasmModulemodule_ = __ data() -> wasm_module()
 
const bool shared_ = __ data() -> wasm_shared()
 
const NullCheckStrategy null_check_strategy_
 

Static Private Attributes

static constexpr MemoryRepresentation kMaybeSandboxedPointer
 

Detailed Description

template<class Next>
class v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >

Definition at line 29 of file wasm-lowering-reducer.h.

Member Enumeration Documentation

◆ GlobalMode

template<class Next >
enum class v8::internal::compiler::turboshaft::WasmLoweringReducer::GlobalMode
strongprivate
Enumerator
kLoad 
kStore 

Definition at line 528 of file wasm-lowering-reducer.h.

Member Function Documentation

◆ AnyConvertExtern()

template<class Next >
V< Object > REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::AnyConvertExtern ( V< Object > object)
inline

Definition at line 140 of file wasm-lowering-reducer.h.

Here is the call graph for this function:

◆ ArrayGet()

template<class Next >
V< Any > REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::ArrayGet ( V< WasmArrayNullable > array,
V< Word32 > index,
const wasm::ArrayType * array_type,
bool is_signed )
inline

Definition at line 283 of file wasm-lowering-reducer.h.

Here is the call graph for this function:

◆ ArrayLength()

template<class Next >
V< Word32 > REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::ArrayLength ( V< WasmArrayNullable > array,
CheckForNull null_check )
inline

Definition at line 304 of file wasm-lowering-reducer.h.

Here is the call graph for this function:

◆ ArraySet()

template<class Next >
V< None > REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::ArraySet ( V< WasmArrayNullable > array,
V< Word32 > index,
V< Any > value,
wasm::ValueType element_type )
inline

Definition at line 295 of file wasm-lowering-reducer.h.

Here is the call graph for this function:

◆ AssertNotNull()

template<class Next >
V< Object > REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::AssertNotNull ( V< Object > object,
wasm::ValueType type,
TrapId trap_id )
inline

Definition at line 86 of file wasm-lowering-reducer.h.

Here is the call graph for this function:

◆ ExternConvertAny()

template<class Next >
V< Object > REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::ExternConvertAny ( V< Object > object)
inline

Definition at line 221 of file wasm-lowering-reducer.h.

Here is the call graph for this function:

◆ field_offset()

template<class Next >
int v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::field_offset ( const wasm::StructType * type,
int field_index )
inlineprivate

Definition at line 969 of file wasm-lowering-reducer.h.

Here is the caller graph for this function:

◆ GlobalGet()

template<class Next >
V< Any > REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::GlobalGet ( V< WasmTrustedInstanceData > instance,
const wasm::WasmGlobal * global )
inline

Definition at line 33 of file wasm-lowering-reducer.h.

Here is the call graph for this function:

◆ GlobalSet()

template<class Next >
OpIndex REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::GlobalSet ( V< WasmTrustedInstanceData > instance,
V< Any > value,
const wasm::WasmGlobal * global )
inline

Definition at line 39 of file wasm-lowering-reducer.h.

Here is the call graph for this function:

◆ IsDataRefMap()

template<class Next >
V< Word32 > v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::IsDataRefMap ( V< Map > map)
inlineprivate

Definition at line 942 of file wasm-lowering-reducer.h.

Here is the caller graph for this function:

◆ IsNull()

template<class Next >
V< Word32 > REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::IsNull ( OpIndex object,
wasm::ValueType type )
inline

Definition at line 80 of file wasm-lowering-reducer.h.

Here is the caller graph for this function:

◆ IsRootConstant()

template<class Next >
V< Word32 > REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::IsRootConstant ( OpIndex object,
RootIndex index )
inline

Definition at line 63 of file wasm-lowering-reducer.h.

Here is the call graph for this function:

◆ LoadWasmTypeInfo()

template<class Next >
V< Object > v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::LoadWasmTypeInfo ( V< Map > map)
inlineprivate

Definition at line 952 of file wasm-lowering-reducer.h.

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

◆ LowerGlobalSetOrGet()

template<class Next >
OpIndex v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::LowerGlobalSetOrGet ( V< WasmTrustedInstanceData > instance,
V< Any > value,
const wasm::WasmGlobal * global,
GlobalMode mode )
inlineprivate

Definition at line 860 of file wasm-lowering-reducer.h.

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

◆ Null()

template<class Next >
OpIndex REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::Null ( wasm::ValueType type)
inline

Definition at line 74 of file wasm-lowering-reducer.h.

◆ null_checks_for_struct_op()

template<class Next >
std::pair< bool, bool > v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::null_checks_for_struct_op ( CheckForNull null_check,
int field_index )
inlineprivate

Definition at line 958 of file wasm-lowering-reducer.h.

Here is the caller graph for this function:

◆ ReduceWasmTypeCastAbstract()

template<class Next >
V< Object > v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::ReduceWasmTypeCastAbstract ( V< Object > object,
WasmTypeCheckConfig config )
inlineprivate

Definition at line 639 of file wasm-lowering-reducer.h.

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

◆ ReduceWasmTypeCastRtt()

template<class Next >
V< Object > v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::ReduceWasmTypeCastRtt ( V< Object > object,
OptionalV< Map > rtt,
WasmTypeCheckConfig config )
inlineprivate

Definition at line 715 of file wasm-lowering-reducer.h.

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

◆ ReduceWasmTypeCheckAbstract()

template<class Next >
V< Word32 > v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::ReduceWasmTypeCheckAbstract ( V< Object > object,
WasmTypeCheckConfig config )
inlineprivate

Definition at line 566 of file wasm-lowering-reducer.h.

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

◆ ReduceWasmTypeCheckRtt()

template<class Next >
V< Word32 > v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::ReduceWasmTypeCheckRtt ( V< Object > object,
OptionalV< Map > rtt,
WasmTypeCheckConfig config )
inlineprivate

Definition at line 790 of file wasm-lowering-reducer.h.

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

◆ RepresentationFor()

template<class Next >
MemoryRepresentation v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::RepresentationFor ( wasm::ValueType type,
bool is_signed )
inlineprivate

Definition at line 534 of file wasm-lowering-reducer.h.

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

◆ RootConstant()

template<class Next >
OpIndex REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::RootConstant ( RootIndex index)
inline

Definition at line 44 of file wasm-lowering-reducer.h.

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

◆ RttCanon()

template<class Next >
V< Map > REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::RttCanon ( V< FixedArray > rtts,
wasm::ModuleTypeIndex type_index )
inline

Definition at line 114 of file wasm-lowering-reducer.h.

Here is the call graph for this function:

◆ StringAsWtf16()

template<class Next >
V< String > REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::StringAsWtf16 ( V< String > string)
inline

Definition at line 402 of file wasm-lowering-reducer.h.

◆ StringPrepareForGetCodeUnit()

template<class Next >
OpIndex REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::StringPrepareForGetCodeUnit ( V< Object > original_string)
inline

Definition at line 415 of file wasm-lowering-reducer.h.

Here is the call graph for this function:

◆ StructGet()

template<class Next >
V< Any > REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::StructGet ( V< WasmStructNullable > object,
const wasm::StructType * type,
wasm::ModuleTypeIndex type_index,
int field_index,
bool is_signed,
CheckForNull null_check )
inline

Definition at line 234 of file wasm-lowering-reducer.h.

Here is the call graph for this function:

◆ StructSet()

template<class Next >
V< None > REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::StructSet ( V< WasmStructNullable > object,
V< Any > value,
const wasm::StructType * type,
wasm::ModuleTypeIndex type_index,
int field_index,
CheckForNull null_check )
inline

Definition at line 257 of file wasm-lowering-reducer.h.

Here is the call graph for this function:

◆ WasmAllocateArray()

template<class Next >
V< WasmArray > REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::WasmAllocateArray ( V< Map > rtt,
V< Word32 > length,
const wasm::ArrayType * array_type )
inline

Definition at line 326 of file wasm-lowering-reducer.h.

Here is the call graph for this function:

◆ WasmAllocateStruct()

template<class Next >
V< WasmStruct > REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::WasmAllocateStruct ( V< Map > rtt,
const wasm::StructType * struct_type )
inline

Definition at line 361 of file wasm-lowering-reducer.h.

Here is the call graph for this function:

◆ WasmRefFunc()

template<class Next >
V< WasmFuncRef > REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::WasmRefFunc ( V< WasmTrustedInstanceData > wasm_instance,
uint32_t function_index )
inline

Definition at line 376 of file wasm-lowering-reducer.h.

Here is the call graph for this function:

◆ WasmTypeAnnotation()

template<class Next >
V< Object > REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::WasmTypeAnnotation ( V< Object > value,
wasm::ValueType type )
inline

Definition at line 229 of file wasm-lowering-reducer.h.

◆ WasmTypeCast()

template<class Next >
V< Object > REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::WasmTypeCast ( V< Object > object,
OptionalV< Map > rtt,
WasmTypeCheckConfig config )
inline

Definition at line 131 of file wasm-lowering-reducer.h.

Here is the call graph for this function:

◆ WasmTypeCheck()

template<class Next >
V< Word32 > REDUCE v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::WasmTypeCheck ( V< Object > object,
OptionalV< Map > rtt,
WasmTypeCheckConfig config )
inline

Definition at line 122 of file wasm-lowering-reducer.h.

Here is the call graph for this function:

Member Data Documentation

◆ kMaybeSandboxedPointer

template<class Next >
MemoryRepresentation v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::kMaybeSandboxedPointer
staticconstexprprivate
Initial value:
=
: MemoryRepresentation::UintPtr()
static constexpr MemoryRepresentation SandboxedPointer()
#define V8_ENABLE_SANDBOX_BOOL
Definition globals.h:160

Definition at line 530 of file wasm-lowering-reducer.h.

◆ module_

template<class Next >
const wasm::WasmModule* v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::module_ = __ data() -> wasm_module()
private

Definition at line 973 of file wasm-lowering-reducer.h.

◆ null_check_strategy_

◆ shared_

template<class Next >
const bool v8::internal::compiler::turboshaft::WasmLoweringReducer< Next >::shared_ = __ data() -> wasm_shared()
private

Definition at line 974 of file wasm-lowering-reducer.h.


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