diff --git a/vm/Init.c b/vm/Init.c
index 316b12f..86d385b 100644
--- a/vm/Init.c
+++ b/vm/Init.c
@@ -1015,14 +1015,6 @@
      */
 #if defined(WITH_JIT)
     gDvm.executionMode = kExecutionModeJit;
-    /* 
-     * TODO - check system property and insert command-line options in 
-     *        frameworks/base/core/jni/AndroidRuntime.cpp
-     */
-    gDvmJit.blockingMode = false;
-    gDvmJit.jitTableSize = 512;
-    gDvmJit.jitTableMask = gDvmJit.jitTableSize - 1;
-    gDvmJit.threshold = 200;
 #else
     gDvm.executionMode = kExecutionModeInterpFast;
 #endif
diff --git a/vm/compiler/codegen/arm/armv5te-vfp/ArchVariant.c b/vm/compiler/codegen/arm/armv5te-vfp/ArchVariant.c
index a763720..2a8bde1 100644
--- a/vm/compiler/codegen/arm/armv5te-vfp/ArchVariant.c
+++ b/vm/compiler/codegen/arm/armv5te-vfp/ArchVariant.c
@@ -48,6 +48,18 @@
 #include "../../../template/armv5te-vfp/TemplateOpList.h"
 #undef JIT_TEMPLATE
 
+    /* Target-specific configuration */
+    gDvmJit.blockingMode = false;
+    gDvmJit.jitTableSize = 1 << 9; // 512
+    gDvmJit.jitTableMask = gDvmJit.jitTableSize - 1;
+    gDvmJit.threshold = 200;
+
+#if defined(WITH_SELF_VERIFICATION)
+    /* Force into blocking, translate everything mode */
+    gDvmJit.blockingMode = true;
+    gDvmJit.threshold = 1;
+#endif
+
     /* Codegen-specific assumptions */
     assert(offsetof(ClassObject, vtable) < 128 &&
            (offsetof(ClassObject, vtable) & 0x3) == 0);
diff --git a/vm/compiler/codegen/arm/armv5te/ArchVariant.c b/vm/compiler/codegen/arm/armv5te/ArchVariant.c
index 1067037..6dff45a 100644
--- a/vm/compiler/codegen/arm/armv5te/ArchVariant.c
+++ b/vm/compiler/codegen/arm/armv5te/ArchVariant.c
@@ -48,6 +48,18 @@
 #include "../../../template/armv5te/TemplateOpList.h"
 #undef JIT_TEMPLATE
 
+    /* Target-specific configuration */
+    gDvmJit.blockingMode = false;
+    gDvmJit.jitTableSize = 1 << 9; // 512
+    gDvmJit.jitTableMask = gDvmJit.jitTableSize - 1;
+    gDvmJit.threshold = 200;
+
+#if defined(WITH_SELF_VERIFICATION)
+    /* Force into blocking, translate everything mode */
+    gDvmJit.blockingMode = true;
+    gDvmJit.threshold = 1;
+#endif
+
     /* Codegen-specific assumptions */
     assert(offsetof(ClassObject, vtable) < 128 &&
            (offsetof(ClassObject, vtable) & 0x3) == 0);
diff --git a/vm/compiler/codegen/arm/armv7-a/ArchVariant.c b/vm/compiler/codegen/arm/armv7-a/ArchVariant.c
index 645af56..0e4cc2b 100644
--- a/vm/compiler/codegen/arm/armv7-a/ArchVariant.c
+++ b/vm/compiler/codegen/arm/armv7-a/ArchVariant.c
@@ -44,6 +44,18 @@
 #include "../../../template/armv5te-vfp/TemplateOpList.h"
 #undef JIT_TEMPLATE
 
+    /* Target-specific configuration */
+    gDvmJit.blockingMode = false;
+    gDvmJit.jitTableSize = 1 << 12; // 4096
+    gDvmJit.jitTableMask = gDvmJit.jitTableSize - 1;
+    gDvmJit.threshold = 40;
+
+#if defined(WITH_SELF_VERIFICATION)
+    /* Force into blocking, translate everything mode */
+    gDvmJit.blockingMode = true;
+    gDvmJit.threshold = 1;
+#endif
+
     /* Codegen-specific assumptions */
     assert(offsetof(ClassObject, vtable) < 128 &&
            (offsetof(ClassObject, vtable) & 0x3) == 0);
diff --git a/vm/interp/Jit.c b/vm/interp/Jit.c
index d31826a..e327511 100644
--- a/vm/interp/Jit.c
+++ b/vm/interp/Jit.c
@@ -348,12 +348,6 @@
     unsigned int i;
     bool res = true;  /* Assume success */
 
-#if defined(WITH_SELF_VERIFICATION)
-    // Force JIT into blocking, translate everything mode
-    gDvmJit.threshold = 1;
-    gDvmJit.blockingMode = true;
-#endif
-
     // Create the compiler thread and setup miscellaneous chores */
     res &= dvmCompilerStartup();
 
