Uses of Class
org.jikesrvm.compilers.common.CompiledMethod

Packages that use CompiledMethod
org.jikesrvm.adaptive.controller   
org.jikesrvm.adaptive.database.methodsamples   
org.jikesrvm.adaptive.util   
org.jikesrvm.classloader   
org.jikesrvm.compilers.baseline   
org.jikesrvm.compilers.baseline.ia32   
org.jikesrvm.compilers.common   
org.jikesrvm.compilers.opt.bc2ir   
org.jikesrvm.compilers.opt.driver   
org.jikesrvm.compilers.opt.inlining   
org.jikesrvm.compilers.opt.runtimesupport   
org.jikesrvm.compilers.opt.runtimesupport.ia32   
org.jikesrvm.compilers.opt.specialization   
org.jikesrvm.jni   
org.jikesrvm.jni.ia32   
org.jikesrvm.mm.mminterface   
org.jikesrvm.mm.mmtk   
org.jikesrvm.osr   
org.jikesrvm.osr.ia32   
org.jikesrvm.runtime   
 

Uses of CompiledMethod in org.jikesrvm.adaptive.controller
 

Fields in org.jikesrvm.adaptive.controller declared as CompiledMethod
private  CompiledMethod HotMethodEvent.cm
          The compiled method associated querries.
 

Methods in org.jikesrvm.adaptive.controller that return CompiledMethod
 CompiledMethod ControllerPlan.doRecompile()
          This method will recompile the method designated by the controller plan ControllerPlan.getCompPlan().
 CompiledMethod HotMethodEvent.getCompiledMethod()
           
 

Methods in org.jikesrvm.adaptive.controller with parameters of type CompiledMethod
(package private)  void AnalyticModel.considerHotCallEdge(CompiledMethod cmpMethod, AINewHotEdgeEvent event)
          This function defines how the analytic model handles a AINewHotEdgeEvent.
(package private)  void RecompilationStrategy.considerHotCallEdge(CompiledMethod cmpMethod, AINewHotEdgeEvent event)
          A hot call edge has been passed to the controller by an organizer
(package private)  ControllerPlan AnalyticModel.considerHotMethod(CompiledMethod cmpMethod, HotMethodEvent hme)
          This method is the main decision making loop for all recompilation strategies that use the analytic model.
(package private)  ControllerPlan RecompilationStrategy.considerHotMethod(CompiledMethod cmpMethod, HotMethodEvent hme)
          A hot method has been passed to the controller by an organizer
(package private)  boolean AnalyticModel.considerOSRRecompilation(CompiledMethod cmpMethod, HotMethodEvent hme, ControllerPlan plan)
           
static ControllerPlan ControllerMemory.findMatchingPlan(CompiledMethod cmpMethod)
          Find the plan for the compiled method that is passed
(package private)  int RecompilationStrategy.getPreviousCompiler(CompiledMethod cmpMethod)
          This method retrieves the previous compiler constant.
(package private) abstract  RecompilationChoice[] AnalyticModel.getViableRecompilationChoices(int prevCompiler, CompiledMethod cmpMethod)
          Compute the set of optimization choices that should be considered by the cost-benefit model, given the previous compiler.
(package private)  RecompilationChoice[] MultiLevelAdaptiveModel.getViableRecompilationChoices(int prevCompiler, CompiledMethod cmpMethod)
           
(package private)  ControllerPlan RecompileOptChoice.makeControllerPlan(CompiledMethod cmpMethod, int prevCompiler, double prevTimeForMethod, double bestActionTime, double expectedCompilationTime)
          Return a controller plan that will start this recompilation choice in action.
(package private) abstract  ControllerPlan RecompilationChoice.makeControllerPlan(CompiledMethod cmpMethod, int prevCompiler, double prevTimeFormethod, double bestActionTime, double bestCost)
          Return a controller plan that will start this recompilation choice in action.
 

Constructors in org.jikesrvm.adaptive.controller with parameters of type CompiledMethod
AINewHotEdgeEvent(CompiledMethod _cm, double _numSamples, double _boostFactor)
           
AINewHotEdgeEvent(CompiledMethod _cm, int _numSamples, double _boostFactor)
           
HotMethodEvent(CompiledMethod _cm, double _numSamples)
           
HotMethodEvent(CompiledMethod _cm, int _numSamples)
           
HotMethodRecompilationEvent(CompiledMethod _cm, double _numSamples)
           
HotMethodRecompilationEvent(CompiledMethod _cm, int _numSamples)
           
 

Uses of CompiledMethod in org.jikesrvm.adaptive.database.methodsamples
 

