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

#include <operations.h>

Inheritance diagram for v8::internal::compiler::turboshaft::TransitionAndStoreArrayElementOp:
Collaboration diagram for v8::internal::compiler::turboshaft::TransitionAndStoreArrayElementOp:

Public Types

enum class  Kind : uint8_t {
  kElement , kNumberElement , kOddballElement , kNonNumberElement ,
  kSignedSmallElement
}
 
- Public Types inherited from v8::internal::compiler::turboshaft::FixedArityOperationT< 3, TransitionAndStoreArrayElementOp >
using Base
 
- Public Types inherited from v8::internal::compiler::turboshaft::OperationT< TransitionAndStoreArrayElementOp >
using Base
 

Public Member Functions

base::Vector< const RegisterRepresentationoutputs_rep () const
 
base::Vector< const MaybeRegisterRepresentationinputs_rep (ZoneVector< MaybeRegisterRepresentation > &storage) const
 
V< JSArrayarray () const
 
V< WordPtrindex () const
 
V< Anyvalue () const
 
 TransitionAndStoreArrayElementOp (V< JSArray > array, V< WordPtr > index, V< Any > value, Kind kind, MaybeIndirectHandle< Map > fast_map, MaybeIndirectHandle< Map > double_map)
 
RegisterRepresentation value_representation () const
 
size_t hash_value (HashingStrategy strategy=HashingStrategy::kDefault) const
 
bool operator== (const TransitionAndStoreArrayElementOp &other) const
 
auto options () const
 
- Public Member Functions inherited from v8::internal::compiler::turboshaft::FixedArityOperationT< 3, TransitionAndStoreArrayElementOp >
 FixedArityOperationT (Args... args)
 
V8_INLINE auto ExplodeImpl (Fn fn, Mapper &mapper, std::index_sequence< InputI... >, std::index_sequence< OptionI... >) const
 
V8_INLINE auto Explode (Fn fn, Mapper &mapper) const
 
- Public Member Functions inherited from v8::internal::compiler::turboshaft::OperationT< TransitionAndStoreArrayElementOp >
bool IsRequiredWhenUnused () const
 
TransitionAndStoreArrayElementOpderived_this ()
 
const TransitionAndStoreArrayElementOpderived_this () const
 
base::Vector< OpIndexinputs ()
 
base::Vector< const OpIndexinputs () const
 
V8_INLINE OpIndexinput (size_t i)
 
V8_INLINE V< Anyinput (size_t i) const
 
V8_INLINE V< Tinput (size_t i) const
 
size_t StorageSlotCount () const
 
 OperationT (size_t input_count)
 
 OperationT (ShadowyOpIndexVectorWrapper inputs)
 
bool EqualsForGVN (const Base &other) const
 
bool operator== (const Base &other) const
 
size_t HashWithOptions (const Args &... args) const
 
size_t hash_value (HashingStrategy strategy=HashingStrategy::kDefault) const
 
void PrintInputs (std::ostream &os, const std::string &op_index_prefix) const
 
void PrintOptions (std::ostream &os) const
 
void Validate (const Graph &graph) const
 
- Public Member Functions inherited from v8::internal::compiler::turboshaft::Operation
base::Vector< const OpIndexinputs () const
 
V8_INLINE OpIndex input (size_t i) const
 
size_t StorageSlotCount () const
 
base::Vector< const RegisterRepresentationoutputs_rep () const
 
base::Vector< const MaybeRegisterRepresentationinputs_rep (ZoneVector< MaybeRegisterRepresentation > &storage) const
 
template<class Op >
bool Is () const
 
template<class Op >
underlying_operation_t< Op > & Cast ()
 
template<class Op >
const underlying_operation_t< Op > & Cast () const
 
template<class Op >
const underlying_operation_t< Op > * TryCast () const
 
template<class Op >
underlying_operation_t< Op > * TryCast ()
 
OpEffects Effects () const
 
bool IsBlockTerminator () const
 
bool IsRequiredWhenUnused () const
 
bool IsProtectedLoad () const
 
std::string ToString () const
 
void PrintInputs (std::ostream &os, const std::string &op_index_prefix) const
 
void PrintOptions (std::ostream &os) const
 
bool IsOnlyUserOf (const Operation &value, const Graph &graph) const
 
void Print () const
 

Public Attributes

Kind kind
 
MaybeIndirectHandle< Mapfast_map
 
MaybeIndirectHandle< Mapdouble_map
 
- Public Attributes inherited from v8::internal::compiler::turboshaft::Operation
const Opcode opcode
 
SaturatedUint8 saturated_use_count
 
const uint16_t input_count
 

Static Public Attributes

static constexpr OpEffects effects
 
- Static Public Attributes inherited from v8::internal::compiler::turboshaft::FixedArityOperationT< 3, TransitionAndStoreArrayElementOp >
static constexpr uint16_t input_count
 
- Static Public Attributes inherited from v8::internal::compiler::turboshaft::OperationT< TransitionAndStoreArrayElementOp >
static const Opcode opcode
 

