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

Classes

class  ModifyThreadInWasmFlagScope
 

Public Member Functions

 WasmWrapperTSGraphBuilder (Zone *zone, Assembler &assembler, const CanonicalSig *sig)
 
void AbortIfNot (V< Word32 > condition, AbortReason abort_reason)
 
V< SmiLoadExportedFunctionIndexAsSmi (V< Object > exported_function_data)
 
V< SmiBuildChangeInt32ToSmi (V< Word32 > value)
 
V< WordPtrGetTargetForBuiltinCall (Builtin builtin)
 
template<typename Descriptor , typename... Args>
OpIndex CallBuiltin (Builtin name, OpIndex frame_state, Operator::Properties properties, Args... args)
 
template<typename Descriptor , typename... Args>
OpIndex CallBuiltin (Builtin name, Operator::Properties properties, Args... args)
 
V< NumberBuildChangeInt32ToNumber (V< Word32 > value)
 
V< NumberBuildChangeFloat32ToNumber (V< Float32 > value)
 
V< NumberBuildChangeFloat64ToNumber (V< Float64 > value)
 
V< ObjectToJS (OpIndex ret, CanonicalValueType type, V< Context > context)
 
V< JSArrayBuildCallAllocateJSArray (V< Number > array_length, V< Object > context)
 
void BuildCallWasmFromWrapper (Zone *zone, const CanonicalSig *sig, V< Word32 > callee, V< HeapObject > implicit_first_arg, const base::Vector< OpIndex > args, base::Vector< OpIndex > returns)
 
OpIndex BuildCallAndReturn (V< Context > js_context, V< HeapObject > function_data, base::Vector< OpIndex > args, bool do_conversion, bool set_in_wasm_flag)
 
void BuildJSToWasmWrapper (bool do_conversion=true, compiler::turboshaft::OptionalOpIndex frame_state=compiler::turboshaft::OptionalOpIndex::Nullopt(), bool set_in_wasm_flag=true)
 
void BuildWasmToJSWrapper (ImportCallKind kind, int expected_arity, Suspend suspend)
 
void BuildCapiCallWrapper ()
 
V< Word32BuildSmiShiftBitsConstant ()
 
V< Word32BuildSmiShiftBitsConstant32 ()
 
V< Word32BuildChangeSmiToInt32 (OpIndex value)
 
V< Float64HeapNumberToFloat64 (V< HeapNumber > input)
 
OpIndex FromJSFast (OpIndex input, CanonicalValueType type)
 
OpIndex LoadInstanceType (V< Map > map)
 
OpIndex BuildCheckString (OpIndex input, OpIndex js_context, CanonicalValueType type)
 
V< Float64BuildChangeTaggedToFloat64 (OpIndex value, OpIndex context, compiler::turboshaft::OptionalOpIndex frame_state)
 
OpIndex BuildChangeTaggedToInt32 (OpIndex value, OpIndex context, compiler::turboshaft::OptionalOpIndex frame_state)
 
CallDescriptorGetBigIntToI64CallDescriptor (bool needs_frame_state)
 
OpIndex BuildChangeBigIntToInt64 (OpIndex input, OpIndex context, compiler::turboshaft::OptionalOpIndex frame_state)
 
OpIndex FromJS (OpIndex input, OpIndex context, CanonicalValueType type, OptionalOpIndex frame_state={})
 
bool QualifiesForFastTransform ()
 
V< MapLoadMap (V< Object > object)
 
void CanTransformFast (OpIndex input, CanonicalValueType type, TSBlock *slow_path)
 
int AddArgumentNodes (base::Vector< OpIndex > args, int pos, base::SmallVector< OpIndex, 16 > wasm_params, const CanonicalSig *sig, V< Context > context)
 
OpIndex LoadSharedFunctionInfo (V< Object > js_function)
 
OpIndex BuildReceiverNode (OpIndex callable_node, OpIndex native_context, V< Undefined > undefined_node)
 
V< ContextLoadContextFromJSFunction (V< JSFunction > js_function)
 
V< ObjectBuildSuspend (V< Object > value, V< Object > import_data, V< WordPtr > *old_sp, V< WordPtr > old_limit)
 
