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

Classes

struct  BitfieldCheck
 
struct  BuiltinComponent
 
struct  CodegenComponent
 
struct  ComponentWithZone
 
struct  ConstOrVTypeHelper
 
struct  ConstOrVTypeHelper< T, std::void_t< ConstOrV< T > > >
 
class  FixedSidetable
 
struct  GraphComponent
 
class  GrowingSidetable
 
struct  IndexTypeFor
 
struct  IndexTypeFor< std::tuple< T > >
 
struct  InstructionComponent
 
struct  LoopLabelForHelper
 
struct  LoopLabelForHelper< std::tuple< V< Ts >... > >
 
struct  LoopLabelForHelper< V< T > >
 
struct  operation_to_opcode_map
 
struct  OptionMatch
 
struct  Payload_Empty
 
struct  Payload_InlineSet
 
struct  Payload_OutlineSet
 
struct  Payload_Range
 
struct  produces_printable_graph_impl
 
struct  produces_printable_graph_impl< P, std::void_t< decltype(P::kOutputIsTraceableGraph)> >
 
struct  RegisterComponent
 
struct  RepresentationForUnion
 
struct  RepresentationForUnion< UntaggedUnion< T, Ts... > >
 
struct  RepresentationForUnionBase
 
struct  RepresentationForUnionBase< T, true >
 
struct  TypeForBits
 
struct  TypeForBits< 32 >
 
struct  TypeForBits< 64 >
 
struct  ValueMatch
 
struct  ValueMatch< T, false >
 

Typedefs

template<typename T >
using index_type_for_t = typename IndexTypeFor<T>::type
 

Functions

template<typename A , typename ConstOrValues >
auto ResolveAll (A &assembler, const ConstOrValues &const_or_values)
 
bool SuppressUnusedWarning (bool b)
 
template<typename T >
auto unwrap_unary_tuple (std::tuple< T > &&tpl)
 
template<typename T1 , typename T2 , typename... Rest>
auto unwrap_unary_tuple (std::tuple< T1, T2, Rest... > &&tpl)
 
template<typename T >
T && MakeShadowy (T &&value)
 
ShadowyOpIndex MakeShadowy (OpIndex value)
 
template<typename T >
ShadowyOpIndex MakeShadowy (V< T > value)
 
ShadowyOpIndexVectorWrapper MakeShadowy (base::Vector< const OpIndex > value)
 
template<typename T >
ShadowyOpIndexVectorWrapper MakeShadowy (base::Vector< const V< T > > value)
 
template<typename LoopLabel , typename Iterable , typename Iterator , typename ValueTuple , size_t... Indices>
auto BuildResultTupleImpl (bool bound, Iterable &&iterable, LoopLabel &&loop_header, Label<> loop_exit, Iterator current_iterator, ValueTuple current_values, std::index_sequence< Indices... >)
 
template<typename LoopLabel , typename Iterable , typename Iterator , typename Value >
auto BuildResultTuple (bool bound, Iterable &&iterable, LoopLabel &&loop_header, Label<> loop_exit, Iterator current_iterator, Value current_value)
 
template<typename LoopLabel , typename Iterable , typename Iterator , typename... Values>
auto BuildResultTuple (bool bound, Iterable &&iterable, LoopLabel &&loop_header, Label<> loop_exit, Iterator current_iterator, std::tuple< Values... > current_values)
 
Handle< HeapObjectCreateCountersArray (Isolate *isolate)
 
constexpr size_t input_count ()
 
template<typename T >
requires (std::is_enum_v<T> || std::is_integral_v<T> || std::is_floating_point_v<T>)
constexpr size_t input_count (T)
 
template<template< typename > typename HandleType, typename T >
requires (std::disjunction_v< std::is_convertible<HandleType<T>, DirectHandle<T>>, std::is_convertible<HandleType<T>, MaybeDirectHandle<T>>>)
constexpr size_t input_count (const HandleType< T >)
 
template<typename T >
constexpr size_t input_count (const base::Flags< T >)
 
constexpr size_t input_count (const Block *)
 
constexpr size_t input_count (const TSCallDescriptor *)
 
constexpr size_t input_count (const char *)
 
constexpr size_t input_count (const DeoptimizeParameters *)
 
constexpr size_t input_count (const FastApiCallParameters *)
 
constexpr size_t input_count (const FrameStateData *)
 
constexpr size_t input_count (const base::Vector< SwitchOp::Case >)
 
constexpr size_t input_count (LoadOp::Kind)
 
constexpr size_t input_count (RegisterRepresentation)
 
constexpr size_t input_count (MemoryRepresentation)
 
constexpr size_t input_count (OpEffects)
 
constexpr size_t input_count (ExternalPointerTagRange)
 
size_t input_count (const ElementsTransition)
 
size_t input_count (const ElementsTransitionWithMultipleSources)
 
size_t input_count (const FeedbackSource)
 
size_t input_count (const ZoneRefSet< Map >)
 
size_t input_count (ConstantOp::Storage)
 
size_t input_count (Type)
 
size_t input_count (base::Vector< const RegisterRepresentation >)
 
constexpr size_t input_count (OpIndex)
 
