CACAO
Public Member Functions | Private Types | Private Attributes
cacao::jit::compiler2::StackSlotManager Class Reference

StackSlotManager. More...

Public Member Functions

 StackSlotManager ()
 
 ~StackSlotManager ()
 
ManagedStackSlotcreate_slot (Type::TypeID type)
 Create a ManagedStackSlot. More...
 
ManagedStackSlotcreate_argument_slot (Type::TypeID type, u4 index)
 Create a ManagedStackSlot for an invocation argument. More...
 
void finalize ()
 Assigns each ManagedStackSlot a position in the virtual frame. More...
 
u4 get_frame_size () const
 
u4 get_number_of_machine_slots () const
 

Private Types

typedef alloc::vector
< ManagedStackSlot * >::type 
SlotListTy
 

Private Attributes

SlotListTy slots
 
SlotListTy argument_slots
 
u4 number_of_machine_argument_slots
 The number of argument slots at machine-level. More...
 

Detailed Description

StackSlotManager.

The StackSlotManger is used to manage slots for spilled registers etc.

Definition at line 47 of file StackSlotManager.hpp.

Member Typedef Documentation

Definition at line 49 of file StackSlotManager.hpp.

Constructor & Destructor Documentation

cacao::jit::compiler2::StackSlotManager::StackSlotManager ( )
inline

Definition at line 60 of file StackSlotManager.hpp.

cacao::jit::compiler2::StackSlotManager::~StackSlotManager ( )

Definition at line 35 of file StackSlotManager.cpp.

Member Function Documentation

ManagedStackSlot * cacao::jit::compiler2::StackSlotManager::create_argument_slot ( Type::TypeID  type,
u4  index 
)

Create a ManagedStackSlot for an invocation argument.

Parameters
typeThe slot's type.
indexThe index of the invocation argument for which this slot is used.
Returns
The new stack slot.

Definition at line 54 of file StackSlotManager.cpp.

ManagedStackSlot * cacao::jit::compiler2::StackSlotManager::create_slot ( Type::TypeID  type)

Create a ManagedStackSlot.

Parameters
typeThe slot's type.
Returns
The new stack slot.

Definition at line 49 of file StackSlotManager.cpp.

void cacao::jit::compiler2::StackSlotManager::finalize ( )

Assigns each ManagedStackSlot a position in the virtual frame.

Definition at line 62 of file StackSlotManager.cpp.

u4 cacao::jit::compiler2::StackSlotManager::get_frame_size ( ) const
Returns
The size of the stack frame in bytes.

Definition at line 69 of file StackSlotManager.cpp.

u4 cacao::jit::compiler2::StackSlotManager::get_number_of_machine_slots ( ) const
Returns
The number of actual machine-level slots.

Definition at line 73 of file StackSlotManager.cpp.

Field Documentation

SlotListTy cacao::jit::compiler2::StackSlotManager::argument_slots
private

Definition at line 52 of file StackSlotManager.hpp.

u4 cacao::jit::compiler2::StackSlotManager::number_of_machine_argument_slots
private

The number of argument slots at machine-level.

Definition at line 57 of file StackSlotManager.hpp.

SlotListTy cacao::jit::compiler2::StackSlotManager::slots
private

Definition at line 51 of file StackSlotManager.hpp.


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