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

#include <operations.h>

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

Classes

union  Storage
 

Public Types

enum class  Kind : uint8_t {
  kWord32 , kWord64 , kFloat32 , kFloat64 ,
  kSmi , kNumber , kTaggedIndex , kExternal ,
  kHeapObject , kCompressedHeapObject , kTrustedHeapObject , kRelocatableWasmCall ,
  kRelocatableWasmStubCall , kRelocatableWasmIndirectCallTarget , kRelocatableWasmCanonicalSignatureId
}
 
- Public Types inherited from v8::internal::compiler::turboshaft::FixedArityOperationT< 0, ConstantOp >
using Base
 
- Public Types inherited from v8::internal::compiler::turboshaft::OperationT< ConstantOp >
using Base
 

Public Member Functions

base::Vector< const RegisterRepresentationoutputs_rep () const
 
base::Vector< const MaybeRegisterRepresentationinputs_rep (ZoneVector< MaybeRegisterRepresentation > &) const
 
 ConstantOp (Kind kind, Storage storage)
 
void Validate (const Graph &graph) const
 
uint64_t integral () const
 
int64_t signed_integral () const
 
uint32_t word32 () const
 
uint64_t word64 () const
 
i::Tagged< Smismi () const
 
i::Float64 number () const
 
i::Float32 float32 () const
 
i::Float64 float64 () const
 
int32_t tagged_index () const
 
ExternalReference external_reference () const
 
IndirectHandle< i::HeapObjecthandle () const
 
bool IsWord (uint64_t value) const
 
bool IsIntegral () const
 
auto options () const
 
void PrintOptions (std::ostream &os) const
 
size_t hash_value (HashingStrategy strategy=HashingStrategy::kDefault) const
 
bool operator== (const ConstantOp &other) const
 
- Public Member Functions inherited from v8::internal::compiler::turboshaft::FixedArityOperationT< 0, ConstantOp >
 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< ConstantOp >
bool IsRequiredWhenUnused () const
 
ConstantOpderived_this ()
 
const ConstantOpderived_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
 

Static Public Member Functions

static RegisterRepresentation Representation (Kind kind)
 
- Static Public Member Functions inherited from v8::internal::compiler::turboshaft::FixedArityOperationT< 0, ConstantOp >
static ConstantOpNew (Graph *graph, Args... args)
 
- Static Public Member Functions inherited from v8::internal::compiler::turboshaft::OperationT< ConstantOp >
static constexpr OpEffects Effects ()
 
static constexpr bool IsBlockTerminator ()
 
static constexpr std::optional< OpEffectsEffectsIfStatic ()
 
static size_t StorageSlotCount (size_t input_count)
 
static ConstantOpNew (Graph *graph, size_t input_count, Args... args)
 
static ConstantOpNew (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)
 

Public Attributes

Kind kind
 
RegisterRepresentation rep = Representation(kind)
 
union v8::internal::compiler::turboshaft::ConstantOp::Storage storage
 
- 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 = OpEffects()
 
- Static Public Attributes inherited from v8::internal::compiler::turboshaft::FixedArityOperationT< 0, ConstantOp >
static constexpr uint16_t input_count
 
- Static Public Attributes inherited from v8::internal::compiler::turboshaft::OperationT< ConstantOp >
static const Opcode opcode
 

Additional Inherited Members

- 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 2602 of file operations.h.

Member Enumeration Documentation

◆ Kind

Enumerator
kWord32 
kWord64 
kFloat32 
kFloat64 
kSmi 
kNumber 
kTaggedIndex 
kExternal 
kHeapObject 
kCompressedHeapObject 
kTrustedHeapObject 
kRelocatableWasmCall 
kRelocatableWasmStubCall 
kRelocatableWasmIndirectCallTarget 
kRelocatableWasmCanonicalSignatureId 

Definition at line 2603 of file operations.h.

Constructor & Destructor Documentation

◆ ConstantOp()

v8::internal::compiler::turboshaft::ConstantOp::ConstantOp ( Kind kind,
Storage storage )
inline

Definition at line 2682 of file operations.h.

Member Function Documentation

