|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jikesrvm.compilers.baseline.TemplateCompilerFramework org.jikesrvm.compilers.baseline.BaselineCompiler
public abstract class BaselineCompiler
Baseline compiler - platform independent code. Platform dependent versions extend this class and define the host of abstract methods defined by TemplateCompilerFramework to complete the implementation of a baseline compiler for a particular target,
Field Summary | |
---|---|
private static long |
codeGenNanos
|
protected int |
edgeCounterIdx
Next edge counter entry to allocate |
private static long |
encodingNanos
|
private static long |
gcMapNanos
|
protected byte[] |
localTypes
The types that locals can take. |
static BaselineOptions |
options
Options used during base compiler execution |
private static long |
osrSetupNanos
|
Fields inherited from class org.jikesrvm.compilers.baseline.TemplateCompilerFramework |
---|
asm, bcodes, biStart, bytecodeMap, compiledMethod, doesCheckStore, fullyBootedVM, isInterruptible, isUninterruptible, isUnpreemptible, klass, lockOffset, method, shouldPrint, stackHeights |
Constructor Summary | |
---|---|
protected |
BaselineCompiler(BaselineCompiledMethod cm)
Construct a BaselineCompilerImpl |
Method Summary | |
---|---|
protected void |
compile()
Top level driver for baseline compilation of a method. |
static CompiledMethod |
compile(NormalMethod method)
Compile the given method with the baseline compiler. |
static void |
fullyBootedVM()
Now that VM is fully booted, enable options such as PRINT_MACHINE_CODE that require a fully booted VM. |
static void |
generateBaselineCompilerSubsystemReport(boolean explain)
Generate a report of time spent in various phases of the baseline compiler. |
protected String |
getCompilerName()
|
protected int |
getEdgeCounterIndex()
|
protected Offset |
getEdgeCounterOffset()
|
protected abstract void |
initializeCompiler()
|
static void |
initOptions()
Clear out crud from bootimage writing |
static void |
processCommandLineArg(String prefix,
String arg)
Process a command line argument |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static long gcMapNanos
private static long osrSetupNanos
private static long codeGenNanos
private static long encodingNanos
public static BaselineOptions options
protected int edgeCounterIdx
protected final byte[] localTypes
Constructor Detail |
---|
protected BaselineCompiler(BaselineCompiledMethod cm)
Method Detail |
---|
protected final Offset getEdgeCounterOffset()
protected final int getEdgeCounterIndex()
public static void initOptions()
public static void fullyBootedVM()
public static void processCommandLineArg(String prefix, String arg)
prefix
- arg
- Command line argument with prefix stripped offpublic static void generateBaselineCompilerSubsystemReport(boolean explain)
NB: This method may be called in a context where class loading and/or GC cannot be allowed. Therefore we must use primitive sysWrites for output and avoid string appends and other allocations.
FIXME should this method be uninterruptible?
explain
- Should an explanation of the metrics be generated?public static CompiledMethod compile(NormalMethod method)
method
- the NormalMethod to compile.
protected abstract void initializeCompiler()
protected void compile()
protected String getCompilerName()
getCompilerName
in class TemplateCompilerFramework
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |