diff options
author | Bill Buzbee <buzbee@google.com> | 2009-07-23 13:22:09 -0700 |
---|---|---|
committer | Bill Buzbee <buzbee@google.com> | 2009-07-27 16:02:08 -0700 |
commit | 716f120d7f33ca18a5dcbef811399df0cbefe5d0 (patch) | |
tree | a52972ebbedf379c144531655a7edc8c3cc0527d /vm/compiler/Compiler.h | |
parent | 7605a84a9a0a1764c1fb290d9c93e8114eaf620a (diff) | |
download | android_dalvik-716f120d7f33ca18a5dcbef811399df0cbefe5d0.tar.gz android_dalvik-716f120d7f33ca18a5dcbef811399df0cbefe5d0.tar.bz2 android_dalvik-716f120d7f33ca18a5dcbef811399df0cbefe5d0.zip |
First phase of restructuring to support THUMB2 & ARM traces
Store some useful info about traces in JitTable entry; some general cleanup
Diffstat (limited to 'vm/compiler/Compiler.h')
-rw-r--r-- | vm/compiler/Compiler.h | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/vm/compiler/Compiler.h b/vm/compiler/Compiler.h index 093d48ace..2cd112bb3 100644 --- a/vm/compiler/Compiler.h +++ b/vm/compiler/Compiler.h @@ -25,6 +25,21 @@ #define COMPILER_TRACEE(X) #define COMPILER_TRACE_CHAINING(X) +typedef enum JitInstructionSetType { + DALVIK_JIT_NONE = 0, + DALVIK_JIT_ARM, + DALVIK_JIT_THUMB, + DALVIK_JIT_THUMB2, + DALVIK_JIT_THUMBEE, + DALVIK_JIT_X86 +} JitInstructionSetType; + +/* Description of a compiled trace. */ +typedef struct JitTranslationInfo { + void *codeAddress; + JitInstructionSetType instructionSet; +} JitTranslationInfo; + typedef enum WorkOrderKind { kWorkOrderInvalid = 0, // Should never see by the backend kWorkOrderMethod = 1, // Work is to compile a whole method @@ -35,6 +50,7 @@ typedef struct CompilerWorkOrder { const u2* pc; WorkOrderKind kind; void* info; + JitTranslationInfo result; } CompilerWorkOrder; typedef enum JitState { @@ -98,10 +114,12 @@ bool dvmCompilerStartup(void); void dvmCompilerShutdown(void); bool dvmCompilerWorkEnqueue(const u2* pc, WorkOrderKind kind, void* info); void *dvmCheckCodeCache(void *method); -void *dvmCompileMethod(const Method *method); -void *dvmCompileTrace(JitTraceDescription *trace, int numMaxInsts); +bool dvmCompileMethod(const Method *method, JitTranslationInfo *info); +bool dvmCompileTrace(JitTraceDescription *trace, int numMaxInsts, + JitTranslationInfo *info); void dvmCompilerDumpStats(void); void dvmCompilerDrainQueue(void); void dvmJitUnchainAll(void); +void dvmCompilerSortAndPrintTraceProfiles(void); #endif /* _DALVIK_VM_COMPILER */ |