Lines Matching defs:dpc
480 if (gDvmJit.pJitEntryTable[i].dPC != 0) {
546 void dvmJitEndTraceSelect(Thread* self, const u2* dPC)
553 dvmCheckJit(dPC, self);
561 static JitEntry *lookupAndAdd(const u2* dPC, bool callerLocked,
565 u4 idx = dvmJitHash(dPC);
572 ((gDvmJit.pJitEntryTable[idx].dPC != dPC) ||
578 if (gDvmJit.pJitEntryTable[idx].dPC != dPC ||
584 * at previuosly (perhaps even the dPC we're trying to enter).
589 * At this point, if .dPC is NULL, then the slot we're
594 ANDROID_MEMBAR_FULL(); /* Make sure we reload [].dPC after lock */
595 if (gDvmJit.pJitEntryTable[idx].dPC != NULL) {
598 if (gDvmJit.pJitEntryTable[idx].dPC == dPC &&
601 /* Another thread got there first for this dPC */
609 * active chain whose last member contains a valid dPC */
610 assert(gDvmJit.pJitEntryTable[idx].dPC != NULL);
617 if ((gDvmJit.pJitEntryTable[idx].dPC == NULL) ||
638 if (gDvmJit.pJitEntryTable[idx].dPC == NULL) {
642 * happen in this order (since dPC is set, the entry is live.
644 android_atomic_release_store((int32_t)dPC,
645 (volatile int32_t *)(void *)&gDvmJit.pJitEntryTable[idx].dPC);
646 gDvmJit.pJitEntryTable[idx].dPC = dPC;
663 const u2* dpc;
678 dpc = dpcBase + trace->trace[curFrag].info.frag.startOffset;
680 dexDecodeInstruction(dpc, &decInsn);
681 ALOGD(" 0x%04x - %s %#x",(dpc-dpcBase),
682 dexGetOpcodeName(decInsn.opcode),(int)dpc);
683 dpc += dexGetWidthFromOpcode(decInsn.opcode);
996 if ((gDvmJit.pJitEntryTable[idx].dPC == pc) &&
1003 if ((gDvmJit.pJitEntryTable[idx].dPC == pc) &&
1016 void* getCodeAddrCommon(const u2* dPC, bool methodEntry)
1018 int idx = dvmJitHash(dPC);
1019 const u2* pc = gDvmJit.pJitEntryTable[idx].dPC;
1022 if (pc == dPC &&
1037 if (gDvmJit.pJitEntryTable[idx].dPC == dPC &&
1064 void* dvmJitGetTraceAddr(const u2* dPC)
1066 return getCodeAddrCommon(dPC, false /* method entry */);
1073 void* dvmJitGetMethodAddr(const u2* dPC)
1075 return getCodeAddrCommon(dPC, true /* method entry */);
1082 void* dvmJitGetTraceAddrThread(const u2* dPC, Thread* self)
1085 getCodeAddrCommon(dPC, false /* method entry */);
1092 void* dvmJitGetMethodAddrThread(const u2* dPC, Thread* self)
1095 getCodeAddrCommon(dPC, true /* method entry */);
1111 void dvmJitSetCodeAddr(const u2* dPC, void *nPC, JitInstructionSetType set,
1117 * Get the JitTable slot for this dPC (or create one if JitTable
1122 lookupAndAdd(dPC, false /* caller holds tableLock */, isMethodEntry) :
1123 dvmJitFindEntry(dPC, isMethodEntry);
1346 if (pOldTable[i].dPC) {
1349 p = lookupAndAdd(pOldTable[i].dPC, true /* holds tableLock*/,