aicas logo Jamaica 3.4 release 8

com.aicas.jamaica.lang
Class JitVmInterface

java.lang.Object
  extended by com.aicas.jamaica.lang.JitVmInterface

public abstract class JitVmInterface
extends Object

JitCompilerVMInterface defines the native VM interface needed for the Jamaica just-in-time compiler.


Method Summary
static long adrOfMemberDescriptor(Member m)
          Obtain the memory address of the descriptor of a member
static long adrOfObject(Object o)
          Obtain the memory address of an object
static long allocExecutableMemory(long freeMemory, int requestedBytes)
          alloc executable memory
static long allocRawExecutableMemoryPages(int pages)
          alloc executable memory without any memory header the amount of allocated memory is determined by the number of pages
static int ANCESTORS_ENTRIES()
          Obtain the address of a helper routine ANCESTORS_ENTRIES
static int ANCESTORS_SIZE()
          Obtain the address of a helper routine ANCESTORS_SIZE
static int ARRAY_BODY_SIZE()
          Obtain the address of a helper routine ARRAY_BODY_SIZE
static int ARRAY_ELEMENTS_IN_HEADER()
          Obtain the address of a helper routine jamaicaPropagateException2
static int ARRAY_ELEMENTS()
          Obtain the address of a helper routine ARRAY_ELEMENTS
static int ARRAY_HEADER_WORDS()
          Obtain the address of a helper routine ARRAY_HEADER_WORDS
static int ARRAY_LENGTH_DEPTH()
          Obtain the address of a helper routine ARRAY_LENGTH_DEPTH
static boolean ARRAY64_ALIGNED()
          Obtain the address of a helper routine ARRAY64_ALIGNED
static int ARRAY64_PADDING()
          Obtain the address of a helper routine ARRAY64_PADDING
static byte[] byteCode(Member m)
          Obtain the byte code for a given method or constructor.
static int byteCodeSize(Member m)
          Obtain the byte code size for a given method or constructor.
static void changedMethodToCompiledMode(Member method, long methodAddress, long stubAddress)
          changedMethodToCompiledMode save the given compiled code into the method descriptor to the given method
static void changeMethodToInterpretedMode(Member method)
          Change back to interpreted mode for a given address of a method descriptor i.e. method or constructor NOTE: this method does not free memory !
static int CLASS_ANCESTORS()
          Obtain the address of a helper routine CLASS_ANCESTORS
static int CLASS_ELEMENT_CLASS()
          Obtain the address of a helper routine CLASS_ELEMENT_CLASS
static int CLASS_IMPLEMENTS()
          Obtain the address of a helper routine CLASS_IMPLEMENTS
static int CLASS_INTERFACE_ID()
          Obtain the address of a helper routine CLASS_INTERFACE_ID
static int CLASS_METHOD_TABLE()
          Obtain the address of a helper routine CLASS_METHOD_TABLE
static int CLASS_STATE_AND_ACCESS()
          Obtain the address of a helper routine CLASS_STATE_AND_ACCESS
static Class cPoolClass(Class cl, int index)
          Obtain the CPool Class entry at the given index.
static double cPoolDouble(Class cl, int index)
          Obtain the CPool Double entry at the given index.
static Field cPoolField(Class cl, int index)
          Obtain the CPool Field entry at the given index.
static float cPoolFloat(Class cl, int index)
          Obtain the CPool Float entry at the given index.
static int cPoolInteger(Class cl, int index)
          Obtain the CPool Integer entry at the given index.
static long cPoolLong(Class cl, int index)
          Obtain the CPool Long entry at the given index.
static Member cPoolMethod(Class cl, int index)
          Obtain the CPool Method/Constructor entry at the given index.
static String cPoolString(Class cl, int index)
          Obtain the CPool String entry at the given index.
static int cPoolTag(Class cl, int index)
          Obtain the CPool tag at the given index.
static byte[] cPoolUtf8(Class cl, int index)
          Obtain the CPool Utf8 entry at the given index.
static int[] exceptionTable(Member m)
          Obtain the exception table for a given method or constructor.
static int FIELD_BYTE_OFFSET()
          Obtain the address of a helper routine FIELD_BYTE_OFFSET
static int FIELD_OFFSET()
          Obtain the address of a helper routine FIELD_OFFSET
static int FIELD_STATIC_VALUE_1()
          Obtain the address of a helper routine FIELD_STATIC_VALUE_1
static int FIELD_STATIC_VALUE_2()
          Obtain the address of a helper routine FIELD_STATIC_VALUE_2
static int FIELD_STATIC_VALUE_R()
          Obtain the address of a helper routine FIELD_STATIC_VALUE_R
static int fieldByteOffset(Field field)
          Obtain the Jamaica 6 byte offset of a given instance Field
static int fieldOffset(Field field)
          Obtain the offset of a given instance Field
static int FRAME_CALLER_FRAME()
          Obtain the address of a helper routine FRAME_CALLER_FRAME
static int FRAME_METHOD()
          Obtain the address of a helper routine FRAME_METHOD
static int FRAME_OLD_INDEX()
          Obtain the address of a helper routine FRAME_OLD_INDEX
static int FRAME_PC_OR_LONGJMPBUF()
          Obtain the address of a helper routine FRAME_PC_OR_LONGJMPBUF
static int FRAME_SAVED_MEMAREA()
          Obtain the address of a helper routine FRAME_SAVED_MEMAREA
static int FRAME_SIZE_WITH_SYNC_OBJECT()
          Obtain the address of a helper routine FRAME_SIZE_WITH_SYNC_OBJECT
static int FRAME_SIZE_WITHOUT_SYNC_OBJECT()
          Obtain the address of a helper routine FRAME_SIZE_WITHOUT_SYNC_OBJECT
static int FRAME_SYNC_OBJECT()
          Obtain the address of a helper routine FRAME_SYNC_OBJECT
static int FRAME_SYNCCOUNT()
          Obtain the address of a helper routine FRAME_SYNCCOUNT
static void freeExecutableMemory(long cAdr)
          free executable memory
static int gcenvGreyList2Offset()
          Obtain the offset of the greyList2 field in the GCEnv structure.
static int gcenvWhiteOffset()
          Obtain the offset of the white field in the GCEnv structure.
static int getAccessFlags(Member method)
          Obtain the access flags of a member
static long getCompiledCodeAddress(long mdAdr)
          get the physical address of JAMAICA_METHOD_COMPILED_CODE for a given address of a method descriptor
static int getCompiledCodeSize(long cAdr)
          getCompiledCodeSize returns the amount of memory which was needed to write a given method to the memory
static long getCompiledStubAddress(long mdAdr)
          get the physical address of JAMAICA_METHOD_CODE_DATA for a given address of a method descriptor
static int getMethodCounter(long cAdr)
          getMethodCounter return the internal counter of a specified method which decides if that given method is declared to be thrown away (memory wil be freed)
static int getMethodCounterOffset()
          at the begin of each JIT generated code we save a struct where we keep internal informations getMethodCounterOffset returns the offset to access the method counter variable within the struct
static int getPageSize()
          get page size
static long getUniqueClassLoaderID(ClassLoader cl)
          Obtain the unique id for the given classLoader
static boolean hasReverseStub(Member m)
          Check if a reverse stub exists for the given method's signature
