public final class LSStackSlotAllocator extends AllocationPhase
stack slot allocator.
Remark: The analysis works under the assumption that a stack slot is no longer live after
its last usage. If an instruction transfers the raw address of the stack
slot to another location, e.g. a registers, and this location is referenced later on, the
usage of the stack slot must be marked with
the LIRInstruction.OperandFlag.UNINITIALIZED. Otherwise the stack slot might be reused and its content
destroyed.
| Modifier and Type | Class and Description |
|---|---|
static class |
LSStackSlotAllocator.Options |
AllocationPhase.AllocationContextLIRPhase.LIRPhaseStatisticsstatisticsClassValue| Constructor and Description |
|---|
LSStackSlotAllocator() |
| Modifier and Type | Method and Description |
|---|---|
static void |
allocateStackSlots(FrameMapBuilderTool builder,
LIRGenerationResult res) |
protected void |
run(TargetDescription target,
LIRGenerationResult lirGenRes,
AllocationPhase.AllocationContext context) |
apply, apply, createName, createName, getLIRPhaseStatistics, getNameprotected void run(TargetDescription target,
LIRGenerationResult lirGenRes,
AllocationPhase.AllocationContext context)
run in class LIRPhase<AllocationPhase.AllocationContext>public static void allocateStackSlots(FrameMapBuilderTool builder, LIRGenerationResult res)