#include <VMInterface.h>
Public Types | |
| enum | SystemExceptionId { Exception_NullPointer = 0, Exception_ArrayIndexOutOfBounds, Exception_ArrayTypeMismatch, Exception_DivideByZero, Num_SystemExceptions } |
Public Member Functions | |
| CompilationInterface (Compile_Handle c, Method_Handle m, JIT_Handle jit, MemoryManager &mm, OpenMethodExecutionParams &comp_params, CompilationContext *cc, TypeManager &tpm) | |
| HELPER_CALLING_CONVENTION | getRuntimeHelperCallingConvention (VM_RT_SUPPORT id) |
| bool | isInterruptible (VM_RT_SUPPORT id) |
| bool | mayBeInterruptible (VM_RT_SUPPORT id) |
| void * | getRuntimeHelperAddress (VM_RT_SUPPORT) |
| void * | getRuntimeHelperAddressForType (VM_RT_SUPPORT, Type *) |
| MethodDesc * | getMagicHelper (VM_RT_SUPPORT) |
| Type * | getFieldType (Class_Handle enclClass, uint32 cpIndex) |
| NamedType * | getNamedType (Class_Handle enclClass, uint32 cpIndex, ResolveNewCheck check=ResolveNewCheck_NoCheck) |
| Type * | getTypeFromDescriptor (Class_Handle enclClass, const char *descriptor) |
| NamedType * | resolveNamedType (Class_Handle enclClass, uint32 cpIndex) |
| MethodDesc * | getStaticMethod (Class_Handle enclClass, uint32 cpIndex) |
| MethodDesc * | getVirtualMethod (Class_Handle enclClass, uint32 cpIndex) |
| MethodDesc * | getSpecialMethod (Class_Handle enclClass, uint32 cpIndex) |
| MethodDesc * | getInterfaceMethod (Class_Handle enclClass, uint32 cpIndex) |
| FieldDesc * | getNonStaticField (Class_Handle enclClass, uint32 cpIndex, bool putfield) |
| FieldDesc * | getStaticField (Class_Handle enclClass, uint32 cpIndex, bool putfield) |
| FieldDesc * | getFieldByName (Class_Handle enclClass, const char *name) |
| MethodDesc * | getMethodByName (Class_Handle enclClass, const char *name) |
| ObjectType * | findClassUsingBootstrapClassloader (const char *klassName) |
| Returns a system class by its name or NULL if no such class found. | |
| MethodDesc * | resolveMethod (ObjectType *klass, const char *methodName, const char *methodSig) |
| Recursively looks up for a given method with a given signature in the given class. | |
| MethodDesc * | getOverriddenMethod (NamedType *type, MethodDesc *methodDesc) |
| void * | getStringInternAddr (MethodDesc *enclosingMethodDesc, uint32 stringToken) |
| Type * | getConstantType (MethodDesc *enclosingMethodDesc, uint32 constantToken) |
| const void * | getConstantValue (MethodDesc *enclosingMethodDesc, uint32 constantToken) |
| const char * | getSignatureString (MethodDesc *enclosingMethodDesc, uint32 methodToken) |
| Byte * | allocateCodeBlock (size_t size, size_t alignment, CodeBlockHeat heat, int32 id, bool simulate) |
| Byte * | allocateDataBlock (size_t size, size_t alignment) |
| Byte * | allocateInfoBlock (size_t size) |
| Byte * | allocateJITDataBlock (size_t size, size_t alignment) |
| void | lockMethodData (void) |
| Acquires a lock to protect method's data modifications (i.e. | |
| void | unlockMethodData (void) |
| Releases a lock which protects method's data. | |
| void | setNotifyWhenClassIsExtended (ObjectType *type, void *callbackData) |
| void | setNotifyWhenMethodIsOverridden (MethodDesc *methodDesc, void *callbackData) |
| void | setNotifyWhenMethodIsRecompiled (MethodDesc *methodDesc, void *callbackData) |
| bool | needWriteBarriers () const |
| bool | isBCMapInfoRequired () const |
| void | setBCMapInfoRequired (bool is_supported) const |
| bool | isCompileLoadEventRequired () const |
| void | sendCompiledMethodLoadEvent (MethodDesc *methodDesc, MethodDesc *outerDesc, uint32 codeSize, void *codeAddr, uint32 mapLength, AddrLocation *addrLocationMap, void *compileInfo) |
| OpenMethodExecutionParams & | getCompilationParams () const |
| bool | compileMethod (MethodDesc *method) |
| Requests VM to request this JIT to synchronously (in the same thread) compile given method. | |
| MethodDesc * | getMethodToCompile () const |
| TypeManager & | getTypeManager () const |
| MemoryManager & | getMemManager () const |
| Type * | getTypeFromDrlVMTypeHandle (Type_Info_Handle) |
| FieldDesc * | getFieldDesc (Field_Handle field) |
| MethodDesc * | getMethodDesc (Method_Handle method) |
| void | setCompilationContext (CompilationContext *cc) |
| CompilationContext * | getCompilationContext () const |
Static Public Member Functions | |
| static const char * | getRuntimeHelperName (VM_RT_SUPPORT helperId) |
| static VM_RT_SUPPORT | str2rid (const char *helperName) |
| Returns helper ID by its string representation. | |
| static const char * | getMethodName (Class_Handle enclClass, uint32 cpIndex) |
| static const char * | getMethodClassName (Class_Handle enclClass, uint32 cpIndex) |
| static const char * | getFieldSignature (Class_Handle enclClass, uint32 cpIndex) |
| Jitrino.CompilationInterface.CompilationInterface | ( | Compile_Handle | c, | |
| Method_Handle | m, | |||
| JIT_Handle | jit, | |||
| MemoryManager & | mm, | |||
| OpenMethodExecutionParams & | comp_params, | |||
| CompilationContext * | cc, | |||
| TypeManager & | tpm | |||
| ) |
| static const char* Jitrino.CompilationInterface.getRuntimeHelperName | ( | VM_RT_SUPPORT | helperId | ) | [static] |
| static VM_RT_SUPPORT Jitrino.CompilationInterface.str2rid | ( | const char * | helperName | ) | [static] |
Returns helper ID by its string representation.
Name comparison is case-insensitive. If the helperName is unknown, then VM_RT_UNKNOWN is returned.
| HELPER_CALLING_CONVENTION Jitrino.CompilationInterface.getRuntimeHelperCallingConvention | ( | VM_RT_SUPPORT | id | ) |
| bool Jitrino.CompilationInterface.isInterruptible | ( | VM_RT_SUPPORT | id | ) |
| bool Jitrino.CompilationInterface.mayBeInterruptible | ( | VM_RT_SUPPORT | id | ) |
| void* Jitrino.CompilationInterface.getRuntimeHelperAddress | ( | VM_RT_SUPPORT | ) |
| void* Jitrino.CompilationInterface.getRuntimeHelperAddressForType | ( | VM_RT_SUPPORT | , | |
| Type * | ||||
| ) |
| MethodDesc* Jitrino.CompilationInterface.getMagicHelper | ( | VM_RT_SUPPORT | ) |
| Type* Jitrino.CompilationInterface.getFieldType | ( | Class_Handle | enclClass, | |
| uint32 | cpIndex | |||
| ) |
| NamedType* Jitrino.CompilationInterface.getNamedType | ( | Class_Handle | enclClass, | |
| uint32 | cpIndex, | |||
| ResolveNewCheck | check = ResolveNewCheck_NoCheck | |||
| ) |
| Type* Jitrino.CompilationInterface.getTypeFromDescriptor | ( | Class_Handle | enclClass, | |
| const char * | descriptor | |||
| ) |
| NamedType* Jitrino.CompilationInterface.resolveNamedType | ( | Class_Handle | enclClass, | |
| uint32 | cpIndex | |||
| ) |
| static const char* Jitrino.CompilationInterface.getMethodName | ( | Class_Handle | enclClass, | |
| uint32 | cpIndex | |||
| ) | [static] |
| static const char* Jitrino.CompilationInterface.getMethodClassName | ( | Class_Handle | enclClass, | |
| uint32 | cpIndex | |||
| ) | [static] |
| static const char* Jitrino.CompilationInterface.getFieldSignature | ( | Class_Handle | enclClass, | |
| uint32 | cpIndex | |||
| ) | [static] |
| MethodDesc* Jitrino.CompilationInterface.getStaticMethod | ( | Class_Handle | enclClass, | |
| uint32 | cpIndex | |||
| ) |
| MethodDesc* Jitrino.CompilationInterface.getVirtualMethod | ( | Class_Handle | enclClass, | |
| uint32 | cpIndex | |||
| ) |
| MethodDesc* Jitrino.CompilationInterface.getSpecialMethod | ( | Class_Handle | enclClass, | |
| uint32 | cpIndex | |||
| ) |
| MethodDesc* Jitrino.CompilationInterface.getInterfaceMethod | ( | Class_Handle | enclClass, | |
| uint32 | cpIndex | |||
| ) |
| FieldDesc* Jitrino.CompilationInterface.getNonStaticField | ( | Class_Handle | enclClass, | |
| uint32 | cpIndex, | |||
| bool | putfield | |||
| ) |
| FieldDesc* Jitrino.CompilationInterface.getStaticField | ( | Class_Handle | enclClass, | |
| uint32 | cpIndex, | |||
| bool | putfield | |||
| ) |
| FieldDesc* Jitrino.CompilationInterface.getFieldByName | ( | Class_Handle | enclClass, | |
| const char * | name | |||
| ) |
| MethodDesc* Jitrino.CompilationInterface.getMethodByName | ( | Class_Handle | enclClass, | |
| const char * | name | |||
| ) |
| ObjectType* Jitrino.CompilationInterface.findClassUsingBootstrapClassloader | ( | const char * | klassName | ) |
Returns a system class by its name or NULL if no such class found.
| MethodDesc* Jitrino.CompilationInterface.resolveMethod | ( | ObjectType * | klass, | |
| const char * | methodName, | |||
| const char * | methodSig | |||
| ) |
Recursively looks up for a given method with a given signature in the given class.
Returns NULL if no such method found.
| MethodDesc* Jitrino.CompilationInterface.getOverriddenMethod | ( | NamedType * | type, | |
| MethodDesc * | methodDesc | |||
| ) |
| void* Jitrino.CompilationInterface.getStringInternAddr | ( | MethodDesc * | enclosingMethodDesc, | |
| uint32 | stringToken | |||
| ) |
| Type* Jitrino.CompilationInterface.getConstantType | ( | MethodDesc * | enclosingMethodDesc, | |
| uint32 | constantToken | |||
| ) |
| const void* Jitrino.CompilationInterface.getConstantValue | ( | MethodDesc * | enclosingMethodDesc, | |
| uint32 | constantToken | |||
| ) |
| const char* Jitrino.CompilationInterface.getSignatureString | ( | MethodDesc * | enclosingMethodDesc, | |
| uint32 | methodToken | |||
| ) |
| Byte* Jitrino.CompilationInterface.allocateCodeBlock | ( | size_t | size, | |
| size_t | alignment, | |||
| CodeBlockHeat | heat, | |||
| int32 | id, | |||
| bool | simulate | |||
| ) |
| Byte* Jitrino.CompilationInterface.allocateDataBlock | ( | size_t | size, | |
| size_t | alignment | |||
| ) |
| Byte* Jitrino.CompilationInterface.allocateInfoBlock | ( | size_t | size | ) |
| Byte* Jitrino.CompilationInterface.allocateJITDataBlock | ( | size_t | size, | |
| size_t | alignment | |||
| ) |
| void Jitrino.CompilationInterface.lockMethodData | ( | void | ) |
Acquires a lock to protect method's data modifications (i.e.
code/info block allocations, exception handlers registration, etc) in multi-threaded compilation. The lock *must not* surround a code which may lead to execution of managed code, or a race and hang happen. For example, the managed code execution may happen during a resolution (invocation of resolve_XXX) to locate a class through a custom class loader. Note, that the lock is *not* per-method, and shared across all the methods.
| void Jitrino.CompilationInterface.unlockMethodData | ( | void | ) |
Releases a lock which protects method's data.
| void Jitrino.CompilationInterface.setNotifyWhenClassIsExtended | ( | ObjectType * | type, | |
| void * | callbackData | |||
| ) |
| void Jitrino.CompilationInterface.setNotifyWhenMethodIsOverridden | ( | MethodDesc * | methodDesc, | |
| void * | callbackData | |||
| ) |
| void Jitrino.CompilationInterface.setNotifyWhenMethodIsRecompiled | ( | MethodDesc * | methodDesc, | |
| void * | callbackData | |||
| ) |
| bool Jitrino.CompilationInterface.needWriteBarriers | ( | ) | const |
| bool Jitrino.CompilationInterface.isBCMapInfoRequired | ( | ) | const |
| void Jitrino.CompilationInterface.setBCMapInfoRequired | ( | bool | is_supported | ) | const |
| bool Jitrino.CompilationInterface.isCompileLoadEventRequired | ( | ) | const |
| void Jitrino.CompilationInterface.sendCompiledMethodLoadEvent | ( | MethodDesc * | methodDesc, | |
| MethodDesc * | outerDesc, | |||
| uint32 | codeSize, | |||
| void * | codeAddr, | |||
| uint32 | mapLength, | |||
| AddrLocation * | addrLocationMap, | |||
| void * | compileInfo | |||
| ) |
| OpenMethodExecutionParams& Jitrino.CompilationInterface.getCompilationParams | ( | ) | const |
| bool Jitrino.CompilationInterface.compileMethod | ( | MethodDesc * | method | ) |
Requests VM to request this JIT to synchronously (in the same thread) compile given method.
| method | method to compile |
| MethodDesc* Jitrino.CompilationInterface.getMethodToCompile | ( | ) | const |
| TypeManager& Jitrino.CompilationInterface.getTypeManager | ( | ) | const |
| MemoryManager& Jitrino.CompilationInterface.getMemManager | ( | ) | const |
| Type* Jitrino.CompilationInterface.getTypeFromDrlVMTypeHandle | ( | Type_Info_Handle | ) |
| FieldDesc* Jitrino.CompilationInterface.getFieldDesc | ( | Field_Handle | field | ) |
| MethodDesc* Jitrino.CompilationInterface.getMethodDesc | ( | Method_Handle | method | ) |
| void Jitrino.CompilationInterface.setCompilationContext | ( | CompilationContext * | cc | ) |
| CompilationContext* Jitrino.CompilationInterface.getCompilationContext | ( | ) | const |
Genereated on Tue Mar 11 19:25:40 2008 by Doxygen.
(c) Copyright 2005, 2008 The Apache Software Foundation or its licensors, as applicable.