static int interfaceId(Class cl)
          Obtain the id of a given interface class.
static boolean isBigEndian()
          check for big endian
static boolean isNativeMethod(Member method)
          Check if a member i.e. a Method or a Constructor from a known method descriptor address is native or compiled
static int JAMAICA_METHOD_METHOD_INDEX_SHIFT()
          Obtain the address of a helper routine JAMAICA_METHOD_METHOD_INDEX_SHIFT
static int JAMAICAGC_HEAD_COLOR()
          Obtain the address of a helper routine JAMAICAGC_HEAD_COLOR
static int JAVA_LANG_THREAD_PENDINGEXCEPTION()
          Obtain the address of a helper routine jamaicaPropagateException2
static int JSR_PC_OFFSET()
          Obtain the address of a helper routine JSR_PC_OFFSET
static int METHOD_ACCESS()
          Obtain the address of a helper routine METHOD_ACCESS
static int METHOD_CODE_DATA()
          Obtain the address of a helper routine METHOD_CODE_DATA
static int METHOD_COMPILED_CODE()
          Obtain the address of a helper routine jamaicaPropagateException2
static int methodOffset(Method method)
          Obtain the offset of a given virtual or interface Method
static int MONITOR_ID_POS()
          Obtain the address of a helper routine MONITOR_ID_POS
static int MONITOR_NEST_POS()
          Obtain the address of a helper routine MONITOR_NEST_POS
static String nativeGetFeatureName(Member method)
          Obtain the name for a feature from a known method * i.e. a Method or a Constructor.
static Member nativeGetMember(Object method)
          Convert an internal representation of a method from a known method descriptor address into a member i.e. a Method or a Constructor.If the internal representation is a static initializer, return it as a normal method.
static Object nativeGetPreemptedMethod()
          nativeGetPreemptedMethod searches for the method that got preempted by the JitProfiler ATTENTION: This function is inherently not real-time.
static long nativeRoutineAddDouble()
          Obtain the address of a helper routine addDouble
static long nativeRoutineAddFloat()
          Obtain the address of a helper routine addFloat
static long nativeRoutineAllocJavaObject()
          Obtain the address of a helper routine jamaicaInterpreter_allocJavaObject
static long nativeRoutineAllocMultiArray()
          Obtain the address of a helper routine jamaicaInterpreter_allocMultiArray
static long nativeRoutineAllocSimpleArray()
          Obtain the address of a helper routine jamaicaInterpreter_allocSimpleArray
static long nativeRoutineCallFromCompiled()
          Obtain the address of a helper routine call_from_compiled.
static long nativeRoutineCheckAssign()
          Obtain the address of a helper routine checkAssign.
static long nativeRoutineCheckAssignment()
          Obtain the address of a helper routine checkassignment.
static long nativeRoutineCleanSavedRefs()
          Obtain the address of a helper routine cleanSavedRefs
static long nativeRoutineClearRefsOnExc()
          Obtain the address of a helper routine clearRefsOnExc
static long nativeRoutineCmpDoubleModeG()
          Obtain the address of a helper routine cmpDoubleModeG.
static long nativeRoutineCmpDoubleModeL()
          Obtain the address of a helper routine cmpDoubleModeL.
static long nativeRoutineCmpFloatModeG()
          Obtain the address of a helper routine cmpFloatModeG.
static long nativeRoutineCmpFloatModeL()
          Obtain the address of a helper routine cmpFloatModeL.
static long nativeRoutineCmpLong()
          Obtain the address of a helper routine cmpLong()
static long nativeRoutineCompatibleClass()
          Obtain the address of a helper routine compatibleClass.
static long nativeRoutineCreateJBIFrame()
          Obtain the address of a helper routine createJBIFrame
static long nativeRoutineCreateLocalRef()
          Obtain the address of a helper routine createLocalRef
static long nativeRoutineDebugBreak()
          Obtain the address of a helper routine debugBreak
static long nativeRoutineDiv32()
          Obtain the address of a helper routine div32
static long nativeRoutineDiv64()
          Obtain the address of a helper routine div64
static long nativeRoutineDivDouble()
          Obtain the address of a helper routine divDouble
static long nativeRoutineDivFloat()
          Obtain the address of a helper routine divFloat
static long nativeRoutineDoubleToFloat()
          Obtain the address of a helper routine doubleToFloat
static long nativeRoutineDoubleToInt()
          Obtain the address of a helper routine doubleToInt
static long nativeRoutineDoubleToLong()
          Obtain the address of a helper routine doubleToLong
static long nativeRoutineFloatToDouble()
          Obtain the address of a helper routine floatToDouble
static long nativeRoutineFloatToInt()
          Obtain the address of a helper routine floatToInt
static long nativeRoutineFloatToLong()
          Obtain the address of a helper routine floatToLong
static long nativeRoutineGetArrayByte()
          Obtain the address of a helper routine jitCompiler_Get_Array_Byte.
static long nativeRoutineGetArrayChar()
          Obtain the address of a helper routine jitCompiler_Get_Array_Char.
static long nativeRoutineGetArrayDouble()
          Obtain the address of a helper routine jitCompiler_Get_Array_Double.
static long nativeRoutineGetArrayFloat()
          Obtain the address of a helper routine jitCompiler_Get_Array_Float.
static long nativeRoutineGetArrayInteger()
          Obtain the address of a helper routine jitCompiler_Get_Array_Integer.
static long nativeRoutineGetArrayLong()
          Obtain the address of a helper routine jitCompiler_Get_Array_Long.
static long nativeRoutineGetArrayRef()
          Obtain the address of a helper routine jitCompiler_Get_Array_Ref.
static long nativeRoutineGetArrayShort()
          Obtain the address of a helper routine jitCompiler_Get_Array_Short.
static long nativeRoutineGetClassAddress(Method method)
          Obtain the address of the class, the given method is defined in (used by jni stub generator)
static long nativeRoutineGetInterfaceMethod()
          Obtain the address of a helper routine getInterfaceMethod
static long nativeRoutineHaltNullPointerDetected()
          nativeRoutineHaltNullPointerDetected is a routine used for debugging purpose that checks selected variables during the runtime for NullPointer
static long nativeRoutineInitializeClass()
          Obtain the address of a helper routine init_class
static long nativeRoutineIntToDouble()
          Obtain the address of a helper routine intToDouble
static long nativeRoutineIntToFloat()
          Obtain the address of a helper routine intToFloat
static long nativeRoutineIsNanDouble()
          Obtain the address of a helper routine isNanDouble
static long nativeRoutineIsNanFloat()
          Obtain the address of a helper routine isNanFloat
static long nativeRoutineJamaicaPropagateException2()
          Obtain the address of a helper routine jamaicaPropagateException2
static long nativeRoutineJamaicaSchedulerAttach()
          Obtain the address of a helper routine jamaicaSchedulerAttach
static long nativeRoutineJamaicaSchedulerDetach()
          Obtain the address of a helper routine jamaicaSchedulerDetach
static long nativeRoutineLoadBooleanArray()
          Obtain the address of a helper routine loadBooleanArray.
static long nativeRoutineLongToDouble()
          Obtain the address of a helper routine longToDouble
static long nativeRoutineLongToFloat()
          Obtain the address of a helper routine longToFloat
