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

#include <maglev-ir.h>

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

Public Types

using List = base::ThreadedList<InlinedAllocation>
 

Public Member Functions

 InlinedAllocation (uint64_t bitfield, VirtualObject *object)
 
Inputallocation_block_input ()
 
AllocationBlockallocation_block ()
 
void SetValueLocationConstraints ()
 
void GenerateCode (MaglevAssembler *, const ProcessingState &)
 
void PrintParams (std::ostream &, MaglevGraphLabeller *) const
 
void VerifyInputs (MaglevGraphLabeller *graph_labeller) const
 
size_t size () const
 
VirtualObjectobject () const
 
int offset () const
 
void set_offset (int offset)
 
int non_escaping_use_count () const
 
void AddNonEscapingUses (int n=1)
 
bool IsEscaping () const
 
void ForceEscaping ()
 
void SetElided ()
 
void SetEscaped ()
 
bool HasBeenElided () const
 
bool HasEscaped () const
 
bool HasBeenAnalysed () const
 
void UpdateObject (VirtualObject *object)
 
- 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 = OpProperties::NotIdempotent()
 
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, InlinedAllocation>
 

Private Member Functions

InlinedAllocation ** next ()
 

Private Attributes

VirtualObjectobject_
 
EscapeAnalysisResult escape_analysis_result_
 
int non_escaping_use_count_ = 0
 
int offset_ = -1
 
InlinedAllocationnext_ = nullptr
 
friend 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 5954 of file maglev-ir.h.

Member Typedef Documentation

◆ Base

◆ List

Constructor & Destructor Documentation

◆ InlinedAllocation()

v8::internal::maglev::InlinedAllocation::InlinedAllocation ( uint64_t bitfield,
VirtualObject * object )
inlineexplicit

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

Member Function Documentation

◆ AddNonEscapingUses()

void v8::internal::maglev::InlinedAllocation::AddNonEscapingUses ( int n = 1)
inline

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

Here is the call graph for this function:

◆ allocation_block()

AllocationBlock * v8::internal::maglev::InlinedAllocation::allocation_block ( )

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

Here is the call graph for this function:

◆ allocation_block_input()

Input & v8::internal::maglev::InlinedAllocation::allocation_block_input ( )
inline

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

Here is the caller graph for this function:

◆ ForceEscaping()

void v8::internal::maglev::InlinedAllocation::ForceEscaping ( )
inline

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

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

◆ GenerateCode()

void v8::internal::maglev::InlinedAllocation::GenerateCode ( MaglevAssembler * masm,
const ProcessingState & state )

Definition at line 132 of file maglev-ir-arm.cc.

Here is the call graph for this function:

◆ HasBeenAnalysed()

bool v8::internal::maglev::InlinedAllocation::HasBeenAnalysed ( ) const
inline

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

Here is the caller graph for this function:

◆ HasBeenElided()

bool v8::internal::maglev::InlinedAllocation::HasBeenElided ( ) const
inline

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

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

◆ HasEscaped()

bool v8::internal::maglev::InlinedAllocation::HasEscaped ( ) const
inline

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

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

◆ IsEscaping()

bool v8::internal::maglev::InlinedAllocation::IsEscaping ( ) const
inline

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

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

◆ next()

InlinedAllocation ** v8::internal::maglev::InlinedAllocation::next ( )
inlineprivate

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

◆ non_escaping_use_count()

int v8::internal::maglev::InlinedAllocation::non_escaping_use_count ( ) const
inline

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

◆ object()

VirtualObject * v8::internal::maglev::InlinedAllocation::object ( ) const
inline

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

Here is the caller graph for this function:

◆ offset()

int v8::internal::maglev::InlinedAllocation::offset ( ) const
inline

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

Here is the caller graph for this function:

◆ PrintParams()

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

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

Here is the call graph for this function:

◆ set_offset()

void v8::internal::maglev::InlinedAllocation::set_offset ( int offset)
inline

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

Here is the call graph for this function:

◆ SetElided()

void v8::internal::maglev::InlinedAllocation::SetElided ( )
inline

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

◆ SetEscaped()

void v8::internal::maglev::InlinedAllocation::SetEscaped ( )
inline

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

Here is the caller graph for this function:

◆ SetValueLocationConstraints()

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

Definition at line 123 of file maglev-ir-arm.cc.

Here is the call graph for this function:

◆ size()

size_t v8::internal::maglev::InlinedAllocation::size ( ) const
inline

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

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

◆ UpdateObject()

void v8::internal::maglev::InlinedAllocation::UpdateObject ( VirtualObject * object)
inline

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

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

◆ VerifyInputs()

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

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

Here is the call graph for this function:

Member Data Documentation

◆ escape_analysis_result_

EscapeAnalysisResult v8::internal::maglev::InlinedAllocation::escape_analysis_result_
private

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

◆ kInputTypes

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

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

◆ kProperties

OpProperties v8::internal::maglev::InlinedAllocation::kProperties = OpProperties::NotIdempotent()
staticconstexpr

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

◆ List

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

◆ next_

InlinedAllocation* v8::internal::maglev::InlinedAllocation::next_ = nullptr
private

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

◆ non_escaping_use_count_

int v8::internal::maglev::InlinedAllocation::non_escaping_use_count_ = 0
private

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

◆ object_

VirtualObject* v8::internal::maglev::InlinedAllocation::object_
private

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

◆ offset_

int v8::internal::maglev::InlinedAllocation::offset_ = -1
private

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


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