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

#include <maglev-ir.h>

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

Public Member Functions

 CallCPPBuiltin (uint64_t bitfield, Builtin builtin, ValueNode *target, ValueNode *new_target, ValueNode *context)
 
Builtin builtin () const
 
Inputtarget ()
 
const Inputtarget () const
 
Inputnew_target ()
 
const Inputnew_target () 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
 
- 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 kTargetIndex = 0
 
static constexpr int kNewTargetIndex = 1
 
static constexpr int kContextIndex = 2
 
static constexpr int kFixedInputCount = 3
 
static constexpr OpProperties kProperties = OpProperties::JSCall()
 

Private Types

using Base = ValueNodeT<CallCPPBuiltin>
 

Private Attributes

Builtin builtin_
 

Static Private Attributes

static constexpr Builtin kCEntry_Builtin
 

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 9784 of file maglev-ir.h.

Member Typedef Documentation

◆ Base

Constructor & Destructor Documentation

◆ CallCPPBuiltin()

v8::internal::maglev::CallCPPBuiltin::CallCPPBuiltin ( uint64_t bitfield,
Builtin builtin,
ValueNode * target,
ValueNode * new_target,
ValueNode * context )
inline

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

Here is the call graph for this function:

Member Function Documentation

◆ arg()

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

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

Here is the caller graph for this function:

◆ args()

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

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

Here is the call graph for this function:

◆ builtin()

Builtin v8::internal::maglev::CallCPPBuiltin::builtin ( ) const
inline

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

◆ context() [1/2]

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

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

◆ context() [2/2]

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

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

◆ GenerateCode()

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

◆ MaxCallStackArgs()

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

◆ new_target() [1/2]

Input & v8::internal::maglev::CallCPPBuiltin::new_target ( )
inline

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

Here is the caller graph for this function:

◆ new_target() [2/2]

const Input & v8::internal::maglev::CallCPPBuiltin::new_target ( ) const
inline

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

◆ num_args()

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

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

Here is the caller graph for this function:

◆ PrintParams()

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

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

Here is the call graph for this function:

◆ set_arg()

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

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

Here is the caller graph for this function:

◆ SetValueLocationConstraints()

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

◆ target() [1/2]

Input & v8::internal::maglev::CallCPPBuiltin::target ( )
inline

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

◆ target() [2/2]

const Input & v8::internal::maglev::CallCPPBuiltin::target ( ) const
inline

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

◆ VerifyInputs()

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

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

Here is the call graph for this function:

Member Data Documentation

◆ builtin_

Builtin v8::internal::maglev::CallCPPBuiltin::builtin_
private

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

◆ kCEntry_Builtin

Builtin v8::internal::maglev::CallCPPBuiltin::kCEntry_Builtin
staticconstexprprivate
Initial value:
=
Builtin::kCEntry_Return1_ArgvOnStack_BuiltinExit

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

◆ kContextIndex

int v8::internal::maglev::CallCPPBuiltin::kContextIndex = 2
staticconstexpr

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

◆ kFixedInputCount

int v8::internal::maglev::CallCPPBuiltin::kFixedInputCount = 3
staticconstexpr

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

◆ kNewTargetIndex

int v8::internal::maglev::CallCPPBuiltin::kNewTargetIndex = 1
staticconstexpr

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

◆ kProperties

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

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

◆ kTargetIndex

int v8::internal::maglev::CallCPPBuiltin::kTargetIndex = 0
staticconstexpr

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


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