static long nativeRoutineMod32()
          Obtain the address of a helper routine mod32
static long nativeRoutineMod64()
          Obtain the address of a helper routine mod64
static long nativeRoutineModDouble()
          Obtain the address of a helper routine modDouble
static long nativeRoutineModFloat()
          Obtain the address of a helper routine modFloat
static long nativeRoutineMonitorEnter()
          Obtain the address of a helper routine jamaicaMonitor_enter
static long nativeRoutineMonitorExit()
          Obtain the address of a helper routine jamaicaMonitor_exit
static long nativeRoutineMul64()
          Obtain the address of a helper routine mul64
static long nativeRoutineMulDouble()
          Obtain the address of a helper routine mulDouble
static long nativeRoutineMulFloat()
          Obtain the address of a helper routine mulFloat
static long nativeRoutineNegDouble()
          Obtain the address of a helper routine negDouble.
static long nativeRoutineNegFloat()
          Obtain the address of a helper routine negFloat.
static long nativeRoutinePrint()
          Obtain the address of a helper routine that prints a C string.
static long nativeRoutinePrintInt32()
          Obtain the address of a helper routine that prints a 32 bit integer value.
static long nativeRoutinePropagateException()
          Obtain the address of a helper routine propagateException.
static long nativeRoutineRemoveJBIFrame()
          Obtain the address of a helper routine removeJBIFrame
static long nativeRoutineSetArrayByte()
          Obtain the address of a helper routine jitCompiler_Set_Array_Byte.
static long nativeRoutineSetArrayChar()
          Obtain the address of a helper routine jitCompiler_Set_Array_Char.
static long nativeRoutineSetArrayDouble()
          Obtain the address of a helper routine jitCompiler_Set_Array_Double.
static long nativeRoutineSetArrayFloat()
          Obtain the address of a helper routine jitCompiler_Set_Array_Float.
static long nativeRoutineSetArrayInteger()
          Obtain the address of a helper routine jitCompiler_Set_Array_Integer.
static long nativeRoutineSetArrayLong()
          Obtain the address of a helper routine jitCompiler_Set_Array_Long.
static long nativeRoutineSetArrayRef()
          Obtain the address of a helper routine jitCompiler_Set_Array_Ref.
static long nativeRoutineSetArrayShort()
          Obtain the address of a helper routine jitCompiler_Set_Array_Short.
static long nativeRoutineSetJump()
          Obtain the address of a helper routine setjmp.
static long nativeRoutineShiftLongL()
          Obtain the address of a helper routine ShiftLongL
static long nativeRoutineShiftLongR()
          Obtain the address of a helper routine ShiftLongR
static long nativeRoutineStoreBooleanArray()
          Obtain the address of a helper routine storeBooleanArray.
static long nativeRoutineSubDouble()
          Obtain the address of a helper routine subDouble
static long nativeRoutineSubFloat()
          Obtain the address of a helper routine subFloat
static long nativeRoutineSyncPointFull()
          Obtain the address of a helper routine syncPointFull.
static long nativeRoutineTAE()
          Obtain the address of a helper routine tAE (throw ArithmeticException)
static long nativeRoutineTAIOOBE()
          Obtain the address of a helper routine tAIOOBE (throw ArrayIndexOutOfBoundsException)
static long nativeRoutineTASE()
          Obtain the address of a helper routine tASE (throw ArrayStoreException)
static long nativeRoutineTCCE()
          Obtain the address of a helper routine tCCE (throw ClassCastException)
static long nativeRoutineThrowFromCompiled()
          Obtain the address of a helper routine jamaica_throw_from_compiled
static long nativeRoutineTNASE()
          Obtain the address of a helper routine tNASE (throw NegativeArraySizeException)
static long nativeRoutineTNPE()
          Obtain the address of a helper routine tNPE (throw NullPointerException)
static long nativeRoutineTSIOOBE()
          Obtain the address of a helper routine tSIOOBE (throw StringIndexOutOfBoundsException)
static long nativeRoutineTSOE()
          Obtain the address of a helper routine tSOE
static long nativeRoutineUshiftLongR()
          Obtain the address of a helper routine UshiftLongR
static int OBJECT_HEADER_SIZE()
          Obtain the address of a helper routine OBJECT_HEADER_SIZE
static int OBJECT_JAVA_CLASS()
          Obtain the address of a helper routine OBJECT_JAVA_CLASS
static int OBJECT_MONITOR_MASK_UNSHIFTED()
          Obtain the address of a helper routine OBJECT_MONITOR_MASK_UNSHIFTED
static int OBJECT_MONITOR_MASK()
          Obtain the address of a helper routine OBJECT_MONITOR_MASK
static int OBJECT_MONITOR_SHIFT()
          Obtain the address of a helper routine OBJECT_MONITOR_SHIFT
static int OBJECT_MONITOR()
          Obtain the address of a helper routine OBJECT_MONITOR
static int OBJECT_SIZE()
          Obtain the address of a helper routine OBJECT_SIZE
static void registerJNIReverseStub(long reverseStubAddress, AccessibleObject m)
          Register a new reverse stub for a JNI method
static void registerJNIStub(long stubAddress, AccessibleObject m)
          Register a new stub for a JNI method
static void registerReverseStub(byte[] revStub, int id)
          Register a new reverse (compiled -> interpreted) stub method for the given signature id.
static void setMethodCounter(long cAdr, int methodCounter)
          setMethodCounter increments a internal counter of a specified method which decides if that given method is declared to be thrown away (memory wil be freed)
static int sizeOfJumpBuffer()
          Obtain the size of the longjump-buffer
static int threadCalledMethodOffset()
          Obtain the offset of the called method field in the thread structure.
static int threadCStackLimitOffset()
          Obtain the offset of the C stack limit field in the thread structure.
static int threadFrameOffset()
          Obtain the offset of the frame field in the thread structure.
static int threadJavaStackSizeOffset()
          Obtain the offset of the javaStackSize field in the thread structure.
static int threadJavaThreadOffset()
          Obtain the offset of the javaThread field in the thread structure.
static int threadMutatorContLocalsIndexOffset()
          Obtain the offset of the mutator's cont locals index field in the thread structure.
static int threadMutatorContLocalsOffset()
          Obtain the offset of the mutator's cont locals field in the thread structure.
static int threadMutatorGCEnvOffset()
          Obtain the offset of the mutuator's gcenv field in the thread structure.
static int threadRescheduleOffset()
          Obtain the offset of the reschedule field in the thread structure.
static int threadStackOffset()
          Obtain the offset of the Java stack in the thread structure.
static int threadStateOffset()
          Obtain the offset of the state field in the thread structure.
static int threadStateRunningConst()
          Obtain the JAMAICA_THREAD_STATE_RUNNING constant
static int threadThreadOffset()
          Obtain the offset of the Java thread in the thread structure.
static void writeCode(long memoryAddress, byte[] code, int[] code_relocs)
          write binary code to a given allocated memory address
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

isBigEndian

public static boolean isBigEndian()
check for big endian


getPageSize

public static int getPageSize()
get page size


allocRawExecutableMemoryPages

public static long allocRawExecutableMemoryPages(int pages)
alloc executable memory without any memory header the amount of allocated memory is determined by the number of pages


allocExecutableMemory

public static long allocExecutableMemory(long freeMemory,
                                         int requestedBytes)