Fields in org.jikesrvm.adaptive.database.methodsamples declared as CompiledMethod
(package private)  CompiledMethod[] MethodCountSet.cms
          array of compiled methods
 

Constructors in org.jikesrvm.adaptive.database.methodsamples with parameters of type CompiledMethod
MethodCountSet(CompiledMethod[] _cms, double[] _counters)
          Constructor
 

Uses of CompiledMethod in org.jikesrvm.adaptive.util
 

Methods in org.jikesrvm.adaptive.util with parameters of type CompiledMethod
static void AOSGenerator.baseCompilationCompleted(CompiledMethod cm)
           
 void AOSLogging.controllerNotifiedForHotness(CompiledMethod hotMethod, double numSamples)
          This method logs that the controller is notified of a candidate to be recompiled due to hotness; i.e., the method has been inserted in the controller queue.
 void AOSLogging.recordCompileTime(CompiledMethod cm, double expectedCompilationTime)
          This method logs the actual compilation time for the given compiled method.
 

Uses of CompiledMethod in org.jikesrvm.classloader
 

Fields in org.jikesrvm.classloader declared as CompiledMethod
protected  CompiledMethod RVMMethod.currentCompiledMethod
          current compiled method for this method
 

Methods in org.jikesrvm.classloader that return CompiledMethod
protected  CompiledMethod SpecializedMethod.compileSpecializedMethod(RVMMethod template, TypeReference[] specializedParams)
          Compile a specialized version of a template method.
protected  CompiledMethod NormalMethod.genCode()
           
protected  CompiledMethod AbstractMethod.genCode()
          By definition, abstract methods do not have associated code.
protected  CompiledMethod NativeMethod.genCode()
           
protected abstract  CompiledMethod RVMMethod.genCode()
          Generate the code for this method
 CompiledMethod RVMMethod.getCurrentCompiledMethod()
          Get the current compiled method for this method.
 

Methods in org.jikesrvm.classloader with parameters of type CompiledMethod
 void RVMMethod.invalidateCompiledMethod(CompiledMethod cm)
          If CM is the current compiled code for this, then invalidate it.
 void RVMMethod.replaceCompiledMethod(CompiledMethod compiledMethod)
          Change machine code that will be used by future executions of this method (ie. optimized <-> non-optimized) Side effect: updates JTOC or method dispatch tables ("type information blocks") for this class and its subclasses
 

Uses of CompiledMethod in org.jikesrvm.compilers.baseline
 

Subclasses of CompiledMethod in org.jikesrvm.compilers.baseline
 class BaselineCompiledMethod
          Compiler-specific information associated with a method's machine instructions.
 

Fields in org.jikesrvm.compilers.baseline declared as CompiledMethod
protected  CompiledMethod TemplateCompilerFramework.compiledMethod
          The compiledMethod assigned to this compilation of method
 

Methods in org.jikesrvm.compilers.baseline that return CompiledMethod
static CompiledMethod BaselineCompiler.compile(NormalMethod method)
          Compile the given method with the baseline compiler.
protected  CompiledMethod BaselineBootImageCompiler.compileMethod(NormalMethod method, TypeReference[] params)
           
 

Methods in org.jikesrvm.compilers.baseline with parameters of type CompiledMethod
protected abstract  void TemplateCompilerFramework.emit_invoke_compiledmethod(CompiledMethod cm)
           
 

Constructors in org.jikesrvm.compilers.baseline with parameters of type CompiledMethod
TemplateCompilerFramework(CompiledMethod cm)
          Construct a BaselineCompilerImpl
 

Uses of CompiledMethod in org.jikesrvm.compilers.baseline.ia32
 

Methods in org.jikesrvm.compilers.baseline.ia32 with parameters of type CompiledMethod
 void BaselineExceptionDeliverer.deliverException(CompiledMethod compiledMethod, Address catchBlockInstructionAddress, Throwable exceptionObject, ArchitectureSpecific.Registers registers)
          Pass control to a catch block.
protected  void BaselineCompilerImpl.emit_invoke_compiledmethod(CompiledMethod cm)
          OSR routine to emit code to invoke a compiled method (with known jtoc offset).
 void BaselineGCMapIterator.setupIterator(CompiledMethod compiledMethod, Offset instructionOffset, Address fp)
          Set the iterator to scan the map at the machine instruction offset provided.
 void BaselineExceptionDeliverer.unwindStackFrame(CompiledMethod compiledMethod, ArchitectureSpecific.Registers registers)
          Unwind a stackframe.
 

Uses of CompiledMethod in org.jikesrvm.compilers.common
 

