Package | Description |
---|---|
org.jikesrvm.adaptive.controller | |
org.jikesrvm.adaptive.recompilation | |
org.jikesrvm.compilers.opt.driver | |
org.jikesrvm.compilers.opt.driver.ia32 | |
org.jikesrvm.compilers.opt.escape | |
org.jikesrvm.compilers.opt.lir2mir |
Provides classes that implement the transition from low-level IR to
machine-specific IR.
|
org.jikesrvm.compilers.opt.mir2mc | |
org.jikesrvm.compilers.opt.regalloc | |
org.jikesrvm.compilers.opt.specialization | |
org.jikesrvm.compilers.opt.ssa |
SSA implementation (disabled because of bugs, see entry in issue tracker).
|
Modifier and Type | Field and Description |
---|---|
private OptimizationPlanElement[][] |
RecompilationStrategy._optPlans |
Modifier and Type | Field and Description |
---|---|
private static OptimizationPlanElement[] |
InvocationCounts._optPlan |
Modifier and Type | Class and Description |
---|---|
class |
OptimizationPlanAtomicElement
An element in the opt compiler's optimization plan
that consists of a single CompilerPhase.
|
class |
OptimizationPlanCompositeElement
An element in the opt compiler's optimization plan
that aggregates together other OptimizationPlan elements.
|
Modifier and Type | Field and Description |
---|---|
private static OptimizationPlanElement[] |
OptimizationPlanner.masterPlan
The master optimization plan.
|
private OptimizationPlanElement[] |
OptimizationPlanCompositeElement.myElements
Ordered list of elements that together comprise this element.
|
OptimizationPlanElement[] |
CompilationPlan.optimizationPlan
The OptimizationPlanElements to be invoked during compilation.
|
Modifier and Type | Method and Description |
---|---|
static OptimizationPlanElement[] |
OptimizationPlanner.createOptimizationPlan(OptOptions options)
Using the passed options create an optimization plan
by selecting a subset of the elements in the masterPlan.
|
private static OptimizationPlanElement[] |
OptimizationPlanner.toArray(ArrayList<OptimizationPlanElement> planElementList)
Convert the ArrayList to an array of elements.
|
Modifier and Type | Method and Description |
---|---|
protected static void |
OptimizationPlanner.addComponent(ArrayList<OptimizationPlanElement> p,
OptimizationPlanElement e) |
Modifier and Type | Method and Description |
---|---|
protected static void |
OptimizationPlanner.addComponent(ArrayList<OptimizationPlanElement> p,
CompilerPhase e) |
protected static void |
OptimizationPlanner.addComponent(ArrayList<OptimizationPlanElement> p,
OptimizationPlanElement e) |
private static void |
OptimizationPlanner.BC2HIR(ArrayList<OptimizationPlanElement> p)
This method defines the optimization plan elements required to
generate HIR from bytecodes.
|
protected static void |
OptimizationPlanner.composeComponents(ArrayList<OptimizationPlanElement> p,
String name,
Object[] es)
Add a set of optimization plan elements to a vector.
|
private static void |
OptimizationPlanner.HIR2LIR(ArrayList<OptimizationPlanElement> p)
This method defines the optimization plan elements that
are to be performed to lower HIR to LIR.
|
private static void |
OptimizationPlanner.HIROptimizations(ArrayList<OptimizationPlanElement> p)
This method defines the optimization plan elements that
are to be performed on the HIR.
|
private static void |
OptimizationPlanner.LIROptimizations(ArrayList<OptimizationPlanElement> p)
This method defines the optimization plan elements that
are to be performed on the LIR.
|
private static void |
OptimizationPlanner.SSAinHIR(ArrayList<OptimizationPlanElement> p)
This method defines the optimization plan elements that
are to be performed with SSA form on HIR.
|
private static void |
OptimizationPlanner.SSAinLIR(ArrayList<OptimizationPlanElement> p)
This method defines the optimization plan elements that
are to be performed with SSA form on LIR.
|
private static OptimizationPlanElement[] |
OptimizationPlanner.toArray(ArrayList<OptimizationPlanElement> planElementList)
Convert the ArrayList to an array of elements.
|
Constructor and Description |
---|
CompilationPlan(NormalMethod m,
OptimizationPlanElement[] op,
InstrumentationPlan mp,
OptOptions opts)
Construct a compilation plan
|
CompilationPlan(NormalMethod m,
OptimizationPlanElement op,
InstrumentationPlan mp,
OptOptions opts)
Construct a compilation plan
|
CompilationPlan(NormalMethod m,
TypeReference[] pms,
OptimizationPlanElement[] op,
InstrumentationPlan mp,
OptOptions opts)
Construct a compilation plan
|
OptimizationPlanCompositeElement(String n,
OptimizationPlanElement[] e)
Compose together the argument elements into a composite element
of an optimization plan.
|
Modifier and Type | Method and Description |
---|---|
static void |
MIROptimizationPlanner.intializeMasterPlan(ArrayList<OptimizationPlanElement> temp)
Initializes the "master plan" for the IA32 backend of the opt compiler.
|
private static void |
MIROptimizationPlanner.LIR2MIR(ArrayList<OptimizationPlanElement> p)
This method defines the optimization plan elements that
are to be performed to convert LIR to IA32 MIR.
|
private static void |
MIROptimizationPlanner.MIR2MC(ArrayList<OptimizationPlanElement> p)
This method defines the optimization plan elements that
are to be performed to convert IA32 MIR into
ready-to-execute machinecode (and associated mapping tables).
|
private static void |
MIROptimizationPlanner.MIROptimizations(ArrayList<OptimizationPlanElement> p)
This method defines the optimization plan elements that
are to be performed on IA32 MIR.
|
Modifier and Type | Field and Description |
---|---|
private static OptimizationPlanElement |
EscapeTransformations.escapeCleanUp
Transforms to clean the IR prior to another round of escape transformations
|
private static OptimizationPlanElement |
SimpleEscape.escapePlan
This member represents the directions to the optimizing compiler to
perform escape analysis on a method, but do not generate
code.
|
Modifier and Type | Method and Description |
---|---|
private static OptimizationPlanElement |
SimpleEscape.initEscapePlan() |
Modifier and Type | Class and Description |
---|---|
class |
ConvertLIRtoMIR
Convert an IR object from LIR to MIR via BURS
|
Modifier and Type | Class and Description |
---|---|
class |
ConvertMIRtoMC
Convert an IR object from MIR to final Machinecode
|
Modifier and Type | Class and Description |
---|---|
class |
LinearScan
Main driver for linear scan register allocation.
|
class |
RegisterAllocator
Driver routine for register allocation
|
Modifier and Type | Field and Description |
---|---|
private static OptimizationPlanElement[] |
InvokeeThreadLocalContext.optimizationPlan
The default optimization plan.
|
Modifier and Type | Class and Description |
---|---|
class |
GCP
Global code placement comes in two flavours.
|
class |
LiveRangeSplitting
Perform live-range splitting.
|
class |
LoadElimination
This class implements the redundant load elimination by
Fink, Knobe & Sarkar.
|
class |
RedundantBranchElimination
Redundant branch elimination based on SSA form, global value numbers,
and dominance relationships.
|
class |
SSATuneUp
This phase puts the IR in SSA form and performs a set of simple
optimizations to clean up.
|