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

#include <frame.h>

Inheritance diagram for v8::internal::compiler::Frame:
Collaboration diagram for v8::internal::compiler::Frame:

Public Member Functions

 Frame (int fixed_frame_size_in_slots, Zone *zone)
 
 Frame (const Frame &)=delete
 
Frameoperator= (const Frame &)=delete
 
int GetTotalFrameSlotCount () const
 
int GetFixedSlotCount () const
 
int GetSpillSlotCount () const
 
int GetReturnSlotCount () const
 
void SetAllocatedRegisters (BitVector *regs)
 
void SetAllocatedDoubleRegisters (BitVector *regs)
 
bool DidAllocateDoubleRegisters () const
 
void AlignSavedCalleeRegisterSlots (int alignment=kDoubleSize)
 
void AllocateSavedCalleeRegisterSlots (int count)
 
int AllocateSpillSlot (int width, int alignment=0, bool is_tagged=false)
 
void EnsureReturnSlots (int count)
 
void AlignFrame (int alignment=kDoubleSize)
 
int ReserveSpillSlots (size_t slot_count)
 
const GrowableBitVectortagged_slots () const
 
- Public Member Functions inherited from v8::internal::ZoneObject
void * operator new (size_t, Zone *)=delete
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)=delete
 

Private Attributes

int fixed_slot_count_
 
int spill_slot_count_ = 0
 
int return_slot_count_ = 0
 
AlignedSlotAllocator slot_allocator_
 
BitVectorallocated_registers_
 
BitVectorallocated_double_registers_
 
Zonezone_
 
GrowableBitVector tagged_slots_bits_
 

Detailed Description

Definition at line 91 of file frame.h.

Constructor & Destructor Documentation

◆ Frame() [1/2]

v8::internal::compiler::Frame::Frame ( int fixed_frame_size_in_slots,
Zone * zone )
explicit

Definition at line 11 of file frame.cc.

Here is the call graph for this function:

◆ Frame() [2/2]

v8::internal::compiler::Frame::Frame ( const Frame & )
delete

Member Function Documentation

◆ AlignFrame()

void v8::internal::compiler::Frame::AlignFrame ( int alignment = kDoubleSize)

Definition at line 19 of file frame.cc.

Here is the call graph for this function:

◆ AlignSavedCalleeRegisterSlots()

void v8::internal::compiler::Frame::AlignSavedCalleeRegisterSlots ( int alignment = kDoubleSize)
inline

Definition at line 118 of file frame.h.

◆ AllocateSavedCalleeRegisterSlots()

void v8::internal::compiler::Frame::AllocateSavedCalleeRegisterSlots ( int count)
inline

Definition at line 130 of file frame.h.

◆ AllocateSpillSlot()

int v8::internal::compiler::Frame::AllocateSpillSlot ( int width,
int alignment = 0,
bool is_tagged = false )
inline

Definition at line 138 of file frame.h.

Here is the caller graph for this function:

◆ DidAllocateDoubleRegisters()

bool v8::internal::compiler::Frame::DidAllocateDoubleRegisters ( ) const
inline

Definition at line 114 of file frame.h.

◆ EnsureReturnSlots()

void v8::internal::compiler::Frame::EnsureReturnSlots ( int count)
inline

Definition at line 173 of file frame.h.

Here is the caller graph for this function:

◆ GetFixedSlotCount()

int v8::internal::compiler::Frame::GetFixedSlotCount ( ) const
inline

Definition at line 100 of file frame.h.

◆ GetReturnSlotCount()

int v8::internal::compiler::Frame::GetReturnSlotCount ( ) const
inline

Definition at line 102 of file frame.h.

◆ GetSpillSlotCount()

int v8::internal::compiler::Frame::GetSpillSlotCount ( ) const
inline

Definition at line 101 of file frame.h.

◆ GetTotalFrameSlotCount()

int v8::internal::compiler::Frame::GetTotalFrameSlotCount ( ) const
inline

Definition at line 97 of file frame.h.

◆ operator=()

Frame & v8::internal::compiler::Frame::operator= ( const Frame & )
delete

◆ ReserveSpillSlots()

int v8::internal::compiler::Frame::ReserveSpillSlots ( size_t slot_count)
inline

Definition at line 180 of file frame.h.

Here is the caller graph for this function:

◆ SetAllocatedDoubleRegisters()

void v8::internal::compiler::Frame::SetAllocatedDoubleRegisters ( BitVector * regs)
inline

Definition at line 109 of file frame.h.

Here is the caller graph for this function:

◆ SetAllocatedRegisters()

void v8::internal::compiler::Frame::SetAllocatedRegisters ( BitVector * regs)
inline

Definition at line 104 of file frame.h.

Here is the caller graph for this function:

◆ tagged_slots()

const GrowableBitVector & v8::internal::compiler::Frame::tagged_slots ( ) const
inline

Definition at line 188 of file frame.h.

Member Data Documentation

◆ allocated_double_registers_

BitVector* v8::internal::compiler::Frame::allocated_double_registers_
private

Definition at line 198 of file frame.h.

◆ allocated_registers_

BitVector* v8::internal::compiler::Frame::allocated_registers_
private

Definition at line 197 of file frame.h.

◆ fixed_slot_count_

int v8::internal::compiler::Frame::fixed_slot_count_
private

Definition at line 191 of file frame.h.

◆ return_slot_count_

int v8::internal::compiler::Frame::return_slot_count_ = 0
private

Definition at line 195 of file frame.h.

◆ slot_allocator_

AlignedSlotAllocator v8::internal::compiler::Frame::slot_allocator_
private

Definition at line 196 of file frame.h.

◆ spill_slot_count_

int v8::internal::compiler::Frame::spill_slot_count_ = 0
private

Definition at line 192 of file frame.h.

◆ tagged_slots_bits_

GrowableBitVector v8::internal::compiler::Frame::tagged_slots_bits_
private

Definition at line 200 of file frame.h.

◆ zone_

Zone* v8::internal::compiler::Frame::zone_
private

Definition at line 199 of file frame.h.


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