Home | History | Annotate | Download | only in vm

Lines Matching refs:Method

49  * Check the result of a native method call that returns an object reference.
56 * return type class by name in method->clazz' class loader. We take a
65 const Method* method, Thread* self)
72 const Method* method = dvmGetCurrentJNIMethod();
73 char* desc = dexProtoCopyMethodDescriptor(&method->prototype);
74 LOGW(" in %s.%s:%s", method->clazz->descriptor, method->name, desc);
84 * method was expected to return.
86 const char* declType = dexProtoGetReturnType(&method->prototype);
91 method->clazz->descriptor, method->name, objType, declType);
95 * of method->clazz->classLoader, and compare the class objects
104 ClassObject* declClazz = dvmFindClassNoInit(declType, method->clazz->classLoader);
106 LOGW("JNI WARNING: method declared to return '%s' returned '%s'",
109 method->clazz->descriptor, method->name, declType);
114 LOGW("JNI WARNING: method declared to return '%s' returned '%s'",
117 method->clazz->descriptor, method->name);
122 method->clazz->descriptor, method->name, objType, declType);
131 * this is on the critical path for native method calls.)
134 const Method* method, Thread* self)
136 return (method->shorty[0] == 'L' && !dvmCheckException(self) && pResult->l != NULL);
143 const Method* method, Thread* self)
145 dvmCallJNIMethod(args, pResult, method, self);
146 if (callNeedsCheck(args, pResult, method, self)) {
147 checkCallResultCommon(args, pResult, method, self);
381 * Verify that the method's return type matches the type of call.
385 const Method* method = (const Method*) methodID;
388 if (*expectedType != method->shorty[0]) {
391 } else if (isStatic && !dvmIsStaticMethod(method)) {
393 LOGW("JNI WARNING: calling non-static method with static call");
395 LOGW("JNI WARNING: calling static method with non-static call");
401 char* desc = dexProtoCopyMethodDescriptor(&method->prototype);
402 LOGW(" calling %s.%s %s", method->clazz->descriptor, method->name, desc);
435 * Instances of "jclazz" must be instances of the method's declaring class.
441 const Method* method = (const Method*) methodID;
443 if (!dvmInstanceof(clazz, method->clazz)) {
445 method->clazz->descriptor, method->name, clazz->descriptor);
454 * Make sure the object is an instance of the method's declaring class.
462 const Method* method = (const Method*) methodID;
464 if (!dvmInstanceof(obj->clazz, method->clazz)) {
466 method->clazz->descriptor, method->name, obj->clazz->descriptor);
512 const Method* method = NULL;
517 method = dvmGetCurrentJNIMethod();
520 if (method != NULL) {
522 // when a native method that matches the Xjnitrace argument calls a JNI function
524 if (gDvm.jniTrace && strstr(method->clazz->descriptor, gDvm.jniTrace) != NULL) {
528 // made by a third-party native method.
530 shouldTrace |= method->shouldTrace;
609 std::string name(dvmHumanReadableMethod((Method*) mid, true));
653 std::string methodName(dvmHumanReadableMethod(method, false));
719 // Set "hasMethod" to true if we have a valid thread with a method pointer.
862 case kFlag_CritOkay: // okay to call this method
893 LOGW("JNI WARNING: JNI method called with exception pending");
1037 const Method* method = dvmGetCurrentJNIMethod();
1038 char* desc = dexProtoCopyMethodDescriptor(&method->prototype);
1039 LOGW(" in %s.%s:%s (%s)", method->clazz->descriptor, method->name, desc, mFunctionName);
1346 static jmethodID Check_FromReflectedMethod(JNIEnv* env, jobject method) {
1347 CHECK_JNI_ENTRY(kFlag_Default, "EL", env, method);
1348 // TODO: check that 'field' is a java.lang.reflect.Method.
1349 return CHECK_JNI_EXIT("m", baseEnv(env)->FromReflectedMethod(env, method));
1560 static _ctype Check_Call##_jname##Method(JNIEnv* env, jobject obj, \
1594 static _ctype Check_CallNonvirtual##_jname##Method(JNIEnv* env, \
1628 static _ctype Check_CallStatic##_jname##Method(JNIEnv* env, \