V< FixedArrayBuildMultiReturnFixedArrayFromIterable (OpIndex iterable, V< Context > context)
 
void SafeStore (int offset, CanonicalValueType type, OpIndex base, OpIndex value)
 
V< WordPtrBuildLoadCallTargetFromExportedFunctionData (V< WasmFunctionData > function_data)
 
const OpIndex SafeLoad (OpIndex base, int offset, CanonicalValueType type)
 
- Public Member Functions inherited from v8::internal::wasm::WasmGraphBuilderBase
void BuildModifyThreadInWasmFlagHelper (Zone *zone, OpIndex thread_in_wasm_flag_address, bool new_value)
 
void BuildModifyThreadInWasmFlag (Zone *zone, bool new_value)
 

Private Attributes

const CanonicalSig *const sig_
 

Additional Inherited Members

- Public Types inherited from v8::internal::wasm::WasmGraphBuilderBase
using Assembler
 
template<typename T >
using Var = compiler::turboshaft::Var<T, Assembler>
 
template<typename T >
using ScopedVar = compiler::turboshaft::ScopedVar<T, Assembler>
 
using OpIndex = compiler::turboshaft::OpIndex
 
- Protected Types inherited from v8::internal::wasm::WasmGraphBuilderBase
using RegisterRepresentation = compiler::turboshaft::RegisterRepresentation
 
using TSCallDescriptor = compiler::turboshaft::TSCallDescriptor
 
using Word32 = compiler::turboshaft::Word32
 
using Word64 = compiler::turboshaft::Word64
 
using WordPtr = compiler::turboshaft::WordPtr
 
using CallTarget = compiler::turboshaft::CallTarget
 
using Word = compiler::turboshaft::Word
 
using Any = compiler::turboshaft::Any
 
template<typename T >
using V = compiler::turboshaft::V<T>
 
template<typename T >
using ConstOrV = compiler::turboshaft::ConstOrV<T>
 
- Protected Member Functions inherited from v8::internal::wasm::WasmGraphBuilderBase
 WasmGraphBuilderBase (Zone *zone, Assembler &assembler)
 
OpIndex CallRuntime (Zone *zone, Runtime::FunctionId f, std::initializer_list< const OpIndex > args, V< Context > context)
 
OpIndex GetBuiltinPointerTarget (Builtin builtin)
 
V< WordPtrGetTargetForBuiltinCall (Builtin builtin, StubCallMode stub_mode)
 
V< BigIntBuildChangeInt64ToBigInt (V< Word64 > input, StubCallMode stub_mode)
 
std::pair< V< Word32 >, V< HeapObject > > BuildImportedFunctionTargetAndImplicitArg (ConstOrV< Word32 > func_index, V< WasmTrustedInstanceData > trusted_instance_data)
 
std::pair< V< Word32 >, V< ExposedTrustedObject > > BuildFunctionTargetAndImplicitArg (V< WasmInternalFunction > internal_function)
 
RegisterRepresentation RepresentationFor (ValueTypeBase type)
 
V< WasmTrustedInstanceDataLoadTrustedDataFromInstanceObject (V< HeapObject > instance_object)
 
OpIndex CallC (const MachineSignature *sig, ExternalReference ref, std::initializer_list< OpIndex > args)
 
OpIndex CallC (const MachineSignature *sig, OpIndex function, std::initializer_list< OpIndex > args)
 
OpIndex CallC (const MachineSignature *sig, ExternalReference ref, OpIndex arg)
 
void BuildSetNewStackLimit (V< WordPtr > old_limit, V< WordPtr > new_limit)
 
V< WordPtrBuildSwitchToTheCentralStack (V< WordPtr > old_limit)
 
std::pair< V< WordPtr >, V< WordPtr > > BuildSwitchToTheCentralStackIfNeeded ()
 
void BuildSwitchBackFromCentralStack (V< WordPtr > old_sp, V< WordPtr > old_limit)
 
AssemblerAsm ()
 
- Protected Attributes inherited from v8::internal::wasm::WasmGraphBuilderBase
Zonezone_
 