constexpr size_t input_count (OptionalOpIndex)
 
constexpr size_t input_count (base::Vector< const OpIndex > inputs)
 
template<typename T >
constexpr size_t input_count (base::Vector< const V< T > > inputs)
 
template<typename T >
bool is_unique_and_sorted (const T &container)
 
template<typename T >
bool is_minus_zero (T value)
 
template<typename T >
bool is_float_special_value (T value)
 
template<typename T >
constexpr uint64_t multi_encode (const T &value)
 
template<typename Head , typename Next , typename... Rest>
constexpr uint64_t multi_encode (const Head &head, const Next &next, const Rest &... rest)
 

Typedef Documentation

◆ index_type_for_t

Definition at line 372 of file assembler.h.

Function Documentation

◆ BuildResultTuple() [1/2]

template<typename LoopLabel , typename Iterable , typename Iterator , typename... Values>
auto v8::internal::compiler::turboshaft::detail::BuildResultTuple ( bool bound,
Iterable && iterable,
LoopLabel && loop_header,
Label<> loop_exit,
Iterator current_iterator,
std::tuple< Values... > current_values )

Definition at line 1332 of file assembler.h.

Here is the call graph for this function:

◆ BuildResultTuple() [2/2]

template<typename LoopLabel , typename Iterable , typename Iterator , typename Value >
auto v8::internal::compiler::turboshaft::detail::BuildResultTuple ( bool bound,
Iterable && iterable,
LoopLabel && loop_header,
Label<> loop_exit,
Iterator current_iterator,
Value current_value )

Definition at line 1322 of file assembler.h.

Here is the caller graph for this function:

◆ BuildResultTupleImpl()

template<typename LoopLabel , typename Iterable , typename Iterator , typename ValueTuple , size_t... Indices>
auto v8::internal::compiler::turboshaft::detail::BuildResultTupleImpl ( bool bound,
Iterable && iterable,
LoopLabel && loop_header,
Label<> loop_exit,
Iterator current_iterator,
ValueTuple current_values,
std::index_sequence< Indices... >  )

Definition at line 1310 of file assembler.h.

Here is the caller graph for this function:

◆ CreateCountersArray()

Handle< HeapObject > v8::internal::compiler::turboshaft::detail::CreateCountersArray ( Isolate * isolate)

Definition at line 14 of file block-instrumentation-reducer.cc.

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

