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

#include <maglev-ir.h>

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

Public Types

enum  Mode { kNoProfiling , kNoProfilingInlined , kGeneric }
 

Public Member Functions

 CallKnownApiFunction (uint64_t bitfield, Mode mode, compiler::FunctionTemplateInfoRef function_template_info, ValueNode *context, ValueNode *receiver)
 
Inputcontext ()
 
const Inputcontext () const
 
Inputreceiver ()
 
const Inputreceiver () const
 
int num_args () const
 
Inputarg (int i)
 
void set_arg (int i, ValueNode *node)
 
auto args ()
 
Mode mode () const
 
compiler::FunctionTemplateInfoRef function_template_info () const
 
bool inline_builtin () const
 
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 kContextIndex = 0
 
static constexpr int kReceiverIndex = 1
 
static constexpr int kFixedInputCount = 2
 
static constexpr OpProperties kProperties = OpProperties::JSCall()
 

Private Types

using Base = ValueNodeT<CallKnownApiFunction>
 
using ModeField = NextBitField<Mode, 2>
 

Private Member Functions

void GenerateCallApiCallbackOptimizedInline (MaglevAssembler *masm, const ProcessingState &state)
 

Private Attributes

const compiler::FunctionTemplateInfoRef function_template_info_
 
const compiler::OptionalJSObjectRef api_holder_
 

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

Member Typedef Documentation

◆ Base

◆ ModeField

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

Member Enumeration Documentation

◆ Mode

Enumerator
kNoProfiling 
kNoProfilingInlined 
kGeneric 

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

Constructor & Destructor Documentation

◆ CallKnownApiFunction()

v8::internal::maglev::CallKnownApiFunction::CallKnownApiFunction ( uint64_t bitfield,
Mode mode,
compiler::FunctionTemplateInfoRef function_template_info,
ValueNode * context,
ValueNode * receiver )
inline

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

Here is the call graph for this function:

Member Function Documentation

◆ arg()

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

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

Here is the caller graph for this function:

◆ args()

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

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

Here is the call graph for this function:

◆ context() [1/2]

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

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

◆ context() [2/2]

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

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

◆ function_template_info()

compiler::FunctionTemplateInfoRef v8::internal::maglev::CallKnownApiFunction::function_template_info ( ) const
inline

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

◆ GenerateCallApiCallbackOptimizedInline()

void v8::internal::maglev::CallKnownApiFunction::GenerateCallApiCallbackOptimizedInline ( MaglevAssembler * masm,
const ProcessingState & state )
private

◆ GenerateCode()

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

◆ inline_builtin()

bool v8::internal::maglev::CallKnownApiFunction::inline_builtin ( ) const
inline

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

Here is the call graph for this function:

◆ MaxCallStackArgs()

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

◆ mode()

Mode v8::internal::maglev::CallKnownApiFunction::mode ( ) const
inline

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

Here is the caller graph for this function:

◆ num_args()

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

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

Here is the caller graph for this function:

◆ PrintParams()

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

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

Here is the call graph for this function:

◆ receiver() [1/2]

Input & v8::internal::maglev::CallKnownApiFunction::receiver ( )
inline

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

Here is the caller graph for this function:

◆ receiver() [2/2]

const Input & v8::internal::maglev::CallKnownApiFunction::receiver ( ) const
inline

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

◆ set_arg()

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

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

◆ SetValueLocationConstraints()

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

◆ VerifyInputs()

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

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

Here is the call graph for this function:

Member Data Documentation

◆ api_holder_

const compiler::OptionalJSObjectRef v8::internal::maglev::CallKnownApiFunction::api_holder_
private

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

◆ function_template_info_

const compiler::FunctionTemplateInfoRef v8::internal::maglev::CallKnownApiFunction::function_template_info_
private

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

◆ kContextIndex

int v8::internal::maglev::CallKnownApiFunction::kContextIndex = 0
staticconstexpr

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

◆ kFixedInputCount

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

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

◆ kProperties

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

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

◆ kReceiverIndex

int v8::internal::maglev::CallKnownApiFunction::kReceiverIndex = 1
staticconstexpr

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


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