Assemblerasm_
 

Detailed Description

Definition at line 63 of file wrappers.cc.

Constructor & Destructor Documentation

◆ WasmWrapperTSGraphBuilder()

v8::internal::wasm::WasmWrapperTSGraphBuilder::WasmWrapperTSGraphBuilder ( Zone * zone,
Assembler & assembler,
const CanonicalSig * sig )
inline

Definition at line 65 of file wrappers.cc.

Member Function Documentation

◆ AbortIfNot()

void v8::internal::wasm::WasmWrapperTSGraphBuilder::AbortIfNot ( V< Word32 > condition,
AbortReason abort_reason )
inline

Definition at line 69 of file wrappers.cc.

Here is the call graph for this function:

◆ AddArgumentNodes()

int v8::internal::wasm::WasmWrapperTSGraphBuilder::AddArgumentNodes ( base::Vector< OpIndex > args,
int pos,
base::SmallVector< OpIndex, 16 > wasm_params,
const CanonicalSig * sig,
V< Context > context )
inline

Definition at line 1088 of file wrappers.cc.

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

◆ BuildCallAllocateJSArray()

V< JSArray > v8::internal::wasm::WasmWrapperTSGraphBuilder::BuildCallAllocateJSArray ( V< Number > array_length,
V< Object > context )
inline

Definition at line 328 of file wrappers.cc.

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

◆ BuildCallAndReturn()

OpIndex v8::internal::wasm::WasmWrapperTSGraphBuilder::BuildCallAndReturn ( V< Context > js_context,
V< HeapObject > function_data,
base::Vector< OpIndex > args,
bool do_conversion,
bool set_in_wasm_flag )
inline

Definition at line 365 of file wrappers.cc.

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

◆ BuildCallWasmFromWrapper()

void v8::internal::wasm::WasmWrapperTSGraphBuilder::BuildCallWasmFromWrapper ( Zone * zone,
const CanonicalSig * sig,
V< Word32 > callee,
V< HeapObject > implicit_first_arg,
const base::Vector< OpIndex > args,
base::Vector< OpIndex > returns )
inline

Definition at line 339 of file wrappers.cc.

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

◆ BuildCapiCallWrapper()

void v8::internal::wasm::WasmWrapperTSGraphBuilder::BuildCapiCallWrapper ( )
inline

Definition at line 674 of file wrappers.cc.

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

◆ BuildChangeBigIntToInt64()

OpIndex v8::internal::wasm::WasmWrapperTSGraphBuilder::BuildChangeBigIntToInt64 ( OpIndex input,
OpIndex context,
compiler::turboshaft::OptionalOpIndex frame_state )
inline

Definition at line 913 of file wrappers.cc.

Here is the call graph for this function:

◆ BuildChangeFloat32ToNumber()

V< Number > v8::internal::wasm::WasmWrapperTSGraphBuilder::BuildChangeFloat32ToNumber ( V< Float32 > value)
inline

Definition at line 185 of file wrappers.cc.

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

◆ BuildChangeFloat64ToNumber()

V< Number > v8::internal::wasm::WasmWrapperTSGraphBuilder::BuildChangeFloat64ToNumber ( V< Float64 > value)
inline

Definition at line 190 of file wrappers.cc.

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

◆ BuildChangeInt32ToNumber()

V< Number > v8::internal::wasm::WasmWrapperTSGraphBuilder::BuildChangeInt32ToNumber ( V< Word32 > value)
inline

Definition at line 160 of file wrappers.cc.

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

◆ BuildChangeInt32ToSmi()

V< Smi > v8::internal::wasm::WasmWrapperTSGraphBuilder::BuildChangeInt32ToSmi ( V< Word32 > value)
inline

Definition at line 117 of file wrappers.cc.

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

◆ BuildChangeSmiToInt32()

V< Word32 > v8::internal::wasm::WasmWrapperTSGraphBuilder::BuildChangeSmiToInt32 ( OpIndex value)
inline

Definition at line 785 of file wrappers.cc.

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

◆ BuildChangeTaggedToFloat64()