Subclasses of CompiledMethod in org.jikesrvm.compilers.common
(package private)  class HardwareTrapCompiledMethod
          Information associated with artificial stackframe inserted by hardware trap handler.
 

Fields in org.jikesrvm.compilers.common declared as CompiledMethod
private static CompiledMethod[][] CompiledMethods.compiledMethods
          Java methods that have been compiled into machine code.
 

Methods in org.jikesrvm.compilers.common that return CompiledMethod
static CompiledMethod RuntimeCompiler.baselineCompile(NormalMethod method)
          This method will compile the passed method using the baseline compiler.
static CompiledMethod BootImageCompiler.compile(NativeMethod method)
          Compile a native method.
static CompiledMethod RuntimeCompiler.compile(NativeMethod method)
          Compile the stub for a native method when it is first invoked.
static CompiledMethod BootImageCompiler.compile(NormalMethod method)
           
static CompiledMethod RuntimeCompiler.compile(NormalMethod method)
          Compile a Java method when it is first invoked.
static CompiledMethod BootImageCompiler.compile(NormalMethod method, TypeReference[] params)
           
protected abstract  CompiledMethod BootImageCompiler.compileMethod(NormalMethod method, TypeReference[] params)
          Compile a method with bytecodes.
static CompiledMethod CompiledMethods.createCompiledMethod(RVMMethod m, int compilerType)
          Create a CompiledMethod appropriate for the given compilerType
static CompiledMethod CompiledMethods.createHardwareTrapCompiledMethod()
          Create a CompiledMethod for the synthetic hardware trap frame
protected static CompiledMethod RuntimeCompiler.fallback(NormalMethod method)
          This method uses the default compiler (baseline) to compile a method It is typically called when a more aggressive compilation fails.
static CompiledMethod CompiledMethods.findMethodForInstruction(Address ip)
          Find the method whose machine code contains the specified instruction.
static CompiledMethod CompiledMethods.getCompiledMethod(int compiledMethodId)
          Fetch a previously compiled method.
static CompiledMethod CompiledMethods.getCompiledMethodUnchecked(int cmid)
          Fetch a previously compiled method without checking
private static CompiledMethod RuntimeCompiler.optCompile(NormalMethod method, CompilationPlan plan)
          Attempt to compile the passed method with the Compiler.
static CompiledMethod RuntimeCompiler.optCompileWithFallBack(NormalMethod method)
          This method tries to compile the passed method with the Compiler, using the default compilation plan.
static CompiledMethod RuntimeCompiler.optCompileWithFallBack(NormalMethod method, CompilationPlan plan)
          This method tries to compile the passed method with the Compiler with the passed compilation plan.
private static CompiledMethod RuntimeCompiler.optCompileWithFallBackInternal(NormalMethod method, CompilationPlan plan)
          This real method that performs the opt compilation.
static CompiledMethod RuntimeCompiler.recompileWithOptOnStackSpecialization(CompilationPlan plan)
           
 

Methods in org.jikesrvm.compilers.common with parameters of type CompiledMethod
static void RuntimeCompiler.record(byte compiler, NativeMethod method, CompiledMethod compiledMethod)
          This method records the time and sizes (bytecode and machine code) for a compilation
static void RuntimeCompiler.record(byte compiler, NormalMethod method, CompiledMethod compiledMethod)
          This method records the time and sizes (bytecode and machine code) for a compilation.
private static void CompiledMethods.setCompiledMethod(int cmid, CompiledMethod cm)
          Set entry in compiled method lookup
static void CompiledMethods.setCompiledMethodObsolete(CompiledMethod compiledMethod)
           
 void HardwareTrapGCMapIterator.setupIterator(CompiledMethod compiledMethod, Offset instructionOffset, Address framePtr)
           
 

Uses of CompiledMethod in org.jikesrvm.compilers.opt.bc2ir
 

Fields in org.jikesrvm.compilers.opt.bc2ir declared as CompiledMethod
(package private)  CompiledMethod GenerationContext.original_cm
          The compiled method assigned for this compilation of original_method
 

Constructors in org.jikesrvm.compilers.opt.bc2ir with parameters of type CompiledMethod
GenerationContext(NormalMethod meth, TypeReference[] params, CompiledMethod cm, OptOptions opts, InlineOracle ip)
          Use this constructor to create an outermost (non-inlined) GenerationContext.
 

Uses of CompiledMethod in org.jikesrvm.compilers.opt.driver
 

Methods in org.jikesrvm.compilers.opt.driver that return CompiledMethod
private  CompiledMethod OptimizingBootImageCompiler.baselineCompile(NormalMethod method)
           
static CompiledMethod OptimizingCompiler.compile(CompilationPlan cp)
          Invoke the opt compiler to execute a compilation plan.
