Lines Matching refs:method
58 static bool dvmPushInterpFrame(Thread* self, const Method* method) in dvmPushInterpFrame() argument
65 assert(!dvmIsNativeMethod(method)); in dvmPushInterpFrame()
66 assert(!dvmIsAbstractMethod(method)); in dvmPushInterpFrame()
68 stackReq = method->registersSize * 4 // params + locals in dvmPushInterpFrame()
70 + method->outsSize * 4; // args to other methods in dvmPushInterpFrame()
82 self->interpStackSize, method->clazz->descriptor, method->name); in dvmPushInterpFrame()
94 stackPtr -= method->registersSize * 4 + sizeof(StackSaveArea); in dvmPushInterpFrame()
99 memset(stackPtr - (method->outsSize*4), 0xaf, stackReq); in dvmPushInterpFrame()
109 breakSaveBlock->method = NULL; in dvmPushInterpFrame()
113 saveBlock->method = method; in dvmPushInterpFrame()
133 bool dvmPushJNIFrame(Thread* self, const Method* method) in dvmPushJNIFrame() argument
140 assert(dvmIsNativeMethod(method)); in dvmPushJNIFrame()
142 stackReq = method->registersSize * 4 // params only in dvmPushJNIFrame()
155 self->interpStackSize, method->name); in dvmPushJNIFrame()
168 stackPtr -= method->registersSize * 4 + sizeof(StackSaveArea); in dvmPushJNIFrame()
186 breakSaveBlock->method = NULL; in dvmPushJNIFrame()
194 saveBlock->method = method; in dvmPushJNIFrame()
211 bool dvmPushLocalFrame(Thread* self, const Method* method) in dvmPushLocalFrame() argument
217 assert(dvmIsNativeMethod(method)); in dvmPushLocalFrame()
229 self->interpStackSize, method->name); in dvmPushLocalFrame()
257 saveBlock->method = method; in dvmPushLocalFrame()
279 if (saveBlock->method != SAVEAREA_FROM_FP(saveBlock->prevFrame)->method) { in dvmPopLocalFrame()
286 SAVEAREA_FROM_FP(saveBlock->prevFrame)->method)); in dvmPopLocalFrame()
291 saveBlock->method->name, in dvmPopLocalFrame()
292 SAVEAREA_FROM_FP(saveBlock->prevFrame)->method->name); in dvmPopLocalFrame()
322 while (saveBlock->prevFrame != NULL && saveBlock->method != NULL) { in dvmPopFrame()
325 if (dvmIsNativeMethod(saveBlock->method)) { in dvmPopFrame()
327 saveBlock->method->clazz->descriptor, in dvmPopFrame()
328 saveBlock->method->name, in dvmPopFrame()
329 (SAVEAREA_FROM_FP(saveBlock->prevFrame)->method == NULL) ? in dvmPopFrame()
340 if (saveBlock->method != NULL) { in dvmPopFrame()
358 static ClassObject* callPrep(Thread* self, const Method* method, Object* obj, in callPrep() argument
367 method->clazz->descriptor, method->name); in callPrep()
372 assert(method != NULL); in callPrep()
377 clazz = method->clazz; in callPrep()
380 char* desc = dexProtoCopyMethodDescriptor(&method->prototype); in callPrep()
382 clazz->descriptor, method->name, desc); in callPrep()
389 method)) in callPrep()
404 if (dvmIsNativeMethod(method)) { in callPrep()
406 if (!dvmPushJNIFrame(self, method)) { in callPrep()
412 if (!dvmPushInterpFrame(self, method)) { in callPrep()
428 void dvmCallMethod(Thread* self, const Method* method, Object* obj, in dvmCallMethod() argument
435 dvmCallMethodV(self, method, obj, false, pResult, args); in dvmCallMethod()
448 void dvmCallMethodV(Thread* self, const Method* method, Object* obj, in dvmCallMethodV() argument
451 const char* desc = &(method->shorty[1]); // [0] is the return type. in dvmCallMethodV()
456 clazz = callPrep(self, method, obj, false); in dvmCallMethodV()
461 ins = ((u4*)self->curFrame) + (method->registersSize - method->insSize); in dvmCallMethodV()
466 if (!dvmIsStaticMethod(method)) { in dvmCallMethodV()
511 if (verifyCount != method->insSize) { in dvmCallMethodV()
513 method->insSize, clazz->descriptor, method->name); in dvmCallMethodV()
521 if (dvmIsNativeMethod(method)) { in dvmCallMethodV()
523 TRACE_METHOD_ENTER(self, method); in dvmCallMethodV()
529 (*method->nativeFunc)(self->curFrame, pResult, method, self); in dvmCallMethodV()
531 TRACE_METHOD_EXIT(self, method); in dvmCallMethodV()
534 dvmInterpret(self, method, pResult); in dvmCallMethodV()
554 void dvmCallMethodA(Thread* self, const Method* method, Object* obj, in dvmCallMethodA() argument
557 const char* desc = &(method->shorty[1]); // [0] is the return type. in dvmCallMethodA()
562 clazz = callPrep(self, method, obj, false); in dvmCallMethodA()
567 ins = ((u4*)self->curFrame) + (method->registersSize - method->insSize); in dvmCallMethodA()
570 if (!dvmIsStaticMethod(method)) { in dvmCallMethodA()
609 *(desc-1), clazz->descriptor, method->name); in dvmCallMethodA()
619 if (verifyCount != method->insSize) { in dvmCallMethodA()
621 method->insSize, clazz->descriptor, method->name); in dvmCallMethodA()
627 if (dvmIsNativeMethod(method)) { in dvmCallMethodA()
629 TRACE_METHOD_ENTER(self, method); in dvmCallMethodA()
635 (*method->nativeFunc)(self->curFrame, pResult, method, self); in dvmCallMethodA()
637 TRACE_METHOD_EXIT(self, method); in dvmCallMethodA()
640 dvmInterpret(self, method, pResult); in dvmCallMethodA()
658 Object* dvmInvokeMethod(Object* obj, const Method* method, in dvmInvokeMethod() argument
682 clazz = callPrep(self, method, obj, !noAccessCheck); in dvmInvokeMethod()
687 ins = ((s4*)self->curFrame) + (method->registersSize - method->insSize); in dvmInvokeMethod()
693 if (!dvmIsStaticMethod(method)) { in dvmInvokeMethod()
729 if (verifyCount != method->insSize) { in dvmInvokeMethod()
731 method->insSize, clazz->descriptor, method->name); in dvmInvokeMethod()
737 if (dvmIsNativeMethod(method)) { in dvmInvokeMethod()
739 TRACE_METHOD_ENTER(self, method); in dvmInvokeMethod()
745 (*method->nativeFunc)(self->curFrame, &retval, method, self); in dvmInvokeMethod()
747 TRACE_METHOD_EXIT(self, method); in dvmInvokeMethod()
750 dvmInterpret(self, method, &retval); in dvmInvokeMethod()
815 int dvmLineNumFromPC(const Method* method, u4 relPc) in dvmLineNumFromPC() argument
817 const DexCode* pDexCode = dvmGetMethodCode(method); in dvmLineNumFromPC()
820 if (dvmIsNativeMethod(method) && !dvmIsAbstractMethod(method)) in dvmLineNumFromPC()
831 dexDecodeDebugInfo(method->clazz->pDvmDex->pDexFile, pDexCode, in dvmLineNumFromPC()
832 method->clazz->descriptor, in dvmLineNumFromPC()
833 method->prototype.protoIdx, in dvmLineNumFromPC()
834 method->accessFlags, in dvmLineNumFromPC()
898 if (dvmIsReflectionMethod(saveArea->method)) { in dvmGetCallerFP()
921 return SAVEAREA_FROM_FP(caller)->method->clazz; in dvmGetCallerClass()
944 return SAVEAREA_FROM_FP(callerCaller)->method->clazz; in dvmGetCaller2Class()
969 return SAVEAREA_FROM_FP(caller)->method->clazz; in dvmGetCaller3Class()
997 array[idx++] = SAVEAREA_FROM_FP(fp)->method; in dvmCreateStackTraceArray()
1096 const Method* method; in dumpFrames() local
1114 method = saveArea->method; in dumpFrames()
1122 relPc = currentPc - saveArea->method->insns; in dumpFrames()
1126 char* className = dvmDescriptorToDot(method->clazz->descriptor); in dumpFrames()
1127 if (dvmIsNativeMethod(method)) in dumpFrames()
1129 " at %s.%s(Native Method)\n", className, method->name); in dumpFrames()
1133 className, method->name, dvmGetMethodSourceFile(method), in dumpFrames()
1135 relPc < 0 ? -1 : dvmLineNumFromPC(method, relPc)); in dumpFrames()