public class TraceRegisterAllocationPhase extends AllocationPhase
Modifier and Type | Class and Description |
---|---|
static class |
TraceRegisterAllocationPhase.Options |
AllocationPhase.AllocationContext
Modifier and Type | Field and Description |
---|---|
(package private) static int |
TRACE_DUMP_LEVEL |
private static DebugMetric |
tracesMetric |
private static DebugMetric |
trivialTracesMetric |
Constructor and Description |
---|
TraceRegisterAllocationPhase() |
Modifier and Type | Method and Description |
---|---|
(package private) static boolean |
isTrivialTrace(LIR lir,
List<? extends AbstractBlockBase<?>> trace) |
private static boolean |
replaceStackToStackMoves(LIR lir,
LIRGeneratorTool.SpillMoveFactory spillMoveFactory)
Fixup stack to stack moves introduced by stack arguments.
|
protected <B extends AbstractBlockBase<B>> |
run(TargetDescription target,
LIRGenerationResult lirGenRes,
List<B> codeEmittingOrder,
List<B> linearScanOrder,
LIRGeneratorTool.SpillMoveFactory spillMoveFactory,
RegisterAllocationConfig registerAllocationConfig) |
private static void |
unnumberInstructions(List<? extends AbstractBlockBase<?>> trace,
LIR lir) |
run
apply, apply, createName, getName
static final int TRACE_DUMP_LEVEL
private static final DebugMetric trivialTracesMetric
private static final DebugMetric tracesMetric
public TraceRegisterAllocationPhase()
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
static boolean isTrivialTrace(LIR lir, List<? extends AbstractBlockBase<?>> trace)
private static boolean replaceStackToStackMoves(LIR lir, LIRGeneratorTool.SpillMoveFactory spillMoveFactory)
private static void unnumberInstructions(List<? extends AbstractBlockBase<?>> trace, LIR lir)