◆ external_reference()

ExternalReference v8::internal::compiler::turboshaft::ConstantOp::external_reference ( ) const
inline

Definition at line 2747 of file operations.h.

Here is the caller graph for this function:

◆ float32()

i::Float32 v8::internal::compiler::turboshaft::ConstantOp::float32 ( ) const
inline

Definition at line 2732 of file operations.h.

Here is the caller graph for this function:

◆ float64()

i::Float64 v8::internal::compiler::turboshaft::ConstantOp::float64 ( ) const
inline

Definition at line 2737 of file operations.h.

Here is the caller graph for this function:

◆ handle()

IndirectHandle< i::HeapObject > v8::internal::compiler::turboshaft::ConstantOp::handle ( ) const
inline

Definition at line 2752 of file operations.h.

Here is the caller graph for this function:

◆ hash_value()

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

Definition at line 2780 of file operations.h.

◆ inputs_rep()

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

Definition at line 2649 of file operations.h.

◆ integral()

uint64_t v8::internal::compiler::turboshaft::ConstantOp::integral ( ) const
inline

Definition at line 2694 of file operations.h.

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

◆ IsIntegral()

bool v8::internal::compiler::turboshaft::ConstantOp::IsIntegral ( ) const
inline

Definition at line 2769 of file operations.h.

Here is the caller graph for this function:

◆ IsWord()

bool v8::internal::compiler::turboshaft::ConstantOp::IsWord ( uint64_t value) const
inline

Definition at line 2758 of file operations.h.

◆ number()

i::Float64 v8::internal::compiler::turboshaft::ConstantOp::number ( ) const
inline

Definition at line 2727 of file operations.h.

Here is the caller graph for this function:

◆ operator==()

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

Definition at line 2810 of file operations.h.

◆ options()

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

Definition at line 2777 of file operations.h.

◆ outputs_rep()

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

Definition at line 2645 of file operations.h.

◆ PrintOptions()

void v8::internal::compiler::turboshaft::ConstantOp::PrintOptions ( std::ostream & os) const

Definition at line 555 of file operations.cc.

Here is the call graph for this function:

◆ Representation()

static RegisterRepresentation v8::internal::compiler::turboshaft::ConstantOp::Representation ( Kind kind)
inlinestatic

Definition at line 2654 of file operations.h.

◆ signed_integral()

int64_t v8::internal::compiler::turboshaft::ConstantOp::signed_integral ( ) const
inline

Definition at line 2699 of file operations.h.

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

◆ smi()

i::Tagged< Smi > v8::internal::compiler::turboshaft::ConstantOp::smi ( ) const
inline

Definition at line 2722 of file operations.h.

Here is the caller graph for this function:

◆ tagged_index()

int32_t v8::internal::compiler::turboshaft::ConstantOp::tagged_index ( ) const
inline

Definition at line 2742 of file operations.h.

Here is the caller graph for this function:

◆ Validate()

void v8::internal::compiler::turboshaft::ConstantOp::Validate ( const Graph & graph) const
inline

Definition at line 2685 of file operations.h.

◆ word32()

uint32_t v8::internal::compiler::turboshaft::ConstantOp::word32 ( ) const
inline

Definition at line 2712 of file operations.h.

Here is the caller graph for this function:

◆ word64()

uint64_t v8::internal::compiler::turboshaft::ConstantOp::word64 ( ) const
inline

Definition at line 2717 of file operations.h.

Here is the caller graph for this function:

Member Data Documentation

◆ effects

OpEffects v8::internal::compiler::turboshaft::ConstantOp::effects = OpEffects()
staticconstexpr

Definition at line 2644 of file operations.h.

◆ kind

Kind v8::internal::compiler::turboshaft::ConstantOp::kind

Definition at line 2621 of file operations.h.

◆ rep

RegisterRepresentation v8::internal::compiler::turboshaft::ConstantOp::rep = Representation(kind)

Definition at line 2622 of file operations.h.

◆ storage

union v8::internal::compiler::turboshaft::ConstantOp::Storage v8::internal::compiler::turboshaft::ConstantOp::storage

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