protected  CompiledMethod OptimizingBootImageCompiler.compileMethod(NormalMethod method, TypeReference[] params)
           
 

Uses of CompiledMethod in org.jikesrvm.compilers.opt.inlining
 

Fields in org.jikesrvm.compilers.opt.inlining declared as CompiledMethod
private  CompiledMethod CompilationState.cm
           
 

Methods in org.jikesrvm.compilers.opt.inlining that return CompiledMethod
 CompiledMethod CompilationState.getCompiledMethod()
          Return the compiled method
 

Methods in org.jikesrvm.compilers.opt.inlining with parameters of type CompiledMethod
 void ClassLoadingDependencyManager.addNoSubclassDependency(RVMClass source, CompiledMethod cm)
          Record that the code currently being compiled (cm) must be invalidated if source ever has a subclass.
 void ClassLoadingDependencyManager.addNotOverriddenDependency(RVMMethod source, CompiledMethod cm)
          Record that the code currently being compiled (cm) must be invalidated if source is overridden.
private  void ClassLoadingDependencyManager.invalidate(CompiledMethod cm)
          helper method to invalidate a particular compiled method
 

Constructors in org.jikesrvm.compilers.opt.inlining with parameters of type CompiledMethod
CompilationState(Instruction call, boolean isExtant, OptOptions options, CompiledMethod cm, int realBCI)
           
 

Uses of CompiledMethod in org.jikesrvm.compilers.opt.runtimesupport
 

Subclasses of CompiledMethod in org.jikesrvm.compilers.opt.runtimesupport
 class OptCompiledMethod
          An implementation of CompiledMethod for the OPT compiler.
 

Methods in org.jikesrvm.compilers.opt.runtimesupport with parameters of type CompiledMethod
 void OptCompiledMethod.applyCodePatches(CompiledMethod cm)
          Apply the code patches to the INSTRUCTION array of cm
 void OptGenericGCMapIterator.setupIterator(CompiledMethod cm, Offset instructionOffset, Address framePtr)
          Initialize the iterator for another stack frame scan
 

Uses of CompiledMethod in org.jikesrvm.compilers.opt.runtimesupport.ia32
 

Methods in org.jikesrvm.compilers.opt.runtimesupport.ia32 with parameters of type CompiledMethod
 void OptExceptionDeliverer.deliverException(CompiledMethod compiledMethod, Address catchBlockInstructionAddress, Throwable exceptionObject, ArchitectureSpecific.Registers registers)
          Pass control to a catch block.
 void OptExceptionDeliverer.unwindStackFrame(CompiledMethod compiledMethod, ArchitectureSpecific.Registers registers)
          Unwind a stackframe.
 

Uses of CompiledMethod in org.jikesrvm.compilers.opt.specialization
 

Fields in org.jikesrvm.compilers.opt.specialization declared as CompiledMethod
(package private)  CompiledMethod SpecializedMethod.compiledMethod
          Corresponding compiled method
 

Methods in org.jikesrvm.compilers.opt.specialization that return CompiledMethod
 CompiledMethod SpecializedMethod.getCompiledMethod()
           
 CompiledMethod InvokeeThreadLocalContext.specialCompile(NormalMethod source)
          Generate code to specialize a method in this context.
 CompiledMethod SpecializationContext.specialCompile(NormalMethod source)
          Generate code for a specialized version of source in this context.
 

Methods in org.jikesrvm.compilers.opt.specialization with parameters of type CompiledMethod
 void SpecializedMethod.setCompiledMethod(CompiledMethod cm)
           
static void SpecializedMethodPool.storeSpecializedMethod(CompiledMethod cm, int smid)
          Associate a particular compiled method with a specialized method id.
 

Uses of CompiledMethod in org.jikesrvm.jni
 

Subclasses of CompiledMethod in org.jikesrvm.jni
 class JNICompiledMethod
          Information associated with artifical stackframe inserted at the transition from Jave to JNI Native C.
 

Uses of CompiledMethod in org.jikesrvm.jni.ia32
 

Methods in org.jikesrvm.jni.ia32 that return CompiledMethod
static CompiledMethod JNICompiler.compile(NativeMethod method)
          Compile a method to handle the Java to C transition and back Transitioning from Java to C then back: Set up stack frame and save non-volatile registers Set up jniEnv - set up a register to hold JNIEnv and store the Processor in the JNIEnv for easy access Move all native method arguments on to stack (NB at this point all non-volatile state is saved) Record the frame pointer of the last Java frame (this) in the jniEnv Call out to convert reference arguments to IDs Set processor as being "in native" Set up stack frame and registers for transition to C Call out to C Save result to stack Transition back from "in native" to "in Java", take care that the Processor isn't "blocked in native", ie other processors have decided to start a GC and we're not permitted to execute Java code whilst this occurs Convert a reference result (currently a JNI ref) into a true reference Release JNI refs Restore stack and place result in register
 

