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

Namespaces

namespace  detail
 
namespace  details
 
namespace  Opmask
 
namespace  wle
 

Classes

struct  AbortCSADcheckOp
 
class  AccessBuilderTS
 
struct  all_of
 
struct  AllocateFPRegistersPhase
 
struct  AllocateGeneralRegistersPhase
 
struct  AllocateOp
 
struct  AllocateSimd128RegistersPhase
 
class  AnalyzerIterator
 
struct  Any
 
struct  any_of
 
struct  ArgumentsLengthOp
 
struct  AssembleCodePhase
 
class  Assembler
 
struct  AssemblerData
 
class  AssertTypesReducer
 
struct  AssignSpillSlotsPhase
 
struct  AssumeMapOp
 
struct  AtomicRMWOp
 
struct  AtomicWord32PairOp
 
struct  BaseData
 
struct  BaseListTraits
 
struct  BigIntBinopOp
 
struct  BigIntComparisonOp
 
struct  BigIntUnaryOp
 
struct  BitcastWord32PairToFloat64Op
 
class  Block
 
class  BlockIndex
 
struct  BlockInstrumentationPhase
 
class  BlockInstrumentationReducer
 
class  BlockOriginTrackingReducer
 
class  BranchEliminationReducer
 
struct  BranchOp
 
struct  BuildGraphPhase
 
struct  BuildLiveRangeBundlesPhase
 
struct  BuildLiveRangesPhase
 
struct  BuiltinCallDescriptor
 
class  BuiltinPipeline
 
class  BundlePackNode
 
struct  BytecodeHandlerData
 
struct  CallOp
 
struct  CatchBlockBeginOp
 
class  CatchScopeImpl
 
struct  ChangeOp
 
struct  ChangeOrDeoptOp
 
class  ChangeTrackingSnapshotTable
 
struct  CheckedClosureOp
 
struct  CheckEqualsInternalizedStringOp
 
struct  CheckExceptionOp
 
struct  CheckMapsOp
 
struct  CheckTurboshaftTypeOfOp
 
struct  CodeEliminationAndSimplificationPhase
 
struct  CommentOp
 
struct  CommitAssignmentPhase
 
class  CompareChainNode
 
struct  CompareMapsOp
 
class  CompareSequence
 
struct  ComparisonOp
 
struct  Compressed
 
class  ConditionWithHint
 
struct  ConnectRangesPhase
 
struct  ConstantOp
 
class  ConstOrV
 
struct  ControlState
 
struct  ConvertJSPrimitiveToObjectOp
 
struct  ConvertJSPrimitiveToUntaggedOp
 
struct  ConvertJSPrimitiveToUntaggedOrDeoptOp
 
struct  ConvertOp
 
struct  ConvertUntaggedToJSPrimitiveOp
 
struct  ConvertUntaggedToJSPrimitiveOrDeoptOp
 
class  CopyingPhase
 
class  CopyingPhaseImpl
 
struct  CsaBranchEliminationPhase
 
struct  CsaEarlyMachineOptimizationPhase
 
struct  CsaLateEscapeAnalysisPhase
 
struct  CsaLoadEliminationPhase
 
struct  CsaOptimizePhase
 
class  DataViewLoweringReducer
 
class  DeadCodeAnalysis
 
class  DeadCodeEliminationReducer
 
struct  DeadOp
 
struct  DebugBreakOp
 
struct  DebugFeatureLoweringPhase
 
class  DebugFeatureLoweringReducer
 
struct  DebugPrintOp
 
struct  DecideSpillingModePhase
 
struct  DecodeExternalPointerOp
 
struct  DecompressionOptimizationPhase
 
class  DemandedElementAnalysis
 
struct  DeoptimizeIfOp
 
struct  DeoptimizeOp
 
struct  DidntThrowOp
 
class  DisableValueNumbering
 
class  DominatorForwardTreeNode
 
struct  DoubleArrayMinMaxOp
 
class  DuplicationOptimizationReducer
 
struct  EffectDimensions
 
struct  ElementAccessTS
 
class  EmitProjectionReducer
 
struct  EnsureWritableFastElementsOp
 
class  ExplicitTruncationReducer
 
struct  fast_hash
 
struct  fast_hash< base::Vector< T > >
 
struct  fast_hash< BlockIndex >
 
struct  fast_hash< OpIndex >
 
struct  fast_hash< std::pair< T1, T2 > >
 
struct  fast_hash< std::tuple< Ts... > >
 
struct  fast_hash< SwitchOp::Case >
 
struct  fast_hash< TSCallDescriptor >
 
struct  fast_hash< Type >
 
class  FastApiCallLoweringReducer
 
struct  FastApiCallOp
 
struct  FastApiCallParameters
 
struct  FieldAccessTS
 
struct  FinalizeCodePhase
 
struct  FindOrderedHashEntryOp
 
struct  FixedArityOperationT
 
class  FixedBlockSidetable
 
class  FixedOpIndexSidetable
 
struct  Float64IsOp
 
struct  Float64SameValueOp
 
struct  FloatBinopOp
 
struct  FloatOperationTyper
 
class  FloatRepresentation
 
class  FloatType
 
struct  FloatUnaryOp
 
struct  FloatWithBits
 
class  ForcePackNode
 
struct  FrameConstantOp
 
struct  FrameElisionPhase
 
struct  FrameState
 
struct  FrameStateData
 
struct  FrameStateOp
 
class  GeneratorAnalyzer
 
class  GenericAssemblerOpInterface
 
struct  GenericBinopOp
 
class  GenericReducerBase
 
struct  GenericUnopOp
 
struct  GotoOp
 
class  Graph
 
class  GraphBuildingNodeProcessor
 
class  GraphVisitor
 
class  GrowableStacksReducer
 
class  GrowingBlockSidetable
 
class  GrowingOpIndexSidetable
 
struct  HasProperRunMethod
 
struct  HasStaticEffects
 
struct  HasStaticEffects< Op, std::void_t< decltype(Op::effects)> >
 
class  IndexRange
 
class  InputsRepFactory
 
class  InstructionSelectionNormalizationReducer
 
struct  InstructionSelectionPhase
 
struct  Int64LoweringPhase
 
class  Int64LoweringReducer
 
struct  InternalTag
 
class  IterationCount
 
class  JSGenericLoweringReducer
 
class  JSONTurboshaftGraphWriter
 
struct  JSStackCheckOp
 
struct  JumpThreadingPhase
 
struct  KeyData
 
class  Label
 
class  LabelBase
 
class  LateEscapeAnalysisAnalyzer
 
class  LateEscapeAnalysisReducer
 
class  LateLoadEliminationAnalyzer
 
class  LateLoadEliminationReducer
 
class  LayeredHashMap
 
struct  LoadDataViewElementOp
 
class  LoadEliminationReplacement
 
struct  LoadFieldByIndexOp
 
struct  LoadMessageOp
 
struct  LoadOp
 
struct  LoadRootRegisterOp
 
struct  LoadStackArgumentOp
 
struct  LoadStoreSimplificationConfiguration
 
class  LoadStoreSimplificationReducer
 
struct  LoadTypedElementOp
 
class  LoopFinder
 
class  LoopLabel
 
struct  LoopPeelingPhase
 
class  LoopPeelingReducer
 
class  LoopStackCheckElisionReducer
 
class  LoopUnrollingAnalyzer
 
struct  LoopUnrollingPhase
 
class  LoopUnrollingReducer
 
struct  MachineLoweringPhase
 
class  MachineLoweringReducer
 
class  MachineOptimizationReducer
 
class  MaglevEarlyLoweringReducer
 
struct  MaglevGraphBuildingPhase
 
struct  MapMaskAndOr
 
struct  MaybeGrowFastElementsOp
 
struct  MaybeRedundantStoresKeyData
 
class  MaybeRedundantStoresTable
 
class  MaybeRegisterRepresentation
 
struct  MeetRegisterConstraintsPhase
 
struct  MemoryAddress
 
struct  MemoryAnalyzer
 
struct  MemoryBarrierOp
 
class  MemoryContentTable
 
class  MemoryOptimizationReducer
 
class  MemoryRepresentation
 
struct  MultiSwitch
 
struct  MultiSwitch< T, std::enable_if_t< std::is_base_of_v< MaybeRegisterRepresentation, T > > >
 
struct  MultiSwitchIntegral
 
class  NeighboringPredecessorIterable
 
struct  NewArgumentsElementsOp
 
struct  NewArrayOp
 
struct  NewConsStringOp
 
struct  next_contains_reducer
 
struct  next_contains_reducer< R< T >, Reducer >
 
struct  next_is_bottom_of_assembler_stack
 
struct  next_reducer_is
 
struct  NoChangeCallback
 
class  NodeGroup
 
class  NodeProcessorBase
 
struct  NoKeyData
 
struct  None
 
struct  nullrep_t
 
struct  ObjectIsNumericValueOp
 
struct  ObjectIsOp
 
struct  OffsetListTraits
 
struct  opcode_to_operation_map
 
struct  OpEffects
 
struct  Operation
 
struct  operation_to_opcode
 
class  OperationBuffer
 
class  OperationMatcher
 
struct  OperationPrintStyle
 
struct  OperationState
 
struct  OperationT
 
class  OpIndex
 
struct  OpMaskT
 
struct  OptimizeMovesPhase
 
struct  OptimizePhase
 
class  OptionalOpIndex
 
class  OptionalV
 
struct  OsrValueOp
 
class  OutputGraphAssembler
 
struct  OverflowCheckedBinopOp
 
struct  OverflowCheckedUnaryOp
 
class  PackNode
 
struct  PaddingSpace
 
struct  ParameterOp
 
struct  PendingLoopPhiOp
 
struct  PhiOp
 
class  Pipeline
 
class  PipelineData
 
struct  PopulateReferenceMapsPhase
 
class  PredecessorIterator
 
class  PretenuringPropagationAnalyzer
 
class  PretenuringPropagationReducer
 
struct  PrintAsBlockHeader
 
struct  produces_printable_graph
 
struct  ProfileApplicationPhase
 
struct  ProjectionOp
 
class  RandomAccessStackDominatorNode
 
class  Range
 
struct  reducer_list_contains
 
struct  reducer_list_index_of
 
struct  reducer_list_insert_at
 
struct  reducer_list_length
 
struct  reducer_list_starts_with
 
struct  reducer_list_to_stack
 
class  ReducerBaseForwarder
 
struct  ReducerStack
 
class  RedundantStoreAnalysis
 
class  RegisterRepresentation
 
class  RequiredOptimizationReducer
 
struct  ResolveControlFlowPhase
 
struct  ResolvePhisPhase
 
struct  RetainOp
 
struct  ReturnOp
 
struct  RootTypes
 
struct  RuntimeAbortOp
 
struct  RuntimeCallDescriptor
 
