diff options
author | Ben Cheng <bccheng@google.com> | 2010-01-04 12:29:56 -0800 |
---|---|---|
committer | Ben Cheng <bccheng@google.com> | 2010-01-07 13:42:30 -0800 |
commit | 60c24f436d603c564d5351a6f81821f12635733c (patch) | |
tree | a7891b72a6390aed9692803e84642e6bcc61dc50 /vm/compiler/Compiler.h | |
parent | 81315cc4a0209073e0ae4946a6400b2cb571e616 (diff) | |
download | android_dalvik-60c24f436d603c564d5351a6f81821f12635733c.tar.gz android_dalvik-60c24f436d603c564d5351a6f81821f12635733c.tar.bz2 android_dalvik-60c24f436d603c564d5351a6f81821f12635733c.zip |
Tear down the code cache when it is full and restart from scratch.
Because the code cache may be wiped out after safe points now the patching of
inline cache for predicted chains is done through the compiler thread's work
queue.
Diffstat (limited to 'vm/compiler/Compiler.h')
-rw-r--r-- | vm/compiler/Compiler.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/vm/compiler/Compiler.h b/vm/compiler/Compiler.h index 06367a6ec..c66d5621a 100644 --- a/vm/compiler/Compiler.h +++ b/vm/compiler/Compiler.h @@ -38,7 +38,7 @@ typedef enum JitInstructionSetType { typedef struct JitTranslationInfo { void *codeAddress; JitInstructionSetType instructionSet; - bool discardResult; // Used for debugging divergence + bool discardResult; // Used for debugging divergence and IC patching } JitTranslationInfo; typedef enum WorkOrderKind { @@ -46,6 +46,7 @@ typedef enum WorkOrderKind { kWorkOrderMethod = 1, // Work is to compile a whole method kWorkOrderTrace = 2, // Work is to compile code fragment(s) kWorkOrderTraceDebug = 3, // Work is to compile/debug code fragment(s) + kWorkOrderICPatch = 4, // Work is to patch a polymorphic callsite } WorkOrderKind; typedef struct CompilerWorkOrder { |