diff options
author | Ben Cheng <bccheng@android.com> | 2010-03-31 11:59:18 -0700 |
---|---|---|
committer | Ben Cheng <bccheng@android.com> | 2010-03-31 12:17:29 -0700 |
commit | a497359afa1abe4c5780c8799c6fe0edab551c2d (patch) | |
tree | ec01e200a99247509f298221d03459324710bf0d /vm/compiler/codegen | |
parent | d4b078315ae7335c385f70b32810959bd228d976 (diff) | |
download | android_dalvik-a497359afa1abe4c5780c8799c6fe0edab551c2d.tar.gz android_dalvik-a497359afa1abe4c5780c8799c6fe0edab551c2d.tar.bz2 android_dalvik-a497359afa1abe4c5780c8799c6fe0edab551c2d.zip |
Fix a race condition in JIT state refresh under debugging / misc code cleanup.
Bug: 2561283
Change-Id: I9fd94928f3e661de97098808340ea92b28cafa07
Diffstat (limited to 'vm/compiler/codegen')
-rw-r--r-- | vm/compiler/codegen/arm/ArchUtility.c | 20 | ||||
-rw-r--r-- | vm/compiler/codegen/arm/ArmLIR.h | 20 | ||||
-rw-r--r-- | vm/compiler/codegen/arm/CodegenCommon.c | 2 | ||||
-rw-r--r-- | vm/compiler/codegen/arm/CodegenDriver.c | 26 |
4 files changed, 34 insertions, 34 deletions
diff --git a/vm/compiler/codegen/arm/ArchUtility.c b/vm/compiler/codegen/arm/ArchUtility.c index 20b3f85a7..b0478f49c 100644 --- a/vm/compiler/codegen/arm/ArchUtility.c +++ b/vm/compiler/codegen/arm/ArchUtility.c @@ -257,41 +257,41 @@ void dvmDumpLIRInsn(LIR *arg, unsigned char *baseAddr) break; case kArmPseudoTargetLabel: break; - case ARM_PSEUDO_kChainingCellBackwardBranch: + case kArmPseudoChainingCellBackwardBranch: LOGD("-------- chaining cell (backward branch): 0x%04x\n", dest); break; - case ARM_PSEUDO_kChainingCellNormal: + case kArmPseudoChainingCellNormal: LOGD("-------- chaining cell (normal): 0x%04x\n", dest); break; - case ARM_PSEUDO_kChainingCellHot: + case kArmPseudoChainingCellHot: LOGD("-------- chaining cell (hot): 0x%04x\n", dest); break; - case ARM_PSEUDO_kChainingCellInvokePredicted: + case kArmPseudoChainingCellInvokePredicted: LOGD("-------- chaining cell (predicted)\n"); break; - case ARM_PSEUDO_kChainingCellInvokeSingleton: + case kArmPseudoChainingCellInvokeSingleton: LOGD("-------- chaining cell (invoke singleton): %s/%p\n", ((Method *)dest)->name, ((Method *)dest)->insns); break; - case ARM_PSEUDO_kEntryBlock: + case kArmPseudoEntryBlock: LOGD("-------- entry offset: 0x%04x\n", dest); break; - case ARM_PSEUDO_kDalvikByteCode_BOUNDARY: + case kArmPseudoDalvikByteCodeBoundary: LOGD("-------- dalvik offset: 0x%04x @ %s\n", dest, (char *) lir->operands[1]); break; - case ARM_PSEUDO_kExitBlock: + case kArmPseudoExitBlock: LOGD("-------- exit offset: 0x%04x\n", dest); break; case kArmPseudoPseudoAlign4: LOGD("%p (%04x): .align4\n", baseAddr + offset, offset); break; - case ARM_PSEUDO_kPCReconstruction_CELL: + case kArmPseudoPCReconstructionCell: LOGD("-------- reconstruct dalvik PC : 0x%04x @ +0x%04x\n", dest, lir->operands[1]); break; - case ARM_PSEUDO_kPCReconstruction_BLOCK_LABEL: + case kArmPseudoPCReconstructionBlockLabel: /* Do nothing */ break; case kArmPseudoEHBlockLabel: diff --git a/vm/compiler/codegen/arm/ArmLIR.h b/vm/compiler/codegen/arm/ArmLIR.h index e1073b604..f7704ade5 100644 --- a/vm/compiler/codegen/arm/ArmLIR.h +++ b/vm/compiler/codegen/arm/ArmLIR.h @@ -318,18 +318,18 @@ typedef enum ArmOpCode { kArmPseudoBarrier = -17, kArmPseudoExtended = -16, kArmPseudoSSARep = -15, - ARM_PSEUDO_kEntryBlock = -14, - ARM_PSEUDO_kExitBlock = -13, + kArmPseudoEntryBlock = -14, + kArmPseudoExitBlock = -13, kArmPseudoTargetLabel = -12, - ARM_PSEUDO_kChainingCellBackwardBranch = -11, - ARM_PSEUDO_kChainingCellHot = -10, - ARM_PSEUDO_kChainingCellInvokePredicted = -9, - ARM_PSEUDO_kChainingCellInvokeSingleton = -8, - ARM_PSEUDO_kChainingCellNormal = -7, - ARM_PSEUDO_kDalvikByteCode_BOUNDARY = -6, + kArmPseudoChainingCellBackwardBranch = -11, + kArmPseudoChainingCellHot = -10, + kArmPseudoChainingCellInvokePredicted = -9, + kArmPseudoChainingCellInvokeSingleton = -8, + kArmPseudoChainingCellNormal = -7, + kArmPseudoDalvikByteCodeBoundary = -6, kArmPseudoPseudoAlign4 = -5, - ARM_PSEUDO_kPCReconstruction_CELL = -4, - ARM_PSEUDO_kPCReconstruction_BLOCK_LABEL = -3, + kArmPseudoPCReconstructionCell = -4, + kArmPseudoPCReconstructionBlockLabel = -3, kArmPseudoEHBlockLabel = -2, kArmPseudoNormalBlockLabel = -1, /************************************************************************/ diff --git a/vm/compiler/codegen/arm/CodegenCommon.c b/vm/compiler/codegen/arm/CodegenCommon.c index 8f5c11da4..0cec99df8 100644 --- a/vm/compiler/codegen/arm/CodegenCommon.c +++ b/vm/compiler/codegen/arm/CodegenCommon.c @@ -370,7 +370,7 @@ extern ArmLIR *genCheckCommon(CompilationUnit *cUnit, int dOffset, if (pcrLabel == NULL) { int dPC = (int) (cUnit->method->insns + dOffset); pcrLabel = dvmCompilerNew(sizeof(ArmLIR), true); - pcrLabel->opCode = ARM_PSEUDO_kPCReconstruction_CELL; + pcrLabel->opCode = kArmPseudoPCReconstructionCell; pcrLabel->operands[0] = dPC; pcrLabel->operands[1] = dOffset; /* Insert the place holder to the growable list */ diff --git a/vm/compiler/codegen/arm/CodegenDriver.c b/vm/compiler/codegen/arm/CodegenDriver.c index e3ac5bb04..695f18c1a 100644 --- a/vm/compiler/codegen/arm/CodegenDriver.c +++ b/vm/compiler/codegen/arm/CodegenDriver.c @@ -911,7 +911,7 @@ static void genReturnCommon(CompilationUnit *cUnit, MIR *mir) ArmLIR *branch = genUnconditionalBranch(cUnit, NULL); /* Set up the place holder to reconstruct this Dalvik PC */ ArmLIR *pcrLabel = dvmCompilerNew(sizeof(ArmLIR), true); - pcrLabel->opCode = ARM_PSEUDO_kPCReconstruction_CELL; + pcrLabel->opCode = kArmPseudoPCReconstructionCell; pcrLabel->operands[0] = dPC; pcrLabel->operands[1] = mir->offset; /* Insert the place holder to the growable list */ @@ -1148,7 +1148,7 @@ static void genInvokeVirtualCommon(CompilationUnit *cUnit, MIR *mir, if (pcrLabel == NULL) { int dPC = (int) (cUnit->method->insns + mir->offset); pcrLabel = dvmCompilerNew(sizeof(ArmLIR), true); - pcrLabel->opCode = ARM_PSEUDO_kPCReconstruction_CELL; + pcrLabel->opCode = kArmPseudoPCReconstructionCell; pcrLabel->operands[0] = dPC; pcrLabel->operands[1] = mir->offset; /* Insert the place holder to the growable list */ @@ -2811,7 +2811,7 @@ static bool handleFmt35c_3rc(CompilationUnit *cUnit, MIR *mir, BasicBlock *bb, if (pcrLabel == NULL) { int dPC = (int) (cUnit->method->insns + mir->offset); pcrLabel = dvmCompilerNew(sizeof(ArmLIR), true); - pcrLabel->opCode = ARM_PSEUDO_kPCReconstruction_CELL; + pcrLabel->opCode = kArmPseudoPCReconstructionCell; pcrLabel->operands[0] = dPC; pcrLabel->operands[1] = mir->offset; /* Insert the place holder to the growable list */ @@ -3487,7 +3487,7 @@ static void setupLoopEntryBlock(CompilationUnit *cUnit, BasicBlock *entry, { /* Set up the place holder to reconstruct this Dalvik PC */ ArmLIR *pcrLabel = dvmCompilerNew(sizeof(ArmLIR), true); - pcrLabel->opCode = ARM_PSEUDO_kPCReconstruction_CELL; + pcrLabel->opCode = kArmPseudoPCReconstructionCell; pcrLabel->operands[0] = (int) (cUnit->method->insns + entry->startOffset); pcrLabel->operands[1] = entry->startOffset; @@ -3598,7 +3598,7 @@ void dvmCompilerMIR2LIR(CompilationUnit *cUnit) } if (blockList[i]->blockType == kEntryBlock) { - labelList[i].opCode = ARM_PSEUDO_kEntryBlock; + labelList[i].opCode = kArmPseudoEntryBlock; if (blockList[i]->firstMIRInsn == NULL) { continue; } else { @@ -3606,7 +3606,7 @@ void dvmCompilerMIR2LIR(CompilationUnit *cUnit) &labelList[blockList[i]->fallThrough->id]); } } else if (blockList[i]->blockType == kExitBlock) { - labelList[i].opCode = ARM_PSEUDO_kExitBlock; + labelList[i].opCode = kArmPseudoExitBlock; goto gen_fallthrough; } else if (blockList[i]->blockType == kDalvikByteCode) { labelList[i].opCode = kArmPseudoNormalBlockLabel; @@ -3617,14 +3617,14 @@ void dvmCompilerMIR2LIR(CompilationUnit *cUnit) } else { switch (blockList[i]->blockType) { case kChainingCellNormal: - labelList[i].opCode = ARM_PSEUDO_kChainingCellNormal; + labelList[i].opCode = kArmPseudoChainingCellNormal; /* handle the codegen later */ dvmInsertGrowableList( &chainingListByType[kChainingCellNormal], (void *) i); break; case kChainingCellInvokeSingleton: labelList[i].opCode = - ARM_PSEUDO_kChainingCellInvokeSingleton; + kArmPseudoChainingCellInvokeSingleton; labelList[i].operands[0] = (int) blockList[i]->containingMethod; /* handle the codegen later */ @@ -3634,7 +3634,7 @@ void dvmCompilerMIR2LIR(CompilationUnit *cUnit) break; case kChainingCellInvokePredicted: labelList[i].opCode = - ARM_PSEUDO_kChainingCellInvokePredicted; + kArmPseudoChainingCellInvokePredicted; /* handle the codegen later */ dvmInsertGrowableList( &chainingListByType[kChainingCellInvokePredicted], @@ -3642,7 +3642,7 @@ void dvmCompilerMIR2LIR(CompilationUnit *cUnit) break; case kChainingCellHot: labelList[i].opCode = - ARM_PSEUDO_kChainingCellHot; + kArmPseudoChainingCellHot; /* handle the codegen later */ dvmInsertGrowableList( &chainingListByType[kChainingCellHot], @@ -3651,7 +3651,7 @@ void dvmCompilerMIR2LIR(CompilationUnit *cUnit) case kPCReconstruction: /* Make sure exception handling block is next */ labelList[i].opCode = - ARM_PSEUDO_kPCReconstruction_BLOCK_LABEL; + kArmPseudoPCReconstructionBlockLabel; assert (i == cUnit->numBlocks - 2); handlePCReconstruction(cUnit, &labelList[i+1]); break; @@ -3667,7 +3667,7 @@ void dvmCompilerMIR2LIR(CompilationUnit *cUnit) #if defined(WITH_SELF_VERIFICATION) || defined(WITH_JIT_TUNING) case kChainingCellBackwardBranch: labelList[i].opCode = - ARM_PSEUDO_kChainingCellBackwardBranch; + kArmPseudoChainingCellBackwardBranch; /* handle the codegen later */ dvmInsertGrowableList( &chainingListByType[kChainingCellBackwardBranch], @@ -3703,7 +3703,7 @@ void dvmCompilerMIR2LIR(CompilationUnit *cUnit) InstructionFormat dalvikFormat = dexGetInstrFormat(gDvm.instrFormat, dalvikOpCode); ArmLIR *boundaryLIR = - newLIR2(cUnit, ARM_PSEUDO_kDalvikByteCode_BOUNDARY, + newLIR2(cUnit, kArmPseudoDalvikByteCodeBoundary, mir->offset, (int) dvmCompilerGetDalvikDisassembly(&mir->dalvikInsn) ); |