alloc executable memory

Parameters:
freeMemory - the size in bytes of usable freeMemory its needed because on file systems we probably need to alloc more memory than just needed for this code
requestedBytes -

freeExecutableMemory

public static void freeExecutableMemory(long cAdr)
free executable memory

Parameters:
cAdr - address to memory

writeCode

public static void writeCode(long memoryAddress,
                             byte[] code,
                             int[] code_relocs)
write binary code to a given allocated memory address

Parameters:
memoryAddress - the already allocated memory for this code
code - the compiled code using JBI calling conventions
codeRelocs - offsets in code that require relocation

changedMethodToCompiledMode

public static void changedMethodToCompiledMode(Member method,
                                               long methodAddress,
                                               long stubAddress)
changedMethodToCompiledMode save the given compiled code into the method descriptor to the given method

Parameters:
method - the method or constructor for that we have JIT compiled code
methodAddress - address to a generated method code using JBI calling conventions
stubAddress - address to a generated stub code

changeMethodToInterpretedMode

public static void changeMethodToInterpretedMode(Member method)
Change back to interpreted mode for a given address of a method descriptor i.e. method or constructor NOTE: this method does not free memory !

Parameters:
method - reference to a member

getCompiledCodeSize

public static int getCompiledCodeSize(long cAdr)
getCompiledCodeSize returns the amount of memory which was needed to write a given method to the memory

Parameters:
cAdr - the physical address of a JIT generated method

setMethodCounter

public static void setMethodCounter(long cAdr,
                                    int methodCounter)
setMethodCounter increments a internal counter of a specified method which decides if that given method is declared to be thrown away (memory wil be freed)

Parameters:
cAdr - the physical address of a JIT generated method
methodCounter - the value we want to set the internal counter for method calls

getMethodCounter

public static int getMethodCounter(long cAdr)
getMethodCounter return the internal counter of a specified method which decides if that given method is declared to be thrown away (memory wil be freed)

Parameters:
cAdr - the physical address of a JIT generated method
Returns:
internal counter of method calls

getMethodCounterOffset

public static int getMethodCounterOffset()
at the begin of each JIT generated code we save a struct where we keep internal informations getMethodCounterOffset returns the offset to access the method counter variable within the struct

Returns:
offset to method counter

getCompiledCodeAddress

public static long getCompiledCodeAddress(long mdAdr)
get the physical address of JAMAICA_METHOD_COMPILED_CODE for a given address of a method descriptor

Parameters:
mdAdr - address of method descriptor of a method

getCompiledStubAddress

public static long getCompiledStubAddress(long mdAdr)
get the physical address of JAMAICA_METHOD_CODE_DATA for a given address of a method descriptor

Parameters:
mdAdr - address of method descriptor of a method

nativeRoutineHaltNullPointerDetected

public static long nativeRoutineHaltNullPointerDetected()
nativeRoutineHaltNullPointerDetected is a routine used for debugging purpose that checks selected variables during the runtime for NullPointer

Returns:
the address of this function

registerJNIStub

public static void registerJNIStub(long stubAddress,
                                   AccessibleObject m)
Register a new stub for a JNI method

Parameters:
stubAddress -
a - reference to an AccessibleObject

registerJNIReverseStub

public static void registerJNIReverseStub(long reverseStubAddress,
                                          AccessibleObject m)
Register a new reverse stub for a JNI method

Parameters:
reverseStubAddress -
a - reference to an AccessibleObject

registerReverseStub

public static void registerReverseStub(byte[] revStub,
                                       int id)
Register a new reverse (compiled -> interpreted) stub method for the given signature id.

Parameters:
revStub - the code of the reverse stub
id - the id of the signature of the methods to use this reverse stub for

byteCode

public static byte[] byteCode(Member m)
Obtain the byte code for a given method or constructor.

Parameters:
m - the method or constructor
Returns:
the byte code instructions of this method or null if not present (since m is native, abstract, or compiled).

byteCodeSize

public static int byteCodeSize(Member m)
Obtain the byte code size for a given method or constructor.

Parameters:
m - the method or constructor
Returns:
the number of bytes in the byte code of this method or 0 if not present (since m is native, abstract, or compiled).

exceptionTable

public static int[] exceptionTable(Member m)
Obtain the exception table for a given method or constructor.

Parameters:
m - the method or constructor
Returns:
the exception table, null in case the method or constructor does not catch any exceptions.

cPoolUtf8

public static byte[] cPoolUtf8(Class cl,
                               int index)
Obtain the CPool Utf8 entry at the given index.

Parameters:
cl - the class whose CPool we want to access
index - the cpool index
Returns:
the Utf8 string at the given index

cPoolInteger

public static int cPoolInteger(Class cl,
                               int index)
Obtain the CPool Integer entry at the given index.

Parameters:
cl - the class whose CPool we want to access
index - the cpool index
Returns:
the integer at the given index

cPoolFloat

public static float cPoolFloat(Class cl,
                               int index)
Obtain the CPool Float entry at the given index.

Parameters:
cl - the class whose CPool we want to access
index - the cpool index
Returns:
the float at the given index

cPoolLong

public static long cPoolLong(Class cl,
                             int index)
Obtain the CPool Long entry at the given index.

Parameters:
cl - the class whose CPool we want to access
index - the cpool index
Returns:
the long at the given index

cPoolDouble

public static double cPoolDouble(Class cl,
                                 int index)
Obtain the CPool Double entry at the given index.

Parameters:
cl - the class whose CPool we want to access
index - the cpool index
Returns:
the double at the given index

cPoolClass

public static Class cPoolClass(Class cl,
                               int index)
Obtain the CPool Class entry at the given index.

Parameters:
cl - the class whose CPool we want to access
index - the cpool index
Returns:
the class at the given index

cPoolString

public static String cPoolString(Class cl,
                                 int index)
Obtain the CPool String entry at the given index.

Parameters:
cl - the class whose CPool we want to access
index - the cpool index
Returns:
the string at the given index

cPoolField

public static Field cPoolField(Class cl,
                               int index)
Obtain the CPool Field entry at the given index.

Parameters:
cl - the class whose CPool we want to access
index - the cpool index
Returns:
the Field at the given index

cPoolMethod

public static Member cPoolMethod(Class cl,
                                 int index)
Obtain the CPool Method/Constructor entry at the given index.

Parameters:
cl - the class whose CPool we want to access
index - the cpool index
Returns:
the Method/Constructor at the given index

cPoolTag

public static int cPoolTag(Class cl,
                           int index)
Obtain the CPool tag at the given index.

Parameters:
cl - the class whose CPool we want to access
index - the cpool index
Returns:
the tag of this CPool entry

fieldOffset

public static int fieldOffset(Field field)
Obtain the offset of a given instance Field

Parameters:
field - the instance field whose offset we want to access
Returns:
the field offset

fieldByteOffset

public static int fieldByteOffset(Field field)
Obtain the Jamaica 6 byte offset of a given instance Field

Parameters:
field - the instance field whose offset we want to access
Returns:
the field byte offset

methodOffset

public static int methodOffset(Method method)
Obtain the offset of a given virtual or interface Method

Parameters:
method - the virtual or interface method whose offset we want to access
Returns:
the method offset, -1 if the method is not a virtual or interface method.

