org.jikesrvm.runtime
Class DynamicLinker.DL_Helper

java.lang.Object
  extended by org.jikesrvm.runtime.DynamicLinker.DL_Helper
Enclosing class:
DynamicLinker

private static class DynamicLinker.DL_Helper
extends Object

Helper class that does the real work of resolving method references and compiling a lazy method invocation. In separate class so that it doesn't implement DynamicBridge magic.


Constructor Summary
private DynamicLinker.DL_Helper()
           
 
Method Summary
(package private) static void compileMethod(DynamicLink dynamicLink, RVMMethod targetMethod)
          Compile (if necessary) targetMethod and patch the appropriate disaptch tables
(package private) static DynamicLink resolveDynamicInvocation()
          Discover method reference to be invoked via dynamic bridge.
(package private) static RVMMethod resolveMethodRef(DynamicLink dynamicLink)
          Resolve method ref into appropriate RVMMethod Taken: DynamicLink that describes call site.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DynamicLinker.DL_Helper

private DynamicLinker.DL_Helper()
Method Detail

resolveDynamicInvocation

static DynamicLink resolveDynamicInvocation()
Discover method reference to be invoked via dynamic bridge.
 Taken:       nothing (call stack is examined to find invocation site)
 Returned:    DynamicLink that describes call site.
 


resolveMethodRef

static RVMMethod resolveMethodRef(DynamicLink dynamicLink)
Resolve method ref into appropriate RVMMethod
 Taken:       DynamicLink that describes call site.
 Returned:    RVMMethod that should be invoked.
 


compileMethod

static void compileMethod(DynamicLink dynamicLink,
                          RVMMethod targetMethod)
Compile (if necessary) targetMethod and patch the appropriate disaptch tables

Parameters:
targetMethod - the RVMMethod to compile (if not already compiled)