Get rid of the copies of the opcode table pointers.
This inclduded fixing all the accessor functions to refer to the
global ones defined in InstrUtils.[ch] instead of taking separate
"table pointer" arguments.
This did end up adding a few more truly global references to some of
the code paths, particularly when performing dex optimization, so I
went ahead and measured the time to do a cold first-boot both before
and after the change (on real hardware). The times were identical (to
one-second granularity), so I'm reasonably comfortable making this
change.
Change-Id: I604d9f7882bad4245bb11371218d13b06c3a5375
diff --git a/vm/compiler/Loop.c b/vm/compiler/Loop.c
index de05644..6492187 100644
--- a/vm/compiler/Loop.c
+++ b/vm/compiler/Loop.c
@@ -311,7 +311,7 @@
/* Skip extended MIR instructions */
if (dInsn->opCode > 255) continue;
- int instrFlags = dexGetInstrFlags(gDvm.instrInfo.flags, dInsn->opCode);
+ int instrFlags = dexGetInstrFlags(dInsn->opCode);
/* Instruction is clean */
if ((instrFlags & kInstrCanThrow) == 0) continue;