Home | History | Annotate | Download | only in interp

Lines Matching full:self

38 void* dvmSelfVerificationShadowSpaceAlloc(Thread* self)
40 self->shadowSpace = (ShadowSpace*) calloc(1, sizeof(ShadowSpace));
41 if (self->shadowSpace == NULL)
44 self->shadowSpace->registerSpaceSize = REG_SPACE;
45 self->shadowSpace->registerSpace =
46 (int*) calloc(self->shadowSpace->registerSpaceSize, sizeof(int));
48 return self->shadowSpace->registerSpace;
52 void dvmSelfVerificationShadowSpaceFree(Thread* self)
54 free(self->shadowSpace->registerSpace);
55 free(self->shadowSpace);
65 Thread *self = dvmThreadSelf();
66 ShadowSpace *shadowSpace = self->shadowSpace;
71 // self->threadId, (int)pc, (int)fp);
75 self->threadId, shadowSpace->selfVerificationState);
140 Thread *self = dvmThreadSelf();
141 ShadowSpace *shadowSpace = self->shadowSpace;
148 // self->threadId, (int)shadowSpace->startPC, (int)shadowSpace->fp,
153 self->threadId, shadowSpace->selfVerificationState);
193 static void selfVerificationDumpState(const u2* pc, Thread* self)
195 ShadowSpace* shadowSpace = self->shadowSpace;
196 StackSaveArea* stackSave = SAVEAREA_FROM_FP(self->curFrame);
202 if (self->curFrame < shadowSpace->fp) {
205 frameBytes2 = (int) shadowSpace->fp - (int) self->curFrame - localRegs;
215 (int)self->curFrame);
225 static void selfVerificationDumpTrace(const u2* pc, Thread* self)
227 ShadowSpace* shadowSpace = self->shadowSpace;
228 StackSaveArea* stackSave = SAVEAREA_FROM_FP(self->curFrame);
258 /* Manage self verification while in the debug interpreter */
259 static bool selfVerificationDebugInterp(const u2* pc, Thread* self,
262 ShadowSpace *shadowSpace = self->shadowSpace;
269 // self->threadId, (int)pc, (int)shadowSpace->endPC, state,
274 self->threadId, state);
275 selfVerificationDumpState(pc, self);
276 selfVerificationDumpTrace(pc, self);
299 LOGD("~~~ DbgIntp(%d): REGISTERS DIVERGENCE!", self->threadId);
300 selfVerificationDumpState(pc, self);
301 selfVerificationDumpTrace(pc, self);
315 if (self->curFrame < shadowSpace->fp) {
316 StackSaveArea* stackSave = SAVEAREA_FROM_FP(self->curFrame);
320 (int) self->curFrame - localRegs;
321 if (memcmp(((char*)self->curFrame)+localRegs,
324 self->threadId);
325 selfVerificationDumpState(pc, self);
326 selfVerificationDumpTrace(pc, self);
328 (int)self->curFrame, localRegs, frameBytes2);
329 selfVerificationPrintRegisters((int*)self->curFrame,
335 (int*)self->curFrame,
348 LOGD("~~~ DbgIntp(%d): MEMORY DIVERGENCE!", self->threadId);
351 selfVerificationDumpState(pc, self);
352 selfVerificationDumpTrace(pc, self);
369 LOGD("~~~ DbgIntp(%d): CONTROL DIVERGENCE!", self->threadId);
372 selfVerificationDumpState(pc, self);
373 selfVerificationDumpTrace(pc, self);
618 int dvmCheckJit(const u2* pc, Thread* self, InterpState* interpState)
693 /* Break on throw or self-loop */
776 if (selfVerificationDebugInterp(pc, self, interpState)) {
899 bool dvmJitCheckTraceRequest(Thread* self, InterpState* interpState)