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

#include <maglev-ir.h>

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

Public Member Functions

 AllocationBlock (uint64_t bitfield, AllocationType allocation_type)
 
int MaxCallStackArgs () const
 
void SetValueLocationConstraints ()
 
void GenerateCode (MaglevAssembler *, const ProcessingState &)
 
void PrintParams (std::ostream &, MaglevGraphLabeller *) const
 
AllocationType allocation_type () const
 
int size () const
 
void set_size (int size)
 
InlinedAllocation::Listallocation_list ()
 
void Add (InlinedAllocation *alloc)
 
void TryPretenure ()
 
bool elided_write_barriers_depend_on_type () const
 
void set_elided_write_barriers_depend_on_type ()
 
- 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 Public Attributes inherited from v8::internal::maglev::FixedInputNodeTMixin< InputCount, Base, Derived >
static constexpr size_t kInputCount = InputCount
 

Private Types

using Base = FixedInputValueNodeT<0, AllocationBlock>
 

Private Attributes

AllocationType allocation_type_
 
int size_ = 0
 
bool elided_write_barriers_depend_on_type_ = false
 
InlinedAllocation::List allocation_list_
 

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

Member Typedef Documentation

◆ Base

Constructor & Destructor Documentation

◆ AllocationBlock()

v8::internal::maglev::AllocationBlock::AllocationBlock ( uint64_t bitfield,
AllocationType allocation_type )
inlineexplicit

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

Member Function Documentation

◆ Add()

void v8::internal::maglev::AllocationBlock::Add ( InlinedAllocation * alloc)
inline

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

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

◆ allocation_list()

InlinedAllocation::List & v8::internal::maglev::AllocationBlock::allocation_list ( )
inline

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

◆ allocation_type()

AllocationType v8::internal::maglev::AllocationBlock::allocation_type ( ) const
inline

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

Here is the caller graph for this function:

◆ elided_write_barriers_depend_on_type()

bool v8::internal::maglev::AllocationBlock::elided_write_barriers_depend_on_type ( ) const
inline

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

Here is the caller graph for this function:

◆ GenerateCode()

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

◆ MaxCallStackArgs()

int v8::internal::maglev::AllocationBlock::MaxCallStackArgs ( ) const
inline

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

◆ PrintParams()

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

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

Here is the call graph for this function:

◆ set_elided_write_barriers_depend_on_type()

void v8::internal::maglev::AllocationBlock::set_elided_write_barriers_depend_on_type ( )
inline

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

◆ set_size()

void v8::internal::maglev::AllocationBlock::set_size ( int size)
inline

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

Here is the call graph for this function:

◆ SetValueLocationConstraints()

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

◆ size()

int v8::internal::maglev::AllocationBlock::size ( ) const
inline

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

Here is the caller graph for this function:

◆ TryPretenure()

void v8::internal::maglev::AllocationBlock::TryPretenure ( )

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

Here is the call graph for this function:

Member Data Documentation

◆ allocation_list_

InlinedAllocation::List v8::internal::maglev::AllocationBlock::allocation_list_
private

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

◆ allocation_type_

AllocationType v8::internal::maglev::AllocationBlock::allocation_type_
private

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

◆ elided_write_barriers_depend_on_type_

bool v8::internal::maglev::AllocationBlock::elided_write_barriers_depend_on_type_ = false
private

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

◆ kProperties

OpProperties v8::internal::maglev::AllocationBlock::kProperties
staticconstexpr
Initial value:
static constexpr OpProperties DeferredCall()
Definition maglev-ir.h:1168
static constexpr OpProperties CanAllocate()
Definition maglev-ir.h:1108
static constexpr OpProperties NotIdempotent()
Definition maglev-ir.h:1111

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

◆ size_

int v8::internal::maglev::AllocationBlock::size_ = 0
private

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


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