interfaceId

public static int interfaceId(Class cl)
Obtain the id of a given interface class.

Parameters:
cl - the interface class whose id we want to determine
Returns:
the interface id of cl

adrOfMemberDescriptor

public static long adrOfMemberDescriptor(Member m)
Obtain the memory address of the descriptor of a member

Parameters:
m - the method or field
Returns:
the address of the desriptor

adrOfObject

public static long adrOfObject(Object o)
Obtain the memory address of an object

Parameters:
o - the object
Returns:
the address of the object

hasReverseStub

public static boolean hasReverseStub(Member m)
Check if a reverse stub exists for the given method's signature

Parameters:
m - a method or constructor
Returns:
true iff a reverse stub exists for m's signature

nativeRoutinePrintInt32

public static long nativeRoutinePrintInt32()
Obtain the address of a helper routine that prints a 32 bit integer value.

Returns:
the address of the print routine

nativeRoutinePrint

public static long nativeRoutinePrint()
Obtain the address of a helper routine that prints a C string.

Returns:
the address of the print routine

nativeRoutineSetJump

public static long nativeRoutineSetJump()
Obtain the address of a helper routine setjmp. Note that the address of setjmp cannot be determined on all systems, so the result will be 0 if setjmp is not known.

Returns:
the address of the setjmp routine or 0.

nativeRoutineCleanSavedRefs

public static long nativeRoutineCleanSavedRefs()
Obtain the address of a helper routine cleanSavedRefs

Returns:
the address of the cleanSavedRefs routine

nativeRoutineClearRefsOnExc

public static long nativeRoutineClearRefsOnExc()
Obtain the address of a helper routine clearRefsOnExc

Returns:
the address of the clearRefsOnExc routine

nativeRoutineCreateJBIFrame

public static long nativeRoutineCreateJBIFrame()
Obtain the address of a helper routine createJBIFrame

Returns:
the address of the createJBIFrame routine

nativeRoutineRemoveJBIFrame

public static long nativeRoutineRemoveJBIFrame()
Obtain the address of a helper routine removeJBIFrame

Returns:
the address of the removeJBIFrame routine

nativeRoutineGetInterfaceMethod

public static long nativeRoutineGetInterfaceMethod()
Obtain the address of a helper routine getInterfaceMethod

Returns:
the address of the removeJBIFrame routine

nativeRoutineCallFromCompiled

public static long nativeRoutineCallFromCompiled()
Obtain the address of a helper routine call_from_compiled.

Returns:
the address of the call_from_compiled routine

nativeRoutineSyncPointFull

public static long nativeRoutineSyncPointFull()
Obtain the address of a helper routine syncPointFull.

Returns:
the address of the syncPointFull routine

nativeRoutineTSOE

public static long nativeRoutineTSOE()
Obtain the address of a helper routine tSOE

Returns:
the address of the tSOE routine

nativeRoutineInitializeClass

public static long nativeRoutineInitializeClass()
Obtain the address of a helper routine init_class

Returns:
the address of the init_class routine

nativeRoutineAllocJavaObject

public static long nativeRoutineAllocJavaObject()
Obtain the address of a helper routine jamaicaInterpreter_allocJavaObject

Returns:
the address of the routine

nativeRoutineAllocSimpleArray

public static long nativeRoutineAllocSimpleArray()
Obtain the address of a helper routine jamaicaInterpreter_allocSimpleArray

Returns:
the address of the routine

nativeRoutineAllocMultiArray

public static long nativeRoutineAllocMultiArray()
Obtain the address of a helper routine jamaicaInterpreter_allocMultiArray

Returns:
the address of the routine

nativeRoutineThrowFromCompiled

public static long nativeRoutineThrowFromCompiled()
Obtain the address of a helper routine jamaica_throw_from_compiled

Returns:
the address of the routine

nativeRoutineMonitorEnter

public static long nativeRoutineMonitorEnter()
Obtain the address of a helper routine jamaicaMonitor_enter

Returns:
the address of the routine

nativeRoutineMonitorExit

public static long nativeRoutineMonitorExit()
Obtain the address of a helper routine jamaicaMonitor_exit

Returns:
the address of the routine

nativeRoutineTAE

public static long nativeRoutineTAE()
Obtain the address of a helper routine tAE (throw ArithmeticException)

Returns:
the address of the routine

nativeRoutineTNPE

public static long nativeRoutineTNPE()
Obtain the address of a helper routine tNPE (throw NullPointerException)

Returns:
the address of the routine

nativeRoutineTSIOOBE

public static long nativeRoutineTSIOOBE()
Obtain the address of a helper routine tSIOOBE (throw StringIndexOutOfBoundsException)

Returns:
the address of the routine

nativeRoutineTAIOOBE

public static long nativeRoutineTAIOOBE()
Obtain the address of a helper routine tAIOOBE (throw ArrayIndexOutOfBoundsException)

Returns:
the address of the routine

nativeRoutineTNASE

public static long nativeRoutineTNASE()
Obtain the address of a helper routine tNASE (throw NegativeArraySizeException)

Returns:
the address of the routine

nativeRoutineTCCE

public static long nativeRoutineTCCE()
Obtain the address of a helper routine tCCE (throw ClassCastException)

Returns:
the address of the routine

nativeRoutineTASE

public static long nativeRoutineTASE()
Obtain the address of a helper routine tASE (throw ArrayStoreException)

Returns:
the address of the routine

nativeRoutineCheckAssign

public static long nativeRoutineCheckAssign()
Obtain the address of a helper routine checkAssign.

Returns:
the address of the routine

nativeRoutineCheckAssignment

public static long nativeRoutineCheckAssignment()
Obtain the address of a helper routine checkassignment.

Returns:
the address of the routine

nativeRoutineLoadBooleanArray

public static long nativeRoutineLoadBooleanArray()
Obtain the address of a helper routine loadBooleanArray.

Returns:
the address of the routine

nativeRoutineStoreBooleanArray

public static long nativeRoutineStoreBooleanArray()
Obtain the address of a helper routine storeBooleanArray.

Returns:
the address of the routine

nativeRoutineSetArrayRef

public static long nativeRoutineSetArrayRef()
Obtain the address of a helper routine jitCompiler_Set_Array_Ref.

Returns:
the address of the routine

nativeRoutineSetArrayByte

public static long nativeRoutineSetArrayByte()
Obtain the address of a helper routine jitCompiler_Set_Array_Byte.

Returns:
the address of the routine

nativeRoutineSetArrayChar

public static long nativeRoutineSetArrayChar()
Obtain the address of a helper routine jitCompiler_Set_Array_Char.

Returns:
the address of the routine

nativeRoutineSetArrayShort

public static long nativeRoutineSetArrayShort()
Obtain the address of a helper routine jitCompiler_Set_Array_Short.

Returns:
the address of the routine

nativeRoutineSetArrayInteger

public static long nativeRoutineSetArrayInteger()
Obtain the address of a helper routine jitCompiler_Set_Array_Integer.

Returns:
the address of the routine

nativeRoutineSetArrayFloat

public static long nativeRoutineSetArrayFloat()
Obtain the address of a helper routine jitCompiler_Set_Array_Float.

Returns:
the address of the routine

nativeRoutineSetArrayLong

