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

#include <turboshaft-graph-interface.h>

Inheritance diagram for v8::internal::wasm::WasmGraphBuilderBase:
Collaboration diagram for v8::internal::wasm::WasmGraphBuilderBase:

Public Types

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
 

Public Member Functions

void BuildModifyThreadInWasmFlagHelper (Zone *zone, OpIndex thread_in_wasm_flag_address, bool new_value)
 
void BuildModifyThreadInWasmFlag (Zone *zone, bool new_value)
 

Protected Types

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

 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

Zonezone_
 
Assemblerasm_
 

Friends

template<typename T , typename A >
class compiler::turboshaft::Var
 
template<typename T , typename A >
class compiler::turboshaft::ScopedVar
 

Detailed Description

Definition at line 59 of file turboshaft-graph-interface.h.

Member Typedef Documentation

◆ Any

◆ Assembler

Initial value:
compiler::turboshaft::TSAssembler<
compiler::turboshaft::SelectLoweringReducer,
compiler::turboshaft::DataViewLoweringReducer,
compiler::turboshaft::VariableReducer>

Definition at line 61 of file turboshaft-graph-interface.h.

◆ CallTarget

◆ ConstOrV

◆ OpIndex

◆ RegisterRepresentation

◆ ScopedVar

◆ TSCallDescriptor

◆ V

Definition at line 95 of file turboshaft-graph-interface.h.

◆ Var

◆ Word

◆ Word32

◆ Word64

◆ WordPtr

Constructor & Destructor Documentation

◆ WasmGraphBuilderBase()

v8::internal::wasm::WasmGraphBuilderBase::WasmGraphBuilderBase ( Zone * zone,
Assembler & assembler )
inlineprotected

Definition at line 82 of file turboshaft-graph-interface.h.

Member Function Documentation

◆ Asm()

Assembler & v8::internal::wasm::WasmGraphBuilderBase::Asm ( )
inlineprotected

Definition at line 132 of file turboshaft-graph-interface.h.

Here is the caller graph for this function:

◆ BuildChangeInt64ToBigInt()

V< BigInt > v8::internal::wasm::WasmGraphBuilderBase::BuildChangeInt64ToBigInt ( V< Word64 > input,
StubCallMode stub_mode )
protected

Definition at line 189 of file turboshaft-graph-interface.cc.

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

◆ BuildFunctionTargetAndImplicitArg()

std::pair< V< Word32 >, V< ExposedTrustedObject > > v8::internal::wasm::WasmGraphBuilderBase::BuildFunctionTargetAndImplicitArg ( V< WasmInternalFunction > internal_function)
protected

Definition at line 253 of file turboshaft-graph-interface.cc.

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

◆ BuildImportedFunctionTargetAndImplicitArg()

std::pair< V< Word32 >, V< HeapObject > > v8::internal::wasm::WasmGraphBuilderBase::BuildImportedFunctionTargetAndImplicitArg ( ConstOrV< Word32 > func_index,
V< WasmTrustedInstanceData > trusted_instance_data )
protected

Definition at line 217 of file turboshaft-graph-interface.cc.

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

◆ BuildModifyThreadInWasmFlag()

void v8::internal::wasm::WasmGraphBuilderBase::BuildModifyThreadInWasmFlag ( Zone * zone,
bool new_value )

Definition at line 324 of file turboshaft-graph-interface.cc.

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

◆ BuildModifyThreadInWasmFlagHelper()

void v8::internal::wasm::WasmGraphBuilderBase::BuildModifyThreadInWasmFlagHelper ( Zone * zone,
OpIndex thread_in_wasm_flag_address,
bool new_value )

Definition at line 303 of file turboshaft-graph-interface.cc.

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

◆ BuildSetNewStackLimit()

void v8::internal::wasm::WasmGraphBuilderBase::BuildSetNewStackLimit ( V< WordPtr > old_limit,
V< WordPtr > new_limit )
protected

Definition at line 359 of file turboshaft-graph-interface.cc.

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

