Allow dalvik pre-optimization to run in ARMv7 emulator.

This sad hack is used to allow the Dex preopt pass to run properly
in ARMv7 emulation mode. Without it, the function dvmComputeWidths()
aborts the VM in ways that are hard to properly understand.

This issue has been discussed extensively with fadden, which provided
the patch. It seems that adding both log lines fixes it, but only using
one will not. I'm suspecting an emulation bug, or even worse, a C compiler
bug that would generate invalid machine code.

NOTE: The dex pre-optimization pass of user builds requires to run
      the DexOpt in the emulator for all -user builds. While this patch
      might not fix the underlying issue, it allows us to generate these
      images correctly (along with a few other system hacks).
diff --git a/libdex/InstrUtils.c b/libdex/InstrUtils.c
index 42aa3ec..93e1f00 100644
--- a/libdex/InstrUtils.c
+++ b/libdex/InstrUtils.c
@@ -38,6 +38,10 @@
  */
 InstructionWidth* dexCreateInstrWidthTable(void)
 {
+#ifdef __ARM_ARCH_7A__
+    /* hack to work around mysterious problem on emulator */
+    LOGD("creating instr width table\n");
+#endif
     InstructionWidth* instrWidth;
     int i;
 
diff --git a/vm/analysis/VerifySubs.c b/vm/analysis/VerifySubs.c
index 8dcc6f8..39d6dc8 100644
--- a/vm/analysis/VerifySubs.c
+++ b/vm/analysis/VerifySubs.c
@@ -65,6 +65,8 @@
             if (width == 0) {
                 LOG_VFY_METH(meth,
                     "VFY: invalid post-opt instruction (0x%x)\n", instr);
+                LOGI("### instr=%d width=%d table=%d\n",
+                    instr, width, dexGetInstrWidthAbs(gDvm.instrWidth, instr));
                 goto bail;
             }
             if (width < 0 || width > 5) {