public static long nativeRoutineSetArrayLong()
Obtain the address of a helper routine jitCompiler_Set_Array_Long.

Returns:
the address of the routine

nativeRoutineSetArrayDouble

public static long nativeRoutineSetArrayDouble()
Obtain the address of a helper routine jitCompiler_Set_Array_Double.

Returns:
the address of the routine

nativeRoutineGetArrayRef

public static long nativeRoutineGetArrayRef()
Obtain the address of a helper routine jitCompiler_Get_Array_Ref.

Returns:
the address of the routine

nativeRoutineGetArrayByte

public static long nativeRoutineGetArrayByte()
Obtain the address of a helper routine jitCompiler_Get_Array_Byte.

Returns:
the address of the routine

nativeRoutineGetArrayChar

public static long nativeRoutineGetArrayChar()
Obtain the address of a helper routine jitCompiler_Get_Array_Char.

Returns:
the address of the routine

nativeRoutineGetArrayShort

public static long nativeRoutineGetArrayShort()
Obtain the address of a helper routine jitCompiler_Get_Array_Short.

Returns:
the address of the routine

nativeRoutineGetArrayInteger

public static long nativeRoutineGetArrayInteger()
Obtain the address of a helper routine jitCompiler_Get_Array_Integer.

Returns:
the address of the routine

nativeRoutineGetArrayFloat

public static long nativeRoutineGetArrayFloat()
Obtain the address of a helper routine jitCompiler_Get_Array_Float.

Returns:
the address of the routine

nativeRoutineGetArrayLong

public static long nativeRoutineGetArrayLong()
Obtain the address of a helper routine jitCompiler_Get_Array_Long.

Returns:
the address of the routine

nativeRoutineGetArrayDouble

public static long nativeRoutineGetArrayDouble()
Obtain the address of a helper routine jitCompiler_Get_Array_Double.

Returns:
the address of the routine

nativeRoutineCompatibleClass

public static long nativeRoutineCompatibleClass()
Obtain the address of a helper routine compatibleClass.

Returns:
the address of the routine

nativeRoutinePropagateException

public static long nativeRoutinePropagateException()
Obtain the address of a helper routine propagateException.

Returns:
the address of the routine

nativeRoutineCmpLong

public static long nativeRoutineCmpLong()
Obtain the address of a helper routine cmpLong()

Returns:
the address of the routine

nativeRoutineCmpFloatModeL

public static long nativeRoutineCmpFloatModeL()
Obtain the address of a helper routine cmpFloatModeL.

Returns:
the address of the routine

nativeRoutineCmpFloatModeG

public static long nativeRoutineCmpFloatModeG()
Obtain the address of a helper routine cmpFloatModeG.

Returns:
the address of the routine

nativeRoutineCmpDoubleModeL

public static long nativeRoutineCmpDoubleModeL()
Obtain the address of a helper routine cmpDoubleModeL.

Returns:
the address of the routine

nativeRoutineCmpDoubleModeG

public static long nativeRoutineCmpDoubleModeG()
Obtain the address of a helper routine cmpDoubleModeG.

Returns:
the address of the routine

nativeRoutineNegFloat

public static long nativeRoutineNegFloat()
Obtain the address of a helper routine negFloat.

Returns:
the address of the routine

nativeRoutineNegDouble

public static long nativeRoutineNegDouble()
Obtain the address of a helper routine negDouble.

Returns:
the address of the routine

nativeRoutineDiv64

public static long nativeRoutineDiv64()
Obtain the address of a helper routine div64

Returns:
the address of the routine

nativeRoutineDiv32

public static long nativeRoutineDiv32()
Obtain the address of a helper routine div32

Returns:
the address of the routine

nativeRoutineMul64

public static long nativeRoutineMul64()
Obtain the address of a helper routine mul64

Returns:
the address of the routine

nativeRoutineMod32

public static long nativeRoutineMod32()
Obtain the address of a helper routine mod32

Returns:
the address of the routine

nativeRoutineMod64

public static long nativeRoutineMod64()
Obtain the address of a helper routine mod64

Returns:
the address of the routine

nativeRoutineAddFloat

public static long nativeRoutineAddFloat()
Obtain the address of a helper routine addFloat

Returns:
the address of the routine

nativeRoutineSubFloat

public static long nativeRoutineSubFloat()
Obtain the address of a helper routine subFloat

Returns:
the address of the routine

nativeRoutineMulFloat

public static long nativeRoutineMulFloat()
Obtain the address of a helper routine mulFloat

Returns:
the address of the routine

nativeRoutineDivFloat

public static long nativeRoutineDivFloat()
Obtain the address of a helper routine divFloat

Returns:
the address of the routine

nativeRoutineModFloat

public static long nativeRoutineModFloat()
Obtain the address of a helper routine modFloat

Returns:
the address of the routine

nativeRoutineAddDouble

public static long nativeRoutineAddDouble()
Obtain the address of a helper routine addDouble

Returns:
the address of the routine

nativeRoutineSubDouble

public static long nativeRoutineSubDouble()
Obtain the address of a helper routine subDouble

Returns:
the address of the routine

nativeRoutineMulDouble

public static long nativeRoutineMulDouble()
Obtain the address of a helper routine mulDouble

Returns:
the address of the routine

nativeRoutineDivDouble

public static long nativeRoutineDivDouble()
Obtain the address of a helper routine divDouble

Returns:
the address of the routine

nativeRoutineModDouble

public static long nativeRoutineModDouble()
Obtain the address of a helper routine modDouble

Returns:
the address of the routine

nativeRoutineIntToFloat

public static long nativeRoutineIntToFloat()
Obtain the address of a helper routine intToFloat

Returns:
the address of the routine

nativeRoutineLongToFloat

public static long nativeRoutineLongToFloat()
Obtain the address of a helper routine longToFloat

Returns:
the address of the routine

nativeRoutineDoubleToFloat

public static long nativeRoutineDoubleToFloat()
Obtain the address of a helper routine doubleToFloat

Returns:
the address of the routine

nativeRoutineIntToDouble

public static long nativeRoutineIntToDouble()
Obtain the address of a helper routine intToDouble

Returns:
the address of the routine

nativeRoutineLongToDouble

public static long nativeRoutineLongToDouble()
Obtain the address of a helper routine longToDouble

Returns:
the address of the routine

nativeRoutineFloatToInt

public static long nativeRoutineFloatToInt()
Obtain the address of a helper routine floatToInt

Returns:
the address of the routine

nativeRoutineFloatToDouble

public static long nativeRoutineFloatToDouble()
Obtain the address of a helper routine floatToDouble

Returns:
the address of the routine

nativeRoutineDoubleToInt

public static long nativeRoutineDoubleToInt()
Obtain the address of a helper routine doubleToInt

Returns:
the address of the routine

nativeRoutineFloatToLong

public static long nativeRoutineFloatToLong()
Obtain the address of a helper routine floatToLong

Returns:
the address of the routine

nativeRoutineDoubleToLong

public static long nativeRoutineDoubleToLong()
Obtain the address of a helper routine doubleToLong

Returns:
the address of the routine

nativeRoutineShiftLongL

public static long nativeRoutineShiftLongL()
Obtain the address of a helper routine ShiftLongL

Returns:
the address of the routine

nativeRoutineShiftLongR