struct  SameValueOp
 
class  SaturatedUint8
 
class  ScopeCounter
 
class  ScopedModification
 
class  ScopedVar
 
class  SelectLoweringReducer
 
struct  SelectOp
 
class  Sequence
 
class  ShadowyOpIndex
 
class  ShadowyOpIndexVectorWrapper
 
struct  ShiftOp
 
class  ShufflePackNode
 
class  SimdUseMap
 
struct  SimplificationAndNormalizationPhase
 
class  SLPTree
 
class  SnapshotTable
 
struct  SnapshotTableEntry
 
class  SnapshotTableKey
 
class  SparseOpIndexSideTable
 
class  SparseOpIndexSnapshotTable
 
struct  SpecialRPOSchedulingPhase
 
struct  StackBottom
 
class  StackCheckLoweringReducer
 
struct  StackPointerGreaterThanOp
 
struct  StackSlotOp
 
struct  static_operation_input_count
 
struct  static_operation_input_count< Op, std::void_t< decltype(Op::inputs)> >
 
struct  StaticAssertOp
 
class  StaticCanonicalForLoopMatcher
 
struct  StoreDataViewElementOp
 
struct  StoreInfoCompare
 
class  StoreLoadInfo
 
struct  StoreMessageOp
 
struct  StoreOp
 
struct  StoreStoreEliminationPhase
 
class  StoreStoreEliminationReducer
 
struct  StoreTypedElementOp
 
struct  StringAtOp
 
struct  StringComparisonOp
 
struct  StringConcatOp
 
class  StringEscapeAnalysisReducer
 
class  StringEscapeAnalyzer
 
struct  StringFromCodePointAtOp
 
struct  StringIndexOfOp
 
struct  StringLengthOp
 
struct  StringSubstringOp
 
class  StringView
 
class  StructuralOptimizationReducer
 
class  SupportedOperations
 
struct  SwitchOp
 
struct  TaggedBitcastOp
 
struct  TailCallOp
 
struct  ToNumberOrNumericOp
 
class  Tracing
 
struct  TransitionAndStoreArrayElementOp
 
struct  TransitionElementsKindOp
 
struct  TransitionElementsKindOrCheckMapOp
 
struct  TruncateJSPrimitiveToUntaggedOp
 
struct  TruncateJSPrimitiveToUntaggedOrDeoptOp
 
struct  TryChangeOp
 
class  TSAssembler
 
struct  TSCallDescriptor
 
class  TSReducerBase
 
struct  Tuple
 
struct  TupleOp
 
class  TupleType
 
class  TurboshaftAssemblerOpInterface
 
class  TurboshaftCompilationJob
 
struct  TurboshaftGraphAsJSON
 
class  TurboshaftSpecialRPONumberer
 
class  Type
 
struct  TypeAssertionsPhase
 
struct  TypedArrayLengthOp
 
struct  TypedOptimizationsPhase
 
class  TypedOptimizationsReducer
 
class  TypeInferenceAnalysis
 
class  TypeInferenceReducer
 
struct  TypeInferenceReducerArgs
 
class  TypeParser
 
class  Typer
 
struct  underlying_operation
 
struct  underlying_operation< OpMaskT< T, M, V > >
 
class  UniformReducerAdapter
 
class  Uninitialized
 
struct  UnreachableOp
 
struct  UntaggedUnion
 
class  UseMap
 
class  V
 
struct  v_traits
 
struct  v_traits< Any >
 
struct  v_traits< Compressed >
 
struct  v_traits< Float32 >
 
struct  v_traits< Float64 >
 
struct  v_traits< None >
 
struct  v_traits< Simd128 >
 
struct  v_traits< Simd256 >
 
struct  v_traits< T, std::enable_if_t< is_taggable_v< T > &&!is_union_v< T > > >
 
struct  v_traits< T, std::enable_if_t< std::is_base_of_v< InternalTag, T > > >
 
struct  v_traits< Tuple< Ts... > >
 
struct  v_traits< Union< T, Ts... > >
 
struct  v_traits< UntaggedUnion< Ts... > >
 
struct  v_traits< Word32 >
 
struct  v_traits< Word64 >
 
class  ValueNumberingReducer
 
class  Var
 
struct  VariableData
 
class  VariableReducer
 
struct  WasmDeadCodeEliminationPhase
 
struct  WasmGCOptimizePhase
 
class  WasmGCTypeAnalyzer
 
class  WasmGCTypedOptimizationReducer
 
class  WasmInJsInliningInterface
 
struct  WasmInJSInliningPhase
 
class  WasmInJSInliningReducer
 
class  WasmJSLoweringReducer
 
class  WasmLoadEliminationAnalyzer
 
class  WasmLoadEliminationReducer
 
struct  WasmLoweringPhase
 
class  WasmLoweringReducer
 
struct  WasmOptimizePhase
 
class  WasmRevecAnalyzer
 
struct  WasmRevecPhase
 
class  WasmRevecReducer
 
class  WasmRevecVerifier
 
class  WasmShuffleAnalyzer
 
class  WasmShuffleReducer
 
struct  WasmSimdPhase
 
struct  Word32PairBinopOp
 
struct  Word32SignHintOp
 
struct  WordBinopDeoptOnOverflowOp
 
struct  WordBinopOp
 
struct  WordOperationTyper
 
class  WordRepresentation
 
class  WordType
 
struct  WordUnaryOp
 
struct  WordWithBits
 
class  Zip
 
class  ZoneWithName
 

Concepts

concept  ForeachIterable
 
concept  IsUntagged
 
concept  IsTagged
 
concept  TurboshaftPhase
 
concept  TurbofanPhase
 
concept  CompilerPhase
 

Typedefs

template<typename T >
using LoopLabelFor = detail::LoopLabelForHelper<T>::type
 
using TurboshaftAssemblerGenerator
 
using MaybeVariable = std::optional<Variable>
 
using OperationStorageSlot = uint64_t
 
using Word32 = WordWithBits<32>
 
using Word64 = WordWithBits<64>
 
using WordPtr = std::conditional_t<Is64(), Word64, Word32>
 
using Float32 = FloatWithBits<32>
 
using Float64 = FloatWithBits<64>
 
using Simd128 = WordWithBits<128>
 
using Simd256 = WordWithBits<256>
 
using Word = UntaggedUnion<Word32, Word64>
 
using Float = UntaggedUnion<Float32, Float64>
 
using Float64OrWord32 = UntaggedUnion<Float64, Word32>
 
using Untagged = UntaggedUnion<Word, Float>
 
using BooleanOrNullOrUndefined = UnionOf<Boolean, Null, Undefined>
 
using NumberOrString = UnionOf<Number, String>
 
using PlainPrimitive = UnionOf<NumberOrString, BooleanOrNullOrUndefined>
 
using StringOrNull = UnionOf<String, Null>
 
using NumberOrUndefined = UnionOf<Number, Undefined>
 
using AnyFixedArray = UnionOf<FixedArray, FixedDoubleArray>
 
using NonBigIntPrimitive = UnionOf<Symbol, PlainPrimitive>
 
using Primitive = UnionOf<BigInt, NonBigIntPrimitive>
 
using CallTarget = UntaggedUnion<WordPtr, Code, JSFunction, Word32>
 
using AnyOrNone = UntaggedUnion<Any, None>
 
using Word32Pair = Tuple<Word32, Word32>
 
template<typename T >
using maybe_const_or_v_t = typename detail::ConstOrVTypeHelper<T>::type
 
using MapMask = uint64_t
 
using CmpOp = StaticCanonicalForLoopMatcher::CmpOp
 
using BinOp = StaticCanonicalForLoopMatcher::BinOp
 
using Variable = SnapshotTable<OpIndex, VariableData>::Key
 
template<typename T >
using underlying_operation_t = typename underlying_operation<T>::type
 
template<template< typename > typename... Ts>
using reducer_list = base::tmp::list1<Ts...>
 
template<size_t Bits>
using uint_type = typename detail::TypeForBits<Bits>::uint_type
 
template<size_t Bits>
using float_type = typename detail::TypeForBits<Bits>::float_type
 
using Word32Type = WordType<32>
 
using Word64Type = WordType<64>
 
using Float32Type = FloatType<32>
 
using Float64Type = FloatType<64>
 
typedef bool(* FunctionType) (const Operation &op, Zone *zone)
 
using StoreInfoSet = ZoneSet<StoreLoadInfo<StoreOp>, StoreInfoCompare>
 
using SmallShuffleVector = SmallZoneVector<const Simd128ShuffleOp*, 8>
 
template<typename T , auto >
using ZoneWithNamePointer = T*
 

Enumerations

enum  ConditionalGotoStatus { kGotoDestination = 1 , kGotoEliminated = 2 , kBranch = 3 }
 
enum class  HashingStrategy { kDefault , kMakeSnapshotStable }
 
enum class  Opcode : uint8_t { ENUM_CONSTANT }
 
enum class  NumericKind : uint8_t {
  kFloat64Hole , kFinite , kInteger , kSafeInteger ,
  kInt32 , kSmi , kMinusZero , kNaN
}
 
enum class  TurboshaftPipelineKind {
  kJS , kWasm , kCSA , kTSABuiltin ,
  kJSToWasm
}
 
enum class  StoreObservability { kUnobservable = 0 , kGCObservable = 1 , kObservable = 2 }
 

Functions

static std::optional< FlagsConditionGetFlagsCondition (OpIndex node, InstructionSelectorT *selector)
 
static std::optional< CompareChainNode * > FindCompareChain (OpIndex user, OpIndex node, InstructionSelectorT *selector, Zone *zone, ZoneVector< CompareChainNode * > &nodes)
 
void CombineFlagSettingOps (CompareChainNode *logic_node, InstructionSelectorT *selector, CompareSequence *sequence)
 
static std::optional< FlagsConditionTryMatchConditionalCompareChainShared (InstructionSelectorT *selector, Zone *zone, OpIndex node, CompareSequence *sequence)
 
static void VisitCompareChain (InstructionSelectorT *selector, OpIndex left_node, OpIndex right_node, RegisterRepresentation rep, InstructionCode opcode, ImmediateMode operand_mode, FlagsContinuationT *cont)
 
static bool TryMatchConditionalCompareChainBranch (InstructionSelectorT *selector, Zone *zone, OpIndex node, FlagsContinuationT *cont)
 
static bool TryMatchConditionalCompareChainSet (InstructionSelectorT *selector, Zone *zone, OpIndex node)
 
Handle< CodeBuiltinCodeHandle (Builtin builtin, Isolate *isolate)
 
template<typename T >
 Range (V< T >, V< T >, V< T >) -> Range< T >
 
template<typename T >
 Range (V< T >, V< T >, typename ConstOrV< T >::constant_type) -> Range< T >
 
