summaryrefslogtreecommitdiffstats
path: root/vm/compiler/codegen/arm/CodegenDriver.c
diff options
context:
space:
mode:
authorBen Cheng <bccheng@google.com>2010-01-04 12:29:56 -0800
committerBen Cheng <bccheng@google.com>2010-01-07 13:42:30 -0800
commit60c24f436d603c564d5351a6f81821f12635733c (patch)
treea7891b72a6390aed9692803e84642e6bcc61dc50 /vm/compiler/codegen/arm/CodegenDriver.c
parent81315cc4a0209073e0ae4946a6400b2cb571e616 (diff)
downloadandroid_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/codegen/arm/CodegenDriver.c')
-rw-r--r--vm/compiler/codegen/arm/CodegenDriver.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/vm/compiler/codegen/arm/CodegenDriver.c b/vm/compiler/codegen/arm/CodegenDriver.c
index f3648b9bd..010e8ca23 100644
--- a/vm/compiler/codegen/arm/CodegenDriver.c
+++ b/vm/compiler/codegen/arm/CodegenDriver.c
@@ -4117,6 +4117,9 @@ bool dvmCompilerDoWork(CompilerWorkOrder *work)
gDvmJit.printMe = oldPrintMe;;
break;
}
+ case kWorkOrderICPatch:
+ res = dvmJitPatchInlineCache((void *) work->pc, work->info);
+ break;
default:
res = false;
dvmAbort();