Jit: Briefly delay start of Jit'ng in attempt to avoid compiling init code

Via subjective manual side-by-side testing of jit vs. no-jit, the mterp
version looked like it tended to reach first screen on application launch
very slightly before the Jit version.  This change adds an old and
commonly-used Jit trick to delay jit startup in an attempt to avoid wasting
effort compiling initialization code.

Also, deletes some code no longer in use.
diff --git a/vm/Globals.h b/vm/Globals.h
index 0a983c3..916cb97 100644
--- a/vm/Globals.h
+++ b/vm/Globals.h
@@ -690,7 +690,6 @@
 
     /* Array of profile threshold counters */
     unsigned char *pProfTable;
-    unsigned char *pProfTableCopy;
 
     /* Size of JIT hash table in entries.  Must be a power of 2 */
     unsigned int jitTableSize;
diff --git a/vm/compiler/Compiler.c b/vm/compiler/Compiler.c
index 5787378..45d8317 100644
--- a/vm/compiler/Compiler.c
+++ b/vm/compiler/Compiler.c
@@ -112,6 +112,18 @@
 {
     dvmChangeStatus(NULL, THREAD_VMWAIT);
 
+    /*
+     * Wait a little before recieving translation requests on the assumption
+     * that process start-up code isn't worth compiling.  The trace
+     * selector won't attempt to request a translation if the queue is
+     * filled, so we'll prevent by keeping the high water mark at zero
+     * for a shore time.
+     */
+    assert(gDvmJit.compilerHighWater == 0);
+    usleep(1000);
+    gDvmJit.compilerHighWater =
+        COMPILER_WORK_QUEUE_SIZE - (COMPILER_WORK_QUEUE_SIZE/4);
+
     dvmLockMutex(&gDvmJit.compilerLock);
     /*
      * Since the compiler thread will not touch any objects on the heap once
@@ -233,8 +245,8 @@
            sizeof(CompilerWorkOrder) * COMPILER_WORK_QUEUE_SIZE);
     gDvmJit.compilerWorkEnqueueIndex = gDvmJit.compilerWorkDequeueIndex = 0;
     gDvmJit.compilerQueueLength = 0;
-    gDvmJit.compilerHighWater =
-        COMPILER_WORK_QUEUE_SIZE - (COMPILER_WORK_QUEUE_SIZE/4);
+    /* Block new entries via HighWater until compiler thread is ready */
+    gDvmJit.compilerHighWater = 0;
 
     assert(gDvmJit.compilerHighWater < COMPILER_WORK_QUEUE_SIZE);
     if (!dvmCreateInternalThread(&gDvmJit.compilerHandle, "Compiler",
diff --git a/vm/interp/Jit.c b/vm/interp/Jit.c
index 2a5d9ef..ef0dab4 100644
--- a/vm/interp/Jit.c
+++ b/vm/interp/Jit.c
@@ -397,7 +397,7 @@
         gDvmJit.pJitEntryTable = pJitTable;
         gDvmJit.jitTableMask = gDvmJit.jitTableSize - 1;
         gDvmJit.jitTableEntriesUsed = 0;
-        gDvmJit.pProfTableCopy = gDvmJit.pProfTable = pJitProfTable;
+        gDvmJit.pProfTable = pJitProfTable;
         dvmUnlockMutex(&gDvmJit.tableLock);
     }
     return res;
@@ -420,7 +420,7 @@
      * bytes, and no further attempt will be made to re-allocate it.  Can't
      * free it because some thread may be holding a reference.
      */
-    gDvmJit.pProfTable = gDvmJit.pProfTableCopy = NULL;
+    gDvmJit.pProfTable = NULL;
 }
 
 #if defined(EXIT_STATS)
diff --git a/vm/mterp/armv5te/header.S b/vm/mterp/armv5te/header.S
index 78b2282..d3fd167 100644
--- a/vm/mterp/armv5te/header.S
+++ b/vm/mterp/armv5te/header.S
@@ -178,7 +178,6 @@
 #define SET_VREG(_reg, _vreg)   str     _reg, [rFP, _vreg, lsl #2]
 
 #if defined(WITH_JIT)
-#define GET_JIT_ENABLED(_reg)       ldr     _reg,[rGLUE,#offGlue_jitEnabled]
 #define GET_JIT_PROF_TABLE(_reg)    ldr     _reg,[rGLUE,#offGlue_pJitProfTable]
 #define GET_JIT_THRESHOLD(_reg)     ldr     _reg,[rGLUE,#offGlue_jitThreshold]
 #endif
diff --git a/vm/mterp/out/InterpAsm-armv4t.S b/vm/mterp/out/InterpAsm-armv4t.S
index 9f9b9ff..f45007f 100644
--- a/vm/mterp/out/InterpAsm-armv4t.S
+++ b/vm/mterp/out/InterpAsm-armv4t.S
@@ -185,7 +185,6 @@
 #define SET_VREG(_reg, _vreg)   str     _reg, [rFP, _vreg, lsl #2]
 
 #if defined(WITH_JIT)
-#define GET_JIT_ENABLED(_reg)       ldr     _reg,[rGLUE,#offGlue_jitEnabled]
 #define GET_JIT_PROF_TABLE(_reg)    ldr     _reg,[rGLUE,#offGlue_pJitProfTable]
 #define GET_JIT_THRESHOLD(_reg)     ldr     _reg,[rGLUE,#offGlue_jitThreshold]
 #endif
diff --git a/vm/mterp/out/InterpAsm-armv5te-vfp.S b/vm/mterp/out/InterpAsm-armv5te-vfp.S
index 4a3f683..40861f2 100644
--- a/vm/mterp/out/InterpAsm-armv5te-vfp.S
+++ b/vm/mterp/out/InterpAsm-armv5te-vfp.S
@@ -185,7 +185,6 @@
 #define SET_VREG(_reg, _vreg)   str     _reg, [rFP, _vreg, lsl #2]
 
 #if defined(WITH_JIT)
-#define GET_JIT_ENABLED(_reg)       ldr     _reg,[rGLUE,#offGlue_jitEnabled]
 #define GET_JIT_PROF_TABLE(_reg)    ldr     _reg,[rGLUE,#offGlue_pJitProfTable]
 #define GET_JIT_THRESHOLD(_reg)     ldr     _reg,[rGLUE,#offGlue_jitThreshold]
 #endif
diff --git a/vm/mterp/out/InterpAsm-armv5te.S b/vm/mterp/out/InterpAsm-armv5te.S
index 5fb231e..9aa736f 100644
--- a/vm/mterp/out/InterpAsm-armv5te.S
+++ b/vm/mterp/out/InterpAsm-armv5te.S
@@ -185,7 +185,6 @@
 #define SET_VREG(_reg, _vreg)   str     _reg, [rFP, _vreg, lsl #2]
 
 #if defined(WITH_JIT)
-#define GET_JIT_ENABLED(_reg)       ldr     _reg,[rGLUE,#offGlue_jitEnabled]
 #define GET_JIT_PROF_TABLE(_reg)    ldr     _reg,[rGLUE,#offGlue_pJitProfTable]
 #define GET_JIT_THRESHOLD(_reg)     ldr     _reg,[rGLUE,#offGlue_jitThreshold]
 #endif
diff --git a/vm/mterp/out/InterpAsm-armv7-a.S b/vm/mterp/out/InterpAsm-armv7-a.S
index 08d14d4..abb8ea1 100644
--- a/vm/mterp/out/InterpAsm-armv7-a.S
+++ b/vm/mterp/out/InterpAsm-armv7-a.S
@@ -185,7 +185,6 @@
 #define SET_VREG(_reg, _vreg)   str     _reg, [rFP, _vreg, lsl #2]
 
 #if defined(WITH_JIT)
-#define GET_JIT_ENABLED(_reg)       ldr     _reg,[rGLUE,#offGlue_jitEnabled]
 #define GET_JIT_PROF_TABLE(_reg)    ldr     _reg,[rGLUE,#offGlue_pJitProfTable]
 #define GET_JIT_THRESHOLD(_reg)     ldr     _reg,[rGLUE,#offGlue_jitThreshold]
 #endif