template<typename T >
 Range (V< T >, typename ConstOrV< T >::constant_type, typename ConstOrV< T >::constant_type) -> Range< T >
 
template<typename T >
 Sequence (V< T >, V< T >) -> Sequence< T >
 
template<typename T >
 Sequence (V< T >, typename ConstOrV< T >::constant_type) -> Sequence< T >
 
template<typename T >
 Sequence (V< T >) -> Sequence< T >
 
template<typename... Iterables>
 Zip (Iterables... iterables) -> Zip< Iterables... >
 
DirectHandle< CodeBuildWithTurboshaftAssemblerImpl (Isolate *isolate, Builtin builtin, TurboshaftAssemblerGenerator generator, std::function< compiler::CallDescriptor *(Zone *)> call_descriptor_builder, const char *name, const AssemblerOptions &options, CodeKind code_kind, std::optional< BytecodeHandlerData > bytecode_handler_data)
 
int CountDecimalDigits (uint32_t value)
 
std::ostream & operator<< (std::ostream &os, PaddingSpace padding)
 
std::ostream & operator<< (std::ostream &stream, const ControlState &state)
 
bool operator== (const ControlState &lhs, const ControlState &rhs)
 
bool operator!= (const ControlState &lhs, const ControlState &rhs)
 
std::ostream & operator<< (std::ostream &stream, OperationState::Liveness liveness)
 
void RunDecompressionOptimization (Graph &graph, Zone *phase_zone)
 
bool operator== (const FrameStateData &lhs, const FrameStateData &rhs)
 
V8_INLINE size_t fast_hash_combine ()
 
V8_INLINE size_t fast_hash_combine (size_t acc)
 
V8_INLINE size_t fast_hash_combine (size_t acc, size_t value)
 
template<typename T , typename... Ts>
V8_INLINE size_t fast_hash_combine (T const &v, Ts const &... vs)
 
template<typename Iterator >
V8_INLINE size_t fast_hash_range (Iterator first, Iterator last)
 
std::optional< BailoutReasonBuildGraph (PipelineData *data, Schedule *schedule, Zone *phase_zone, Linkage *linkage, JsWasmCallsSidetable *js_wasm_calls_sidetable)
 
std::ostream & operator<< (std::ostream &os, const TurboshaftGraphAsJSON &ad)
 
void PrintTurboshaftCustomDataPerOperation (std::ofstream &stream, const char *data_name, const Graph &graph, std::function< bool(std::ostream &, const Graph &, OpIndex)> printer)
 
void PrintTurboshaftCustomDataPerBlock (std::ofstream &stream, const char *data_name, const Graph &graph, std::function< bool(std::ostream &, const Graph &, BlockIndex)> printer)
 
V8_INLINE V8_EXPORT_PRIVATE TurboshaftGraphAsJSON AsJSON (const Graph &graph, NodeOriginTable *origins, Zone *temp_zone)
 
std::ostream & operator<< (std::ostream &os, PrintAsBlockHeader block_header)
 
std::ostream & operator<< (std::ostream &os, const Graph &graph)
 
std::ostream & operator<< (std::ostream &os, const Block::Kind &kind)
 
V8_EXPORT_PRIVATE std::ostream & operator<< (std::ostream &os, const Block *b)
 
V8_INLINE OperationStorageSlotAllocateOpStorage (Graph *graph, size_t slot_count)
 
V8_INLINE const OperationGet (const Graph &graph, OpIndex index)
 
V8_EXPORT_PRIVATE std::ostream & operator<< (std::ostream &os, OpIndex idx)
 
V8_INLINE std::ostream & operator<< (std::ostream &os, OptionalOpIndex idx)
 
constexpr bool operator== (nullrep_t, nullrep_t)
 
constexpr bool operator== (nullrep_t, RegisterRepresentation)
 
constexpr bool operator== (RegisterRepresentation, nullrep_t)
 
constexpr bool operator!= (nullrep_t, nullrep_t)
 
constexpr bool operator!= (nullrep_t, RegisterRepresentation)
 
constexpr bool operator!= (RegisterRepresentation, nullrep_t)
 
template<typename T >
constexpr bool IsWord ()
 
template<typename T >
constexpr bool IsValidTypeFor (RegisterRepresentation repr)
 
template<typename T >
 OptionalV (V< T >) -> OptionalV< T >
 
template<typename T >
 ConstOrV (V< T >) -> ConstOrV< T >
 
V8_INLINE size_t hash_value (OpIndex op)
 
V8_INLINE size_t hash_value (OptionalOpIndex op)
 
V8_INLINE size_t hash_value (BlockIndex op)
 