◆ BuildSwitchBackFromCentralStack()

void v8::internal::wasm::WasmGraphBuilderBase::BuildSwitchBackFromCentralStack ( V< WordPtr > old_sp,
V< WordPtr > old_limit )
protected

Definition at line 425 of file turboshaft-graph-interface.cc.

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

◆ BuildSwitchToTheCentralStack()

V< WordPtr > v8::internal::wasm::WasmGraphBuilderBase::BuildSwitchToTheCentralStack ( V< WordPtr > old_limit)
protected

Definition at line 372 of file turboshaft-graph-interface.cc.

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

◆ BuildSwitchToTheCentralStackIfNeeded()

std::pair< V< WordPtr >, V< WordPtr > > v8::internal::wasm::WasmGraphBuilderBase::BuildSwitchToTheCentralStackIfNeeded ( )
protected

Definition at line 407 of file turboshaft-graph-interface.cc.

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

◆ CallC() [1/3]

OpIndex v8::internal::wasm::WasmGraphBuilderBase::CallC ( const MachineSignature * sig,
ExternalReference ref,
OpIndex arg )
inlineprotected

Definition at line 122 of file turboshaft-graph-interface.h.

◆ CallC() [2/3]

OpIndex v8::internal::wasm::WasmGraphBuilderBase::CallC ( const MachineSignature * sig,
ExternalReference ref,
std::initializer_list< OpIndex > args )
protected

Definition at line 339 of file turboshaft-graph-interface.cc.

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

◆ CallC() [3/3]

OpIndex v8::internal::wasm::WasmGraphBuilderBase::CallC ( const MachineSignature * sig,
OpIndex function,
std::initializer_list< OpIndex > args )
protected

Definition at line 345 of file turboshaft-graph-interface.cc.

Here is the call graph for this function:

◆ CallRuntime()

OpIndex v8::internal::wasm::WasmGraphBuilderBase::CallRuntime ( Zone * zone,
Runtime::FunctionId f,
std::initializer_list< const OpIndex > args,
V< Context > context )
protected

Definition at line 148 of file turboshaft-graph-interface.cc.

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

◆ GetBuiltinPointerTarget()

OpIndex v8::internal::wasm::WasmGraphBuilderBase::GetBuiltinPointerTarget ( Builtin builtin)
protected

Definition at line 177 of file turboshaft-graph-interface.cc.

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

◆ GetTargetForBuiltinCall()

V< WordPtr > v8::internal::wasm::WasmGraphBuilderBase::GetTargetForBuiltinCall ( Builtin builtin,
StubCallMode stub_mode )
protected

Definition at line 182 of file turboshaft-graph-interface.cc.

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

◆ LoadTrustedDataFromInstanceObject()

V< WasmTrustedInstanceData > v8::internal::wasm::WasmGraphBuilderBase::LoadTrustedDataFromInstanceObject ( V< HeapObject > instance_object)
protected

Definition at line 295 of file turboshaft-graph-interface.cc.

Here is the call graph for this function:

◆ RepresentationFor()

RegisterRepresentation v8::internal::wasm::WasmGraphBuilderBase::RepresentationFor ( ValueTypeBase type)
protected

Definition at line 267 of file turboshaft-graph-interface.cc.

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

Friends And Related Symbol Documentation

◆ compiler::turboshaft::ScopedVar

template<typename T , typename A >
friend class compiler::turboshaft::ScopedVar
friend

Definition at line 72 of file turboshaft-graph-interface.h.

◆ compiler::turboshaft::Var

template<typename T , typename A >
friend class compiler::turboshaft::Var
friend

Definition at line 70 of file turboshaft-graph-interface.h.

Member Data Documentation

◆ asm_

Assembler& v8::internal::wasm::WasmGraphBuilderBase::asm_
protected

Definition at line 135 of file turboshaft-graph-interface.h.

◆ zone_

Zone* v8::internal::wasm::WasmGraphBuilderBase::zone_
protected

Definition at line 134 of file turboshaft-graph-interface.h.


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