org.jikesrvm.osr
Class SpecialCompiler
java.lang.Object
org.jikesrvm.osr.SpecialCompiler
public class SpecialCompiler
- extends Object
SpecialCompiler is a wrapper for compiling specialized byte code.
It accepts an instance of ExecutionState, generates the specialized
byte code, and compiles it to machine code instructions.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SpecialCompiler
public SpecialCompiler()
recompileState
public static CompiledMethod recompileState(ExecutionState state,
boolean invalidate)
- recompile an execution state
- Parameters:
state - a list of execution statesinvalidate - Is this an invalidation?
- Returns:
- the compiled method for the root state
baselineCompile
public static CompiledMethod baselineCompile(ExecutionState state)
optCompile
public static CompiledMethod optCompile(ExecutionState state)
- 1. generate prologue PSEUDO_bytecode from the state.
2. make new bytecodes with prologue.
3. set method's bytecode to specialized one.
4. adjust exception map, line number map.
5. compile the method.
6. restore bytecode, exception, linenumber map to the original one.