V8_EXPORT_PRIVATE std::ostream & operator<< (std::ostream &os, BlockIndex b)
 
 DEFINE_STRONG_ORDERING_COMPARISON (OptionalOpIndex, OptionalOpIndex, l.value_or_invalid(), r.value_or_invalid()) DEFINE_STRONG_ORDERING_COMPARISON(OpIndex
 
r value_or_invalid ()) DEFINE_STRONG_ORDERING_COMPARISON(OptionalOpIndex
 
void PropagateDeferred (Graph &graph)
 
std::ostream & operator<< (std::ostream &os, const MemoryAddress &mem)
 
bool IsInt32TruncatedLoadPattern (const Graph &graph, OpIndex change_idx, const ChangeOp &change, OpIndex *bitcast_idx, OpIndex *load_idx)
 
bool is_empty (MapMaskAndOr minmax)
 
MapMask ComputeMapHash (MapRef map)
 
MapMaskAndOr ComputeMinMaxHash (ZoneRefSet< Map > maps)
 
MapMaskAndOr CombineMinMax (MapMaskAndOr a, MapMaskAndOr b)
 
bool CouldHaveSameMap (MapMaskAndOr a, MapMaskAndOr b)
 
size_t hash_value (MemoryAddress const &mem)
 
std::ostream & operator<< (std::ostream &os, const IterationCount &count)
 
std::ostream & operator<< (std::ostream &os, const CmpOp &cmp)
 
std::ostream & operator<< (std::ostream &os, const BinOp &binop)
 
const TSCallDescriptorCreateAllocateBuiltinDescriptor (Zone *zone, Isolate *isolate)
 
bool ValueNeedsWriteBarrier (const Graph *graph, const Operation &value, Isolate *isolate)
 
const AllocateOpUnwrapAllocate (const Graph *graph, const Operation *op)
 
Zoneget_zone (Graph *graph)
 
std::optional< BuiltinTryGetBuiltinId (const ConstantOp *target, JSHeapBroker *broker)
 
const char * OpcodeName (Opcode opcode)
 
std::ostream & operator<< (std::ostream &os, OperationPrintStyle styled_op)
 
std::ostream & operator<< (std::ostream &os, RootIndex index)
 
std::ostream & operator<< (std::ostream &os, GenericBinopOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, GenericUnopOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, Word32SignHintOp::Sign sign)
 
std::ostream & operator<< (std::ostream &os, WordUnaryOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, OverflowCheckedUnaryOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, FloatUnaryOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, ShiftOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, ComparisonOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, ChangeOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, ChangeOrDeoptOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, TryChangeOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, TaggedBitcastOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, ChangeOp::Assumption assumption)
 
std::ostream & operator<< (std::ostream &os, SelectOp::Implementation kind)
 
std::ostream & operator<< (std::ostream &os, AtomicRMWOp::BinOp bin_op)
 
std::ostream & operator<< (std::ostream &os, AtomicWord32PairOp::Kind bin_op)
 
std::ostream & operator<< (std::ostream &os, FrameConstantOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, OpEffects effects)
 
std::ostream & operator<< (std::ostream &os, ObjectIsOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, ObjectIsOp::InputAssumptions input_assumptions)
 
std::ostream & operator<< (std::ostream &os, NumericKind kind)
 
std::ostream & operator<< (std::ostream &os, ConvertOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, ConvertUntaggedToJSPrimitiveOp::JSPrimitiveKind kind)
 
std::ostream & operator<< (std::ostream &os, ConvertUntaggedToJSPrimitiveOp::InputInterpretation input_interpretation)
 
std::ostream & operator<< (std::ostream &os, ConvertUntaggedToJSPrimitiveOrDeoptOp::JSPrimitiveKind kind)
 
std::ostream & operator<< (std::ostream &os, ConvertUntaggedToJSPrimitiveOrDeoptOp::InputInterpretation input_interpretation)
 
std::ostream & operator<< (std::ostream &os, ConvertJSPrimitiveToUntaggedOp::UntaggedKind kind)
 
std::ostream & operator<< (std::ostream &os, ConvertJSPrimitiveToUntaggedOp::InputAssumptions input_assumptions)
 
std::ostream & operator<< (std::ostream &os, ConvertJSPrimitiveToUntaggedOrDeoptOp::UntaggedKind kind)
 
std::ostream & operator<< (std::ostream &os, ConvertJSPrimitiveToUntaggedOrDeoptOp::JSPrimitiveKind kind)
 
std::ostream & operator<< (std::ostream &os, TruncateJSPrimitiveToUntaggedOp::UntaggedKind kind)
 
std::ostream & operator<< (std::ostream &os, TruncateJSPrimitiveToUntaggedOp::InputAssumptions input_assumptions)
 
std::ostream & operator<< (std::ostream &os, TruncateJSPrimitiveToUntaggedOrDeoptOp::UntaggedKind kind)
 
std::ostream & operator<< (std::ostream &os, NewArrayOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, DoubleArrayMinMaxOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, BigIntBinopOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, BigIntComparisonOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, BigIntUnaryOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, StringAtOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, StringComparisonOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, ArgumentsLengthOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, TransitionAndStoreArrayElementOp::Kind kind)
 
void PrintMapSet (std::ostream &os, const ZoneRefSet< Map > &maps)
 
std::ostream & operator<< (std::ostream &os, SameValueOp::Mode mode)
 
std::ostream & operator<< (std::ostream &os, FindOrderedHashEntryOp::Kind kind)
 
std::ostream & operator<< (std::ostream &os, JSStackCheckOp::Kind kind)
 
base::SmallVector< Block *, 4 > SuccessorBlocks (const Block &block, const Graph &graph)
 
bool IsUnlikelySuccessor (const Block *block, const Block *successor, const Graph &graph)
 
constexpr std::underlying_type_t< OpcodeOpcodeIndex (Opcode x)
 
constexpr bool IsBlockTerminator (Opcode opcode)
 
constexpr bool MayThrow (Opcode opcode)
 
template<typename T >
base::Vector< TInitVectorOf (ZoneVector< T > &storage, std::initializer_list< RegisterRepresentation > values)
 
V8_INLINE size_t hash_value (OpEffects effects)
 
bool CannotSwapOperations (OpEffects first, OpEffects second)
 
bool CannotSwapProtectedLoads (OpEffects first, OpEffects second)
 
std::ostream & operator<< (std::ostream &os, const Operation &op)
 
template<RegisterRepresentation::Enum... reps>
base::Vector< const RegisterRepresentationRepVector ()
 
template<MaybeRegisterRepresentation::Enum... reps>
base::Vector< const MaybeRegisterRepresentationMaybeRepVector ()
 
V8_INLINE size_t hash_value (LoadOp::Kind kind)
 
base::SmallVector< Block *, 4 > SuccessorBlocks (const Operation &op)
 
constexpr RegisterRepresentation RegisterRepresentationForArrayType (ExternalArrayType array_type)
 
base::Vector< const RegisterRepresentationVectorForRep (RegisterRepresentation rep)
 
V8_INLINE bool CanBeUsedAsInput (const Operation &op)
 
V8_EXPORT_PRIVATE V8_INLINE bool ShouldSkipOperation (const Operation &op)
 
template<typename Op , typename... Args>
Op * CreateOperation (base::SmallVector< OperationStorageSlot, 32 > &storage, Args... args)
 
template<typename F >
auto VisitOperation (const Operation &op, F &&f)
 
void PrintTurboshaftGraph (PipelineData *data, Zone *temp_zone, CodeTracer *code_tracer, const char *phase_name)
 
void PrintTurboshaftGraphForTurbolizer (std::ofstream &stream, const Graph &graph, const char *phase_name, NodeOriginTable *node_origins, Zone *temp_zone)
 
std::ostream & operator<< (std::ostream &os, MaybeRegisterRepresentation rep)
 
std::ostream & operator<< (std::ostream &os, MemoryRepresentation rep)
 
V8_INLINE constexpr bool operator== (MaybeRegisterRepresentation a, MaybeRegisterRepresentation b)
 
V8_INLINE constexpr bool operator!= (MaybeRegisterRepresentation a, MaybeRegisterRepresentation b)
 
V8_INLINE size_t hash_value (MaybeRegisterRepresentation rep)
 
V8_INLINE constexpr bool operator== (MemoryRepresentation a, MemoryRepresentation b)
 
V8_INLINE constexpr bool operator!= (MemoryRepresentation a, MemoryRepresentation b)
 
V8_INLINE size_t hash_value (MemoryRepresentation rep)
 
std::ostream & operator<< (std::ostream &os, StoreObservability observability)
 
constexpr bool TooManyArgumentsForCall (size_t arguments_count)
 
void PrintBytecode (PipelineData &data, maglev::MaglevCompilationInfo *compilation_info)
 
void PrintMaglevGraph (PipelineData &data, maglev::MaglevCompilationInfo *compilation_info, maglev::Graph *maglev_graph, const char *msg)
 
void RunMaglevOptimizations (PipelineData *data, maglev::MaglevCompilationInfo *compilation_info, maglev::MaglevGraphBuilder &maglev_graph_builder, maglev::Graph *maglev_graph)
 
template<typename Op >
V8_INLINE bool CanBeTyped (const Op &operation)
 
template<typename T , size_t N>
T array_min (const std::array< T, N > &a)
 
template<typename T , size_t N>
T array_max (const std::array< T, N > &a)
 
template<size_t Bits, typename word_t = typename WordType<Bits>::word_t>
WordType< Bits > LeastUpperBoundFromRanges (word_t l_from, word_t l_to, word_t r_from, word_t r_to, Zone *zone)
 
template class EXPORT_TEMPLATE_DEFINE (V8_EXPORT_PRIVATE) WordType< 32 >
 
template<typename T >
requires std::is_floating_point<T>::value
T next_smaller (T v)
 
template<typename T >
requires std::is_floating_point<T>::value
T next_larger (T v)
 
template<typename T >
requires std::is_integral<T>::value
T next_smaller (T v)
 
template<typename T >
requires std::is_integral<T>::value
T next_larger (T v)
 
template class EXPORT_TEMPLATE_DECLARE (V8_EXPORT_PRIVATE) WordType< 32 >
 
std::ostream & operator<< (std::ostream &stream, Type::Kind kind)
 
std::ostream & operator<< (std::ostream &stream, const Type &type)
 
bool operator== (const Type &lhs, const Type &rhs)
 
bool operator!= (const Type &lhs, const Type &rhs)
 
template<class... Args>
 any_of (const Args &...) -> any_of< Args... >
 
template<class T , class... Ts>
bool operator== (const T &value, any_of< Ts... > options)
 
template<class... Ts>
std::ostream & operator<< (std::ostream &os, any_of< Ts... > any)
 
template<class... Args>
 all_of (const Args &...) -> all_of< Args... >
 
template<class T , class... Ts>
bool operator== (all_of< Ts... > values, const T &target)
 
template<class... Ts>
std::ostream & operator<< (std::ostream &os, all_of< Ts... > all)
 
V8_EXPORT_PRIVATE bool ShouldSkipOptimizationStep ()
 
template<typename... Ts>
constexpr uint64_t multi (const Ts &... values)
 
template<typename AssemblerT >
OpIndex LoadRootHelper (AssemblerT &&assembler, RootIndex index)
 
bool RepIsCompatible (RegisterRepresentation actual, RegisterRepresentation expected_reg_repr, uint8_t in_memory_size)
 
bool IsSameOpAndKind (const Operation &op0, const Operation &op1)
 
std::string GetSimdOpcodeName (Operation const &op)
 
template<class Op , class Info >
bool LoadStrideEqualTo (const Graph &graph, const NodeGroup &node_group, int stride)
 
template<typename T >
bool IsSplat (const T &node_group)
 
template<typename FunctionType >
void ForEach (FunctionType callback, const ZoneUnorderedMap< OpIndex, PackNode * > &node_map)
 
template<typename FunctionType >
void ForEach (FunctionType callback, const ZoneUnorderedMap< OpIndex, ZoneVector< PackNode * > > &node_map)
 
bool IsSignExtensionOp (Operation &op)
 
bool IsLoadExtend (const Simd128LoadTransformOp &op)
 
bool IsLoadSplat (const Simd128LoadTransformOp &op)
 
wasm::WasmCompilationResult ExecuteTurboshaftWasmCompilation (wasm::CompilationEnv *env, compiler::WasmCompilationData &data, wasm::WasmDetectedFeatures *detected, Counters *counters)
 

Variables

constexpr char kBuiltinCompilationZoneName []
 
constexpr size_t kSlotsPerId = 2
 
constexpr nullrep_t nullrep
 
template<typename T >
constexpr bool const_or_v_exists_v = detail::ConstOrVTypeHelper<T>::exists
 
 OptionalOpIndex
 
 l
 
r OpIndex
 
constexpr char kCompilationZoneName [] = "compilation-zone"
 
template<typename Op >
constexpr Opcode operation_to_opcode_v = operation_to_opcode<Op>::value
 
constexpr uint16_t kNumberOfBlockTerminatorOpcodes
 
constexpr uint16_t kNumberOfOpcodes
 
static constexpr std::optional< OpEffectskOperationEffectsTable [kNumberOfOpcodes]
 
constexpr size_t kOperationSizeTable [kNumberOfOpcodes]
 
constexpr size_t kOperationSizeDividedBySizeofOpIndexTable [kNumberOfOpcodes]
 
constexpr char kTempZoneName [] = "temp-zone"
 
template<size_t Bits>
constexpr float_type< Bits > nan_v = detail::TypeForBits<Bits>::nan
 

Typedef Documentation

◆ AnyFixedArray

◆ AnyOrNone

◆ BinOp

◆ BooleanOrNullOrUndefined

◆ CallTarget

◆ CmpOp

◆ Float

◆ Float32

Definition at line 233 of file index.h.

◆ Float32Type

Definition at line 171 of file types.h.

◆ Float64

Definition at line 234 of file index.h.

◆ Float64OrWord32

◆ Float64Type

Definition at line 172 of file types.h.

◆ float_type

template<size_t Bits>
using v8::internal::compiler::turboshaft::float_type = typename detail::TypeForBits<Bits>::float_type

Definition at line 159 of file types.h.

◆ FunctionType

typedef bool(* v8::internal::compiler::turboshaft::FunctionType) (const Operation &op, Zone *zone)

Definition at line 12 of file use-map.h.

◆ LoopLabelFor

Definition at line 732 of file assembler.h.

◆ MapMask

◆ maybe_const_or_v_t

Definition at line 792 of file index.h.

◆ MaybeVariable

Definition at line 34 of file copying-phase.h.

◆ NonBigIntPrimitive

◆ NumberOrString

◆ NumberOrUndefined

◆ OperationStorageSlot

Definition at line 29 of file index.h.

◆ PlainPrimitive

◆ Primitive

◆ reducer_list

template<template< typename > typename... Ts>
using v8::internal::compiler::turboshaft::reducer_list = base::tmp::list1<Ts...>

Definition at line 24 of file reducer-traits.h.

◆ Simd128

Definition at line 236 of file index.h.

◆ Simd256

Definition at line 237 of file index.h.

◆ SmallShuffleVector

Definition at line 27 of file wasm-shuffle-reducer.h.

◆ StoreInfoSet

◆ StringOrNull

◆ TurboshaftAssemblerGenerator

Initial value:
void (*)(compiler::turboshaft::PipelineData*, Isolate*,
compiler::turboshaft::Graph&, Zone*)
friend Zone
Definition asm-types.cc:195

Definition at line 42 of file builtin-compiler.h.

◆ uint_type

template<size_t Bits>
using v8::internal::compiler::turboshaft::uint_type = typename detail::TypeForBits<Bits>::uint_type

Definition at line 157 of file types.h.

◆ underlying_operation_t

Definition at line 929 of file operations.h.

◆ Untagged

◆ Variable

◆ Word

◆ Word32

Definition at line 223 of file index.h.

◆ Word32Pair

◆ Word32Type

Definition at line 169 of file types.h.

◆ Word64

Definition at line 224 of file index.h.

◆ Word64Type

Definition at line 170 of file types.h.

◆ WordPtr

Definition at line 225 of file index.h.

◆ ZoneWithNamePointer

template<typename T , auto >
using v8::internal::compiler::turboshaft::ZoneWithNamePointer = T*

Definition at line 73 of file zone-with-name.h.

Enumeration Type Documentation

◆ ConditionalGotoStatus

Enumerator
kGotoDestination 
kGotoEliminated 
kBranch 

Definition at line 84 of file assembler.h.

◆ HashingStrategy

Enumerator
kDefault 
kMakeSnapshotStable 

Definition at line 67 of file operations.h.

◆ NumericKind

Enumerator
kFloat64Hole 
kFinite 
kInteger 
kSafeInteger 
kInt32 
kSmi 
kMinusZero 
kNaN 

Definition at line 4658 of file operations.h.

◆ Opcode

enum class v8::internal::compiler::turboshaft::Opcode : uint8_t
strong
Enumerator
ENUM_CONSTANT 

Definition at line 366 of file operations.h.

◆ StoreObservability

Enumerator
kUnobservable 
kGCObservable 
kObservable 

Definition at line 78 of file store-store-elimination-reducer-inl.h.

◆ TurboshaftPipelineKind

Enumerator
kJS 
kWasm 
kCSA 
kTSABuiltin 
kJSToWasm 

Definition at line 171 of file phase.h.

Function Documentation

◆ all_of()

template<class... Args>
v8::internal::compiler::turboshaft::all_of ( const Args & ...) -> all_of< Args... >
Here is the caller graph for this function:

◆ AllocateOpStorage()

OperationStorageSlot * v8::internal::compiler::turboshaft::AllocateOpStorage ( Graph * graph,
size_t slot_count )

Definition at line 1226 of file graph.h.

Here is the caller graph for this function:

◆ any_of()

template<class... Args>
v8::internal::compiler::turboshaft::any_of ( const Args & ...) -> any_of< Args... >
Here is the caller graph for this function:

◆ array_max()

template<typename T , size_t N>
T v8::internal::compiler::turboshaft::array_max ( const std::array< T, N > & a)

Definition at line 38 of file typer.h.

Here is the caller graph for this function:

◆ array_min()

template<typename T , size_t N>
T v8::internal::compiler::turboshaft::array_min ( const std::array< T, N > & a)

Definition at line 22 of file typer.h.

Here is the caller graph for this function:

◆ AsJSON()

V8_INLINE V8_EXPORT_PRIVATE TurboshaftGraphAsJSON v8::internal::compiler::turboshaft::AsJSON ( const Graph & graph,
NodeOriginTable * origins,
Zone * temp_zone )

Definition at line 22 of file graph-visualizer.h.

Here is the caller graph for this function:

◆ BuildGraph()

std::optional< BailoutReason > v8::internal::compiler::turboshaft::BuildGraph ( PipelineData * data,
Schedule * schedule,
Zone * phase_zone,
Linkage * linkage,
JsWasmCallsSidetable * js_wasm_calls_sidetable )

Definition at line 2695 of file graph-builder.cc.

Here is the caller graph for this function:

◆ BuildWithTurboshaftAssemblerImpl()

V8_EXPORT_PRIVATE DirectHandle< Code > v8::internal::compiler::turboshaft::BuildWithTurboshaftAssemblerImpl ( Isolate * isolate,
Builtin builtin,
TurboshaftAssemblerGenerator generator,
std::function< compiler::CallDescriptor *(Zone *)> call_descriptor_builder,
const char * name,
const AssemblerOptions & options,
CodeKind code_kind,
std::optional< BytecodeHandlerData > bytecode_handler_data )

Definition at line 21 of file builtin-compiler.cc.

Here is the call graph for this function:

◆ BuiltinCodeHandle()

Handle< Code > v8::internal::compiler::turboshaft::BuiltinCodeHandle ( Builtin builtin,
Isolate * isolate )

Definition at line 12 of file assembler.cc.

Here is the caller graph for this function:

◆ CanBeTyped()

template<typename Op >
V8_INLINE bool v8::internal::compiler::turboshaft::CanBeTyped ( const Op & operation)

Definition at line 31 of file type-inference-reducer.h.

Here is the caller graph for this function:

◆ CanBeUsedAsInput()

V8_INLINE bool v8::internal::compiler::turboshaft::CanBeUsedAsInput ( const Operation & op)

Definition at line 9186 of file operations.h.

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

◆ CannotSwapOperations()

bool v8::internal::compiler::turboshaft::CannotSwapOperations ( OpEffects first,
OpEffects second )
inline

Definition at line 854 of file operations.h.

Here is the caller graph for this function:

◆ CannotSwapProtectedLoads()

bool v8::internal::compiler::turboshaft::CannotSwapProtectedLoads ( OpEffects first,
OpEffects second )
inline

Definition at line 858 of file operations.h.

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

◆ CombineFlagSettingOps()

void v8::internal::compiler::turboshaft::CombineFlagSettingOps ( CompareChainNode * logic_node,
InstructionSelectorT * selector,
CompareSequence * sequence )

Definition at line 1717 of file instruction-selector-arm64.cc.

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

◆ CombineMinMax()

MapMaskAndOr v8::internal::compiler::turboshaft::CombineMinMax ( MapMaskAndOr a,
MapMaskAndOr b )
inline

Definition at line 181 of file late-load-elimination-reducer.h.

Here is the caller graph for this function:

◆ ComputeMapHash()

MapMask v8::internal::compiler::turboshaft::ComputeMapHash ( MapRef map)
inline

Definition at line 161 of file late-load-elimination-reducer.h.

Here is the caller graph for this function:

◆ ComputeMinMaxHash()

MapMaskAndOr v8::internal::compiler::turboshaft::ComputeMinMaxHash ( ZoneRefSet< Map > maps)
inline

Definition at line 172 of file late-load-elimination-reducer.h.

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

◆ ConstOrV()

template<typename T >
v8::internal::compiler::turboshaft::ConstOrV ( V< T > ) -> ConstOrV< T >

◆ CouldHaveSameMap()

bool v8::internal::compiler::turboshaft::CouldHaveSameMap ( MapMaskAndOr a,
MapMaskAndOr b )
inline

Definition at line 185 of file late-load-elimination-reducer.h.

Here is the caller graph for this function:

◆ CountDecimalDigits()

V8_EXPORT_PRIVATE int v8::internal::compiler::turboshaft::CountDecimalDigits ( uint32_t value)

Definition at line 9 of file copying-phase.cc.

Here is the caller graph for this function:

◆ CreateAllocateBuiltinDescriptor()

const TSCallDescriptor * v8::internal::compiler::turboshaft::CreateAllocateBuiltinDescriptor ( Zone * zone,
Isolate * isolate )

Definition at line 15 of file memory-optimization-reducer.cc.

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

◆ CreateOperation()

template<typename Op , typename... Args>
Op * v8::internal::compiler::turboshaft::CreateOperation ( base::SmallVector< OperationStorageSlot, 32 > & storage,
Args... args )

Definition at line 9313 of file operations.h.

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

◆ DEFINE_STRONG_ORDERING_COMPARISON()

v8::internal::compiler::turboshaft::DEFINE_STRONG_ORDERING_COMPARISON ( OptionalOpIndex ,
OptionalOpIndex ,
l. value_or_invalid(),
r. value_or_invalid() )

◆ ExecuteTurboshaftWasmCompilation()

wasm::WasmCompilationResult v8::internal::compiler::turboshaft::ExecuteTurboshaftWasmCompilation ( wasm::CompilationEnv * env,
compiler::WasmCompilationData & data,
wasm::WasmDetectedFeatures * detected,
Counters * counters )

Definition at line 21 of file wasm-turboshaft-compiler.cc.

Here is the caller graph for this function:

◆ EXPORT_TEMPLATE_DECLARE()

template class v8::internal::compiler::turboshaft::EXPORT_TEMPLATE_DECLARE ( V8_EXPORT_PRIVATE )
extern

◆ EXPORT_TEMPLATE_DEFINE()

template class v8::internal::compiler::turboshaft::EXPORT_TEMPLATE_DEFINE ( V8_EXPORT_PRIVATE )

◆ fast_hash_combine() [1/4]

V8_INLINE size_t v8::internal::compiler::turboshaft::fast_hash_combine ( )

Definition at line 19 of file fast-hash.h.

Here is the caller graph for this function:

◆ fast_hash_combine() [2/4]

V8_INLINE size_t v8::internal::compiler::turboshaft::fast_hash_combine ( size_t acc)

Definition at line 20 of file fast-hash.h.

◆ fast_hash_combine() [3/4]

V8_INLINE size_t v8::internal::compiler::turboshaft::fast_hash_combine ( size_t acc,
size_t value )

Definition at line 21 of file fast-hash.h.

◆ fast_hash_combine() [4/4]

template<typename T , typename... Ts>
V8_INLINE size_t v8::internal::compiler::turboshaft::fast_hash_combine ( T const & v,
Ts const &... vs )

Definition at line 59 of file fast-hash.h.

Here is the call graph for this function:

◆ fast_hash_range()

template<typename Iterator >
V8_INLINE size_t v8::internal::compiler::turboshaft::fast_hash_range ( Iterator first,
Iterator last )

Definition at line 64 of file fast-hash.h.

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

◆ FindCompareChain()

static std::optional< CompareChainNode * > v8::internal::compiler::turboshaft::FindCompareChain ( OpIndex user,
OpIndex node,
InstructionSelectorT * selector,
Zone * zone,
ZoneVector< CompareChainNode * > & nodes )
static

Definition at line 1587 of file instruction-selector-arm64.cc.

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

◆ ForEach() [1/2]

template<typename FunctionType >
void v8::internal::compiler::turboshaft::ForEach ( FunctionType callback,
const ZoneUnorderedMap< OpIndex, PackNode * > & node_map )

Definition at line 218 of file wasm-revec-reducer.cc.

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

◆ ForEach() [2/2]

template<typename FunctionType >
void v8::internal::compiler::turboshaft::ForEach ( FunctionType callback,
const ZoneUnorderedMap< OpIndex, ZoneVector< PackNode * > > & node_map )

Definition at line 234 of file wasm-revec-reducer.cc.

Here is the call graph for this function:

◆ Get()

V8_EXPORT_PRIVATE const Operation & v8::internal::compiler::turboshaft::Get ( const Graph & graph,
OpIndex index )

Definition at line 1231 of file graph.h.

◆ get_zone()

V8_EXPORT_PRIVATE Zone * v8::internal::compiler::turboshaft::get_zone ( Graph * graph)

Definition at line 43 of file operations.cc.

Here is the caller graph for this function:

◆ GetFlagsCondition()

static std::optional< FlagsCondition > v8::internal::compiler::turboshaft::GetFlagsCondition ( OpIndex node,
InstructionSelectorT * selector )
static

Definition at line 1533 of file instruction-selector-arm64.cc.

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

◆ GetSimdOpcodeName()

std::string v8::internal::compiler::turboshaft::GetSimdOpcodeName ( Operation const & op)

Definition at line 45 of file wasm-revec-reducer.cc.

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

◆ hash_value() [1/8]

V8_INLINE size_t v8::internal::compiler::turboshaft::hash_value ( BlockIndex op)

Definition at line 895 of file index.h.

Here is the call graph for this function:

◆ hash_value() [2/8]

V8_INLINE size_t v8::internal::compiler::turboshaft::hash_value ( LoadOp::Kind kind)

Definition at line 3087 of file operations.h.

◆ hash_value() [3/8]

V8_INLINE size_t v8::internal::compiler::turboshaft::hash_value ( MaybeRegisterRepresentation rep)

Definition at line 358 of file representations.h.

Here is the call graph for this function:

◆ hash_value() [4/8]

size_t v8::internal::compiler::turboshaft::hash_value ( MemoryAddress const & mem)
inline

Definition at line 210 of file late-load-elimination-reducer.h.

Here is the call graph for this function:

◆ hash_value() [5/8]

V8_INLINE size_t v8::internal::compiler::turboshaft::hash_value ( MemoryRepresentation rep)

Definition at line 947 of file representations.h.

Here is the call graph for this function:

◆ hash_value() [6/8]

V8_INLINE size_t v8::internal::compiler::turboshaft::hash_value ( OpEffects effects)

Definition at line 850 of file operations.h.

Here is the call graph for this function:

◆ hash_value() [7/8]

V8_INLINE size_t v8::internal::compiler::turboshaft::hash_value ( OpIndex op)

Definition at line 773 of file index.h.

Here is the call graph for this function:

◆ hash_value() [8/8]

V8_INLINE size_t v8::internal::compiler::turboshaft::hash_value ( OptionalOpIndex op)

Definition at line 774 of file index.h.

Here is the call graph for this function:

◆ InitVectorOf()

template<typename T >
base::Vector< T > v8::internal::compiler::turboshaft::InitVectorOf ( ZoneVector< T > & storage,
std::initializer_list< RegisterRepresentation > values )
inline

Definition at line 469 of file operations.h.

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

◆ is_empty()

bool v8::internal::compiler::turboshaft::is_empty ( MapMaskAndOr minmax)
inline

Definition at line 158 of file late-load-elimination-reducer.h.

◆ IsBlockTerminator()

bool v8::internal::compiler::turboshaft::IsBlockTerminator ( Opcode opcode)
inlineconstexpr

Definition at line 416 of file operations.h.

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

◆ IsInt32TruncatedLoadPattern()

V8_EXPORT_PRIVATE bool v8::internal::compiler::turboshaft::IsInt32TruncatedLoadPattern ( const Graph & graph,
OpIndex change_idx,
const ChangeOp & change,
OpIndex * bitcast_idx,
OpIndex * load_idx )

Definition at line 567 of file late-load-elimination-reducer.cc.

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

◆ IsLoadExtend()

bool v8::internal::compiler::turboshaft::IsLoadExtend ( const Simd128LoadTransformOp & op)

Definition at line 864 of file wasm-revec-reducer.cc.

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

◆ IsLoadSplat()

bool v8::internal::compiler::turboshaft::IsLoadSplat ( const Simd128LoadTransformOp & op)

Definition at line 878 of file wasm-revec-reducer.cc.

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

◆ IsSameOpAndKind()

bool v8::internal::compiler::turboshaft::IsSameOpAndKind ( const Operation & op0,
const Operation & op1 )

Definition at line 24 of file wasm-revec-reducer.cc.

Here is the caller graph for this function:

◆ IsSignExtensionOp()

bool v8::internal::compiler::turboshaft::IsSignExtensionOp ( Operation & op)

Definition at line 806 of file wasm-revec-reducer.cc.

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

◆ IsSplat()

template<typename T >
bool v8::internal::compiler::turboshaft::IsSplat ( const T & node_group)

Definition at line 190 of file wasm-revec-reducer.cc.

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

◆ IsUnlikelySuccessor()

bool v8::internal::compiler::turboshaft::IsUnlikelySuccessor ( const Block * block,
const Block * successor,
const Graph & graph )

Definition at line 2107 of file operations.cc.

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

◆ IsValidTypeFor()

template<typename T >
bool v8::internal::compiler::turboshaft::IsValidTypeFor ( RegisterRepresentation repr)
constexpr

Definition at line 575 of file index.h.

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

◆ IsWord()

template<typename T >
bool v8::internal::compiler::turboshaft::IsWord ( )
constexpr

Definition at line 569 of file index.h.

Here is the caller graph for this function:

◆ LeastUpperBoundFromRanges()

template<size_t Bits, typename word_t = typename WordType<Bits>::word_t>
WordType< Bits > v8::internal::compiler::turboshaft::LeastUpperBoundFromRanges ( word_t l_from,
word_t l_to,
word_t r_from,
word_t r_to,
Zone * zone )

Definition at line 234 of file types.cc.

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

◆ LoadRootHelper()

template<typename AssemblerT >
OpIndex v8::internal::compiler::turboshaft::LoadRootHelper ( AssemblerT && assembler,
RootIndex index )

Definition at line 24 of file wasm-assembler-helpers.h.

Here is the call graph for this function:

◆ LoadStrideEqualTo()

template<class Op , class Info >
bool v8::internal::compiler::turboshaft::LoadStrideEqualTo ( const Graph & graph,
const NodeGroup & node_group,
int stride )

Definition at line 172 of file wasm-revec-reducer.cc.

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

◆ MaybeRepVector()

template<MaybeRegisterRepresentation::Enum... reps>
base::Vector< const MaybeRegisterRepresentation > v8::internal::compiler::turboshaft::MaybeRepVector ( )

Definition at line 1380 of file operations.h.

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

◆ MayThrow()

bool v8::internal::compiler::turboshaft::MayThrow ( Opcode opcode)
inlineconstexpr

Definition at line 432 of file operations.h.

Here is the caller graph for this function:

◆ multi()

template<typename... Ts>
uint64_t v8::internal::compiler::turboshaft::multi ( const Ts &... values)
inlineconstexpr

Definition at line 177 of file utils.h.

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

◆ next_larger() [1/2]

template<typename T >
requires std::is_floating_point<T>::value
T v8::internal::compiler::turboshaft::next_larger ( T v)

Definition at line 132 of file types.h.

Here is the caller graph for this function:

◆ next_larger() [2/2]

template<typename T >
requires std::is_integral<T>::value
T v8::internal::compiler::turboshaft::next_larger ( T v)

Definition at line 149 of file types.h.

◆ next_smaller() [1/2]

template<typename T >
requires std::is_floating_point<T>::value
T v8::internal::compiler::turboshaft::next_smaller ( T v)

Definition at line 123 of file types.h.

Here is the caller graph for this function:

◆ next_smaller() [2/2]

template<typename T >
requires std::is_integral<T>::value
T v8::internal::compiler::turboshaft::next_smaller ( T v)

Definition at line 141 of file types.h.

◆ OpcodeIndex()

std::underlying_type_t< Opcode > v8::internal::compiler::turboshaft::OpcodeIndex ( Opcode x)
constexpr

Definition at line 373 of file operations.h.

Here is the caller graph for this function:

◆ OpcodeName()

const char * v8::internal::compiler::turboshaft::OpcodeName ( Opcode opcode)

Definition at line 164 of file operations.cc.

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

◆ operator!=() [1/7]

bool v8::internal::compiler::turboshaft::operator!= ( const ControlState & lhs,
const ControlState & rhs )
inline

Definition at line 144 of file dead-code-elimination-reducer.h.

◆ operator!=() [2/7]

bool v8::internal::compiler::turboshaft::operator!= ( const Type & lhs,
const Type & rhs )
inline

Definition at line 915 of file types.h.

Here is the call graph for this function:

◆ operator!=() [3/7]

V8_INLINE constexpr bool v8::internal::compiler::turboshaft::operator!= ( MaybeRegisterRepresentation a,
MaybeRegisterRepresentation b )
constexpr

Definition at line 353 of file representations.h.

Here is the call graph for this function:

◆ operator!=() [4/7]

V8_INLINE constexpr bool v8::internal::compiler::turboshaft::operator!= ( MemoryRepresentation a,
MemoryRepresentation b )
constexpr

Definition at line 942 of file representations.h.

Here is the call graph for this function:

◆ operator!=() [5/7]

bool v8::internal::compiler::turboshaft::operator!= ( nullrep_t ,
nullrep_t  )
inlineconstexpr

Definition at line 205 of file index.h.

◆ operator!=() [6/7]

bool v8::internal::compiler::turboshaft::operator!= ( nullrep_t ,
RegisterRepresentation  )
inlineconstexpr

Definition at line 206 of file index.h.

◆ operator!=() [7/7]

bool v8::internal::compiler::turboshaft::operator!= ( RegisterRepresentation ,
nullrep_t  )
inlineconstexpr

Definition at line 209 of file index.h.

◆ operator<<() [1/70]

template<class... Ts>
std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
all_of< Ts... > all )

Definition at line 77 of file utils.h.

◆ operator<<() [2/70]

template<class... Ts>
std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
any_of< Ts... > any )

Definition at line 45 of file utils.h.

◆ operator<<() [3/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
ArgumentsLengthOp::Kind kind )

Definition at line 1498 of file operations.cc.

◆ operator<<() [4/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
AtomicRMWOp::BinOp bin_op )

Definition at line 479 of file operations.cc.

◆ operator<<() [5/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
AtomicWord32PairOp::Kind bin_op )

Definition at line 498 of file operations.cc.

◆ operator<<() [6/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
BigIntBinopOp::Kind kind )

Definition at line 1424 of file operations.cc.

◆ operator<<() [7/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
BigIntComparisonOp::Kind kind )

Definition at line 1449 of file operations.cc.

◆ operator<<() [8/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
BigIntUnaryOp::Kind kind )

Definition at line 1460 of file operations.cc.

◆ operator<<() [9/70]

std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
BlockIndex b )

Definition at line 1085 of file operations.cc.

Here is the call graph for this function:

◆ operator<<() [10/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
ChangeOp::Assumption assumption )

Definition at line 459 of file operations.cc.

◆ operator<<() [11/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
ChangeOp::Kind kind )

Definition at line 381 of file operations.cc.