V< Float64 > v8::internal::wasm::WasmWrapperTSGraphBuilder::BuildChangeTaggedToFloat64 ( OpIndex value,
OpIndex context,
compiler::turboshaft::OptionalOpIndex frame_state )
inline

Definition at line 867 of file wrappers.cc.

Here is the call graph for this function:

◆ BuildChangeTaggedToInt32()

OpIndex v8::internal::wasm::WasmWrapperTSGraphBuilder::BuildChangeTaggedToInt32 ( OpIndex value,
OpIndex context,
compiler::turboshaft::OptionalOpIndex frame_state )
inline

Definition at line 883 of file wrappers.cc.

Here is the call graph for this function:

◆ BuildCheckString()

OpIndex v8::internal::wasm::WasmWrapperTSGraphBuilder::BuildCheckString ( OpIndex input,
OpIndex js_context,
CanonicalValueType type )
inline

Definition at line 840 of file wrappers.cc.

Here is the call graph for this function:

◆ BuildJSToWasmWrapper()

void v8::internal::wasm::WasmWrapperTSGraphBuilder::BuildJSToWasmWrapper ( bool do_conversion = true,
compiler::turboshaft::OptionalOpIndex frame_state = compiler::turboshaft::OptionalOpIndex::Nullopt(),
bool set_in_wasm_flag = true )
inline

Definition at line 413 of file wrappers.cc.

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

◆ BuildLoadCallTargetFromExportedFunctionData()

V< WordPtr > v8::internal::wasm::WasmWrapperTSGraphBuilder::BuildLoadCallTargetFromExportedFunctionData ( V< WasmFunctionData > function_data)
inline

Definition at line 1244 of file wrappers.cc.

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

◆ BuildMultiReturnFixedArrayFromIterable()

V< FixedArray > v8::internal::wasm::WasmWrapperTSGraphBuilder::BuildMultiReturnFixedArrayFromIterable ( OpIndex iterable,
V< Context > context )
inline

Definition at line 1217 of file wrappers.cc.

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

◆ BuildReceiverNode()

OpIndex v8::internal::wasm::WasmWrapperTSGraphBuilder::BuildReceiverNode ( OpIndex callable_node,
OpIndex native_context,
V< Undefined > undefined_node )
inline

Definition at line 1104 of file wrappers.cc.

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

◆ BuildSmiShiftBitsConstant()

V< Word32 > v8::internal::wasm::WasmWrapperTSGraphBuilder::BuildSmiShiftBitsConstant ( )
inline

Definition at line 777 of file wrappers.cc.

Here is the caller graph for this function:

◆ BuildSmiShiftBitsConstant32()

V< Word32 > v8::internal::wasm::WasmWrapperTSGraphBuilder::BuildSmiShiftBitsConstant32 ( )
inline

Definition at line 781 of file wrappers.cc.

Here is the caller graph for this function:

◆ BuildSuspend()

V< Object > v8::internal::wasm::WasmWrapperTSGraphBuilder::BuildSuspend ( V< Object > value,
V< Object > import_data,
V< WordPtr > * old_sp,
V< WordPtr > old_limit )
inline

Definition at line 1133 of file wrappers.cc.

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

◆ BuildWasmToJSWrapper()

void v8::internal::wasm::WasmWrapperTSGraphBuilder::BuildWasmToJSWrapper ( ImportCallKind kind,
int expected_arity,
Suspend suspend )
inline

Definition at line 522 of file wrappers.cc.

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

◆ CallBuiltin() [1/2]

template<typename Descriptor , typename... Args>
OpIndex v8::internal::wasm::WasmWrapperTSGraphBuilder::CallBuiltin ( Builtin name,
Operator::Properties properties,
Args... args )
inline

Definition at line 148 of file wrappers.cc.

Here is the call graph for this function:

◆ CallBuiltin() [2/2]

template<typename Descriptor , typename... Args>
OpIndex v8::internal::wasm::WasmWrapperTSGraphBuilder::CallBuiltin ( Builtin name,
OpIndex frame_state,
Operator::Properties properties,
Args... args )
inline

