summaryrefslogtreecommitdiffstats
path: root/vm/compiler/codegen/mips
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2012-07-31 14:31:32 -0700
committerandroid code review <noreply-gerritcodereview@google.com>2012-07-31 14:31:33 -0700
commit5b861ab5541e9806d6255f17769acad3c2b4029b (patch)
tree04deb7c81980a61e598da95bd73c19e19710ec91 /vm/compiler/codegen/mips
parent37755063648910ee919c22c3d15cd57092026633 (diff)
parentfc3b0c4ba9e0ecabb0f6df1ceb6a3eb69da07c7b (diff)
downloadandroid_dalvik-5b861ab5541e9806d6255f17769acad3c2b4029b.tar.gz
android_dalvik-5b861ab5541e9806d6255f17769acad3c2b4029b.tar.bz2
android_dalvik-5b861ab5541e9806d6255f17769acad3c2b4029b.zip
Merge "Fix the MIPS build: 1. LOG->ALOG conversion 2. Remove Jumbo opcodes support"
Diffstat (limited to 'vm/compiler/codegen/mips')
-rw-r--r--vm/compiler/codegen/mips/ArchUtility.cpp56
-rw-r--r--vm/compiler/codegen/mips/Assemble.cpp75
-rw-r--r--vm/compiler/codegen/mips/CodegenCommon.cpp4
-rw-r--r--vm/compiler/codegen/mips/CodegenDriver.cpp187
-rw-r--r--vm/compiler/codegen/mips/CodegenFactory.cpp2
-rw-r--r--vm/compiler/codegen/mips/Mips32/Factory.cpp26
-rw-r--r--vm/compiler/codegen/mips/RallocUtil.cpp18
-rw-r--r--vm/compiler/codegen/mips/mips/ArchVariant.cpp2
-rw-r--r--vm/compiler/codegen/mips/mips/MethodCodegenDriver.cpp2
9 files changed, 142 insertions, 230 deletions
diff --git a/vm/compiler/codegen/mips/ArchUtility.cpp b/vm/compiler/codegen/mips/ArchUtility.cpp
index 869632ea5..1f6d59376 100644
--- a/vm/compiler/codegen/mips/ArchUtility.cpp
+++ b/vm/compiler/codegen/mips/ArchUtility.cpp
@@ -204,7 +204,7 @@ void dvmDumpResourceMask(LIR *lir, u8 mask, const char *prefix)
}
}
if (buf[0]) {
- LOGD("%s: %s", prefix, buf);
+ ALOGD("%s: %s", prefix, buf);
}
}
@@ -227,68 +227,68 @@ void dvmDumpLIRInsn(LIR *arg, unsigned char *baseAddr)
/* Handle pseudo-ops individually, and all regular insns as a group */
switch(lir->opcode) {
case kMipsChainingCellBottom:
- LOGD("-------- end of chaining cells (0x%04x)", offset);
+ ALOGD("-------- end of chaining cells (0x%04x)", offset);
break;
case kMipsPseudoBarrier:
- LOGD("-------- BARRIER");
+ ALOGD("-------- BARRIER");
break;
case kMipsPseudoExtended:
/* intentional fallthrough */
case kMipsPseudoSSARep:
- DUMP_SSA_REP(LOGD("-------- %s", (char *) dest));
+ DUMP_SSA_REP(ALOGD("-------- %s", (char *) dest));
break;
case kMipsPseudoChainingCellBackwardBranch:
- LOGD("L%p:", lir);
- LOGD("-------- chaining cell (backward branch): 0x%04x", dest);
+ ALOGD("L%p:", lir);
+ ALOGD("-------- chaining cell (backward branch): 0x%04x", dest);
break;
case kMipsPseudoChainingCellNormal:
- LOGD("L%p:", lir);
- LOGD("-------- chaining cell (normal): 0x%04x", dest);
+ ALOGD("L%p:", lir);
+ ALOGD("-------- chaining cell (normal): 0x%04x", dest);
break;
case kMipsPseudoChainingCellHot:
- LOGD("L%p:", lir);
- LOGD("-------- chaining cell (hot): 0x%04x", dest);
+ ALOGD("L%p:", lir);
+ ALOGD("-------- chaining cell (hot): 0x%04x", dest);
break;
case kMipsPseudoChainingCellInvokePredicted:
- LOGD("L%p:", lir);
- LOGD("-------- chaining cell (predicted): %s%s",
+ ALOGD("L%p:", lir);
+ ALOGD("-------- chaining cell (predicted): %s%s",
dest ? ((Method *) dest)->clazz->descriptor : "",
dest ? ((Method *) dest)->name : "N/A");
break;
case kMipsPseudoChainingCellInvokeSingleton:
- LOGD("L%p:", lir);
- LOGD("-------- chaining cell (invoke singleton): %s%s/%p",
+ ALOGD("L%p:", lir);
+ ALOGD("-------- chaining cell (invoke singleton): %s%s/%p",
((Method *)dest)->clazz->descriptor,
((Method *)dest)->name,
((Method *)dest)->insns);
break;
case kMipsPseudoEntryBlock:
- LOGD("-------- entry offset: 0x%04x", dest);
+ ALOGD("-------- entry offset: 0x%04x", dest);
break;
case kMipsPseudoDalvikByteCodeBoundary:
- LOGD("-------- dalvik offset: 0x%04x @ %s", dest,
+ ALOGD("-------- dalvik offset: 0x%04x @ %s", dest,
(char *) lir->operands[1]);
break;
case kMipsPseudoExitBlock:
- LOGD("-------- exit offset: 0x%04x", dest);
+ ALOGD("-------- exit offset: 0x%04x", dest);
break;
case kMipsPseudoPseudoAlign4:
- LOGD("%p (%04x): .align4", baseAddr + offset, offset);
+ ALOGD("%p (%04x): .align4", baseAddr + offset, offset);
break;
case kMipsPseudoPCReconstructionCell:
- LOGD("L%p:", lir);
- LOGD("-------- reconstruct dalvik PC : 0x%04x @ +0x%04x", dest,
+ ALOGD("L%p:", lir);
+ ALOGD("-------- reconstruct dalvik PC : 0x%04x @ +0x%04x", dest,
lir->operands[1]);
break;
case kMipsPseudoPCReconstructionBlockLabel:
/* Do nothing */
break;
case kMipsPseudoEHBlockLabel:
- LOGD("Exception_Handling:");
+ ALOGD("Exception_Handling:");
break;
case kMipsPseudoTargetLabel:
case kMipsPseudoNormalBlockLabel:
- LOGD("L%p:", lir);
+ ALOGD("L%p:", lir);
break;
default:
if (lir->flags.isNop && !dumpNop) {
@@ -298,7 +298,7 @@ void dvmDumpLIRInsn(LIR *arg, unsigned char *baseAddr)
baseAddr, 256);
buildInsnString(EncodingMap[lir->opcode].fmt, lir, buf, baseAddr,
256);
- LOGD("%p (%04x): %08x %-9s%s%s",
+ ALOGD("%p (%04x): %08x %-9s%s%s",
baseAddr + offset, offset, *(u4 *)(baseAddr + offset), opName, buf,
lir->flags.isNop ? "(nop)" : "");
break;
@@ -317,25 +317,25 @@ void dvmDumpLIRInsn(LIR *arg, unsigned char *baseAddr)
/* Dump instructions and constant pool contents */
void dvmCompilerCodegenDump(CompilationUnit *cUnit)
{
- LOGD("Dumping LIR insns");
+ ALOGD("Dumping LIR insns");
LIR *lirInsn;
MipsLIR *mipsLIR;
- LOGD("installed code is at %p", cUnit->baseAddr);
- LOGD("total size is %d bytes", cUnit->totalSize);
+ ALOGD("installed code is at %p", cUnit->baseAddr);
+ ALOGD("total size is %d bytes", cUnit->totalSize);
for (lirInsn = cUnit->firstLIRInsn; lirInsn; lirInsn = lirInsn->next) {
dvmDumpLIRInsn(lirInsn, (unsigned char *) cUnit->baseAddr);
}
for (lirInsn = cUnit->classPointerList; lirInsn; lirInsn = lirInsn->next) {
mipsLIR = (MipsLIR *) lirInsn;
- LOGD("%p (%04x): .class (%s)",
+ ALOGD("%p (%04x): .class (%s)",
(char*)cUnit->baseAddr + mipsLIR->generic.offset,
mipsLIR->generic.offset,
((CallsiteInfo *) mipsLIR->operands[0])->classDescriptor);
}
for (lirInsn = cUnit->literalList; lirInsn; lirInsn = lirInsn->next) {
mipsLIR = (MipsLIR *) lirInsn;
- LOGD("%p (%04x): .word (%#x)",
+ ALOGD("%p (%04x): .word (%#x)",
(char*)cUnit->baseAddr + mipsLIR->generic.offset,
mipsLIR->generic.offset,
mipsLIR->operands[0]);
diff --git a/vm/compiler/codegen/mips/Assemble.cpp b/vm/compiler/codegen/mips/Assemble.cpp
index 692fccfc5..713bced68 100644
--- a/vm/compiler/codegen/mips/Assemble.cpp
+++ b/vm/compiler/codegen/mips/Assemble.cpp
@@ -455,11 +455,11 @@ static AssemblerStatus assembleInstructions(CompilationUnit *cUnit,
intptr_t target = targetLIR->generic.offset;
int delta = target - pc;
if (delta & 0x3) {
- LOGE("PC-rel distance is not multiple of 4: %d", delta);
+ ALOGE("PC-rel distance is not multiple of 4: %d", delta);
dvmAbort();
}
if (delta > 131068 || delta < -131069) {
- LOGE("Unconditional branch distance out of range: %d", delta);
+ ALOGE("Unconditional branch distance out of range: %d", delta);
dvmAbort();
}
lir->operands[0] = delta >> 2;
@@ -469,11 +469,11 @@ static AssemblerStatus assembleInstructions(CompilationUnit *cUnit,
intptr_t target = targetLIR->generic.offset;
int delta = target - pc;
if (delta & 0x3) {
- LOGE("PC-rel distance is not multiple of 4: %d", delta);
+ ALOGE("PC-rel distance is not multiple of 4: %d", delta);
dvmAbort();
}
if (delta > 131068 || delta < -131069) {
- LOGE("Conditional branch distance out of range: %d", delta);
+ ALOGE("Conditional branch distance out of range: %d", delta);
dvmAbort();
}
lir->operands[1] = delta >> 2;
@@ -483,11 +483,11 @@ static AssemblerStatus assembleInstructions(CompilationUnit *cUnit,
intptr_t target = targetLIR->generic.offset;
int delta = target - pc;
if (delta & 0x3) {
- LOGE("PC-rel distance is not multiple of 4: %d", delta);
+ ALOGE("PC-rel distance is not multiple of 4: %d", delta);
dvmAbort();
}
if (delta > 131068 || delta < -131069) {
- LOGE("Conditional branch distance out of range: %d", delta);
+ ALOGE("Conditional branch distance out of range: %d", delta);
dvmAbort();
}
lir->operands[2] = delta >> 2;
@@ -497,7 +497,7 @@ static AssemblerStatus assembleInstructions(CompilationUnit *cUnit,
/* ensure PC-region branch can be used */
assert((curPC & 0xF0000000) == (target & 0xF0000000));
if (target & 0x3) {
- LOGE("Jump target is not multiple of 4: %d", target);
+ ALOGE("Jump target is not multiple of 4: %d", target);
dvmAbort();
}
lir->operands[0] = target >> 2;
@@ -721,7 +721,7 @@ static void matchSignatureBreakpoint(const CompilationUnit *cUnit,
}
}
if (j == gDvmJit.signatureBreakpointSize) {
- LOGD("Signature match starting from offset %#x (%d words)",
+ ALOGD("Signature match starting from offset %#x (%d words)",
i*4, gDvmJit.signatureBreakpointSize);
int descSize = getTraceDescriptionSize(cUnit->traceDesc);
JitTraceDescription *newCopy =
@@ -816,7 +816,7 @@ void dvmCompilerAssembleLIR(CompilationUnit *cUnit, JitTranslationInfo *info)
/* Allocate enough space for the code block */
cUnit->codeBuffer = (unsigned char *)dvmCompilerNew(chainCellOffset, true);
if (cUnit->codeBuffer == NULL) {
- LOGE("Code buffer allocation failure");
+ ALOGE("Code buffer allocation failure");
info->discardResult = true;
return;
}
@@ -846,7 +846,7 @@ void dvmCompilerAssembleLIR(CompilationUnit *cUnit, JitTranslationInfo *info)
case kRetryHalve:
return;
default:
- LOGE("Unexpected assembler status: %d", cUnit->assemblerStatus);
+ ALOGE("Unexpected assembler status: %d", cUnit->assemblerStatus);
dvmAbort();
}
@@ -961,7 +961,7 @@ void* dvmJitChain(void* tgtAddr, u4* branchAddr)
gDvmJit.translationChains++;
COMPILER_TRACE_CHAINING(
- LOGD("Jit Runtime: chaining 0x%x to 0x%x",
+ ALOGD("Jit Runtime: chaining 0x%x to 0x%x",
(int) branchAddr, (int) tgtAddr & -2));
newInst = assembleChainingBranch((int) tgtAddr & -2, 0);
@@ -1125,7 +1125,7 @@ const Method *dvmJitToPatchPredictedChain(const Method *method,
if ((baseAddr & 0xF0000000) != (tgtAddr & 0xF0000000)) {
COMPILER_TRACE_CHAINING(
- LOGD("Jit Runtime: predicted chain %p to distant target %s ignored",
+ ALOGD("Jit Runtime: predicted chain %p to distant target %s ignored",
cell, method->name));
goto done;
}
@@ -1137,7 +1137,7 @@ const Method *dvmJitToPatchPredictedChain(const Method *method,
if ((tgtAddr == 0) ||
((void*)tgtAddr == dvmCompilerGetInterpretTemplate())) {
COMPILER_TRACE_CHAINING(
- LOGD("Jit Runtime: predicted chain %p to method %s%s delayed",
+ ALOGD("Jit Runtime: predicted chain %p to method %s%s delayed",
cell, method->clazz->descriptor, method->name));
goto done;
}
@@ -1187,7 +1187,7 @@ void dvmCompilerPatchInlineCache(void)
UNPROTECT_CODE_CACHE(gDvmJit.codeCache, gDvmJit.codeCacheByteUsed);
- //LOGD("Number of IC patch work orders: %d", gDvmJit.compilerICPatchIndex);
+ //ALOGD("Number of IC patch work orders: %d", gDvmJit.compilerICPatchIndex);
/* Initialize the min/max address range */
minAddr = (PredictedChainingCell *)
@@ -1207,7 +1207,7 @@ void dvmCompilerPatchInlineCache(void)
cellContent->clazz = clazz;
COMPILER_TRACE_CHAINING(
- LOGD("Jit Runtime: predicted chain %p from %s to %s (%s) "
+ ALOGD("Jit Runtime: predicted chain %p from %s to %s (%s) "
"patched",
cellAddr,
cellAddr->clazz->descriptor,
@@ -1297,11 +1297,11 @@ static u4* unchainSingle(JitEntry *trace)
#endif
default:
targetOffset = 0; // make gcc happy
- LOGE("Unexpected chaining type: %d", i);
+ ALOGE("Unexpected chaining type: %d", i);
dvmAbort(); // dvmAbort OK here - can't safely recover
}
COMPILER_TRACE_CHAINING(
- LOGD("Jit Runtime: unchaining %#x", (int)pChainCells));
+ ALOGD("Jit Runtime: unchaining %#x", (int)pChainCells));
/*
* Code sequence for a chaining cell is:
* lw a0, offset(rSELF)
@@ -1326,7 +1326,7 @@ void dvmJitUnchainAll()
u4* highAddress = NULL;
unsigned int i;
if (gDvmJit.pJitEntryTable != NULL) {
- COMPILER_TRACE_CHAINING(LOGD("Jit Runtime: unchaining all"));
+ COMPILER_TRACE_CHAINING(ALOGD("Jit Runtime: unchaining all"));
dvmLockMutex(&gDvmJit.tableLock);
UNPROTECT_CODE_CACHE(gDvmJit.codeCache, gDvmJit.codeCacheByteUsed);
@@ -1347,9 +1347,8 @@ void dvmJitUnchainAll()
}
}
- if (lowAddress && highAddress) {
+ if (lowAddress && highAddress)
dvmCompilerCacheFlush((long)lowAddress, (long)highAddress, 0);
- }
UPDATE_CODE_CACHE_PATCHES();
@@ -1387,12 +1386,12 @@ static int dumpTraceProfile(JitEntry *p, bool silent, bool reset,
if (p->codeAddress == NULL) {
if (!silent)
- LOGD("TRACEPROFILE NULL");
+ ALOGD("TRACEPROFILE NULL");
return 0;
}
if (p->codeAddress == dvmCompilerGetInterpretTemplate()) {
if (!silent)
- LOGD("TRACEPROFILE INTERPRET_ONLY");
+ ALOGD("TRACEPROFILE INTERPRET_ONLY");
return 0;
}
@@ -1422,7 +1421,7 @@ static int dumpTraceProfile(JitEntry *p, bool silent, bool reset,
method->accessFlags,
addrToLineCb, NULL, &addrToLine);
- LOGD("TRACEPROFILE 0x%08x % 10d %5.2f%% [%#x(+%d), %d] %s%s;%s",
+ ALOGD("TRACEPROFILE 0x%08x % 10d %5.2f%% [%#x(+%d), %d] %s%s;%s",
(int) getTraceBase(p),
count,
((float ) count) / sum * 100.0,
@@ -1447,7 +1446,7 @@ static int dumpTraceProfile(JitEntry *p, bool silent, bool reset,
desc->trace[idx+JIT_TRACE_CUR_METHOD-1].info.meta;
char *methodDesc = dexProtoCopyMethodDescriptor(&method->prototype);
/* Print the callee info in the trace */
- LOGD(" -> %s%s;%s", method->clazz->descriptor, method->name,
+ ALOGD(" -> %s%s;%s", method->clazz->descriptor, method->name,
methodDesc);
}
@@ -1520,7 +1519,7 @@ void dvmCompilerSortAndPrintTraceProfiles()
sum = 1;
}
- LOGD("JIT: Average execution count -> %d",(int)(sum / numTraces));
+ ALOGD("JIT: Average execution count -> %d",(int)(sum / numTraces));
/* Dump the sorted entries. The count of each trace will be reset to 0. */
for (i=0; i < gDvmJit.jitTableSize; i++) {
@@ -1795,12 +1794,12 @@ assert(0); /* MIPSTODO retarg func */
data = *((u4*) addr);
break;
default:
- LOGE("*** ERROR: BAD SIZE IN selfVerificationLoad: %d", size);
+ ALOGE("*** ERROR: BAD SIZE IN selfVerificationLoad: %d", size);
data = 0;
dvmAbort();
}
- //LOGD("*** HEAP LOAD: Addr: %#x Data: %#x Size: %d", addr, data, size);
+ //ALOGD("*** HEAP LOAD: Addr: %#x Data: %#x Size: %d", addr, data, size);
return data;
}
@@ -1825,7 +1824,7 @@ assert(0); /* MIPSTODO retarg func */
}
}
- //LOGD("*** HEAP LOAD DOUBLEWORD: Addr: %#x Data: %#x Data2: %#x",
+ //ALOGD("*** HEAP LOAD DOUBLEWORD: Addr: %#x Data: %#x Data2: %#x",
// addr, data, data2);
return (((s8) data2) << 32) | data;
}
@@ -1846,7 +1845,7 @@ assert(0); /* MIPSTODO retarg func */
int maskedAddr = addr & 0xFFFFFFFC;
int alignment = addr & 0x3;
- //LOGD("*** HEAP STORE: Addr: %#x Data: %#x Size: %d", addr, data, size);
+ //ALOGD("*** HEAP STORE: Addr: %#x Data: %#x Size: %d", addr, data, size);
for (heapSpacePtr = shadowSpace->heapSpace;
heapSpacePtr != shadowSpace->heapSpaceTail; heapSpacePtr++) {
@@ -1877,7 +1876,7 @@ assert(0); /* MIPSTODO retarg func */
*((u4*) addr) = data;
break;
default:
- LOGE("*** ERROR: BAD SIZE IN selfVerificationSave: %d", size);
+ ALOGE("*** ERROR: BAD SIZE IN selfVerificationSave: %d", size);
dvmAbort();
}
}
@@ -1895,7 +1894,7 @@ assert(0); /* MIPSTODO retarg func */
int data2 = double_data >> 32;
bool store1 = false, store2 = false;
- //LOGD("*** HEAP STORE DOUBLEWORD: Addr: %#x Data: %#x, Data2: %#x",
+ //ALOGD("*** HEAP STORE DOUBLEWORD: Addr: %#x Data: %#x, Data2: %#x",
// addr, data, data2);
for (heapSpacePtr = shadowSpace->heapSpace;
@@ -2009,7 +2008,7 @@ assert(0); /* MIPSTODO retarg func */
if ((insn & kMemOp2) == kMemOp2) {
insn = (insn << 16) | (insn >> 16);
- //LOGD("*** THUMB2 - Addr: %#x Insn: %#x", lr, insn);
+ //ALOGD("*** THUMB2 - Addr: %#x Insn: %#x", lr, insn);
int opcode12 = (insn >> 20) & 0xFFF;
int opcode6 = (insn >> 6) & 0x3F;
@@ -2094,7 +2093,7 @@ assert(0); /* MIPSTODO retarg func */
if (insn & 0x400000) rt |= 0x10;
rt = rt << 1;
} else {
- LOGE("*** ERROR: UNRECOGNIZED VECTOR MEM OP: %x", opcode4);
+ ALOGE("*** ERROR: UNRECOGNIZED VECTOR MEM OP: %x", opcode4);
dvmAbort();
}
rt += 14;
@@ -2127,7 +2126,7 @@ assert(0); /* MIPSTODO retarg func */
offset = 0;
break;
default:
- LOGE("*** ERROR: UNRECOGNIZED THUMB2 MEM OP: %x", opcode12);
+ ALOGE("*** ERROR: UNRECOGNIZED THUMB2 MEM OP: %x", opcode12);
offset = 0;
dvmAbort();
}
@@ -2135,7 +2134,7 @@ assert(0); /* MIPSTODO retarg func */
// Handle the decoded mem op accordingly
if (store) {
if (size == kSVVariable) {
- LOGD("*** THUMB2 STMIA CURRENTLY UNUSED (AND UNTESTED)");
+ ALOGD("*** THUMB2 STMIA CURRENTLY UNUSED (AND UNTESTED)");
int i;
int regList = insn & 0xFFFF;
for (i = 0; i < 16; i++) {
@@ -2156,7 +2155,7 @@ assert(0); /* MIPSTODO retarg func */
}
} else {
if (size == kSVVariable) {
- LOGD("*** THUMB2 LDMIA CURRENTLY UNUSED (AND UNTESTED)");
+ ALOGD("*** THUMB2 LDMIA CURRENTLY UNUSED (AND UNTESTED)");
int i;
int regList = insn & 0xFFFF;
for (i = 0; i < 16; i++) {
@@ -2177,7 +2176,7 @@ assert(0); /* MIPSTODO retarg func */
}
}
} else {
- //LOGD("*** THUMB - Addr: %#x Insn: %#x", lr, insn);
+ //ALOGD("*** THUMB - Addr: %#x Insn: %#x", lr, insn);
// Update the link register
selfVerificationMemRegStore(sp, old_lr+2, 13);
@@ -2277,7 +2276,7 @@ assert(0); /* MIPSTODO retarg func */
offset = 0;
break;
default:
- LOGE("*** ERROR: UNRECOGNIZED THUMB MEM OP: %x", opcode5);
+ ALOGE("*** ERROR: UNRECOGNIZED THUMB MEM OP: %x", opcode5);
offset = 0;
dvmAbort();
}
diff --git a/vm/compiler/codegen/mips/CodegenCommon.cpp b/vm/compiler/codegen/mips/CodegenCommon.cpp
index 287e8c17b..0622fb841 100644
--- a/vm/compiler/codegen/mips/CodegenCommon.cpp
+++ b/vm/compiler/codegen/mips/CodegenCommon.cpp
@@ -64,7 +64,7 @@ static void setMemRefType(MipsLIR *lir, bool isLoad, int memType)
*maskPtr |= ENCODE_MUST_NOT_ALIAS;
break;
default:
- LOGE("Jit: invalid memref kind - %d", memType);
+ ALOGE("Jit: invalid memref kind - %d", memType);
assert(0); // Bail if debug build, set worst-case in the field
*maskPtr |= ENCODE_ALL;
}
@@ -310,7 +310,7 @@ static MipsLIR *newLIR3(CompilationUnit *cUnit, MipsOpCode opcode,
{
MipsLIR *insn = (MipsLIR *) dvmCompilerNew(sizeof(MipsLIR), true);
if (!(EncodingMap[opcode].flags & IS_TERTIARY_OP)) {
- LOGE("Bad LIR3: %s[%d]",EncodingMap[opcode].name,opcode);
+ ALOGE("Bad LIR3: %s[%d]",EncodingMap[opcode].name,opcode);
}
assert(isPseudoOpCode(opcode) ||
(EncodingMap[opcode].flags & IS_TERTIARY_OP));
diff --git a/vm/compiler/codegen/mips/CodegenDriver.cpp b/vm/compiler/codegen/mips/CodegenDriver.cpp
index c7757fe17..bbe631cb0 100644
--- a/vm/compiler/codegen/mips/CodegenDriver.cpp
+++ b/vm/compiler/codegen/mips/CodegenDriver.cpp
@@ -795,7 +795,7 @@ static bool genArithOpLong(CompilationUnit *cUnit, MIR *mir,
break;
}
default:
- LOGE("Invalid long arith op");
+ ALOGE("Invalid long arith op");
dvmCompilerAbort(cUnit);
}
if (!callOut) {
@@ -893,7 +893,7 @@ static bool genArithOpInt(CompilationUnit *cUnit, MIR *mir,
op = kOpLsr;
break;
default:
- LOGE("Invalid word arith op: %#x(%d)",
+ ALOGE("Invalid word arith op: %#x(%d)",
mir->dalvikInsn.opcode, mir->dalvikInsn.opcode);
dvmCompilerAbort(cUnit);
}
@@ -1079,9 +1079,6 @@ static void genProcessArgsRange(CompilationUnit *cUnit, MIR *mir,
/*
* Protect the loadMultiple instruction from being reordered with other
* Dalvik stack accesses.
- *
- * This code is also shared by the invoke jumbo instructions, and this
- * does not need to be done if the invoke jumbo has no arguments.
*/
if (numArgs != 0) loadMultiple(cUnit, r4PC, regMask);
@@ -1548,7 +1545,7 @@ static bool handleFmt10x(CompilationUnit *cUnit, MIR *mir)
{
Opcode dalvikOpcode = mir->dalvikInsn.opcode;
if ((dalvikOpcode >= OP_UNUSED_3E) && (dalvikOpcode <= OP_UNUSED_43)) {
- LOGE("Codegen: got unused opcode %#x",dalvikOpcode);
+ ALOGE("Codegen: got unused opcode %#x",dalvikOpcode);
return true;
}
switch (dalvikOpcode) {
@@ -1561,7 +1558,8 @@ static bool handleFmt10x(CompilationUnit *cUnit, MIR *mir)
case OP_UNUSED_73:
case OP_UNUSED_79:
case OP_UNUSED_7A:
- LOGE("Codegen: got unused opcode %#x",dalvikOpcode);
+ case OP_UNUSED_FF:
+ ALOGE("Codegen: got unused opcode %#x",dalvikOpcode);
return true;
case OP_NOP:
break;
@@ -1635,14 +1633,14 @@ static bool handleFmt21h(CompilationUnit *cUnit, MIR *mir)
return false;
}
-static bool handleFmt20bc_Fmt40sc(CompilationUnit *cUnit, MIR *mir)
+static bool handleFmt20bc(CompilationUnit *cUnit, MIR *mir)
{
- /* For OP_THROW_VERIFICATION_ERROR & OP_THROW_VERIFICATION_ERROR_JUMBO */
+ /* For OP_THROW_VERIFICATION_ERROR */
genInterpSingleStep(cUnit, mir);
return false;
}
-static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
+static bool handleFmt21c_Fmt31c(CompilationUnit *cUnit, MIR *mir)
{
RegLocation rlResult;
RegLocation rlDest;
@@ -1656,7 +1654,7 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
if (strPtr == NULL) {
BAIL_LOOP_COMPILATION();
- LOGE("Unexpected null string");
+ ALOGE("Unexpected null string");
dvmAbort();
}
@@ -1666,14 +1664,13 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
storeValue(cUnit, rlDest, rlResult);
break;
}
- case OP_CONST_CLASS:
- case OP_CONST_CLASS_JUMBO: {
+ case OP_CONST_CLASS: {
void *classPtr = (void*)
(cUnit->method->clazz->pDvmDex->pResClasses[mir->dalvikInsn.vB]);
if (classPtr == NULL) {
BAIL_LOOP_COMPILATION();
- LOGE("Unexpected null class");
+ ALOGE("Unexpected null class");
dvmAbort();
}
@@ -1685,20 +1682,12 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
}
case OP_SGET:
case OP_SGET_VOLATILE:
- case OP_SGET_VOLATILE_JUMBO:
- case OP_SGET_JUMBO:
case OP_SGET_OBJECT:
case OP_SGET_OBJECT_VOLATILE:
- case OP_SGET_OBJECT_VOLATILE_JUMBO:
- case OP_SGET_OBJECT_JUMBO:
case OP_SGET_BOOLEAN:
- case OP_SGET_BOOLEAN_JUMBO:
case OP_SGET_CHAR:
- case OP_SGET_CHAR_JUMBO:
case OP_SGET_BYTE:
- case OP_SGET_BYTE_JUMBO:
- case OP_SGET_SHORT:
- case OP_SGET_SHORT_JUMBO: {
+ case OP_SGET_SHORT: {
int valOffset = OFFSETOF_MEMBER(StaticField, value);
int tReg = dvmCompilerAllocTemp(cUnit);
bool isVolatile;
@@ -1709,7 +1698,7 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
if (fieldPtr == NULL) {
BAIL_LOOP_COMPILATION();
- LOGE("Unexpected null static field");
+ ALOGE("Unexpected null static field");
dvmAbort();
}
@@ -1724,9 +1713,7 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
#if ANDROID_SMP != 0
Opcode opcode = mir->dalvikInsn.opcode;
isVolatile = (opcode == OP_SGET_VOLATILE) ||
- (opcode == OP_SGET_VOLATILE_JUMBO) ||
- (opcode == OP_SGET_OBJECT_VOLATILE) ||
- (opcode == OP_SGET_OBJECT_VOLATILE_JUMBO);
+ (opcode == OP_SGET_OBJECT_VOLATILE);
assert(isVolatile == dvmIsVolatileField((Field *) fieldPtr));
#else
isVolatile = dvmIsVolatileField((Field *) fieldPtr);
@@ -1746,8 +1733,7 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
storeValue(cUnit, rlDest, rlResult);
break;
}
- case OP_SGET_WIDE:
- case OP_SGET_WIDE_JUMBO: {
+ case OP_SGET_WIDE: {
int valOffset = OFFSETOF_MEMBER(StaticField, value);
const Method *method = (mir->OptimizationFlags & MIR_CALLEE) ?
mir->meta.calleeMethod : cUnit->method;
@@ -1756,7 +1742,7 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
if (fieldPtr == NULL) {
BAIL_LOOP_COMPILATION();
- LOGE("Unexpected null static field");
+ ALOGE("Unexpected null static field");
dvmAbort();
}
@@ -1774,20 +1760,12 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
}
case OP_SPUT:
case OP_SPUT_VOLATILE:
- case OP_SPUT_VOLATILE_JUMBO:
- case OP_SPUT_JUMBO:
case OP_SPUT_OBJECT:
case OP_SPUT_OBJECT_VOLATILE:
- case OP_SPUT_OBJECT_VOLATILE_JUMBO:
- case OP_SPUT_OBJECT_JUMBO:
case OP_SPUT_BOOLEAN:
- case OP_SPUT_BOOLEAN_JUMBO:
case OP_SPUT_CHAR:
- case OP_SPUT_CHAR_JUMBO:
case OP_SPUT_BYTE:
- case OP_SPUT_BYTE_JUMBO:
- case OP_SPUT_SHORT:
- case OP_SPUT_SHORT_JUMBO: {
+ case OP_SPUT_SHORT: {
int valOffset = OFFSETOF_MEMBER(StaticField, value);
int tReg = dvmCompilerAllocTemp(cUnit);
int objHead = 0;
@@ -1801,24 +1779,20 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
if (fieldPtr == NULL) {
BAIL_LOOP_COMPILATION();
- LOGE("Unexpected null static field");
+ ALOGE("Unexpected null static field");
dvmAbort();
}
#if ANDROID_SMP != 0
isVolatile = (opcode == OP_SPUT_VOLATILE) ||
- (opcode == OP_SPUT_VOLATILE_JUMBO) ||
- (opcode == OP_SPUT_OBJECT_VOLATILE) ||
- (opcode == OP_SPUT_OBJECT_VOLATILE_JUMBO);
+ (opcode == OP_SPUT_OBJECT_VOLATILE);
assert(isVolatile == dvmIsVolatileField((Field *) fieldPtr));
#else
isVolatile = dvmIsVolatileField((Field *) fieldPtr);
#endif
isSputObject = (opcode == OP_SPUT_OBJECT) ||
- (opcode == OP_SPUT_OBJECT_JUMBO) ||
- (opcode == OP_SPUT_OBJECT_VOLATILE) ||
- (opcode == OP_SPUT_OBJECT_VOLATILE_JUMBO);
+ (opcode == OP_SPUT_OBJECT_VOLATILE);
rlSrc = dvmCompilerGetSrc(cUnit, mir, 0);
rlSrc = loadValue(cUnit, rlSrc, kAnyReg);
@@ -1845,8 +1819,7 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
break;
}
- case OP_SPUT_WIDE:
- case OP_SPUT_WIDE_JUMBO: {
+ case OP_SPUT_WIDE: {
int tReg = dvmCompilerAllocTemp(cUnit);
int valOffset = OFFSETOF_MEMBER(StaticField, value);
const Method *method = (mir->OptimizationFlags & MIR_CALLEE) ?
@@ -1856,7 +1829,7 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
if (fieldPtr == NULL) {
BAIL_LOOP_COMPILATION();
- LOGE("Unexpected null static field");
+ ALOGE("Unexpected null static field");
dvmAbort();
}
@@ -1869,8 +1842,7 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
HEAP_ACCESS_SHADOW(false);
break;
}
- case OP_NEW_INSTANCE:
- case OP_NEW_INSTANCE_JUMBO: {
+ case OP_NEW_INSTANCE: {
/*
* Obey the calling convention and don't mess with the register
* usage.
@@ -1880,7 +1852,7 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
if (classPtr == NULL) {
BAIL_LOOP_COMPILATION();
- LOGE("Unexpected null class");
+ ALOGE("Unexpected null class");
dvmAbort();
}
@@ -1916,8 +1888,7 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
storeValue(cUnit, rlDest, rlResult);
break;
}
- case OP_CHECK_CAST:
- case OP_CHECK_CAST_JUMBO: {
+ case OP_CHECK_CAST: {
/*
* Obey the calling convention and don't mess with the register
* usage.
@@ -1971,9 +1942,7 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
break;
}
case OP_SGET_WIDE_VOLATILE:
- case OP_SGET_WIDE_VOLATILE_JUMBO:
case OP_SPUT_WIDE_VOLATILE:
- case OP_SPUT_WIDE_VOLATILE_JUMBO:
genInterpSingleStep(cUnit, mir);
break;
default:
@@ -2212,7 +2181,7 @@ static bool handleFmt21t(CompilationUnit *cUnit, MIR *mir, BasicBlock *bb,
opc = kMipsBlez;
break;
default:
- LOGE("Unexpected opcode (%d) for Fmt21t", dalvikOpcode);
+ ALOGE("Unexpected opcode (%d) for Fmt21t", dalvikOpcode);
dvmCompilerAbort(cUnit);
}
genConditionalBranchMips(cUnit, opc, rlSrc.lowReg, rt, &labelList[bb->taken->id]);
@@ -2460,7 +2429,7 @@ static bool handleFmt22b_Fmt22s(CompilationUnit *cUnit, MIR *mir)
return false;
}
-static bool handleFmt22c_Fmt52c(CompilationUnit *cUnit, MIR *mir)
+static bool handleFmt22c(CompilationUnit *cUnit, MIR *mir)
{
Opcode dalvikOpcode = mir->dalvikInsn.opcode;
int fieldOffset = -1;
@@ -2470,50 +2439,30 @@ static bool handleFmt22c_Fmt52c(CompilationUnit *cUnit, MIR *mir)
* Wide volatiles currently handled via single step.
* Add them here if generating in-line code.
* case OP_IGET_WIDE_VOLATILE:
- * case OP_IGET_WIDE_VOLATILE_JUMBO:
* case OP_IPUT_WIDE_VOLATILE:
- * case OP_IPUT_WIDE_VOLATILE_JUMBO:
*/
case OP_IGET_VOLATILE:
- case OP_IGET_VOLATILE_JUMBO:
case OP_IGET_OBJECT_VOLATILE:
- case OP_IGET_OBJECT_VOLATILE_JUMBO:
case OP_IPUT_VOLATILE:
- case OP_IPUT_VOLATILE_JUMBO:
case OP_IPUT_OBJECT_VOLATILE:
- case OP_IPUT_OBJECT_VOLATILE_JUMBO:
#if ANDROID_SMP != 0
isVolatile = true;
// NOTE: intentional fallthrough
#endif
case OP_IGET:
- case OP_IGET_JUMBO:
case OP_IGET_WIDE:
- case OP_IGET_WIDE_JUMBO:
case OP_IGET_OBJECT:
- case OP_IGET_OBJECT_JUMBO:
case OP_IGET_BOOLEAN:
- case OP_IGET_BOOLEAN_JUMBO:
case OP_IGET_BYTE:
- case OP_IGET_BYTE_JUMBO:
case OP_IGET_CHAR:
- case OP_IGET_CHAR_JUMBO:
case OP_IGET_SHORT:
- case OP_IGET_SHORT_JUMBO:
case OP_IPUT:
- case OP_IPUT_JUMBO:
case OP_IPUT_WIDE:
- case OP_IPUT_WIDE_JUMBO:
case OP_IPUT_OBJECT:
- case OP_IPUT_OBJECT_JUMBO:
case OP_IPUT_BOOLEAN:
- case OP_IPUT_BOOLEAN_JUMBO:
case OP_IPUT_BYTE:
- case OP_IPUT_BYTE_JUMBO:
case OP_IPUT_CHAR:
- case OP_IPUT_CHAR_JUMBO:
- case OP_IPUT_SHORT:
- case OP_IPUT_SHORT_JUMBO: {
+ case OP_IPUT_SHORT: {
const Method *method = (mir->OptimizationFlags & MIR_CALLEE) ?
mir->meta.calleeMethod : cUnit->method;
Field *fieldPtr =
@@ -2521,7 +2470,7 @@ static bool handleFmt22c_Fmt52c(CompilationUnit *cUnit, MIR *mir)
if (fieldPtr == NULL) {
BAIL_LOOP_COMPILATION();
- LOGE("Unexpected null instance field");
+ ALOGE("Unexpected null instance field");
dvmAbort();
}
#if ANDROID_SMP != 0
@@ -2537,8 +2486,7 @@ static bool handleFmt22c_Fmt52c(CompilationUnit *cUnit, MIR *mir)
}
switch (dalvikOpcode) {
- case OP_NEW_ARRAY:
- case OP_NEW_ARRAY_JUMBO: {
+ case OP_NEW_ARRAY: {
#if 0 /* 080 triggers assert in Interp.c:1290 for out of memory exception.
i think the assert is in error and should be disabled. With
asserts disabled, 080 passes. */
@@ -2554,7 +2502,7 @@ return false;
if (classPtr == NULL) {
BAIL_LOOP_COMPILATION();
- LOGE("Unexpected null class");
+ ALOGE("Unexpected null class");
dvmAbort();
}
@@ -2589,8 +2537,7 @@ return false;
storeValue(cUnit, rlDest, rlResult);
break;
}
- case OP_INSTANCE_OF:
- case OP_INSTANCE_OF_JUMBO: {
+ case OP_INSTANCE_OF: {
// May generate a call - use explicit registers
RegLocation rlSrc = dvmCompilerGetSrc(cUnit, mir, 0);
RegLocation rlDest = dvmCompilerGetDest(cUnit, mir, 0);
@@ -2607,7 +2554,7 @@ return false;
*/
if (classPtr == NULL) {
BAIL_LOOP_COMPILATION();
- LOGD("null clazz in OP_INSTANCE_OF, single-stepping");
+ ALOGD("null clazz in OP_INSTANCE_OF, single-stepping");
genInterpSingleStep(cUnit, mir);
break;
}
@@ -2637,55 +2584,35 @@ return false;
break;
}
case OP_IGET_WIDE:
- case OP_IGET_WIDE_JUMBO:
genIGetWide(cUnit, mir, fieldOffset);
break;
case OP_IGET_VOLATILE:
- case OP_IGET_VOLATILE_JUMBO:
case OP_IGET_OBJECT_VOLATILE:
- case OP_IGET_OBJECT_VOLATILE_JUMBO:
case OP_IGET:
- case OP_IGET_JUMBO:
case OP_IGET_OBJECT:
- case OP_IGET_OBJECT_JUMBO:
case OP_IGET_BOOLEAN:
- case OP_IGET_BOOLEAN_JUMBO:
case OP_IGET_BYTE:
- case OP_IGET_BYTE_JUMBO:
case OP_IGET_CHAR:
- case OP_IGET_CHAR_JUMBO:
case OP_IGET_SHORT:
- case OP_IGET_SHORT_JUMBO:
genIGet(cUnit, mir, kWord, fieldOffset, isVolatile);
break;
case OP_IPUT_WIDE:
- case OP_IPUT_WIDE_JUMBO:
genIPutWide(cUnit, mir, fieldOffset);
break;
case OP_IPUT_VOLATILE:
- case OP_IPUT_VOLATILE_JUMBO:
case OP_IPUT:
- case OP_IPUT_JUMBO:
case OP_IPUT_BOOLEAN:
- case OP_IPUT_BOOLEAN_JUMBO:
case OP_IPUT_BYTE:
- case OP_IPUT_BYTE_JUMBO:
case OP_IPUT_CHAR:
- case OP_IPUT_CHAR_JUMBO:
case OP_IPUT_SHORT:
- case OP_IPUT_SHORT_JUMBO:
genIPut(cUnit, mir, kWord, fieldOffset, false, isVolatile);
break;
case OP_IPUT_OBJECT_VOLATILE:
- case OP_IPUT_OBJECT_VOLATILE_JUMBO:
case OP_IPUT_OBJECT:
- case OP_IPUT_OBJECT_JUMBO:
genIPut(cUnit, mir, kWord, fieldOffset, true, isVolatile);
break;
case OP_IGET_WIDE_VOLATILE:
- case OP_IGET_WIDE_VOLATILE_JUMBO:
case OP_IPUT_WIDE_VOLATILE:
- case OP_IPUT_WIDE_VOLATILE_JUMBO:
genInterpSingleStep(cUnit, mir);
break;
default:
@@ -2783,7 +2710,7 @@ static bool handleFmt22t(CompilationUnit *cUnit, MIR *mir, BasicBlock *bb,
break;
default:
cond = (MipsConditionCode)0;
- LOGE("Unexpected opcode (%d) for Fmt22t", dalvikOpcode);
+ ALOGE("Unexpected opcode (%d) for Fmt22t", dalvikOpcode);
dvmCompilerAbort(cUnit);
}
@@ -3145,7 +3072,7 @@ static void genLandingPadForMispredictedCallee(CompilationUnit *cUnit, MIR *mir,
mir->meta.callsiteInfo->misPredBranchOver->target = (LIR *) target;
}
-static bool handleFmt35c_3rc_5rc(CompilationUnit *cUnit, MIR *mir,
+static bool handleFmt35c_3rc(CompilationUnit *cUnit, MIR *mir,
BasicBlock *bb, MipsLIR *labelList)
{
MipsLIR *retChainingCell = NULL;
@@ -3166,8 +3093,7 @@ static bool handleFmt35c_3rc_5rc(CompilationUnit *cUnit, MIR *mir,
* ]
*/
case OP_INVOKE_VIRTUAL:
- case OP_INVOKE_VIRTUAL_RANGE:
- case OP_INVOKE_VIRTUAL_JUMBO: {
+ case OP_INVOKE_VIRTUAL_RANGE: {
MipsLIR *predChainingCell = &labelList[bb->taken->id];
int methodIndex =
cUnit->method->clazz->pDvmDex->pResMethods[dInsn->vB]->
@@ -3198,8 +3124,7 @@ static bool handleFmt35c_3rc_5rc(CompilationUnit *cUnit, MIR *mir,
* ->pResMethods[BBBB]->methodIndex]
*/
case OP_INVOKE_SUPER:
- case OP_INVOKE_SUPER_RANGE:
- case OP_INVOKE_SUPER_JUMBO: {
+ case OP_INVOKE_SUPER_RANGE: {
/* Grab the method ptr directly from what the interpreter sees */
const Method *calleeMethod = mir->meta.callsiteInfo->method;
assert(calleeMethod == cUnit->method->clazz->super->vtable[
@@ -3228,8 +3153,7 @@ static bool handleFmt35c_3rc_5rc(CompilationUnit *cUnit, MIR *mir,
}
/* calleeMethod = method->clazz->pDvmDex->pResMethods[BBBB] */
case OP_INVOKE_DIRECT:
- case OP_INVOKE_DIRECT_RANGE:
- case OP_INVOKE_DIRECT_JUMBO: {
+ case OP_INVOKE_DIRECT_RANGE: {
/* Grab the method ptr directly from what the interpreter sees */
const Method *calleeMethod = mir->meta.callsiteInfo->method;
assert(calleeMethod ==
@@ -3249,8 +3173,7 @@ static bool handleFmt35c_3rc_5rc(CompilationUnit *cUnit, MIR *mir,
}
/* calleeMethod = method->clazz->pDvmDex->pResMethods[BBBB] */
case OP_INVOKE_STATIC:
- case OP_INVOKE_STATIC_RANGE:
- case OP_INVOKE_STATIC_JUMBO: {
+ case OP_INVOKE_STATIC_RANGE: {
/* Grab the method ptr directly from what the interpreter sees */
const Method *calleeMethod = mir->meta.callsiteInfo->method;
assert(calleeMethod ==
@@ -3381,8 +3304,7 @@ static bool handleFmt35c_3rc_5rc(CompilationUnit *cUnit, MIR *mir,
* -------- end of chaining cells (0x0190)
*/
case OP_INVOKE_INTERFACE:
- case OP_INVOKE_INTERFACE_RANGE:
- case OP_INVOKE_INTERFACE_JUMBO: {
+ case OP_INVOKE_INTERFACE_RANGE: {
MipsLIR *predChainingCell = &labelList[bb->taken->id];
/*
@@ -3539,11 +3461,9 @@ static bool handleFmt35c_3rc_5rc(CompilationUnit *cUnit, MIR *mir,
genTrap(cUnit, mir->offset, pcrLabel);
break;
}
- case OP_INVOKE_OBJECT_INIT_JUMBO:
case OP_INVOKE_OBJECT_INIT_RANGE:
case OP_FILLED_NEW_ARRAY:
- case OP_FILLED_NEW_ARRAY_RANGE:
- case OP_FILLED_NEW_ARRAY_JUMBO: {
+ case OP_FILLED_NEW_ARRAY_RANGE: {
/* Just let the interpreter deal with these */
genInterpSingleStep(cUnit, mir);
break;
@@ -4353,11 +4273,8 @@ assert(0); /* MIPSTODO port selfVerificationPuntOps() */
case OP_MONITOR_ENTER:
case OP_MONITOR_EXIT:
case OP_NEW_INSTANCE:
- case OP_NEW_INSTANCE_JUMBO:
case OP_NEW_ARRAY:
- case OP_NEW_ARRAY_JUMBO:
case OP_CHECK_CAST:
- case OP_CHECK_CAST_JUMBO:
case OP_MOVE_EXCEPTION:
case OP_FILL_ARRAY_DATA:
case OP_EXECUTE_INLINE:
@@ -4596,13 +4513,11 @@ void dvmCompilerMIR2LIR(CompilationUnit *cUnit)
notHandled = handleFmt12x(cUnit, mir);
break;
case kFmt20bc:
- case kFmt40sc:
- notHandled = handleFmt20bc_Fmt40sc(cUnit, mir);
+ notHandled = handleFmt20bc(cUnit, mir);
break;
case kFmt21c:
case kFmt31c:
- case kFmt41c:
- notHandled = handleFmt21c_Fmt31c_Fmt41c(cUnit, mir);
+ notHandled = handleFmt21c_Fmt31c(cUnit, mir);
break;
case kFmt21h:
notHandled = handleFmt21h(cUnit, mir);
@@ -4619,8 +4534,7 @@ void dvmCompilerMIR2LIR(CompilationUnit *cUnit)
notHandled = handleFmt22b_Fmt22s(cUnit, mir);
break;
case kFmt22c:
- case kFmt52c:
- notHandled = handleFmt22c_Fmt52c(cUnit, mir);
+ notHandled = handleFmt22c(cUnit, mir);
break;
case kFmt22cs:
notHandled = handleFmt22cs(cUnit, mir);
@@ -4641,8 +4555,7 @@ void dvmCompilerMIR2LIR(CompilationUnit *cUnit)
break;
case kFmt3rc:
case kFmt35c:
- case kFmt5rc:
- notHandled = handleFmt35c_3rc_5rc(cUnit, mir, bb,
+ notHandled = handleFmt35c_3rc(cUnit, mir, bb,
labelList);
break;
case kFmt3rms:
@@ -4663,7 +4576,7 @@ void dvmCompilerMIR2LIR(CompilationUnit *cUnit)
}
}
if (notHandled) {
- LOGE("%#06x: Opcode %#x (%s) / Fmt %d not handled",
+ ALOGE("%#06x: Opcode %#x (%s) / Fmt %d not handled",
mir->offset,
dalvikOpcode, dexGetOpcodeName(dalvikOpcode),
dalvikFormat);
@@ -4747,7 +4660,7 @@ gen_fallthrough:
chainingBlock->startOffset);
break;
default:
- LOGE("Bad blocktype %d", chainingBlock->blockType);
+ ALOGE("Bad blocktype %d", chainingBlock->blockType);
dvmCompilerAbort(cUnit);
}
}
@@ -4818,7 +4731,7 @@ bool dvmCompilerDoWork(CompilerWorkOrder *work)
break;
default:
isCompile = false;
- LOGE("Jit: unknown work order type");
+ ALOGE("Jit: unknown work order type");
assert(0); // Bail if debug build, discard otherwise
}
if (!success)
@@ -4868,7 +4781,7 @@ void dvmCompilerArchDump(void)
}
}
if (strlen(buf)) {
- LOGD("dalvik.vm.jit.op = %s", buf);
+ ALOGD("dalvik.vm.jit.op = %s", buf);
}
}
@@ -4879,7 +4792,7 @@ bool dvmCompilerArchInit()
for (i = 0; i < kMipsLast; i++) {
if (EncodingMap[i].opcode != i) {
- LOGE("Encoding order for %s is wrong: expecting %d, seeing %d",
+ ALOGE("Encoding order for %s is wrong: expecting %d, seeing %d",
EncodingMap[i].name, i, EncodingMap[i].opcode);
dvmAbort(); // OK to dvmAbort - build error
}
diff --git a/vm/compiler/codegen/mips/CodegenFactory.cpp b/vm/compiler/codegen/mips/CodegenFactory.cpp
index 1b604ec98..a1211cc70 100644
--- a/vm/compiler/codegen/mips/CodegenFactory.cpp
+++ b/vm/compiler/codegen/mips/CodegenFactory.cpp
@@ -296,7 +296,7 @@ static MipsLIR *genRegRegCheck(CompilationUnit *cUnit,
MipsLIR *branch = opCompareBranch(cUnit, kMipsBeqz, tReg, -1);
genCheckCommon(cUnit, dOffset, branch, pcrLabel);
} else {
- LOGE("Unexpected condition in genRegRegCheck: %d\n", (int) cond);
+ ALOGE("Unexpected condition in genRegRegCheck: %d\n", (int) cond);
dvmAbort();
}
return res;
diff --git a/vm/compiler/codegen/mips/Mips32/Factory.cpp b/vm/compiler/codegen/mips/Mips32/Factory.cpp
index 9a158b46b..c6d777505 100644
--- a/vm/compiler/codegen/mips/Mips32/Factory.cpp
+++ b/vm/compiler/codegen/mips/Mips32/Factory.cpp
@@ -161,7 +161,7 @@ static MipsLIR *opNone(CompilationUnit *cUnit, OpKind op)
opcode = kMipsB;
break;
default:
- LOGE("Jit: bad case in opNone");
+ ALOGE("Jit: bad case in opNone");
dvmCompilerAbort(cUnit);
}
res = newLIR0(cUnit, opcode);
@@ -214,7 +214,7 @@ static MipsLIR *opRegImm(CompilationUnit *cUnit, OpKind op, int rDestSrc1,
return opRegRegImm(cUnit, op, rDestSrc1, rDestSrc1, value);
break;
default:
- LOGE("Jit: bad case in opRegImm");
+ ALOGE("Jit: bad case in opRegImm");
dvmCompilerAbort(cUnit);
break;
}
@@ -264,7 +264,7 @@ static MipsLIR *opRegRegReg(CompilationUnit *cUnit, OpKind op, int rDest,
opcode = kMipsSrav;
break;
default:
- LOGE("Jit: bad case in opRegRegReg");
+ ALOGE("Jit: bad case in opRegRegReg");
dvmCompilerAbort(cUnit);
break;
}
@@ -342,7 +342,7 @@ static MipsLIR *opRegRegImm(CompilationUnit *cUnit, OpKind op, int rDest,
opcode = kMipsMul;
break;
default:
- LOGE("Jit: bad case in opRegRegImm");
+ ALOGE("Jit: bad case in opRegRegImm");
dvmCompilerAbort(cUnit);
break;
}
@@ -401,7 +401,7 @@ static MipsLIR *opRegReg(CompilationUnit *cUnit, OpKind op, int rDestSrc1,
case kOp2Char:
return newLIR3(cUnit, kMipsAndi, rDestSrc1, rSrc2, 0xFFFF);
default:
- LOGE("Jit: bad case in opRegReg");
+ ALOGE("Jit: bad case in opRegReg");
dvmCompilerAbort(cUnit);
break;
}
@@ -466,7 +466,7 @@ static MipsLIR *loadBaseIndexed(CompilationUnit *cUnit, int rBase,
opcode = kMipsLb;
break;
default:
- LOGE("Jit: bad case in loadBaseIndexed");
+ ALOGE("Jit: bad case in loadBaseIndexed");
dvmCompilerAbort(cUnit);
}
@@ -525,7 +525,7 @@ static MipsLIR *storeBaseIndexed(CompilationUnit *cUnit, int rBase,
opcode = kMipsSb;
break;
default:
- LOGE("Jit: bad case in storeBaseIndexed");
+ ALOGE("Jit: bad case in storeBaseIndexed");
dvmCompilerAbort(cUnit);
}
res = newLIR3(cUnit, opcode, rSrc, 0, tReg);
@@ -654,7 +654,7 @@ static MipsLIR *loadBaseDispBody(CompilationUnit *cUnit, MIR *mir, int rBase,
opcode = kMipsLb;
break;
default:
- LOGE("Jit: bad case in loadBaseIndexedBody");
+ ALOGE("Jit: bad case in loadBaseIndexedBody");
dvmCompilerAbort(cUnit);
}
@@ -767,7 +767,7 @@ static MipsLIR *storeBaseDispBody(CompilationUnit *cUnit, int rBase,
opcode = kMipsSb;
break;
default:
- LOGE("Jit: bad case in storeBaseIndexedBody");
+ ALOGE("Jit: bad case in storeBaseIndexedBody");
dvmCompilerAbort(cUnit);
}
@@ -925,7 +925,7 @@ static inline MipsLIR *genRegImmCheck(CompilationUnit *cUnit,
} else if (cond == kMipsCondGe) {
opc = kMipsBgez;
} else {
- LOGE("Jit: bad case in genRegImmCheck");
+ ALOGE("Jit: bad case in genRegImmCheck");
dvmCompilerAbort(cUnit);
}
branch = opCompareBranch(cUnit, opc, reg, -1);
@@ -936,11 +936,11 @@ static inline MipsLIR *genRegImmCheck(CompilationUnit *cUnit,
branch = opCompareBranch(cUnit, kMipsBne, tReg, r_ZERO);
dvmCompilerFreeTemp(cUnit, tReg);
} else {
- LOGE("Jit: bad case in genRegImmCheck");
+ ALOGE("Jit: bad case in genRegImmCheck");
dvmCompilerAbort(cUnit);
}
} else {
- LOGE("Jit: bad case in genRegImmCheck");
+ ALOGE("Jit: bad case in genRegImmCheck");
dvmCompilerAbort(cUnit);
}
@@ -952,7 +952,7 @@ static inline MipsLIR *genRegImmCheck(CompilationUnit *cUnit,
branch->generic.target = (LIR *) exceptionLabel;
return exceptionLabel;
} else {
- LOGE("Catch blocks not handled yet");
+ ALOGE("Catch blocks not handled yet");
dvmAbort();
return NULL;
}
diff --git a/vm/compiler/codegen/mips/RallocUtil.cpp b/vm/compiler/codegen/mips/RallocUtil.cpp
index 190437335..b13dddfd7 100644
--- a/vm/compiler/codegen/mips/RallocUtil.cpp
+++ b/vm/compiler/codegen/mips/RallocUtil.cpp
@@ -73,13 +73,13 @@ extern void dvmCompilerInitPool(RegisterInfo *regs, int *regNums, int num)
static void dumpRegPool(RegisterInfo *p, int numRegs)
{
int i;
- LOGE("================================================");
+ ALOGE("================================================");
for (i=0; i < numRegs; i++ ){
- LOGE("R[%d]: U:%d, P:%d, part:%d, LV:%d, D:%d, SR:%d, ST:%x, EN:%x",
+ ALOGE("R[%d]: U:%d, P:%d, part:%d, LV:%d, D:%d, SR:%d, ST:%x, EN:%x",
p[i].reg, p[i].inUse, p[i].pair, p[i].partner, p[i].live,
p[i].dirty, p[i].sReg,(int)p[i].defStart, (int)p[i].defEnd);
}
- LOGE("================================================");
+ ALOGE("================================================");
}
static RegisterInfo *getRegInfo(CompilationUnit *cUnit, int reg)
@@ -99,7 +99,7 @@ static RegisterInfo *getRegInfo(CompilationUnit *cUnit, int reg)
return &p[i];
}
}
- LOGE("Tried to get info on a non-existant temp: r%d",reg);
+ ALOGE("Tried to get info on a non-existant temp: r%d",reg);
dvmCompilerAbort(cUnit);
return NULL;
}
@@ -225,7 +225,7 @@ static int allocTempBody(CompilationUnit *cUnit, RegisterInfo *p, int numTemps,
next++;
}
if (required) {
- LOGE("No free temp registers");
+ ALOGE("No free temp registers");
dvmCompilerAbort(cUnit);
}
return -1; // No register available
@@ -273,7 +273,7 @@ extern int dvmCompilerAllocTempDouble(CompilationUnit *cUnit)
}
next += 2;
}
- LOGE("No free temp registers");
+ ALOGE("No free temp registers");
dvmCompilerAbort(cUnit);
return -1;
}
@@ -334,7 +334,7 @@ static RegisterInfo *allocLive(CompilationUnit *cUnit, int sReg,
cUnit->regPool->numFPTemps, sReg);
break;
default:
- LOGE("Invalid register type");
+ ALOGE("Invalid register type");
dvmCompilerAbort(cUnit);
}
return res;
@@ -361,7 +361,7 @@ extern void dvmCompilerFreeTemp(CompilationUnit *cUnit, int reg)
return;
}
}
- LOGE("Tried to free a non-existant temp: r%d",reg);
+ ALOGE("Tried to free a non-existant temp: r%d",reg);
dvmCompilerAbort(cUnit);
}
@@ -435,7 +435,7 @@ extern void dvmCompilerLockTemp(CompilationUnit *cUnit, int reg)
return;
}
}
- LOGE("Tried to lock a non-existant temp: r%d",reg);
+ ALOGE("Tried to lock a non-existant temp: r%d",reg);
dvmCompilerAbort(cUnit);
}
diff --git a/vm/compiler/codegen/mips/mips/ArchVariant.cpp b/vm/compiler/codegen/mips/mips/ArchVariant.cpp
index 51a590a6a..9204a5898 100644
--- a/vm/compiler/codegen/mips/mips/ArchVariant.cpp
+++ b/vm/compiler/codegen/mips/mips/ArchVariant.cpp
@@ -95,7 +95,7 @@ int dvmCompilerTargetOptHint(int key)
res = 2;
break;
default:
- LOGE("Unknown target optimization hint key: %d",key);
+ ALOGE("Unknown target optimization hint key: %d",key);
res = 0;
}
return res;
diff --git a/vm/compiler/codegen/mips/mips/MethodCodegenDriver.cpp b/vm/compiler/codegen/mips/mips/MethodCodegenDriver.cpp
index 735a4787b..55c2d899b 100644
--- a/vm/compiler/codegen/mips/mips/MethodCodegenDriver.cpp
+++ b/vm/compiler/codegen/mips/mips/MethodCodegenDriver.cpp
@@ -16,6 +16,6 @@
void dvmCompilerMethodMIR2LIR(CompilationUnit *cUnit)
{
- LOGE("Method-based JIT not supported for the Mips target");
+ ALOGE("Method-based JIT not supported for the Mips target");
dvmAbort();
}