◆ operator<<() [12/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
ChangeOrDeoptOp::Kind kind )

Definition at line 414 of file operations.cc.

◆ operator<<() [13/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
ComparisonOp::Kind kind )

Definition at line 366 of file operations.cc.

◆ operator<<() [14/70]

std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
const BinOp & binop )

Definition at line 280 of file loop-unrolling-reducer.cc.

◆ operator<<() [15/70]

std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
const Block * b )

Definition at line 1092 of file operations.cc.

Here is the call graph for this function:

◆ operator<<() [16/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
const Block::Kind & kind )

Definition at line 89 of file graph.cc.

◆ operator<<() [17/70]

std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
const CmpOp & cmp )

Definition at line 257 of file loop-unrolling-reducer.cc.

◆ operator<<() [18/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
const Graph & graph )

Definition at line 79 of file graph.cc.

◆ operator<<() [19/70]

std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
const IterationCount & count )

Definition at line 246 of file loop-unrolling-reducer.cc.

◆ operator<<() [20/70]

std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
const MemoryAddress & mem )

Definition at line 28 of file late-load-elimination-reducer.cc.

◆ operator<<() [21/70]

std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
const Operation & op )
inline

Definition at line 1056 of file operations.h.

◆ operator<<() [22/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
const TurboshaftGraphAsJSON & ad )