@@ -787,27 +781,26 @@
 void* dvmJitGetCodeAddr(const u2* dPC)
 {
     int idx = dvmJitHash(dPC);
+    u2* npc = gDvmJit.pJitEntryTable[idx].dPC;
 
-    /* If anything is suspended, don't re-enter the code cache */
-    if (gDvm.sumThreadSuspendCount > 0) {
-        return NULL;
-    }
-
-    /* Expect a high hit rate on 1st shot */
-    if (gDvmJit.pJitEntryTable[idx].dPC == dPC) {
+    if (npc != NULL) {
+        if (npc == dPC) {
 #if defined(EXIT_STATS)
-        gDvmJit.addrLookupsFound++;
+            gDvmJit.addrLookupsFound++;
 #endif
-        return gDvmJit.pJitEntryTable[idx].codeAddress;
-    } else {
-        int chainEndMarker = gDvmJit.jitTableSize;
-        while (gDvmJit.pJitEntryTable[idx].u.info.chain != chainEndMarker) {
-            idx = gDvmJit.pJitEntryTable[idx].u.info.chain;
-            if (gDvmJit.pJitEntryTable[idx].dPC == dPC) {
+            return gDvm.sumThreadSuspendCount ? NULL :
+                gDvmJit.pJitEntryTable[idx].codeAddress;
+        } else {
+            int chainEndMarker = gDvmJit.jitTableSize;
+            while (gDvmJit.pJitEntryTable[idx].u.info.chain != chainEndMarker) {
+                idx = gDvmJit.pJitEntryTable[idx].u.info.chain;
+                if (gDvmJit.pJitEntryTable[idx].dPC == dPC) {
 #if defined(EXIT_STATS)
-                gDvmJit.addrLookupsFound++;
+                    gDvmJit.addrLookupsFound++;
 #endif
-                return gDvmJit.pJitEntryTable[idx].codeAddress;
+                    return gDvm.sumThreadSuspendCount ? NULL :
+                        gDvmJit.pJitEntryTable[idx].codeAddress;
+                }
             }
         }
     }
diff --git a/vm/interp/Jit.h b/vm/interp/Jit.h
index a8d82eb..177a734 100644
--- a/vm/interp/Jit.h
+++ b/vm/interp/Jit.h
@@ -21,7 +21,7 @@
 
 #include "InterpDefs.h"
 
-#define JIT_PROF_SIZE 512
+#define JIT_PROF_SIZE 2048
 
 #define JIT_MAX_TRACE_LEN 100
 
diff --git a/vm/mterp/armv5te/footer.S b/vm/mterp/armv5te/footer.S
index 317f151..a58527d 100644
--- a/vm/mterp/armv5te/footer.S
+++ b/vm/mterp/armv5te/footer.S
@@ -196,11 +196,11 @@
 
 common_updateProfile:
     eor     r3,rPC,rPC,lsr #12 @ cheap, but fast hash function
-    lsl     r3,r3,#23          @ shift out excess 511
-    ldrb    r1,[r0,r3,lsr #23] @ get counter
+    lsl     r3,r3,#21          @ shift out excess 2047
+    ldrb    r1,[r0,r3,lsr #21] @ get counter
     GET_INST_OPCODE(ip)
     subs    r1,r1,#1           @ decrement counter
-    strb    r1,[r0,r3,lsr #23] @ and store it
+    strb    r1,[r0,r3,lsr #21] @ and store it
     GOTO_OPCODE_IFNE(ip)       @ if not threshold, fallthrough otherwise */
 
 /*
@@ -210,7 +210,7 @@
  * jump to it now).
  */
     GET_JIT_THRESHOLD(r1)
-    strb    r1,[r0,r3,lsr #23] @ reset counter
+    strb    r1,[r0,r3,lsr #21] @ reset counter
     EXPORT_PC()
     mov     r0,rPC
     bl      dvmJitGetCodeAddr           @ r0<- dvmJitGetCodeAddr(rPC)
diff --git a/vm/mterp/out/InterpAsm-armv4t.S b/vm/mterp/out/InterpAsm-armv4t.S
index f45007f..759956f 100644
--- a/vm/mterp/out/InterpAsm-armv4t.S
+++ b/vm/mterp/out/InterpAsm-armv4t.S
@@ -9720,11 +9720,11 @@
 
 common_updateProfile:
     eor     r3,rPC,rPC,lsr #12 @ cheap, but fast hash function
-    lsl     r3,r3,#23          @ shift out excess 511
-    ldrb    r1,[r0,r3,lsr #23] @ get counter
+    lsl     r3,r3,#21          @ shift out excess 2047
+    ldrb    r1,[r0,r3,lsr #21] @ get counter
     GET_INST_OPCODE(ip)
     subs    r1,r1,#1           @ decrement counter
-    strb    r1,[r0,r3,lsr #23] @ and store it
+    strb    r1,[r0,r3,lsr #21] @ and store it
     GOTO_OPCODE_IFNE(ip)       @ if not threshold, fallthrough otherwise */
 
 /*
@@ -9734,7 +9734,7 @@
  * jump to it now).
  */
     GET_JIT_THRESHOLD(r1)
-    strb    r1,[r0,r3,lsr #23] @ reset counter
+    strb    r1,[r0,r3,lsr #21] @ reset counter
     EXPORT_PC()
     mov     r0,rPC
     bl      dvmJitGetCodeAddr           @ r0<- dvmJitGetCodeAddr(rPC)
diff --git a/vm/mterp/out/InterpAsm-armv5te-vfp.S b/vm/mterp/out/InterpAsm-armv5te-vfp.S
index 40861f2..d9e7cdb 100644
--- a/vm/mterp/out/InterpAsm-armv5te-vfp.S
+++ b/vm/mterp/out/InterpAsm-armv5te-vfp.S
@@ -9238,11 +9238,11 @@
 
 common_updateProfile:
     eor     r3,rPC,rPC,lsr #12 @ cheap, but fast hash function
-    lsl     r3,r3,#23          @ shift out excess 511
-    ldrb    r1,[r0,r3,lsr #23] @ get counter
+    lsl     r3,r3,#21          @ shift out excess 2047
+    ldrb    r1,[r0,r3,lsr #21] @ get counter
     GET_INST_OPCODE(ip)
     subs    r1,r1,#1           @ decrement counter
-    strb    r1,[r0,r3,lsr #23] @ and store it
+    strb    r1,[r0,r3,lsr #21] @ and store it
     GOTO_OPCODE_IFNE(ip)       @ if not threshold, fallthrough otherwise */
 
 /*
@@ -9252,7 +9252,7 @@
  * jump to it now).
  */
     GET_JIT_THRESHOLD(r1)
-    strb    r1,[r0,r3,lsr #23] @ reset counter
+    strb    r1,[r0,r3,lsr #21] @ reset counter
     EXPORT_PC()
     mov     r0,rPC
     bl      dvmJitGetCodeAddr           @ r0<- dvmJitGetCodeAddr(rPC)
diff --git a/vm/mterp/out/InterpAsm-armv5te.S b/vm/mterp/out/InterpAsm-armv5te.S
index 9aa736f..eb95134 100644
--- a/vm/mterp/out/InterpAsm-armv5te.S
+++ b/vm/mterp/out/InterpAsm-armv5te.S
@@ -9714,11 +9714,11 @@
 
 common_updateProfile:
     eor     r3,rPC,rPC,lsr #12 @ cheap, but fast hash function
-    lsl     r3,r3,#23          @ shift out excess 511
-    ldrb    r1,[r0,r3,lsr #23] @ get counter
+    lsl     r3,r3,#21          @ shift out excess 2047
+    ldrb    r1,[r0,r3,lsr #21] @ get counter
     GET_INST_OPCODE(ip)
     subs    r1,r1,#1           @ decrement counter
-    strb    r1,[r0,r3,lsr #23] @ and store it
+    strb    r1,[r0,r3,lsr #21] @ and store it
     GOTO_OPCODE_IFNE(ip)       @ if not threshold, fallthrough otherwise */
 
 /*
@@ -9728,7 +9728,7 @@
  * jump to it now).
  */
     GET_JIT_THRESHOLD(r1)
-    strb    r1,[r0,r3,lsr #23] @ reset counter
+    strb    r1,[r0,r3,lsr #21] @ reset counter
     EXPORT_PC()
     mov     r0,rPC
     bl      dvmJitGetCodeAddr           @ r0<- dvmJitGetCodeAddr(rPC)
diff --git a/vm/mterp/out/InterpAsm-armv7-a.S b/vm/mterp/out/InterpAsm-armv7-a.S
index abb8ea1..28b3537 100644
--- a/vm/mterp/out/InterpAsm-armv7-a.S
+++ b/vm/mterp/out/InterpAsm-armv7-a.S
@@ -9174,11 +9174,11 @@
 
 common_updateProfile:
     eor     r3,rPC,rPC,lsr #12 @ cheap, but fast hash function
-    lsl     r3,r3,#23          @ shift out excess 511
-    ldrb    r1,[r0,r3,lsr #23] @ get counter
+    lsl     r3,r3,#21          @ shift out excess 2047
+    ldrb    r1,[r0,r3,lsr #21] @ get counter
     GET_INST_OPCODE(ip)
     subs    r1,r1,#1           @ decrement counter
-    strb    r1,[r0,r3,lsr #23] @ and store it
+    strb    r1,[r0,r3,lsr #21] @ and store it
     GOTO_OPCODE_IFNE(ip)       @ if not threshold, fallthrough otherwise */
 
 /*
@@ -9188,7 +9188,7 @@
  * jump to it now).
  */
     GET_JIT_THRESHOLD(r1)
-    strb    r1,[r0,r3,lsr #23] @ reset counter
+    strb    r1,[r0,r3,lsr #21] @ reset counter
     EXPORT_PC()
     mov     r0,rPC
     bl      dvmJitGetCodeAddr           @ r0<- dvmJitGetCodeAddr(rPC)
