Fix verification of switch offsets in large methods.

The verifier was only using the low 16 bits when checking the offset
to a switch table.  This was failing on really large methods.

We also blew up the arbitrary size cap again, so I made it a warning
rather than a failure (it really wasn't doing anybody any good).

Changed to width-specific types for the various offsets and sizes.

Bug 3044850.

Change-Id: I42902218775a9f3c970d8a0db78c10b73153d100
diff --git a/vm/analysis/CodeVerify.c b/vm/analysis/CodeVerify.c
index 042b4c0..933c058 100644
--- a/vm/analysis/CodeVerify.c
+++ b/vm/analysis/CodeVerify.c
@@ -3094,11 +3094,10 @@
             dvmFindSystemClassNoInit("Ljava/lang/Object;");
 
     if (meth->registersSize * insnsSize > 4*1024*1024) {
-        /* should probably base this on actual memory requirements */
         LOG_VFY_METH(meth,
-            "VFY: arbitrarily rejecting large method (regs=%d count=%d)\n",
+            "VFY: warning: method is huge (regs=%d insnsSize=%d)\n",
             meth->registersSize, insnsSize);
-        goto bail;
+        /* might be bogus data, might be some huge generated method */
     }
 
     /*