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

Public Types

using CaseVector = base::SmallVector<uint8_t, 8>
 
using TargetMap = absl::btree_map<uint32_t, CaseVector>
 

Public Member Functions

bool LowerToBranches (Decoder *decoder, const BranchTableImmediate &imm)
 
uint32_t primary_target () const
 
uint32_t default_target () const
 
const TargetMapother_targets () const
 
const CaseVectorprimary_indices () const
 

Static Public Attributes

static constexpr int32_t kMaxComparesPerTarget = 2
 
static constexpr uint32_t kMaxTargets = 3
 
static constexpr int32_t kMaxTableCount = 20
 

Private Member Functions

bool TryAddTarget (uint32_t target, uint32_t index)
 
void AddDefault (uint32_t target)
 

Private Attributes

std::optional< uint32_t > default_target_
 
std::optional< uint32_t > primary_target_
 
CaseVector primary_indices_
 
TargetMap other_targets_
 

Detailed Description

template<typename ValidationTag>
class v8::internal::wasm::TurboshaftGraphBuildingInterface::BrTableAnalysis< ValidationTag >

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

Member Typedef Documentation

◆ CaseVector

◆ TargetMap

template<typename ValidationTag >
using v8::internal::wasm::TurboshaftGraphBuildingInterface::BrTableAnalysis< ValidationTag >::TargetMap = absl::btree_map<uint32_t, CaseVector>

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

Member Function Documentation

◆ AddDefault()

template<typename ValidationTag >
void v8::internal::wasm::TurboshaftGraphBuildingInterface::BrTableAnalysis< ValidationTag >::AddDefault ( uint32_t target)
inlineprivate

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

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

◆ default_target()

template<typename ValidationTag >
uint32_t v8::internal::wasm::TurboshaftGraphBuildingInterface::BrTableAnalysis< ValidationTag >::default_target ( ) const
inline

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

Here is the caller graph for this function:

◆ LowerToBranches()

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

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

◆ other_targets()

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

Here is the caller graph for this function:

◆ primary_indices()

template<typename ValidationTag >
const CaseVector & v8::internal::wasm::TurboshaftGraphBuildingInterface::BrTableAnalysis< ValidationTag >::primary_indices ( ) const
inline

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

◆ primary_target()

template<typename ValidationTag >
uint32_t v8::internal::wasm::TurboshaftGraphBuildingInterface::BrTableAnalysis< ValidationTag >::primary_target ( ) const
inline

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

Here is the caller graph for this function:

◆ TryAddTarget()

template<typename ValidationTag >
bool v8::internal::wasm::TurboshaftGraphBuildingInterface::BrTableAnalysis< ValidationTag >::TryAddTarget ( uint32_t target,
uint32_t index )
inlineprivate

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

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

Member Data Documentation

◆ default_target_

template<typename ValidationTag >
std::optional<uint32_t> v8::internal::wasm::TurboshaftGraphBuildingInterface::BrTableAnalysis< ValidationTag >::default_target_
private

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

◆ kMaxComparesPerTarget

template<typename ValidationTag >
int32_t v8::internal::wasm::TurboshaftGraphBuildingInterface::BrTableAnalysis< ValidationTag >::kMaxComparesPerTarget = 2
staticconstexpr

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

◆ kMaxTableCount

template<typename ValidationTag >
int32_t v8::internal::wasm::TurboshaftGraphBuildingInterface::BrTableAnalysis< ValidationTag >::kMaxTableCount = 20
staticconstexpr

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

◆ kMaxTargets

template<typename ValidationTag >
uint32_t v8::internal::wasm::TurboshaftGraphBuildingInterface::BrTableAnalysis< ValidationTag >::kMaxTargets = 3
staticconstexpr

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

◆ other_targets_

◆ primary_indices_

◆ primary_target_

template<typename ValidationTag >
std::optional<uint32_t> v8::internal::wasm::TurboshaftGraphBuildingInterface::BrTableAnalysis< ValidationTag >::primary_target_
private

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


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