public static long nativeRoutineShiftLongR()
Obtain the address of a helper routine ShiftLongR

Returns:
the address of the routine

nativeRoutineUshiftLongR

public static long nativeRoutineUshiftLongR()
Obtain the address of a helper routine UshiftLongR

Returns:
the address of the routine

nativeRoutineIsNanFloat

public static long nativeRoutineIsNanFloat()
Obtain the address of a helper routine isNanFloat

Returns:
the address of the routine

nativeRoutineIsNanDouble

public static long nativeRoutineIsNanDouble()
Obtain the address of a helper routine isNanDouble

Returns:
the address of the routine

nativeRoutineDebugBreak

public static long nativeRoutineDebugBreak()
Obtain the address of a helper routine debugBreak

Returns:
the address of the routine

sizeOfJumpBuffer

public static int sizeOfJumpBuffer()
Obtain the size of the longjump-buffer

Returns:
sizeof(jamaica_native_longjump)

threadStackOffset

public static int threadStackOffset()
Obtain the offset of the Java stack in the thread structure.

Returns:
offset of Java stack reference

threadThreadOffset

public static int threadThreadOffset()
Obtain the offset of the Java thread in the thread structure.

Returns:
offset of Java thread reference

threadCStackLimitOffset

public static int threadCStackLimitOffset()
Obtain the offset of the C stack limit field in the thread structure.

Returns:
offset of C stack limit field

threadFrameOffset

public static int threadFrameOffset()
Obtain the offset of the frame field in the thread structure.

Returns:
offset of frame field

threadJavaStackSizeOffset

public static int threadJavaStackSizeOffset()
Obtain the offset of the javaStackSize field in the thread structure.

Returns:
offset of javaStackSize field

threadMutatorGCEnvOffset

public static int threadMutatorGCEnvOffset()
Obtain the offset of the mutuator's gcenv field in the thread structure.

Returns:
offset of m.gcenv field

threadMutatorContLocalsOffset

public static int threadMutatorContLocalsOffset()
Obtain the offset of the mutator's cont locals field in the thread structure.

Returns:
offset of m.cont_locals field

threadMutatorContLocalsIndexOffset

public static int threadMutatorContLocalsIndexOffset()
Obtain the offset of the mutator's cont locals index field in the thread structure.

Returns:
offset of m.cont_locals_index field

threadCalledMethodOffset

public static int threadCalledMethodOffset()
Obtain the offset of the called method field in the thread structure.

Returns:
offset of calledMethod field

threadRescheduleOffset

public static int threadRescheduleOffset()
Obtain the offset of the reschedule field in the thread structure.

Returns:
offset of reschedule

threadStateOffset

public static int threadStateOffset()
Obtain the offset of the state field in the thread structure.

Returns:
offset of state

threadStateRunningConst

public static int threadStateRunningConst()
Obtain the JAMAICA_THREAD_STATE_RUNNING constant

Returns:
JAMAICA_THREAD_STATE_RUNNING constant

threadJavaThreadOffset

public static int threadJavaThreadOffset()
Obtain the offset of the javaThread field in the thread structure.

Returns:
offset of javaThread field

gcenvGreyList2Offset

public static int gcenvGreyList2Offset()
Obtain the offset of the greyList2 field in the GCEnv structure.

Returns:
offset of greyList2

gcenvWhiteOffset

public static int gcenvWhiteOffset()
Obtain the offset of the white field in the GCEnv structure.

Returns:
offset of white, or -1 if this field is not present (in safety critical Jamaica)

nativeGetPreemptedMethod

public static Object nativeGetPreemptedMethod()
nativeGetPreemptedMethod searches for the method that got preempted by the JitProfiler ATTENTION: This function is inherently not real-time. It blocks the VM completely during its operation.

Returns:
address to concerned method descriptor if a preempted method got found otherwise return JAMAICA_NULL;

nativeGetMember

public static Member nativeGetMember(Object method)
Convert an internal representation of a method from a known method descriptor address into a member i.e. a Method or a Constructor.If the internal representation is a static initializer, return it as a normal method. if the method is compiled or native JAMAICA_NULL will be returned.

Parameters:
method - reference to method descriptor
Returns:
member

nativeGetFeatureName

public static String nativeGetFeatureName(Member method)
Obtain the name for a feature from a known method * i.e. a Method or a Constructor. If the member is native NULL will be returned

Parameters:
member -
Returns:
java string "."

isNativeMethod

public static boolean isNativeMethod(Member method)
Check if a member i.e. a Method or a Constructor from a known method descriptor address is native or compiled

Parameters:
member -
Returns:
true if native|compiled else false

nativeRoutineGetClassAddress

public static long nativeRoutineGetClassAddress(Method method)
Obtain the address of the class, the given method is defined in (used by jni stub generator)

Returns:
the address of the class

nativeRoutineCreateLocalRef

public static long nativeRoutineCreateLocalRef()
Obtain the address of a helper routine createLocalRef

Returns:
the address of the routine

nativeRoutineJamaicaSchedulerAttach

public static long nativeRoutineJamaicaSchedulerAttach()
Obtain the address of a helper routine jamaicaSchedulerAttach

Returns:
the address of the routine

nativeRoutineJamaicaSchedulerDetach

public static long nativeRoutineJamaicaSchedulerDetach()
Obtain the address of a helper routine jamaicaSchedulerDetach

Returns:
the address of the routine

nativeRoutineJamaicaPropagateException2

public static long nativeRoutineJamaicaPropagateException2()
Obtain the address of a helper routine jamaicaPropagateException2

Returns:
the address of the routine

JAMAICAGC_HEAD_COLOR

public static int JAMAICAGC_HEAD_COLOR()
Obtain the address of a helper routine JAMAICAGC_HEAD_COLOR

Returns:
the address of the routine

OBJECT_HEADER_SIZE

public static int OBJECT_HEADER_SIZE()
Obtain the address of a helper routine OBJECT_HEADER_SIZE

Returns:
the address of the routine

OBJECT_JAVA_CLASS

public static int OBJECT_JAVA_CLASS()
Obtain the address of a helper routine OBJECT_JAVA_CLASS

Returns:
the address of the routine

OBJECT_MONITOR

public static int OBJECT_MONITOR()
Obtain the address of a helper routine OBJECT_MONITOR

Returns:
the address of the routine

OBJECT_SIZE

public static int OBJECT_SIZE()
Obtain the address of a helper routine OBJECT_SIZE

Returns:
the address of the routine

ARRAY_LENGTH_DEPTH

public static int ARRAY_LENGTH_DEPTH()
Obtain the address of a helper routine ARRAY_LENGTH_DEPTH

Returns:
the address of the routine

ARRAY_ELEMENTS

public static int ARRAY_ELEMENTS()
Obtain the address of a helper routine ARRAY_ELEMENTS

Returns:
the address of the routine

ARRAY_HEADER_WORDS

public static int ARRAY_HEADER_WORDS()
Obtain the address of a helper routine ARRAY_HEADER_WORDS

Returns:
the address of the routine

ARRAY_BODY_SIZE

public static int ARRAY_BODY_SIZE()
Obtain the address of a helper routine ARRAY_BODY_SIZE

Returns:
the address of the routine

ARRAY_ELEMENTS_IN_HEADER

