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

#include <maglev-ir.h>

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

Public Member Functions

 CreateFunctionContext (uint64_t bitfield, compiler::ScopeInfoRef scope_info, uint32_t slot_count, ScopeType scope_type)
 
compiler::ScopeInfoRef scope_info () const
 
uint32_t slot_count () const
 
ScopeType scope_type () const
 
Inputcontext ()
 
int MaxCallStackArgs () const
 
void SetValueLocationConstraints ()
 
void GenerateCode (MaglevAssembler *, const ProcessingState &)
 
void PrintParams (std::ostream &, MaglevGraphLabeller *) const
 
- Public Member Functions inherited from v8::internal::maglev::FixedInputNodeTMixin< InputCount, Base, Derived >
constexpr bool has_inputs () const
 
constexpr uint16_t input_count () const
 
constexpr auto end ()
 
void VerifyInputs (MaglevGraphLabeller *graph_labeller) 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 OpProperties kProperties
 
static constexpr Base::InputTypes kInputTypes {ValueRepresentation::kTagged}
 
- Static Public Attributes inherited from v8::internal::maglev::FixedInputNodeTMixin< InputCount, Base, Derived >
static constexpr size_t kInputCount = InputCount
 

Private Types

using Base = FixedInputValueNodeT<1, CreateFunctionContext>
 

Private Attributes

const compiler::ScopeInfoRef scope_info_
 
const uint32_t slot_count_
 
ScopeType scope_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 Types inherited from v8::internal::maglev::FixedInputNodeTMixin< InputCount, Base, Derived >
using InputTypes = detail::ArrayWrapper<kInputCount>
 
- Protected Member Functions inherited from v8::internal::maglev::FixedInputNodeTMixin< InputCount, Base, Derived >
template<typename... Args>
 FixedInputNodeTMixin (uint64_t bitfield, Args &&... args)
 
- Protected Member Functions inherited from v8::internal::maglev::NodeTMixin< Base, Derived >
template<typename... Args>
 NodeTMixin (uint64_t bitfield, Args &&... args)
 
- Protected Attributes inherited from v8::internal::maglev::FixedInputNodeTMixin< InputCount, Base, Derived >
detail::YouNeedToDefineAnInputTypesArrayInYourDerivedClass kInputTypes
 

Detailed Description

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

Member Typedef Documentation

◆ Base

Constructor & Destructor Documentation

◆ CreateFunctionContext()

v8::internal::maglev::CreateFunctionContext::CreateFunctionContext ( uint64_t bitfield,
compiler::ScopeInfoRef scope_info,
uint32_t slot_count,
ScopeType scope_type )
inlineexplicit

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

Member Function Documentation

◆ context()

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

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

◆ GenerateCode()

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

◆ MaxCallStackArgs()

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

◆ PrintParams()

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

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

Here is the call graph for this function:

◆ scope_info()

compiler::ScopeInfoRef v8::internal::maglev::CreateFunctionContext::scope_info ( ) const
inline

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

Here is the caller graph for this function:

◆ scope_type()

ScopeType v8::internal::maglev::CreateFunctionContext::scope_type ( ) const
inline

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

◆ SetValueLocationConstraints()

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

◆ slot_count()

uint32_t v8::internal::maglev::CreateFunctionContext::slot_count ( ) const
inline

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

Here is the caller graph for this function:

Member Data Documentation

◆ kInputTypes

Base::InputTypes v8::internal::maglev::CreateFunctionContext::kInputTypes {ValueRepresentation::kTagged}
staticconstexpr

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

◆ kProperties

OpProperties v8::internal::maglev::CreateFunctionContext::kProperties
staticconstexpr
Initial value:
=
static constexpr OpProperties CanAllocate()
Definition maglev-ir.h:1108
static constexpr OpProperties Call()
Definition maglev-ir.h:1084
static constexpr OpProperties LazyDeopt()
Definition maglev-ir.h:1091
static constexpr OpProperties NotIdempotent()
Definition maglev-ir.h:1111

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

◆ scope_info_

const compiler::ScopeInfoRef v8::internal::maglev::CreateFunctionContext::scope_info_
private

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

◆ scope_type_

ScopeType v8::internal::maglev::CreateFunctionContext::scope_type_
private

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

◆ slot_count_

const uint32_t v8::internal::maglev::CreateFunctionContext::slot_count_
private

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


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