◆ input_count() [1/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( )
constexpr

Definition at line 9242 of file operations.h.

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

◆ input_count() [2/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( base::Vector< const OpIndex > inputs)
constexpr

Definition at line 9303 of file operations.h.

Here is the call graph for this function:

◆ input_count() [3/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( base::Vector< const RegisterRepresentation > )
inline

Definition at line 9288 of file operations.h.

Here is the call graph for this function:

◆ input_count() [4/27]

template<typename T >
size_t v8::internal::compiler::turboshaft::detail::input_count ( base::Vector< const V< T > > inputs)
constexpr

Definition at line 9307 of file operations.h.

Here is the call graph for this function:

◆ input_count() [5/27]

template<typename T >
size_t v8::internal::compiler::turboshaft::detail::input_count ( const base::Flags< T > )
constexpr

Definition at line 9265 of file operations.h.

Here is the call graph for this function:

◆ input_count() [6/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( const base::Vector< SwitchOp::Case > )
constexpr

Definition at line 9274 of file operations.h.

Here is the call graph for this function:

◆ input_count() [7/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( const Block * )
constexpr

Definition at line 9268 of file operations.h.

Here is the call graph for this function:

◆ input_count() [8/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( const char * )
constexpr

Definition at line 9270 of file operations.h.

Here is the call graph for this function:

◆ input_count() [9/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( const DeoptimizeParameters * )
constexpr

Definition at line 9271 of file operations.h.

Here is the call graph for this function:

◆ input_count() [10/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( const ElementsTransition )
inline

Definition at line 9280 of file operations.h.

Here is the call graph for this function:

◆ input_count() [11/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( const ElementsTransitionWithMultipleSources )
inline

Definition at line 9281 of file operations.h.

Here is the call graph for this function:

◆ input_count() [12/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( const FastApiCallParameters * )
constexpr

Definition at line 9272 of file operations.h.

Here is the call graph for this function:

◆ input_count() [13/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( const FeedbackSource )
inline

Definition at line 9284 of file operations.h.

Here is the call graph for this function:

◆ input_count() [14/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( const FrameStateData * )
constexpr

Definition at line 9273 of file operations.h.

Here is the call graph for this function:

◆ input_count() [15/27]

template<template< typename > typename HandleType, typename T >
requires (std::disjunction_v< std::is_convertible<HandleType<T>, DirectHandle<T>>, std::is_convertible<HandleType<T>, MaybeDirectHandle<T>>>)
size_t v8::internal::compiler::turboshaft::detail::input_count ( const HandleType< T > )
constexpr

Definition at line 9257 of file operations.h.

Here is the call graph for this function:

◆ input_count() [16/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( const TSCallDescriptor * )
constexpr

Definition at line 9269 of file operations.h.

Here is the call graph for this function:

◆ input_count() [17/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( const ZoneRefSet< Map > )
inline

Definition at line 9285 of file operations.h.

Here is the call graph for this function:

◆ input_count() [18/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( ConstantOp::Storage )
inline

Definition at line 9286 of file operations.h.

Here is the call graph for this function:

◆ input_count() [19/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( ExternalPointerTagRange )
constexpr

Definition at line 9279 of file operations.h.

Here is the call graph for this function:

◆ input_count() [20/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( LoadOp::Kind )
constexpr

Definition at line 9275 of file operations.h.

Here is the call graph for this function:

◆ input_count() [21/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( MemoryRepresentation )
constexpr

Definition at line 9277 of file operations.h.

Here is the call graph for this function:

◆ input_count() [22/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( OpEffects )
constexpr

Definition at line 9278 of file operations.h.

Here is the call graph for this function:

◆ input_count() [23/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( OpIndex )
constexpr

Definition at line 9301 of file operations.h.

Here is the call graph for this function:

◆ input_count() [24/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( OptionalOpIndex )
constexpr

Definition at line 9302 of file operations.h.

Here is the call graph for this function:

◆ input_count() [25/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( RegisterRepresentation )
constexpr

Definition at line 9276 of file operations.h.

Here is the call graph for this function:

◆ input_count() [26/27]

template<typename T >
requires (std::is_enum_v<T> || std::is_integral_v<T> || std::is_floating_point_v<T>)
size_t v8::internal::compiler::turboshaft::detail::input_count ( T )
constexpr

Definition at line 9247 of file operations.h.

Here is the call graph for this function:

◆ input_count() [27/27]

size_t v8::internal::compiler::turboshaft::detail::input_count ( Type )
inline

Definition at line 9287 of file operations.h.

Here is the call graph for this function:

◆ is_float_special_value()

template<typename T >
bool v8::internal::compiler::turboshaft::detail::is_float_special_value ( T value)
inline

Definition at line 71 of file types.h.

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

◆ is_minus_zero()

template<typename T >
bool v8::internal::compiler::turboshaft::detail::is_minus_zero ( T value)
inline

Definition at line 66 of file types.h.

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

◆ is_unique_and_sorted()

template<typename T >
bool v8::internal::compiler::turboshaft::detail::is_unique_and_sorted ( const T & container)
inline

Definition at line 55 of file types.h.

Here is the caller graph for this function:

◆ MakeShadowy() [1/5]

ShadowyOpIndexVectorWrapper v8::internal::compiler::turboshaft::detail::MakeShadowy ( base::Vector< const OpIndex > value)
inline

Definition at line 1051 of file assembler.h.

◆ MakeShadowy() [2/5]

template<typename T >
ShadowyOpIndexVectorWrapper v8::internal::compiler::turboshaft::detail::MakeShadowy ( base::Vector< const V< T > > value)
inline

Definition at line 1056 of file assembler.h.

◆ MakeShadowy() [3/5]

ShadowyOpIndex v8::internal::compiler::turboshaft::detail::MakeShadowy ( OpIndex value)
inline

Definition at line 1044 of file assembler.h.

◆ MakeShadowy() [4/5]

template<typename T >
T && v8::internal::compiler::turboshaft::detail::MakeShadowy ( T && value)
inline

Definition at line 1040 of file assembler.h.

◆ MakeShadowy() [5/5]

template<typename T >
ShadowyOpIndex v8::internal::compiler::turboshaft::detail::MakeShadowy ( V< T > value)
inline

Definition at line 1048 of file assembler.h.

◆ multi_encode() [1/2]

template<typename Head , typename Next , typename... Rest>
uint64_t v8::internal::compiler::turboshaft::detail::multi_encode ( const Head & head,
const Next & next,
const Rest &... rest )
constexpr

Definition at line 167 of file utils.h.

Here is the call graph for this function:

◆ multi_encode() [2/2]

template<typename T >
uint64_t v8::internal::compiler::turboshaft::detail::multi_encode ( const T & value)
constexpr

Definition at line 162 of file utils.h.

Here is the caller graph for this function:

◆ ResolveAll()

template<typename A , typename ConstOrValues >
auto v8::internal::compiler::turboshaft::detail::ResolveAll ( A & assembler,
const ConstOrValues & const_or_values )

Definition at line 356 of file assembler.h.

Here is the caller graph for this function:

◆ SuppressUnusedWarning()

bool v8::internal::compiler::turboshaft::detail::SuppressUnusedWarning ( bool b)
inline

Definition at line 374 of file assembler.h.

◆ unwrap_unary_tuple() [1/2]

template<typename T >
auto v8::internal::compiler::turboshaft::detail::unwrap_unary_tuple ( std::tuple< T > && tpl)

Definition at line 376 of file assembler.h.

Here is the caller graph for this function:

◆ unwrap_unary_tuple() [2/2]

template<typename T1 , typename T2 , typename... Rest>
auto v8::internal::compiler::turboshaft::detail::unwrap_unary_tuple ( std::tuple< T1, T2, Rest... > && tpl)

Definition at line 380 of file assembler.h.