Methods in org.jikesrvm.jni.ia32 with parameters of type CompiledMethod
 void JNIExceptionDeliverer.deliverException(CompiledMethod compiledMethod, Address catchBlockInstructionAddress, Throwable exceptionObject, ArchitectureSpecific.Registers registers)
          Deliver exception, not possible for JNI methods
 void JNIGCMapIterator.setupIterator(CompiledMethod compiledMethod, Offset instructionOffset, Address framePtr)
           
 void JNIExceptionDeliverer.unwindStackFrame(CompiledMethod compiledMethod, ArchitectureSpecific.Registers registers)
          Unwind registers/stack through JNI method
 

Uses of CompiledMethod in org.jikesrvm.mm.mminterface
 

Fields in org.jikesrvm.mm.mminterface declared as CompiledMethod
private  CompiledMethod[] SpecializedScanMethod.specializedMethods
          We keep the specialized methods for key object reference patterns here.
 

Methods in org.jikesrvm.mm.mminterface with parameters of type CompiledMethod
 GCMapIterator GCMapIteratorGroup.selectIterator(CompiledMethod compiledMethod)
          Select iterator for scanning for object references in a stackframe.
abstract  void GCMapIterator.setupIterator(CompiledMethod compiledMethod, Offset instructionOffset, Address framePtr)
          Prepare to iterate over object references and JSR return addresses held by a stackframe.
 

Uses of CompiledMethod in org.jikesrvm.mm.mmtk
 

Fields in org.jikesrvm.mm.mmtk declared as CompiledMethod
private  CompiledMethod ScanThread.compiledMethod
           
 

Uses of CompiledMethod in org.jikesrvm.osr
 

Methods in org.jikesrvm.osr that return CompiledMethod
static CompiledMethod SpecialCompiler.baselineCompile(ExecutionState state)
          Compiles the method with the baseline compiler.
static CompiledMethod SpecialCompiler.optCompile(ExecutionState state)
           generate prologue PSEUDO_bytecode from the state.
static CompiledMethod SpecialCompiler.recompileState(ExecutionState state, boolean invalidate)
          recompile an execution state
 

Uses of CompiledMethod in org.jikesrvm.osr.ia32
 

Methods in org.jikesrvm.osr.ia32 with parameters of type CompiledMethod
static boolean CodeInstaller.install(ExecutionState state, CompiledMethod cm)
           
private  void OptExecutionStateExtractor.restoreValuesFromOptSaveVolatile(byte[] stack, Offset osrFPoff, TempRegisters registers, int regmap, CompiledMethod cm)
           
 

Uses of CompiledMethod in org.jikesrvm.runtime
 

Fields in org.jikesrvm.runtime declared as CompiledMethod
private  CompiledMethod StackBrowser.currentCompiledMethod
          The current compiled method
 

Methods in org.jikesrvm.runtime that return CompiledMethod
 CompiledMethod StackBrowser.getCompiledMethod()
          The compiled method associated with the current stack frame
private  CompiledMethod StackTrace.getCompiledMethod(int element)
          Get the compiled method at element
 

Methods in org.jikesrvm.runtime with parameters of type CompiledMethod
abstract  void ExceptionDeliverer.deliverException(CompiledMethod compiledMethod, Address catchBlockInstructionAddress, Throwable exceptionObject, ArchitectureSpecific.Registers registers)
          Stackframe's method has a "catch" block for exception being thrown and control is to be passed to that catch block.
 void StackBrowser.setCompiledMethod(CompiledMethod cm)
          Set the current compiled method, called only by the appropriate compiled method code
abstract  void ExceptionDeliverer.unwindStackFrame(CompiledMethod compiledMethod, ArchitectureSpecific.Registers registers)
          Stackframe's method has no "catch" block for exception being thrown and stackframe is to be "unwound" as follows: 1. for a synchronized method, call ObjectModel.genericUnlock(), passing it the appropriate "lock" object for non-static methods, the lock is the method's first argument ("this") for static methods, the lock is the method's java.lang.Class 2. restore the non-volatile registers (including fp) that were saved in the method's prologue, by copying them from the method's stackframe save area into the provided "registers" object
 

Constructors in org.jikesrvm.runtime with parameters of type CompiledMethod
StackTrace.Element(CompiledMethod cm, int off)
          Constructor for non-opt compiled methods