Lines Matching refs:gDvmJit

403 #define UPDATE_CODE_CACHE_PATCHES()    (gDvmJit.codeCachePatches++)
716 for (i = 0; i < size - gDvmJit.signatureBreakpointSize + 1; i++) {
717 if (ptr[i] == gDvmJit.signatureBreakpoint[0]) {
718 for (j = 1; j < gDvmJit.signatureBreakpointSize; j++) {
719 if (ptr[i+j] != gDvmJit.signatureBreakpoint[j]) {
723 if (j == gDvmJit.signatureBreakpointSize) {
725 i*4, gDvmJit.signatureBreakpointSize);
810 if (gDvmJit.codeCacheByteUsed + cUnit->totalSize > gDvmJit.codeCacheSize) {
811 gDvmJit.codeCacheFull = true;
829 (intptr_t) gDvmJit.codeCache + gDvmJit.codeCacheByteUsed);
854 if (info->discardResult == false && gDvmJit.signatureBreakpoint != NULL &&
855 chainCellOffset/4 >= gDvmJit.signatureBreakpointSize) {
870 dvmLockMutex(&gDvmJit.compilerLock);
871 if (info->cacheVersion != gDvmJit.cacheVersion) {
875 dvmUnlockMutex(&gDvmJit.compilerLock);
879 cUnit->baseAddr = (char *) gDvmJit.codeCache + gDvmJit.codeCacheByteUsed;
880 gDvmJit.codeCacheByteUsed += offset;
886 gDvmJit.numCompilations++;
918 dvmUnlockMutex(&gDvmJit.compilerLock);
958 if ((gDvmJit.pProfTable != NULL) && (gDvm.sumThreadSuspendCount == 0) &&
959 (gDvmJit.codeCacheFull == false) &&
961 gDvmJit.translationChains++;
977 gDvmJit.hasNewChain = true;
996 dvmLockMutex(&gDvmJit.compilerICPatchLock);
1019 gDvmJit.icPatchInit++;
1032 gDvmJit.icPatchRejected++;
1048 gDvmJit.icPatchLockFree++;
1054 } else if (gDvmJit.compilerICPatchIndex < COMPILER_IC_PATCH_QUEUE_SIZE) {
1055 int index = gDvmJit.compilerICPatchIndex++;
1058 gDvmJit.compilerICPatchQueue[index].cellAddr = cellAddr;
1059 gDvmJit.compilerICPatchQueue[index].cellContent = *newContent;
1060 gDvmJit.compilerICPatchQueue[index].classDescriptor = clazz->descriptor;
1061 gDvmJit.compilerICPatchQueue[index].classLoader = clazz->classLoader;
1063 gDvmJit.compilerICPatchQueue[index].serialNumber = clazz->serialNumber;
1065 gDvmJit.icPatchQueued++;
1070 gDvmJit.icPatchDropped++;
1074 dvmUnlockMutex(&gDvmJit.compilerICPatchLock);
1179 if (gDvmJit.compilerICPatchIndex == 0) return;
1186 dvmLockMutex(&gDvmJit.compilerICPatchLock);
1188 UNPROTECT_CODE_CACHE(gDvmJit.codeCache, gDvmJit.codeCacheByteUsed);
1190 //ALOGD("Number of IC patch work orders: %d", gDvmJit.compilerICPatchIndex);
1194 ((char *) gDvmJit.codeCache + gDvmJit.codeCacheSize);
1195 maxAddr = (PredictedChainingCell *) gDvmJit.codeCache;
1197 for (i = 0; i < gDvmJit.compilerICPatchIndex; i++) {
1198 ICPatchWorkOrder *workOrder = &gDvmJit.compilerICPatchQueue[i];
1227 PROTECT_CODE_CACHE(gDvmJit.codeCache, gDvmJit.codeCacheByteUsed);
1229 gDvmJit.compilerICPatchIndex = 0;
1230 dvmUnlockMutex(&gDvmJit.compilerICPatchLock);
1328 if (gDvmJit.pJitEntryTable != NULL) {
1330 dvmLockMutex(&gDvmJit.tableLock);
1332 UNPROTECT_CODE_CACHE(gDvmJit.codeCache, gDvmJit.codeCacheByteUsed);
1334 for (i = 0; i < gDvmJit.jitTableSize; i++) {
1335 if (gDvmJit.pJitEntryTable[i].dPC &&
1336 !gDvmJit.pJitEntryTable[i].u.info.isMethodEntry &&
1337 gDvmJit.pJitEntryTable[i].codeAddress &&
1338 (gDvmJit.pJitEntryTable[i].codeAddress !=
1341 lastAddress = unchainSingle(&gDvmJit.pJitEntryTable[i]);
1343 (u4*)gDvmJit.pJitEntryTable[i].codeAddress < lowAddress)
1344 lowAddress = (u4*)gDvmJit.pJitEntryTable[i].codeAddress;
1355 PROTECT_CODE_CACHE(gDvmJit.codeCache, gDvmJit.codeCacheByteUsed);
1357 dvmUnlockMutex(&gDvmJit.tableLock);
1358 gDvmJit.translationChains = 0;
1360 gDvmJit.hasNewChain = false;
1495 dvmLockMutex(&gDvmJit.tableLock);
1498 sortedEntries = (JitEntry *)malloc(sizeof(JitEntry) * gDvmJit.jitTableSize);
1501 memcpy(sortedEntries, gDvmJit.pJitEntryTable,
1502 sizeof(JitEntry) * gDvmJit.jitTableSize);
1503 qsort(sortedEntries, gDvmJit.jitTableSize, sizeof(JitEntry),
1507 for (i=0; i < gDvmJit.jitTableSize; i++) {
1525 for (i=0; i < gDvmJit.jitTableSize; i++) {
1534 for (i=0; i < gDvmJit.jitTableSize && i < 10; i++) {
1549 dvmUnlockMutex(&gDvmJit.tableLock);
1608 UNPROTECT_CODE_CACHE(gDvmJit.codeCache, gDvmJit.codeCacheByteUsed);
1611 if (gDvmJit.inflightBaseAddr)
1612 findClassPointersSingleTrace((char *) gDvmJit.inflightBaseAddr,
1615 if (gDvmJit.pJitEntryTable != NULL) {
1617 dvmLockMutex(&gDvmJit.tableLock);
1618 for (traceIdx = 0; traceIdx < gDvmJit.jitTableSize; traceIdx++) {
1619 const JitEntry *entry = &gDvmJit.pJitEntryTable[traceIdx];
1628 dvmUnlockMutex(&gDvmJit.tableLock);
1632 PROTECT_CODE_CACHE(gDvmJit.codeCache, gDvmJit.codeCacheByteUsed);
1656 dvmChangeStatus(gDvmJit.compilerThread, THREAD_RUNNING);
1686 gDvmJit.inflightBaseAddr = base;
1690 gDvmJit.compilerThreadBlockGCTime += blockTime;
1691 if (blockTime > gDvmJit.maxCompilerThreadBlockGCTime)
1692 gDvmJit.maxCompilerThreadBlockGCTime = blockTime;
1693 gDvmJit.numCompilerThreadBlockGC++;
1700 dvmChangeStatus(gDvmJit.compilerThread, THREAD_VMWAIT);