#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.