Lines Matching refs:self

138         Thread* self = dvmThreadSelf();
139 ThreadStatus oldStatus = dvmChangeStatus(self, THREAD_VMWAIT);
141 dvmChangeStatus(self, oldStatus);
618 void dvmReportExceptionThrow(Thread* self, Object* exception)
620 const Method* curMethod = self->interpSave.method;
622 if (self->interpBreak.ctl.subMode & kSubModeJitTraceBuild) {
623 dvmJitEndTraceSelect(self, self->interpSave.pc);
625 if (self->interpBreak.ctl.breakFlags & kInterpSingleStep) {
627 self->jitResumeNPC = NULL;
630 if (self->interpBreak.ctl.subMode & kSubModeDebuggerActive) {
632 int offset = self->interpSave.pc - curMethod->insns;
633 int catchRelPc = dvmFindCatchBlock(self, offset, exception,
635 dvmDbgPostException(self->interpSave.curFrame, offset, catchFrame,
645 void dvmReportInvoke(Thread* self, const Method* methodToCall)
647 TRACE_METHOD_ENTER(self, methodToCall);
657 void dvmReportPreNativeInvoke(const Method* methodToCall, Thread* self, u4* fp)
664 if (self->interpBreak.ctl.subMode & kSubModeJitTraceBuild) {
665 dvmCheckJit(self->interpSave.pc, self);
668 if (self->interpBreak.ctl.subMode & kSubModeDebuggerActive) {
669 Object* thisPtr = dvmGetThisPtr(self->interpSave.method, fp);
680 void dvmReportPostNativeInvoke(const Method* methodToCall, Thread* self, u4* fp)
682 if (self->interpBreak.ctl.subMode & kSubModeDebuggerActive) {
683 Object* thisPtr = dvmGetThisPtr(self->interpSave.method, fp);
687 if (self->interpBreak.ctl.subMode & kSubModeMethodTrace) {
688 dvmFastNativeMethodTraceExit(methodToCall, self);
696 void dvmReportReturn(Thread* self)
698 TRACE_METHOD_EXIT(self, self->interpSave.method);
700 if (dvmIsBreakFrame(self->interpSave.curFrame) &&
701 (self->interpBreak.ctl.subMode & kSubModeJitTraceBuild)) {
702 dvmCheckJit(self->interpSave.pc, self);
719 * Notes to self:
732 Thread* self)
745 if (self->debugIsMethodEntry) {
747 self->debugIsMethodEntry = false;
766 if (pCtrl->active && pCtrl->thread == self) {
798 frameDepth = dvmComputeVagueFrameDepth(self, fp);
824 frameDepth = dvmComputeVagueFrameDepth(self, fp);
911 void dvmInterpCheckTrackedRefs(Thread* self, const Method* method,
914 if (dvmReferenceTableEntries(&self->internalLocalRefTable)
921 count = dvmReferenceTableEntries(&self->internalLocalRefTable);
929 top = self->internalLocalRefTable.table + debugTrackedRefStart;
930 while (top < self->internalLocalRefTable.nextEntry) {
936 dvmDumpThread(self, false);
1481 Thread* self = dvmThreadSelf();
1484 dvmLockThreadList(self);
1539 Thread* self = dvmThreadSelf();
1547 dvmLockThreadList(self);
1548 breakFlags = self->interpBreak.ctl.breakFlags;
1549 subMode = self->interpBreak.ctl.subMode;
1551 handlerTable = self->interpBreak.ctl.curHandlerTable;
1621 void dvmInitInterpreterState(Thread* self)
1643 self->cardTable = gDvm.biasedCardTableBase;
1646 self->jitToInterpEntries = jitToInterpEntries;
1647 self->icRechainCount = PREDICTED_CHAIN_COUNTER_RECHAIN;
1648 self->pProfileCountdown = &gDvmJit.profileCountdown;
1650 dvmJitUpdateThreadStateSingle(self);
1652 dvmInitializeInterpBreak(self);
1686 void dvmCheckBefore(const u2 *pc, u4 *fp, Thread* self)
1688 const Method* method = self->interpSave.method;
1702 if (/*self->interpBreak.ctl.subMode & kSubModeDebuggerActive &&*/
1719 if (self->suspendCount ||
1720 (self->interpBreak.ctl.subMode & kSubModeCallbackPending)) {
1726 if (self->interpBreak.ctl.subMode & kSubModeCallbackPending) {
1730 dvmLockMutex(&self->callbackMutex);
1731 callback = self->callback;
1732 arg = self->callbackArg;
1733 dvmUnlockMutex(&self->callbackMutex);
1735 self->interpSave.pc = pc;
1736 self->interpSave.curFrame = fp;
1739 if (!callback(self,arg)) {
1741 dvmArmSafePointCallback(self, NULL, NULL);
1746 if (self->suspendCount) {
1748 dvmCheckSuspendPending(self);
1753 if (self->interpBreak.ctl.subMode & kSubModeDebuggerActive) {
1754 updateDebugger(method, pc, fp, self);
1769 dvmInterpCheckTrackedRefs(self, method,
1770 self->interpSave.debugTrackedRefStart);
1775 if (self->interpBreak.ctl.subMode &
1778 if (self->interpBreak.ctl.subMode & kSubModeJitTraceBuild) {
1779 dvmCheckJit(pc, self);
1784 if (self->interpBreak.ctl.subMode & kSubModeJitSV) {
1785 dvmCheckSelfVerification(pc, self);
1795 if (self->interpBreak.ctl.subMode & kSubModeCountedStep) {
1796 if (self->singleStepCount == 0) {
1798 dvmDisableSubMode(self, kSubModeCountedStep);
1807 if (self->jitResumeDPC != NULL) {
1808 if (self->jitResumeDPC == pc) {
1809 if (self->jitResumeNPC != NULL) {
1811 (int)pc, (int)self->jitResumeNPC);
1817 (int)self->jitResumeDPC, (int)pc);
1823 // self->jitResumeNPC needs to be cleared in callPrep
1827 if (self->jitResumeNPC != NULL &&
1828 self->interpBreak.ctl.breakFlags == 0) {
1829 assert(self->jitResumeDPC == pc);
1830 self->jitResumeDPC = NULL;
1831 dvmJitResumeTranslation(self, pc, fp);
1837 self->jitResumeNPC = NULL;
1838 self->jitResumeDPC = NULL;
1839 self->inJitCodeCache = NULL;
1843 self->singleStepCount--;
1845 if ((self->singleStepCount > 0) && (self->jitResumeNPC != NULL)) {
1852 self->jitResumeNPC = NULL;
1853 self->inJitCodeCache = NULL;
1870 void dvmInterpret(Thread* self, const Method* method, JValue* pResult)
1881 * in self-verification mode we single-step NEW_INSTANCE which may re-enter
1883 * assert that self->inJitCodeCache is NULL here.
1891 interpSaveState = self->interpSave;
1892 self->interpSave.prev = &interpSaveState;
1898 self->interpBreak.ctl.subMode & LOCAL_SUBMODE);
1900 dvmDisableSubMode(self, savedSubModes);
1908 self->interpSave.debugTrackedRefStart =
1909 dvmReferenceTableEntries(&self->internalLocalRefTable);
1911 self->debugIsMethodEntry = true;
1915 self->jitState = kJitNot;
1923 self->interpSave.method = method;
1924 self->interpSave.curFrame = (u4*) self->interpSave.curFrame;
1925 self->interpSave.pc = method->insns;
1938 dvmDumpThread(self, false);
1956 (*stdInterp)(self);
1958 *pResult = self->interpSave.retval;
1961 self->interpSave = interpSaveState;
1966 dvmEnableSubMode(self, savedSubModes);