public static int ARRAY_ELEMENTS_IN_HEADER()
Obtain the address of a helper routine jamaicaPropagateException2

Returns:
the address of the routine

ARRAY64_ALIGNED

public static boolean ARRAY64_ALIGNED()
Obtain the address of a helper routine ARRAY64_ALIGNED

Returns:
the address of the routine

ARRAY64_PADDING

public static int ARRAY64_PADDING()
Obtain the address of a helper routine ARRAY64_PADDING

Returns:
the address of the routine

CLASS_METHOD_TABLE

public static int CLASS_METHOD_TABLE()
Obtain the address of a helper routine CLASS_METHOD_TABLE

Returns:
the address of the routine

CLASS_ANCESTORS

public static int CLASS_ANCESTORS()
Obtain the address of a helper routine CLASS_ANCESTORS

Returns:
the address of the routine

CLASS_STATE_AND_ACCESS

public static int CLASS_STATE_AND_ACCESS()
Obtain the address of a helper routine CLASS_STATE_AND_ACCESS

Returns:
the address of the routine

CLASS_INTERFACE_ID

public static int CLASS_INTERFACE_ID()
Obtain the address of a helper routine CLASS_INTERFACE_ID

Returns:
the address of the routine

CLASS_IMPLEMENTS

public static int CLASS_IMPLEMENTS()
Obtain the address of a helper routine CLASS_IMPLEMENTS

Returns:
the address of the routine

CLASS_ELEMENT_CLASS

public static int CLASS_ELEMENT_CLASS()
Obtain the address of a helper routine CLASS_ELEMENT_CLASS

Returns:
the address of the routine

ANCESTORS_SIZE

public static int ANCESTORS_SIZE()
Obtain the address of a helper routine ANCESTORS_SIZE

Returns:
the address of the routine

ANCESTORS_ENTRIES

public static int ANCESTORS_ENTRIES()
Obtain the address of a helper routine ANCESTORS_ENTRIES

Returns:
the address of the routine

FIELD_OFFSET

public static int FIELD_OFFSET()
Obtain the address of a helper routine FIELD_OFFSET

Returns:
the address of the routine

FIELD_BYTE_OFFSET

public static int FIELD_BYTE_OFFSET()
Obtain the address of a helper routine FIELD_BYTE_OFFSET

Returns:
the address of the routine

FIELD_STATIC_VALUE_1

public static int FIELD_STATIC_VALUE_1()
Obtain the address of a helper routine FIELD_STATIC_VALUE_1

Returns:
the address of the routine

FIELD_STATIC_VALUE_2

public static int FIELD_STATIC_VALUE_2()
Obtain the address of a helper routine FIELD_STATIC_VALUE_2

Returns:
the address of the routine

FIELD_STATIC_VALUE_R

public static int FIELD_STATIC_VALUE_R()
Obtain the address of a helper routine FIELD_STATIC_VALUE_R

Returns:
the address of the routine

METHOD_ACCESS

public static int METHOD_ACCESS()
Obtain the address of a helper routine METHOD_ACCESS

Returns:
the address of the routine

METHOD_COMPILED_CODE

public static int METHOD_COMPILED_CODE()
Obtain the address of a helper routine jamaicaPropagateException2

Returns:
the address of the routine

METHOD_CODE_DATA

public static int METHOD_CODE_DATA()
Obtain the address of a helper routine METHOD_CODE_DATA

Returns:
the address of the routine

JAVA_LANG_THREAD_PENDINGEXCEPTION

public static int JAVA_LANG_THREAD_PENDINGEXCEPTION()
Obtain the address of a helper routine jamaicaPropagateException2

Returns:
the address of the routine

JAMAICA_METHOD_METHOD_INDEX_SHIFT

public static int JAMAICA_METHOD_METHOD_INDEX_SHIFT()
Obtain the address of a helper routine JAMAICA_METHOD_METHOD_INDEX_SHIFT

Returns:
the address of the routine

JSR_PC_OFFSET

public static int JSR_PC_OFFSET()
Obtain the address of a helper routine JSR_PC_OFFSET

Returns:
the address of the routine

OBJECT_MONITOR_SHIFT

public static int OBJECT_MONITOR_SHIFT()
Obtain the address of a helper routine OBJECT_MONITOR_SHIFT

Returns:
the address of the routine

OBJECT_MONITOR_MASK_UNSHIFTED

public static int OBJECT_MONITOR_MASK_UNSHIFTED()
Obtain the address of a helper routine OBJECT_MONITOR_MASK_UNSHIFTED

Returns:
the address of the routine

OBJECT_MONITOR_MASK

public static int OBJECT_MONITOR_MASK()
Obtain the address of a helper routine OBJECT_MONITOR_MASK

Returns:
the address of the routine

MONITOR_ID_POS

public static int MONITOR_ID_POS()
Obtain the address of a helper routine MONITOR_ID_POS

Returns:
the address of the routine

MONITOR_NEST_POS

public static int MONITOR_NEST_POS()
Obtain the address of a helper routine MONITOR_NEST_POS

Returns:
the address of the routine

FRAME_CALLER_FRAME

public static int FRAME_CALLER_FRAME()
Obtain the address of a helper routine FRAME_CALLER_FRAME

Returns:
the address of the routine

FRAME_PC_OR_LONGJMPBUF

public static int FRAME_PC_OR_LONGJMPBUF()
Obtain the address of a helper routine FRAME_PC_OR_LONGJMPBUF

Returns:
the address of the routine

FRAME_METHOD

public static int FRAME_METHOD()
Obtain the address of a helper routine FRAME_METHOD

Returns:
the address of the routine

FRAME_SYNC_OBJECT

public static int FRAME_SYNC_OBJECT()
Obtain the address of a helper routine FRAME_SYNC_OBJECT

Returns:
the address of the routine

FRAME_OLD_INDEX

public static int FRAME_OLD_INDEX()
Obtain the address of a helper routine FRAME_OLD_INDEX

Returns:
the address of the routine

FRAME_SAVED_MEMAREA

public static int FRAME_SAVED_MEMAREA()
Obtain the address of a helper routine FRAME_SAVED_MEMAREA

Returns:
the address of the routine

FRAME_SYNCCOUNT

public static int FRAME_SYNCCOUNT()
Obtain the address of a helper routine FRAME_SYNCCOUNT

Returns:
the address of the routine

FRAME_SIZE_WITHOUT_SYNC_OBJECT

public static int FRAME_SIZE_WITHOUT_SYNC_OBJECT()
Obtain the address of a helper routine FRAME_SIZE_WITHOUT_SYNC_OBJECT

Returns:
the address of the routine

FRAME_SIZE_WITH_SYNC_OBJECT

public static int FRAME_SIZE_WITH_SYNC_OBJECT()
Obtain the address of a helper routine FRAME_SIZE_WITH_SYNC_OBJECT

Returns:
the address of the routine

getAccessFlags

public static int getAccessFlags(Member method)
Obtain the access flags of a member

Returns:
access flags

getUniqueClassLoaderID

public static long getUniqueClassLoaderID(ClassLoader cl)
Obtain the unique id for the given classLoader

Returns:
unique ID

aicas logo Jamaica 3.4 release 8

aicas GmbH, Karlsruhe - Germany    www.aicas.com
Copyright 2001-2009 aicas GmbH. All Rights Reserved.