Definition at line 132 of file wrappers.cc.

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

◆ CanTransformFast()

void v8::internal::wasm::WasmWrapperTSGraphBuilder::CanTransformFast ( OpIndex input,
CanonicalValueType type,
TSBlock * slow_path )
inline

Definition at line 1053 of file wrappers.cc.

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

◆ FromJS()

OpIndex v8::internal::wasm::WasmWrapperTSGraphBuilder::FromJS ( OpIndex input,
OpIndex context,
CanonicalValueType type,
OptionalOpIndex frame_state = {} )
inline

Definition at line 937 of file wrappers.cc.

Here is the caller graph for this function:

◆ FromJSFast()

OpIndex v8::internal::wasm::WasmWrapperTSGraphBuilder::FromJSFast ( OpIndex input,
CanonicalValueType type )
inline

Definition at line 799 of file wrappers.cc.

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

◆ GetBigIntToI64CallDescriptor()

CallDescriptor * v8::internal::wasm::WasmWrapperTSGraphBuilder::GetBigIntToI64CallDescriptor ( bool needs_frame_state)
inline

Definition at line 908 of file wrappers.cc.

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

◆ GetTargetForBuiltinCall()

V< WordPtr > v8::internal::wasm::WasmWrapperTSGraphBuilder::GetTargetForBuiltinCall ( Builtin builtin)
inline

Definition at line 126 of file wrappers.cc.

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

◆ HeapNumberToFloat64()

V< Float64 > v8::internal::wasm::WasmWrapperTSGraphBuilder::HeapNumberToFloat64 ( V< HeapNumber > input)
inline

Definition at line 794 of file wrappers.cc.

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

◆ LoadContextFromJSFunction()

V< Context > v8::internal::wasm::WasmWrapperTSGraphBuilder::LoadContextFromJSFunction ( V< JSFunction > js_function)
inline

Definition at line 1127 of file wrappers.cc.

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

◆ LoadExportedFunctionIndexAsSmi()

V< Smi > v8::internal::wasm::WasmWrapperTSGraphBuilder::LoadExportedFunctionIndexAsSmi ( V< Object > exported_function_data)
inline

Definition at line 110 of file wrappers.cc.

Here is the call graph for this function:

◆ LoadInstanceType()

OpIndex v8::internal::wasm::WasmWrapperTSGraphBuilder::LoadInstanceType ( V< Map > map)
inline

Definition at line 835 of file wrappers.cc.

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

◆ LoadMap()

V< Map > v8::internal::wasm::WasmWrapperTSGraphBuilder::LoadMap ( V< Object > object)
inline

Definition at line 1042 of file wrappers.cc.

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

◆ LoadSharedFunctionInfo()

OpIndex v8::internal::wasm::WasmWrapperTSGraphBuilder::LoadSharedFunctionInfo ( V< Object > js_function)
inline

Definition at line 1098 of file wrappers.cc.

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

◆ QualifiesForFastTransform()

bool v8::internal::wasm::WasmWrapperTSGraphBuilder::QualifiesForFastTransform ( )
inline

Definition at line 1006 of file wrappers.cc.

Here is the caller graph for this function:

◆ SafeLoad()

const OpIndex v8::internal::wasm::WasmWrapperTSGraphBuilder::SafeLoad ( OpIndex base,
int offset,
CanonicalValueType type )
inline

Definition at line 1263 of file wrappers.cc.

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

◆ SafeStore()

void v8::internal::wasm::WasmWrapperTSGraphBuilder::SafeStore ( int offset,
CanonicalValueType type,
OpIndex base,
OpIndex value )
inline

Definition at line 1225 of file wrappers.cc.

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

◆ ToJS()

V< Object > v8::internal::wasm::WasmWrapperTSGraphBuilder::ToJS ( OpIndex ret,
CanonicalValueType type,
V< Context > context )
inline

Definition at line 195 of file wrappers.cc.

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

Member Data Documentation

◆ sig_

const CanonicalSig* const v8::internal::wasm::WasmWrapperTSGraphBuilder::sig_
private

Definition at line 1281 of file wrappers.cc.


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