jniCheck.cpp revision 917
0N/A# include "incls/_jniCheck.cpp.incl"
#define ASSERT_OOPS_ALLOWED \
// QUICK_ENTRY or LEAF variants found in jni.cpp. This allows handles
static const char * warn_bad_class_descriptor = "JNI FindClass received a bad class descriptor \"%s\". A correct class descriptor " \
"has no leading \"L\" or trailing \";\". Incorrect descriptors will not be accepted in future releases.";
static const char * fatal_using_jnienv_in_nonjava = "FATAL ERROR in native method: Using JNIEnv in non-Java thread";
static const char * warn_other_function_in_critical = "Warning: Calling other JNI functions in the scope of " \
static const char * fatal_class_not_a_throwable_class = "JNI Throw or ThrowNew received a class argument that is not a Throwable or Throwable subclass";
static const char * fatal_wrong_class_or_method = "Wrong object class or methodID passed to JNI call";
static const char * fatal_unknown_array_object = "Unknown array object passed to JNI array operations";
static const char * fatal_object_array_expected = "Object array expected but not received for JNI array operation";
static const char * fatal_static_field_not_found = "Static field not found in JNI get/set field operations";
static const char * fatal_static_field_mismatch = "Field type (static) mismatch in JNI get/set field operations";
static const char * fatal_instance_field_not_found = "Instance field not found in JNI get/set field operations";
static const char * fatal_instance_field_mismatch = "Field type (instance) mismatch in JNI get/set field operations";
if (!oopObj) {
false, &fd))
return NULL;
return moop;
if (!obj)
return NULL;
if (!oopObj) {
return oopObj;
if (!mirror) {
const char *name,
return result;
const char *name))
return result;
return result;
return result;
isStatic);
return result;
return result;
return result;
isStatic);
return result;
return result;
const char *msg))
return result;
return result;
JNI_ENTRY_CHECKED(void,
JNI_ENTRY_CHECKED(void,
JNI_ENTRY_CHECKED(void,
const char *msg))
if (capacity < 0)
return result;
return res;
return result;
JNI_ENTRY_CHECKED(void,
JNI_ENTRY_CHECKED(void,
return result;
return result;
if (capacity < 0) {
return result;
return result;
return result;
return result;
return result;
return result;
return result;
const char *name,
const char *sig))
return result;
IN_VM( \
args); \
return result; \
JNI_END \
IN_VM(\
args); \
return result; \
JNI_END \
IN_VM( \
args); \
return result; \
JNI_ENTRY_CHECKED(void,
JNI_ENTRY_CHECKED(void,
JNI_ENTRY_CHECKED(void,
IN_VM( \
obj, \
clazz, \
methodID,\
args); \
return result; \
JNI_END \
IN_VM( \
obj, \
clazz, \
methodID,\
args); \
return result; \
JNI_END \
IN_VM( \
obj, \
clazz, \
methodID,\
args); \
return result; \
JNI_ENTRY_CHECKED(void,
JNI_ENTRY_CHECKED(void,
JNI_ENTRY_CHECKED(void,
const char *name,
const char *sig))
return result;
IN_VM( \
return result; \
JNI_ENTRY_CHECKED(void, \
IN_VM( \
const char *name,
const char *sig))
return result;
IN_VM( \
clazz, \
methodID, \
args); \
return result; \
JNI_END \
IN_VM( \
clazz, \
methodID, \
args); \
return result; \
JNI_END \
IN_VM( \
clazz, \
methodID, \
args); \
return result; \
JNI_ENTRY_CHECKED(void,
JNI_ENTRY_CHECKED(void,
JNI_ENTRY_CHECKED(void,
const char *name,
const char *sig))
return result;
IN_VM( \
clazz, \
fieldID); \
return result; \
JNI_ENTRY_CHECKED(void, \
IN_VM( \
return result;
return result;
return result;
JNI_ENTRY_CHECKED(void,
const char *utf))
return result;
return result;
JNI_ENTRY_CHECKED(const char *,
return result;
JNI_ENTRY_CHECKED(void,
const char* chars))
return result;
return result;
return result;
JNI_ENTRY_CHECKED(void,
IN_VM( \
array, \
isCopy); \
return result; \
JNI_ENTRY_CHECKED(void, \
IN_VM( \
JNI_ENTRY_CHECKED(void, \
IN_VM( \
JNI_ENTRY_CHECKED(void, \
IN_VM( \
return result;
return result;
return result;
return result;
return result;
JNI_ENTRY_CHECKED(void,
JNI_ENTRY_CHECKED(void,
char *buf))
JNI_ENTRY_CHECKED(void *,
return result;
JNI_ENTRY_CHECKED(void,
void *carray,
return result;
JNI_ENTRY_CHECKED(void,
return result;
JNI_ENTRY_CHECKED(void,
return result;
void *address,
return result;
JNI_ENTRY_CHECKED(void *,
return result;
return result;
return result;
return result;
NULL,
NULL,
NULL,
NULL,
sizeof(*unchecked_jni_NativeInterface) - sizeof(char *));)
if (PrintJNIResolving) {
return &checked_jni_NativeInterface;