Definition at line 100 of file graph-visualizer.cc.

Here is the call graph for this function:

◆ operator<<() [23/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
ConvertJSPrimitiveToUntaggedOp::InputAssumptions input_assumptions )

Definition at line 1314 of file operations.cc.

◆ operator<<() [24/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
ConvertJSPrimitiveToUntaggedOp::UntaggedKind kind )

Definition at line 1298 of file operations.cc.

◆ operator<<() [25/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
ConvertJSPrimitiveToUntaggedOrDeoptOp::JSPrimitiveKind kind )

Definition at line 1347 of file operations.cc.

◆ operator<<() [26/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
ConvertJSPrimitiveToUntaggedOrDeoptOp::UntaggedKind kind )

Definition at line 1329 of file operations.cc.

◆ operator<<() [27/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
ConvertOp::Kind kind )

Definition at line 1223 of file operations.cc.

◆ operator<<() [28/70]

std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
ConvertUntaggedToJSPrimitiveOp::InputInterpretation input_interpretation )

Definition at line 1263 of file operations.cc.

◆ operator<<() [29/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
ConvertUntaggedToJSPrimitiveOp::JSPrimitiveKind kind )

Definition at line 1242 of file operations.cc.

◆ operator<<() [30/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
ConvertUntaggedToJSPrimitiveOrDeoptOp::InputInterpretation input_interpretation )

Definition at line 1287 of file operations.cc.

◆ operator<<() [31/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
ConvertUntaggedToJSPrimitiveOrDeoptOp::JSPrimitiveKind kind )

Definition at line 1278 of file operations.cc.

◆ operator<<() [32/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
DoubleArrayMinMaxOp::Kind kind )

Definition at line 1415 of file operations.cc.

◆ operator<<() [33/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
FindOrderedHashEntryOp::Kind kind )

Definition at line 1559 of file operations.cc.

◆ operator<<() [34/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
FloatUnaryOp::Kind kind )

Definition at line 239 of file operations.cc.

◆ operator<<() [35/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
FrameConstantOp::Kind kind )

Definition at line 521 of file operations.cc.

◆ operator<<() [36/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
GenericBinopOp::Kind kind )

Definition at line 186 of file operations.cc.

◆ operator<<() [37/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
GenericUnopOp::Kind kind )

Definition at line 196 of file operations.cc.

◆ operator<<() [38/70]

std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
JSStackCheckOp::Kind kind )

Definition at line 1570 of file operations.cc.

◆ operator<<() [39/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
MaybeRegisterRepresentation rep )

Definition at line 9 of file representations.cc.

Here is the call graph for this function:

◆ operator<<() [40/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
MemoryRepresentation rep )

Definition at line 32 of file representations.cc.

Here is the call graph for this function:

◆ operator<<() [41/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
NewArrayOp::Kind kind )

Definition at line 1406 of file operations.cc.

◆ operator<<() [42/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
NumericKind kind )

Definition at line 1202 of file operations.cc.

◆ operator<<() [43/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
ObjectIsOp::InputAssumptions input_assumptions )

Definition at line 1190 of file operations.cc.

◆ operator<<() [44/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
ObjectIsOp::Kind kind )

Definition at line 1149 of file operations.cc.

◆ operator<<() [45/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
OpEffects effects )

Definition at line 1096 of file operations.cc.

Here is the call graph for this function:

◆ operator<<() [46/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
OperationPrintStyle styled_op )

Definition at line 172 of file operations.cc.

Here is the call graph for this function:

◆ operator<<() [47/70]

std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
OpIndex idx )

Definition at line 1078 of file operations.cc.

Here is the call graph for this function:

◆ operator<<() [48/70]

V8_INLINE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
OptionalOpIndex idx )

Definition at line 190 of file index.h.

Here is the call graph for this function:

◆ operator<<() [49/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
OverflowCheckedUnaryOp::Kind kind )

Definition at line 232 of file operations.cc.

◆ operator<<() [50/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
PaddingSpace padding )

Definition at line 18 of file copying-phase.cc.

◆ operator<<() [51/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
PrintAsBlockHeader block_header )

Definition at line 64 of file graph.cc.

Here is the call graph for this function:

◆ operator<<() [52/70]

std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
RootIndex index )

Definition at line 180 of file operations.cc.

◆ operator<<() [53/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
SameValueOp::Mode mode )

Definition at line 1550 of file operations.cc.

◆ operator<<() [54/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
SelectOp::Implementation kind )

Definition at line 470 of file operations.cc.

◆ operator<<() [55/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
ShiftOp::Kind kind )

Definition at line 349 of file operations.cc.

◆ operator<<() [56/70]

std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
StoreObservability observability )
inline

Definition at line 84 of file store-store-elimination-reducer-inl.h.

◆ operator<<() [57/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
StringAtOp::Kind kind )

Definition at line 1467 of file operations.cc.

◆ operator<<() [58/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
StringComparisonOp::Kind kind )

Definition at line 1487 of file operations.cc.

◆ operator<<() [59/70]

std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
TaggedBitcastOp::Kind kind )

Definition at line 446 of file operations.cc.

◆ operator<<() [60/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
TransitionAndStoreArrayElementOp::Kind kind )

Definition at line 1507 of file operations.cc.

◆ operator<<() [61/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
TruncateJSPrimitiveToUntaggedOp::InputAssumptions input_assumptions )

Definition at line 1382 of file operations.cc.

◆ operator<<() [62/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
TruncateJSPrimitiveToUntaggedOp::UntaggedKind kind )

Definition at line 1370 of file operations.cc.

◆ operator<<() [63/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
TruncateJSPrimitiveToUntaggedOrDeoptOp::UntaggedKind kind )

Definition at line 1397 of file operations.cc.

◆ operator<<() [64/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
TryChangeOp::Kind kind )

Definition at line 437 of file operations.cc.

◆ operator<<() [65/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
Word32SignHintOp::Sign sign )

Definition at line 206 of file operations.cc.

◆ operator<<() [66/70]

V8_EXPORT_PRIVATE std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & os,
WordUnaryOp::Kind kind )

Definition at line 215 of file operations.cc.

◆ operator<<() [67/70]

std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & stream,
const ControlState & state )
inline

Definition at line 123 of file dead-code-elimination-reducer.h.

◆ operator<<() [68/70]

std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & stream,
const Type & type )
inline

Definition at line 906 of file types.h.

◆ operator<<() [69/70]

std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & stream,
OperationState::Liveness liveness )
inline

Definition at line 167 of file dead-code-elimination-reducer.h.

Here is the call graph for this function:

◆ operator<<() [70/70]

std::ostream & v8::internal::compiler::turboshaft::operator<< ( std::ostream & stream,
Type::Kind kind )
inline

Definition at line 885 of file types.h.

◆ operator==() [1/10]

template<class T , class... Ts>
bool v8::internal::compiler::turboshaft::operator== ( all_of< Ts... > values,
const T & target )

Definition at line 72 of file utils.h.

Here is the call graph for this function:

◆ operator==() [2/10]

bool v8::internal::compiler::turboshaft::operator== ( const ControlState & lhs,
const ControlState & rhs )
inline

Definition at line 135 of file dead-code-elimination-reducer.h.

◆ operator==() [3/10]

bool v8::internal::compiler::turboshaft::operator== ( const FrameStateData & lhs,
const FrameStateData & rhs )
inline

Definition at line 181 of file deopt-data.h.

◆ operator==() [4/10]

template<class T , class... Ts>
bool v8::internal::compiler::turboshaft::operator== ( const T & value,
any_of< Ts... > options )

Definition at line 40 of file utils.h.

Here is the call graph for this function:

◆ operator==() [5/10]

bool v8::internal::compiler::turboshaft::operator== ( const Type & lhs,
const Type & rhs )
inline

Definition at line 911 of file types.h.

Here is the call graph for this function:

◆ operator==() [6/10]

V8_INLINE constexpr bool v8::internal::compiler::turboshaft::operator== ( MaybeRegisterRepresentation a,
MaybeRegisterRepresentation b )
constexpr

Definition at line 349 of file representations.h.

Here is the call graph for this function:

◆ operator==() [7/10]

V8_INLINE constexpr bool v8::internal::compiler::turboshaft::operator== ( MemoryRepresentation a,
MemoryRepresentation b )
constexpr

Definition at line 938 of file representations.h.

Here is the call graph for this function:

◆ operator==() [8/10]

bool v8::internal::compiler::turboshaft::operator== ( nullrep_t ,
nullrep_t  )
inlineconstexpr

Definition at line 198 of file index.h.

◆ operator==() [9/10]

bool v8::internal::compiler::turboshaft::operator== ( nullrep_t ,
RegisterRepresentation  )
inlineconstexpr

Definition at line 199 of file index.h.

◆ operator==() [10/10]

bool v8::internal::compiler::turboshaft::operator== ( RegisterRepresentation ,
nullrep_t  )
inlineconstexpr

Definition at line 202 of file index.h.

◆ OptionalV()

template<typename T >
v8::internal::compiler::turboshaft::OptionalV ( V< T > ) -> OptionalV< T >
Here is the caller graph for this function:

◆ PrintBytecode()

void v8::internal::compiler::turboshaft::PrintBytecode ( PipelineData & data,
maglev::MaglevCompilationInfo * compilation_info )

Definition at line 6023 of file turbolev-graph-builder.cc.

◆ PrintMaglevGraph()

void v8::internal::compiler::turboshaft::PrintMaglevGraph ( PipelineData & data,
maglev::MaglevCompilationInfo * compilation_info,
maglev::Graph * maglev_graph,
const char * msg )

Definition at line 6041 of file turbolev-graph-builder.cc.

Here is the caller graph for this function:

◆ PrintMapSet()

void v8::internal::compiler::turboshaft::PrintMapSet ( std::ostream & os,
const ZoneRefSet< Map > & maps )

Definition at line 1523 of file operations.cc.

Here is the caller graph for this function:

◆ PrintTurboshaftCustomDataPerBlock()

void v8::internal::compiler::turboshaft::PrintTurboshaftCustomDataPerBlock ( std::ofstream & stream,
const char * data_name,
const Graph & graph,
std::function< bool(std::ostream &, const Graph &, BlockIndex)> printer )

Definition at line 126 of file graph-visualizer.cc.

Here is the caller graph for this function:

◆ PrintTurboshaftCustomDataPerOperation()

void v8::internal::compiler::turboshaft::PrintTurboshaftCustomDataPerOperation ( std::ofstream & stream,
const char * data_name,
const Graph & graph,
std::function< bool(std::ostream &, const Graph &, OpIndex)> printer )

Definition at line 107 of file graph-visualizer.cc.

Here is the caller graph for this function:

