2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 3, 3,
3, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 2, 2, 2, 0,
- 4, 4, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4,
// END(libdex-widths)
};
kInstrCanContinue|kInstrCanThrow,
kInstrCanContinue|kInstrCanThrow,
0,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow|kInstrInvoke,
- kInstrCanContinue|kInstrCanThrow|kInstrInvoke,
- kInstrCanContinue|kInstrCanThrow|kInstrInvoke,
- kInstrCanContinue|kInstrCanThrow|kInstrInvoke,
- kInstrCanContinue|kInstrCanThrow|kInstrInvoke,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- kInstrCanContinue|kInstrCanThrow|kInstrInvoke,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanThrow,
// END(libdex-flags)
};
kFmt22c, kFmt22c, kFmt22c, kFmt21c, kFmt21c, kFmt00x, kFmt20bc,
kFmt35mi, kFmt3rmi, kFmt35c, kFmt10x, kFmt22cs, kFmt22cs, kFmt22cs,
kFmt22cs, kFmt22cs, kFmt22cs, kFmt35ms, kFmt3rms, kFmt35ms, kFmt3rms,
- kFmt22c, kFmt21c, kFmt21c, kFmt00x, kFmt41c, kFmt41c, kFmt52c,
- kFmt41c, kFmt52c, kFmt5rc, kFmt52c, kFmt52c, kFmt52c, kFmt52c,
- kFmt52c, kFmt52c, kFmt52c, kFmt52c, kFmt52c, kFmt52c, kFmt52c,
- kFmt52c, kFmt52c, kFmt52c, kFmt41c, kFmt41c, kFmt41c, kFmt41c,
- kFmt41c, kFmt41c, kFmt41c, kFmt41c, kFmt41c, kFmt41c, kFmt41c,
- kFmt41c, kFmt41c, kFmt41c, kFmt5rc, kFmt5rc, kFmt5rc, kFmt5rc,
- kFmt5rc, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt5rc, kFmt52c, kFmt52c, kFmt52c, kFmt52c, kFmt52c,
- kFmt52c, kFmt41c, kFmt41c, kFmt41c, kFmt41c, kFmt41c, kFmt41c,
- kFmt40sc,
+ kFmt22c, kFmt21c, kFmt21c, kFmt00x,
// END(libdex-formats)
};
kIndexFieldOffset, kIndexFieldOffset, kIndexVtableOffset,
kIndexVtableOffset, kIndexVtableOffset, kIndexVtableOffset,
kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexUnknown, kIndexTypeRef, kIndexTypeRef,
- kIndexTypeRef, kIndexTypeRef, kIndexTypeRef,
- kIndexTypeRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexMethodRef,
- kIndexMethodRef, kIndexMethodRef, kIndexMethodRef,
- kIndexMethodRef, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexMethodRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexVaries,
+ kIndexUnknown,
// END(libdex-index-types)
};
case 5: {
if (format == kFmt35mi) {
/* A fifth arg is verboten for inline invokes. */
- LOGW("Invalid arg count in 35mi (5)\n");
+ ALOGW("Invalid arg count in 35mi (5)");
goto bail;
}
/*
case 1: pDec->vC = pDec->arg[0] = regList & 0x0f; break;
case 0: break; // Valid, but no need to do anything.
default:
- LOGW("Invalid arg count in 35c/35ms/35mi (%d)\n", count);
+ ALOGW("Invalid arg count in 35c/35ms/35mi (%d)", count);
goto bail;
}
}
pDec->vA = INST_AA(inst);
pDec->vB_wide = FETCH_u4(1) | ((u8) FETCH_u4(3) << 32);
break;
- case kFmt33x: // exop vAA, vBB, vCCCC
- pDec->vA = FETCH(1) & 0xff;
- pDec->vB = FETCH(1) >> 8;
- pDec->vC = FETCH(2);
- break;
- case kFmt32s: // exop vAA, vBB, #+CCCC
- pDec->vA = FETCH(1) & 0xff;
- pDec->vB = FETCH(1) >> 8;
- pDec->vC = (s2) FETCH(2); // sign-extend 16-bit value
- break;
- case kFmt40sc: // [opt] exop AAAA, thing@BBBBBBBB
- case kFmt41c: // exop vAAAA, thing@BBBBBBBB
- /*
- * The order of fields for this format in the spec is {B, A},
- * to match formats 21c and 31c.
- */
- pDec->vB = FETCH_u4(1); // 32-bit value
- pDec->vA = FETCH(3);
- break;
- case kFmt52c: // exop vAAAA, vBBBB, thing@CCCCCCCC
- /*
- * The order of fields for this format in the spec is {C, A, B},
- * to match formats 22c and 22cs.
- */
- pDec->vC = FETCH_u4(1); // 32-bit value
- pDec->vA = FETCH(3);
- pDec->vB = FETCH(4);
- break;
- case kFmt5rc: // exop {vCCCC .. v(CCCC+AAAA-1)}, meth@BBBBBBBB
- /*
- * The order of fields for this format in the spec is {B, A, C},
- * to match formats 3rc and friends.
- */
- pDec->vB = FETCH_u4(1); // 32-bit value
- pDec->vA = FETCH(3);
- pDec->vC = FETCH(4);
- break;
default:
- LOGW("Can't decode unexpected format %d (op=%d)\n", format, opcode);
+ ALOGW("Can't decode unexpected format %d (op=%d)", format, opcode);
assert(false);
break;
}