public class SimpleStackSlotAllocator extends AllocationPhase implements StackSlotAllocator
AllocationPhase.AllocationContext
LIRPhase.Options
allocatedFramesize, allocatedSlots, reusedSlots, virtualFramesize
Constructor and Description |
---|
SimpleStackSlotAllocator() |
Modifier and Type | Method and Description |
---|---|
void |
allocateStackSlots(FrameMapBuilderTool builder,
LIRGenerationResult res) |
protected StackSlot |
mapSimpleVirtualStackSlot(FrameMapBuilderTool builder,
SimpleVirtualStackSlot virtualStackSlot) |
protected StackSlot |
mapVirtualStackSlotRange(FrameMapBuilderTool builder,
VirtualStackSlotRange virtualStackSlot) |
protected <B extends AbstractBlockBase<B>> |
run(TargetDescription target,
LIRGenerationResult lirGenRes,
List<B> codeEmittingOrder,
List<B> linearScanOrder,
LIRGeneratorTool.SpillMoveFactory spillMoveFactory,
RegisterAllocationConfig registerAllocationConfig) |
protected void |
updateLIR(LIRGenerationResult res,
StackSlot[] mapping) |
run
apply, apply, createName, getName
public SimpleStackSlotAllocator()
protected <B extends AbstractBlockBase<B>> void run(TargetDescription target, LIRGenerationResult lirGenRes, List<B> codeEmittingOrder, List<B> linearScanOrder, LIRGeneratorTool.SpillMoveFactory spillMoveFactory, RegisterAllocationConfig registerAllocationConfig)
run
in class AllocationPhase
public void allocateStackSlots(FrameMapBuilderTool builder, LIRGenerationResult res)
allocateStackSlots
in interface StackSlotAllocator
protected void updateLIR(LIRGenerationResult res, StackSlot[] mapping)
protected StackSlot mapSimpleVirtualStackSlot(FrameMapBuilderTool builder, SimpleVirtualStackSlot virtualStackSlot)
protected StackSlot mapVirtualStackSlotRange(FrameMapBuilderTool builder, VirtualStackSlotRange virtualStackSlot)