Additional Inherited Members

- Static Public Member Functions inherited from v8::internal::compiler::turboshaft::FixedArityOperationT< 3, TransitionAndStoreArrayElementOp >
static TransitionAndStoreArrayElementOpNew (Graph *graph, Args... args)
 
- Static Public Member Functions inherited from v8::internal::compiler::turboshaft::OperationT< TransitionAndStoreArrayElementOp >
static constexpr OpEffects Effects ()
 
static constexpr bool IsBlockTerminator ()
 
static constexpr std::optional< OpEffectsEffectsIfStatic ()
 
static size_t StorageSlotCount (size_t input_count)
 
static TransitionAndStoreArrayElementOpNew (Graph *graph, size_t input_count, Args... args)
 
static TransitionAndStoreArrayElementOpNew (Graph *graph, ShadowyOpIndexVectorWrapper inputs, Args... args)
 
- Static Public Member Functions inherited from v8::internal::compiler::turboshaft::Operation
static size_t StorageSlotCount (Opcode opcode, size_t input_count)
 
- Protected Member Functions inherited from v8::internal::compiler::turboshaft::Operation
 Operation (Opcode opcode, size_t input_count)
 
template<class OpmaskT >
 V8_CLANG_NO_SANITIZE ("memory") bool IsOpmask() const
 
 Operation (const Operation &)=delete
 
Operationoperator= (const Operation &)=delete
 

Detailed Description

Definition at line 6003 of file operations.h.

Member Enumeration Documentation

◆ Kind

Enumerator
kElement 
kNumberElement 
kOddballElement 
kNonNumberElement 
kSignedSmallElement 

Definition at line 6005 of file operations.h.

Constructor & Destructor Documentation

◆ TransitionAndStoreArrayElementOp()

v8::internal::compiler::turboshaft::TransitionAndStoreArrayElementOp::TransitionAndStoreArrayElementOp ( V< JSArray > array,
V< WordPtr > index,
V< Any > value,
Kind kind,
MaybeIndirectHandle< Map > fast_map,
MaybeIndirectHandle< Map > double_map )
inline

Definition at line 6036 of file operations.h.

Member Function Documentation

◆ array()

V< JSArray > v8::internal::compiler::turboshaft::TransitionAndStoreArrayElementOp::array ( ) const
inline

Definition at line 6032 of file operations.h.

◆ hash_value()

size_t v8::internal::compiler::turboshaft::TransitionAndStoreArrayElementOp::hash_value ( HashingStrategy strategy = HashingStrategy::kDefault) const
inline

Definition at line 6059 of file operations.h.

Here is the call graph for this function:

◆ index()

V< WordPtr > v8::internal::compiler::turboshaft::TransitionAndStoreArrayElementOp::index ( ) const
inline

Definition at line 6033 of file operations.h.

◆ inputs_rep()

base::Vector< const MaybeRegisterRepresentation > v8::internal::compiler::turboshaft::TransitionAndStoreArrayElementOp::inputs_rep ( ZoneVector< MaybeRegisterRepresentation > & storage) const
inline

Definition at line 6025 of file operations.h.

Here is the call graph for this function:

◆ operator==()

bool v8::internal::compiler::turboshaft::TransitionAndStoreArrayElementOp::operator== ( const TransitionAndStoreArrayElementOp & other) const
inline

Definition at line 6065 of file operations.h.

Here is the call graph for this function:

◆ options()

auto v8::internal::compiler::turboshaft::TransitionAndStoreArrayElementOp::options ( ) const
inline

Definition at line 6070 of file operations.h.

◆ outputs_rep()

base::Vector< const RegisterRepresentation > v8::internal::compiler::turboshaft::TransitionAndStoreArrayElementOp::outputs_rep ( ) const
inline

Definition at line 6023 of file operations.h.

◆ value()

V< Any > v8::internal::compiler::turboshaft::TransitionAndStoreArrayElementOp::value ( ) const
inline

Definition at line 6034 of file operations.h.

◆ value_representation()

RegisterRepresentation v8::internal::compiler::turboshaft::TransitionAndStoreArrayElementOp::value_representation ( ) const
inline

Definition at line 6046 of file operations.h.

Member Data Documentation

◆ double_map

MaybeIndirectHandle<Map> v8::internal::compiler::turboshaft::TransitionAndStoreArrayElementOp::double_map

Definition at line 6014 of file operations.h.

◆ effects

OpEffects v8::internal::compiler::turboshaft::TransitionAndStoreArrayElementOp::effects
staticconstexpr
Initial value:
=
OpEffects()
.CanReadHeapMemory()
.CanWriteHeapMemory()
.CanDependOnChecks()

Definition at line 6016 of file operations.h.

◆ fast_map

MaybeIndirectHandle<Map> v8::internal::compiler::turboshaft::TransitionAndStoreArrayElementOp::fast_map

Definition at line 6013 of file operations.h.

◆ kind

Kind v8::internal::compiler::turboshaft::TransitionAndStoreArrayElementOp::kind

Definition at line 6012 of file operations.h.


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