◆ PrintTurboshaftGraph()

void v8::internal::compiler::turboshaft::PrintTurboshaftGraph ( PipelineData * data,
Zone * temp_zone,
CodeTracer * code_tracer,
const char * phase_name )

Definition at line 39 of file phase.cc.

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

◆ PrintTurboshaftGraphForTurbolizer()

void v8::internal::compiler::turboshaft::PrintTurboshaftGraphForTurbolizer ( std::ofstream & stream,
const Graph & graph,
const char * phase_name,
NodeOriginTable * node_origins,
Zone * temp_zone )

Definition at line 62 of file phase.cc.

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

◆ PropagateDeferred()

V8_EXPORT_PRIVATE void v8::internal::compiler::turboshaft::PropagateDeferred ( Graph & graph)

Definition at line 257 of file instruction-selection-phase.cc.

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

◆ Range() [1/3]

template<typename T >
v8::internal::compiler::turboshaft::Range ( V< T > ,
typename ConstOrV< T >::constant_type ,
typename ConstOrV< T >::constant_type  ) -> Range< T >

◆ Range() [2/3]

template<typename T >
v8::internal::compiler::turboshaft::Range ( V< T > ,
V< T > ,
typename ConstOrV< T >::constant_type  ) -> Range< T >

◆ Range() [3/3]

template<typename T >
v8::internal::compiler::turboshaft::Range ( V< T > ,
V< T > ,
V< T >  ) -> Range< T >
Here is the caller graph for this function:

◆ RegisterRepresentationForArrayType()

RegisterRepresentation v8::internal::compiler::turboshaft::RegisterRepresentationForArrayType ( ExternalArrayType array_type)
inlineconstexpr

Definition at line 5803 of file operations.h.

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

◆ RepIsCompatible()

bool v8::internal::compiler::turboshaft::RepIsCompatible ( RegisterRepresentation actual,
RegisterRepresentation expected_reg_repr,
uint8_t in_memory_size )

Definition at line 702 of file wasm-load-elimination-reducer.h.

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

◆ RepVector()

template<RegisterRepresentation::Enum... reps>
base::Vector< const RegisterRepresentation > v8::internal::compiler::turboshaft::RepVector ( )

Definition at line 1373 of file operations.h.

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

◆ RunDecompressionOptimization()

void v8::internal::compiler::turboshaft::RunDecompressionOptimization ( Graph & graph,
Zone * phase_zone )

Definition at line 211 of file decompression-optimization.cc.

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

◆ RunMaglevOptimizations()

void v8::internal::compiler::turboshaft::RunMaglevOptimizations ( PipelineData * data,
maglev::MaglevCompilationInfo * compilation_info,
maglev::MaglevGraphBuilder & maglev_graph_builder,
maglev::Graph * maglev_graph )

Definition at line 6056 of file turbolev-graph-builder.cc.

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

◆ Sequence() [1/3]

template<typename T >
v8::internal::compiler::turboshaft::Sequence ( V< T > ) -> Sequence< T >

◆ Sequence() [2/3]

template<typename T >
v8::internal::compiler::turboshaft::Sequence ( V< T > ,
typename ConstOrV< T >::constant_type  ) -> Sequence< T >

◆ Sequence() [3/3]

template<typename T >
v8::internal::compiler::turboshaft::Sequence ( V< T > ,
V< T >  ) -> Sequence< T >
Here is the caller graph for this function:

◆ ShouldSkipOperation()

V8_EXPORT_PRIVATE V8_INLINE bool v8::internal::compiler::turboshaft::ShouldSkipOperation ( const Operation & op)

Definition at line 9225 of file operations.h.

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

◆ ShouldSkipOptimizationStep()

V8_EXPORT_PRIVATE bool v8::internal::compiler::turboshaft::ShouldSkipOptimizationStep ( )
inline

Definition at line 84 of file utils.h.

◆ SuccessorBlocks() [1/2]

V8_EXPORT_PRIVATE base::SmallVector< Block *, 4 > v8::internal::compiler::turboshaft::SuccessorBlocks ( const Block & block,
const Graph & graph )

Definition at line 1989 of file operations.cc.

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

◆ SuccessorBlocks() [2/2]

base::SmallVector< Block *, 4 > v8::internal::compiler::turboshaft::SuccessorBlocks ( const Operation & op)
inline

Definition at line 4488 of file operations.h.

Here is the call graph for this function:

◆ TooManyArgumentsForCall()

bool v8::internal::compiler::turboshaft::TooManyArgumentsForCall ( size_t arguments_count)
constexpr

Definition at line 424 of file turbolev-graph-builder.cc.

Here is the caller graph for this function:

◆ TryGetBuiltinId()

std::optional< Builtin > v8::internal::compiler::turboshaft::TryGetBuiltinId ( const ConstantOp * target,
JSHeapBroker * broker )

Definition at line 45 of file operations.cc.

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

◆ TryMatchConditionalCompareChainBranch()

static bool v8::internal::compiler::turboshaft::TryMatchConditionalCompareChainBranch ( InstructionSelectorT * selector,
Zone * zone,
OpIndex node,
FlagsContinuationT * cont )
static

Definition at line 1874 of file instruction-selector-arm64.cc.

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

◆ TryMatchConditionalCompareChainSet()

static bool v8::internal::compiler::turboshaft::TryMatchConditionalCompareChainSet ( InstructionSelectorT * selector,
Zone * zone,
OpIndex node )
static

Definition at line 1902 of file instruction-selector-arm64.cc.

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

◆ TryMatchConditionalCompareChainShared()

static std::optional< FlagsCondition > v8::internal::compiler::turboshaft::TryMatchConditionalCompareChainShared ( InstructionSelectorT * selector,
Zone * zone,
OpIndex node,
CompareSequence * sequence )
static

Definition at line 1786 of file instruction-selector-arm64.cc.

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

◆ UnwrapAllocate()

const AllocateOp * v8::internal::compiler::turboshaft::UnwrapAllocate ( const Graph * graph,
const Operation * op )
inline

Definition at line 56 of file memory-optimization-reducer.h.

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

◆ value_or_invalid()

r l v8::internal::compiler::turboshaft::value_or_invalid ( )

◆ ValueNeedsWriteBarrier()

bool v8::internal::compiler::turboshaft::ValueNeedsWriteBarrier ( const Graph * graph,
const Operation & value,
Isolate * isolate )
inline

Definition at line 29 of file memory-optimization-reducer.h.

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

◆ VectorForRep()

base::Vector< const RegisterRepresentation > v8::internal::compiler::turboshaft::VectorForRep ( RegisterRepresentation rep)
inline

Definition at line 5825 of file operations.h.

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

◆ VisitCompareChain()

static void v8::internal::compiler::turboshaft::VisitCompareChain ( InstructionSelectorT * selector,
OpIndex left_node,
OpIndex right_node,
RegisterRepresentation rep,
InstructionCode opcode,
ImmediateMode operand_mode,
FlagsContinuationT * cont )
static

Definition at line 1824 of file instruction-selector-arm64.cc.

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

◆ VisitOperation()

template<typename F >
auto v8::internal::compiler::turboshaft::VisitOperation ( const Operation & op,
F && f )

Definition at line 9328 of file operations.h.

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

◆ Zip()

template<typename... Iterables>
v8::internal::compiler::turboshaft::Zip ( Iterables... iterables) -> Zip< Iterables... >
Here is the caller graph for this function:

Variable Documentation

◆ const_or_v_exists_v

template<typename T >
bool v8::internal::compiler::turboshaft::const_or_v_exists_v = detail::ConstOrVTypeHelper<T>::exists
constexpr

Definition at line 794 of file index.h.

◆ kBuiltinCompilationZoneName

char v8::internal::compiler::turboshaft::kBuiltinCompilationZoneName[]
inlineconstexpr
Initial value:
=
"builtin-compilation-zone"

Definition at line 18 of file builtin-compiler.cc.

◆ kCompilationZoneName

char v8::internal::compiler::turboshaft::kCompilationZoneName[] = "compilation-zone"
inlineconstexpr

Definition at line 60 of file operations.h.

◆ kNumberOfBlockTerminatorOpcodes

uint16_t v8::internal::compiler::turboshaft::kNumberOfBlockTerminatorOpcodes
constexpr
Initial value:
=
#define TURBOSHAFT_OPERATION_LIST_BLOCK_TERMINATOR(V)
Definition operations.h:211
#define COUNT_OPCODES(Name)
Definition operations.h:406

Definition at line 407 of file operations.h.

◆ kNumberOfOpcodes

uint16_t v8::internal::compiler::turboshaft::kNumberOfOpcodes
constexpr
Initial value:
=
#define TURBOSHAFT_OPERATION_LIST(V)
Definition operations.h:362

Definition at line 412 of file operations.h.

◆ kOperationEffectsTable

std::optional<OpEffects> v8::internal::compiler::turboshaft::kOperationEffectsTable[kNumberOfOpcodes]
staticconstexpr
Initial value:

Definition at line 9087 of file operations.h.

◆ kOperationSizeDividedBySizeofOpIndexTable

size_t v8::internal::compiler::turboshaft::kOperationSizeDividedBySizeofOpIndexTable[kNumberOfOpcodes]
constexpr
Initial value:
= {
#define OPERATION_SIZE(Name)
}

Definition at line 9115 of file operations.h.

◆ kOperationSizeTable

size_t v8::internal::compiler::turboshaft::kOperationSizeTable[kNumberOfOpcodes]
constexpr
Initial value:
= {
#define OPERATION_SIZE(Name)
}

Definition at line 9110 of file operations.h.

◆ kSlotsPerId

size_t v8::internal::compiler::turboshaft::kSlotsPerId = 2
constexpr

Definition at line 31 of file index.h.

◆ kTempZoneName

char v8::internal::compiler::turboshaft::kTempZoneName[] = "temp-zone"
inlineconstexpr

Definition at line 40 of file pipelines.h.

◆ l

v8::internal::compiler::turboshaft::l

Definition at line 921 of file index.h.

◆ nan_v

template<size_t Bits>
float_type<Bits> v8::internal::compiler::turboshaft::nan_v = detail::TypeForBits<Bits>::nan
constexpr

Definition at line 161 of file types.h.

◆ nullrep

nullrep_t v8::internal::compiler::turboshaft::nullrep
constexpr

Definition at line 197 of file index.h.

◆ operation_to_opcode_v

template<typename Op >
Opcode v8::internal::compiler::turboshaft::operation_to_opcode_v = operation_to_opcode<Op>::value
constexpr

Definition at line 397 of file operations.h.

◆ OpIndex

r v8::internal::compiler::turboshaft::OpIndex

Definition at line 923 of file index.h.

◆ OptionalOpIndex

v8::internal::compiler::turboshaft::OptionalOpIndex

Definition at line 921 of file index.h.