summaryrefslogtreecommitdiffstats
path: root/vm/compiler/codegen/arm/armv5te-vfp
diff options
context:
space:
mode:
authorBen Cheng <bccheng@android.com>2011-01-14 11:36:46 -0800
committerBen Cheng <bccheng@android.com>2011-01-26 12:51:49 -0800
commitcfdeca37fcaa27c37bad5077223e4d1e87f1182e (patch)
treeaa556c91c315994df440244de024ebb15f0e9757 /vm/compiler/codegen/arm/armv5te-vfp
parent73bfc612a47588c2e657acac44c23bd5668dadf4 (diff)
downloadandroid_dalvik-cfdeca37fcaa27c37bad5077223e4d1e87f1182e.tar.gz
android_dalvik-cfdeca37fcaa27c37bad5077223e4d1e87f1182e.tar.bz2
android_dalvik-cfdeca37fcaa27c37bad5077223e4d1e87f1182e.zip
Add runtime support for method based compilation.
Enhanced code cache management to accommodate both trace and method compilations. Also implemented a hacky dispatch routine for virtual leaf methods. Microbenchmark showed 3x speedup in leaf method invocation. Change-Id: I79d95b7300ba993667b3aa221c1df9c7b0583521
Diffstat (limited to 'vm/compiler/codegen/arm/armv5te-vfp')
-rw-r--r--vm/compiler/codegen/arm/armv5te-vfp/ArchVariant.c4
-rw-r--r--vm/compiler/codegen/arm/armv5te-vfp/Codegen.c3
2 files changed, 7 insertions, 0 deletions
diff --git a/vm/compiler/codegen/arm/armv5te-vfp/ArchVariant.c b/vm/compiler/codegen/arm/armv5te-vfp/ArchVariant.c
index f584ce72c..c857fa53b 100644
--- a/vm/compiler/codegen/arm/armv5te-vfp/ArchVariant.c
+++ b/vm/compiler/codegen/arm/armv5te-vfp/ArchVariant.c
@@ -79,6 +79,10 @@ bool dvmCompilerArchVariantInit(void)
LOGE("InterpState.jitToInterpEntries size overflow");
dvmAbort();
}
+
+ /* No method JIT for Thumb backend */
+ gDvmJit.disableOpt |= (1 << kMethodJit);
+
return true;
}
diff --git a/vm/compiler/codegen/arm/armv5te-vfp/Codegen.c b/vm/compiler/codegen/arm/armv5te-vfp/Codegen.c
index d17965d81..a2d77eadb 100644
--- a/vm/compiler/codegen/arm/armv5te-vfp/Codegen.c
+++ b/vm/compiler/codegen/arm/armv5te-vfp/Codegen.c
@@ -49,5 +49,8 @@
/* MIR2LIR dispatcher and architectural independent codegen routines */
#include "../CodegenDriver.c"
+/* Dummy driver for method-based JIT */
+#include "../armv5te/MethodCodegenDriver.c"
+
/* Architecture manifest */
#include "ArchVariant.c"