Lines Matching refs:gDvmJit

248     gDvmJit.selfVerificationSpin = true;
249 while(gDvmJit.selfVerificationSpin) sleep(10);
444 gDvmJit.pProfTable = NULL;
452 gDvmJit.noChainExit[from]++;
458 gDvmJit.normalExit++;
464 gDvmJit.puntExit++;
476 if (gDvmJit.pJitEntryTable) {
478 i < (int) gDvmJit.jitTableSize;
480 if (gDvmJit.pJitEntryTable[i].dPC != 0) {
482 if (gDvmJit.pJitEntryTable[i].codeAddress ==
487 if (gDvmJit.pJitEntryTable[i].u.info.chain != gDvmJit.jitTableSize)
491 gDvmJit.jitTableSize, gDvmJit.jitTableEntriesUsed);
493 hit, not_hit + hit, chains, gDvmJit.threshold,
494 gDvmJit.blockingMode ? "Blocking" : "Non-blocking");
497 ALOGD("JIT: Code cache patches: %d", gDvmJit.codeCachePatches);
500 gDvmJit.addrLookupsFound, gDvmJit.addrLookupsNotFound,
501 gDvmJit.normalExit, gDvmJit.puntExit);
507 gDvmJit.noChainExit[kInlineCacheMiss],
508 gDvmJit.noChainExit[kCallsiteInterpreted],
509 gDvmJit.noChainExit[kSwitchOverflow]);
513 gDvmJit.icPatchInit, gDvmJit.icPatchRejected,
514 gDvmJit.icPatchLockFree, gDvmJit.icPatchQueued,
515 gDvmJit.icPatchDropped);
518 gDvmJit.invokeMonomorphic, gDvmJit.invokePolymorphic,
519 gDvmJit.invokeNative, gDvmJit.returnOp);
521 gDvmJit.invokeMonoGetterInlined, gDvmJit.invokeMonoSetterInlined,
522 gDvmJit.invokePolyGetterInlined, gDvmJit.invokePolySetterInlined);
523 ALOGD("JIT: Total compilation time: %llu ms", gDvmJit.jitTime / 1000);
525 gDvmJit.numCompilations == 0 ? 0 :
526 gDvmJit.jitTime / gDvmJit.numCompilations);
529 gDvmJit.maxCompilerThreadBlockGCTime,
530 gDvmJit.numCompilerThreadBlockGC == 0 ?
531 0 : gDvmJit.compilerThreadBlockGCTime /
532 gDvmJit.numCompilerThreadBlockGC,
533 gDvmJit.numCompilerThreadBlockGC);
537 gDvmJit.translationChains, stubs);
538 if (gDvmJit.profileMode == kTraceProfilingContinuous) {
564 u4 chainEndMarker = gDvmJit.jitTableSize;
571 while ((gDvmJit.pJitEntryTable[idx].u.info.chain != chainEndMarker) &&
572 ((gDvmJit.pJitEntryTable[idx].dPC != dPC) ||
573 (gDvmJit.pJitEntryTable[idx].u.info.isMethodEntry !=
575 idx = gDvmJit.pJitEntryTable[idx].u.info.chain;
578 if (gDvmJit.pJitEntryTable[idx].dPC != dPC ||
579 gDvmJit.pJitEntryTable[idx].u.info.isMethodEntry != isMethodEntry) {
587 dvmLockMutex(&gDvmJit.tableLock);
595 if (gDvmJit.pJitEntryTable[idx].dPC != NULL) {
597 while (gDvmJit.pJitEntryTable[idx].u.info.chain != chainEndMarker) {
598 if (gDvmJit.pJitEntryTable[idx].dPC == dPC &&
599 gDvmJit.pJitEntryTable[idx].u.info.isMethodEntry ==
603 dvmUnlockMutex(&gDvmJit.tableLock);
604 return &gDvmJit.pJitEntryTable[idx];
606 idx = gDvmJit.pJitEntryTable[idx].u.info.chain;
610 assert(gDvmJit.pJitEntryTable[idx].dPC != NULL);
617 if ((gDvmJit.pJitEntryTable[idx].dPC == NULL) ||
630 oldValue = gDvmJit.pJitEntryTable[prev].u;
635 &gDvmJit.pJitEntryTable[prev].u.infoWord) != 0);
638 if (gDvmJit.pJitEntryTable[idx].dPC == NULL) {
639 gDvmJit.pJitEntryTable[idx].u.info.isMethodEntry = isMethodEntry;
645 (volatile int32_t *)(void *)&gDvmJit.pJitEntryTable[idx].dPC);
647 gDvmJit.pJitEntryTable[idx].codeAddress = NULL;
648 gDvmJit.pJitEntryTable[idx].dPC = dPC;
649 gDvmJit.jitTableEntriesUsed++;
655 dvmUnlockMutex(&gDvmJit.tableLock);
657 return (idx == chainEndMarker) ? NULL : &gDvmJit.pJitEntryTable[idx];
957 if (gDvmJit.blockingMode) {
1006 if ((gDvmJit.pJitEntryTable[idx].dPC == pc) &&
1007 (gDvmJit.pJitEntryTable[idx].u.info.isMethodEntry == isMethodEntry))
1008 return &gDvmJit.pJitEntryTable[idx];
1010 int chainEndMarker = gDvmJit.jitTableSize;
1011 while (gDvmJit.pJitEntryTable[idx].u.info.chain != chainEndMarker) {
1012 idx = gDvmJit.pJitEntryTable[idx].u.info.chain;
1013 if ((gDvmJit.pJitEntryTable[idx].dPC == pc) &&
1014 (gDvmJit.pJitEntryTable[idx].u.info.isMethodEntry ==
1016 return &gDvmJit.pJitEntryTable[idx];
1029 const u2* pc = gDvmJit.pJitEntryTable[idx].dPC;
1033 gDvmJit.pJitEntryTable[idx].u.info.isMethodEntry == methodEntry) {
1034 int offset = (gDvmJit.profileMode >= kTraceProfilingContinuous) ?
1035 0 : gDvmJit.pJitEntryTable[idx].u.info.profileOffset;
1037 (intptr_t)gDvmJit.pJitEntryTable[idx].codeAddress;
1039 gDvmJit.addrLookupsFound++;
1044 int chainEndMarker = gDvmJit.jitTableSize;
1045 while (gDvmJit.pJitEntryTable[idx].u.info.chain != chainEndMarker) {
1046 idx = gDvmJit.pJitEntryTable[idx].u.info.chain;
1047 if (gDvmJit.pJitEntryTable[idx].dPC == dPC &&
1048 gDvmJit.pJitEntryTable[idx].u.info.isMethodEntry ==
1050 int offset = (gDvmJit.profileMode >=
1052 gDvmJit.pJitEntryTable[idx].u.info.profileOffset;
1054 (intptr_t)gDvmJit.pJitEntryTable[idx].codeAddress;
1056 gDvmJit.addrLookupsFound++;
1065 gDvmJit.addrLookupsNotFound++;
1214 if ((gDvmJit.pJitEntryTable != NULL) &&
1218 gDvmJit.threshold > 6) {
1239 if (gDvmJit.compilerQueueLength >= gDvmJit.compilerHighWater) {
1319 assert(gDvmJit.pJitEntryTable != NULL);
1322 ALOGI("Jit: resizing JitTable from %d to %d", gDvmJit.jitTableSize, size);
1324 if (size <= gDvmJit.jitTableSize) {
1346 pOldTable = gDvmJit.pJitEntryTable;
1347 oldSize = gDvmJit.jitTableSize;
1349 dvmLockMutex(&gDvmJit.tableLock);
1350 gDvmJit.pJitEntryTable = pNewTable;
1351 gDvmJit.jitTableSize = size;
1352 gDvmJit.jitTableMask = size - 1;
1353 gDvmJit.jitTableEntriesUsed = 0;
1369 dvmUnlockMutex(&gDvmJit.tableLock);
1384 JitEntry *jitEntry = gDvmJit.pJitEntryTable;
1385 unsigned int size = gDvmJit.jitTableSize;
1388 dvmLockMutex(&gDvmJit.tableLock);
1391 if (gDvmJit.pJitTraceProfCounters) {
1393 if (gDvmJit.pJitTraceProfCounters->buckets[i])
1394 memset((void *) gDvmJit.pJitTraceProfCounters->buckets[i],
1397 gDvmJit.pJitTraceProfCounters->next = 0;
1404 gDvmJit.jitTableEntriesUsed = 0;
1405 dvmUnlockMutex(&gDvmJit.tableLock);
1415 int idx = gDvmJit.pJitTraceProfCounters->next / JIT_PROF_BLOCK_ENTRIES;
1416 int elem = gDvmJit.pJitTraceProfCounters->next % JIT_PROF_BLOCK_ENTRIES;
1419 if (!gDvmJit.pJitTraceProfCounters->buckets[idx]) {
1426 gDvmJit.pJitTraceProfCounters->buckets[idx] = p;
1428 res = &gDvmJit.pJitTraceProfCounters->buckets[idx][elem];
1429 gDvmJit.pJitTraceProfCounters->next++;
1468 if (gDvmJit.profileMode != newState) {
1469 gDvmJit.profileMode = newState;
1476 if (gDvmJit.profileMode == kTraceProfilingPeriodicOff)
1479 else if (gDvmJit.profileMode == kTraceProfilingDisabled)
1486 if (gDvmJit.profileMode == kTraceProfilingPeriodicOn)
1489 else if (gDvmJit.profileMode == kTraceProfilingContinuous)
1499 thread->pJitProfTable = gDvmJit.pProfTable;
1500 thread->jitThreshold = gDvmJit.threshold;