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

#include <operations.h>

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

Public Member Functions

OpEffects Effects () const
 
base::Vector< const RegisterRepresentationoutputs_rep () const
 
base::Vector< const RegisterRepresentationresults_rep () const
 
base::Vector< const MaybeRegisterRepresentationinputs_rep (ZoneVector< MaybeRegisterRepresentation > &storage) const
 
bool HasFrameState () const
 
V< CallTargetcallee () const
 
OptionalV< FrameStateframe_state () const
 
base::Vector< const OpIndexarguments () const
 
V8_EXPORT_PRIVATE bool IsStackCheck (const Graph &graph, JSHeapBroker *broker, StackCheckKind kind) const
 
 CallOp (V< CallTarget > callee, OptionalV< FrameState > frame_state, base::Vector< const OpIndex > arguments, const TSCallDescriptor *descriptor, OpEffects effects)
 
template<typename Fn , typename Mapper >
V8_INLINE auto Explode (Fn fn, Mapper &mapper) const
 
void Validate (const Graph &graph) const
 
auto options () const
 
size_t hash_value (HashingStrategy strategy=HashingStrategy::kDefault) const
 
void PrintOptions (std::ostream &os) const
 
- Public Member Functions inherited from v8::internal::compiler::turboshaft::OperationT< CallOp >
bool IsRequiredWhenUnused () const
 
CallOpderived_this ()
 
const CallOpderived_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 CallOpNew (Graph *graph, V< CallTarget > callee, OptionalV< FrameState > frame_state, base::Vector< const OpIndex > arguments, const TSCallDescriptor *descriptor, OpEffects effects)
 
- Static Public Member Functions inherited from v8::internal::compiler::turboshaft::OperationT< CallOp >
static constexpr OpEffects Effects ()
 
static constexpr bool IsBlockTerminator ()
 
static constexpr std::optional< OpEffectsEffectsIfStatic ()
 
static size_t StorageSlotCount (size_t input_count)
 
static CallOpNew (Graph *graph, size_t input_count, Args... args)
 
static CallOpNew (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

const TSCallDescriptordescriptor
 
OpEffects callee_effects
 
- Public Attributes inherited from v8::internal::compiler::turboshaft::Operation
const Opcode opcode
 
SaturatedUint8 saturated_use_count
 
const uint16_t input_count
 

Additional Inherited Members

- Public Types inherited from v8::internal::compiler::turboshaft::OperationT< CallOp >
using Base
 
- Static Public Attributes inherited from v8::internal::compiler::turboshaft::OperationT< CallOp >
static const Opcode opcode
 
- 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 4057 of file operations.h.

Constructor & Destructor Documentation

◆ CallOp()

v8::internal::compiler::turboshaft::CallOp::CallOp ( V< CallTarget > callee,
OptionalV< FrameState > frame_state,
base::Vector< const OpIndex > arguments,
const TSCallDescriptor * descriptor,
OpEffects effects )
inline

Definition at line 4112 of file operations.h.

Here is the call graph for this function:

Member Function Documentation

◆ arguments()

base::Vector< const OpIndex > v8::internal::compiler::turboshaft::CallOp::arguments ( ) const
inline

Definition at line 4105 of file operations.h.

Here is the caller graph for this function:

◆ callee()

V< CallTarget > v8::internal::compiler::turboshaft::CallOp::callee ( ) const
inline

Definition at line 4100 of file operations.h.

Here is the caller graph for this function:

◆ Effects()

OpEffects v8::internal::compiler::turboshaft::CallOp::Effects ( ) const
inline

Definition at line 4061 of file operations.h.

Here is the caller graph for this function:

◆ Explode()

template<typename Fn , typename Mapper >
V8_INLINE auto v8::internal::compiler::turboshaft::CallOp::Explode ( Fn fn,
Mapper & mapper ) const
inline

Definition at line 4128 of file operations.h.

◆ frame_state()

OptionalV< FrameState > v8::internal::compiler::turboshaft::CallOp::frame_state ( ) const
inline

Definition at line 4101 of file operations.h.

Here is the caller graph for this function:

◆ HasFrameState()

bool v8::internal::compiler::turboshaft::CallOp::HasFrameState ( ) const
inline

Definition at line 4096 of file operations.h.

◆ hash_value()

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

Definition at line 2022 of file operations.cc.

Here is the call graph for this function:

◆ inputs_rep()

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

Definition at line 4069 of file operations.h.

Here is the call graph for this function:

◆ IsStackCheck()

bool v8::internal::compiler::turboshaft::CallOp::IsStackCheck ( const Graph & graph,
JSHeapBroker * broker,
StackCheckKind kind ) const

Definition at line 64 of file operations.cc.

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

◆ New()

static CallOp & v8::internal::compiler::turboshaft::CallOp::New ( Graph * graph,
V< CallTarget > callee,
OptionalV< FrameState > frame_state,
base::Vector< const OpIndex > arguments,
const TSCallDescriptor * descriptor,
OpEffects effects )
inlinestatic

Definition at line 4142 of file operations.h.

Here is the call graph for this function:

◆ options()

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

Definition at line 4152 of file operations.h.

Here is the caller graph for this function:

◆ outputs_rep()

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

Definition at line 4064 of file operations.h.

◆ PrintOptions()

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

Definition at line 91 of file operations.cc.

◆ results_rep()

base::Vector< const RegisterRepresentation > v8::internal::compiler::turboshaft::CallOp::results_rep ( ) const
inline

Definition at line 4065 of file operations.h.

Here is the caller graph for this function:

◆ Validate()

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

Definition at line 4136 of file operations.h.

Here is the call graph for this function:

Member Data Documentation

◆ callee_effects

OpEffects v8::internal::compiler::turboshaft::CallOp::callee_effects

Definition at line 4059 of file operations.h.

◆ descriptor

const TSCallDescriptor* v8::internal::compiler::turboshaft::CallOp::descriptor

Definition at line 4058 of file operations.h.


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