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

#include <maglev-ir.h>

Inheritance diagram for v8::internal::maglev::Call:
Collaboration diagram for v8::internal::maglev::Call:

Public Types

enum class  TargetType { kJSFunction , kAny }
 

Public Member Functions

 Call (uint64_t bitfield, ConvertReceiverMode mode, TargetType target_type, ValueNode *function, ValueNode *context)
 
Inputfunction ()
 
const Inputfunction () const
 
Inputcontext ()
 
const Inputcontext () const
 
int num_args () const
 
Inputarg (int i)
 
void set_arg (int i, ValueNode *node)
 
auto args ()
 
void VerifyInputs (MaglevGraphLabeller *graph_labeller) const
 
int MaxCallStackArgs () const
 
void SetValueLocationConstraints ()
 
void GenerateCode (MaglevAssembler *, const ProcessingState &)
 
void PrintParams (std::ostream &, MaglevGraphLabeller *) const
 
ConvertReceiverMode receiver_mode () const
 
TargetType target_type () const
 
- Public Member Functions inherited from v8::internal::maglev::NodeTMixin< Base, Derived >
constexpr Opcode opcode () const
 
constexpr const OpPropertiesproperties () const
 

Static Public Attributes

static constexpr int kFunctionIndex = 0
 
static constexpr int kContextIndex = 1
 
static constexpr int kFixedInputCount = 2
 
static constexpr OpProperties kProperties = OpProperties::JSCall()
 

Private Types

using Base = ValueNodeT<Call>
 

Private Attributes

ConvertReceiverMode receiver_mode_
 
TargetType target_type_
 

Additional Inherited Members

- Static Public Member Functions inherited from v8::internal::maglev::NodeTMixin< Base, Derived >
template<typename... Args>
static Derived * New (Zone *zone, std::initializer_list< ValueNode * > inputs, Args &&... args)
 
template<typename... Args>
static Derived * New (Zone *zone, size_t input_count, Args &&... args)
 
- Protected Member Functions inherited from v8::internal::maglev::NodeTMixin< Base, Derived >
template<typename... Args>
 NodeTMixin (uint64_t bitfield, Args &&... args)
 

Detailed Description

Definition at line 9561 of file maglev-ir.h.

Member Typedef Documentation

◆ Base

Definition at line 9562 of file maglev-ir.h.

Member Enumeration Documentation

◆ TargetType

Enumerator
kJSFunction 
kAny 

Definition at line 9565 of file maglev-ir.h.

Constructor & Destructor Documentation

◆ Call()

v8::internal::maglev::Call::Call ( uint64_t bitfield,
ConvertReceiverMode mode,
TargetType target_type,
ValueNode * function,
ValueNode * context )
inline

Definition at line 9577 of file maglev-ir.h.

Member Function Documentation

◆ arg()

Input & v8::internal::maglev::Call::arg ( int i)
inline

Definition at line 9591 of file maglev-ir.h.

Here is the caller graph for this function:

◆ args()

auto v8::internal::maglev::Call::args ( )
inline

Definition at line 9595 of file maglev-ir.h.

Here is the call graph for this function:

◆ context() [1/2]

Input & v8::internal::maglev::Call::context ( )
inline

Definition at line 9588 of file maglev-ir.h.

◆ context() [2/2]

const Input & v8::internal::maglev::Call::context ( ) const
inline

Definition at line 9589 of file maglev-ir.h.

◆ function() [1/2]

Input & v8::internal::maglev::Call::function ( )
inline

Definition at line 9586 of file maglev-ir.h.

◆ function() [2/2]

const Input & v8::internal::maglev::Call::function ( ) const
inline

Definition at line 9587 of file maglev-ir.h.

◆ GenerateCode()

void v8::internal::maglev::Call::GenerateCode ( MaglevAssembler * ,
const ProcessingState &  )

◆ MaxCallStackArgs()

int v8::internal::maglev::Call::MaxCallStackArgs ( ) const

◆ num_args()

int v8::internal::maglev::Call::num_args ( ) const
inline

Definition at line 9590 of file maglev-ir.h.

Here is the caller graph for this function:

◆ PrintParams()

void v8::internal::maglev::Call::PrintParams ( std::ostream & os,
MaglevGraphLabeller * graph_labeller ) const

Definition at line 7928 of file maglev-ir.cc.

◆ receiver_mode()

ConvertReceiverMode v8::internal::maglev::Call::receiver_mode ( ) const
inline

Definition at line 9610 of file maglev-ir.h.

◆ set_arg()

void v8::internal::maglev::Call::set_arg ( int i,
ValueNode * node )
inline

Definition at line 9592 of file maglev-ir.h.

◆ SetValueLocationConstraints()

void v8::internal::maglev::Call::SetValueLocationConstraints ( )

◆ target_type()

TargetType v8::internal::maglev::Call::target_type ( ) const
inline

Definition at line 9611 of file maglev-ir.h.

◆ VerifyInputs()

void v8::internal::maglev::Call::VerifyInputs ( MaglevGraphLabeller * graph_labeller) const

Definition at line 597 of file maglev-ir.cc.

Here is the call graph for this function:

Member Data Documentation

◆ kContextIndex

int v8::internal::maglev::Call::kContextIndex = 1
staticconstexpr

Definition at line 9568 of file maglev-ir.h.

◆ kFixedInputCount

int v8::internal::maglev::Call::kFixedInputCount = 2
staticconstexpr

Definition at line 9569 of file maglev-ir.h.

◆ kFunctionIndex

int v8::internal::maglev::Call::kFunctionIndex = 0
staticconstexpr

Definition at line 9567 of file maglev-ir.h.

◆ kProperties

OpProperties v8::internal::maglev::Call::kProperties = OpProperties::JSCall()
staticconstexpr

Definition at line 9584 of file maglev-ir.h.

◆ receiver_mode_

ConvertReceiverMode v8::internal::maglev::Call::receiver_mode_
private

Definition at line 9614 of file maglev-ir.h.

◆ target_type_

TargetType v8::internal::maglev::Call::target_type_
private

Definition at line 9615 of file maglev-ir.h.


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