Lines Matching refs:env
316 static void checkThread(JNIEnv* env, int flags, const char* func) in checkThread() argument
333 } else if ((JNIEnvExt*) env != threadEnv) { in checkThread()
340 threadEnv->envThreadId, ((JNIEnvExt*)env)->envThreadId); in checkThread()
346 } else if (((JNIEnvExt*) env)->self != dvmThreadSelf()) { in checkThread()
349 ((JNIEnvExt*) env)->self, dvmThreadSelf()); in checkThread()
407 static void checkFieldType(JNIEnv* env, jobject jobj, jfieldID fieldID, in checkFieldType() argument
424 Object* obj = dvmDecodeIndirectRef(env, jobj); in checkFieldType()
465 static void checkObject(JNIEnv* env, jobject jobj, const char* func) in checkObject() argument
467 UNUSED_PARAMETER(env); in checkObject()
475 if (dvmGetJNIRefType(env, jobj) == JNIInvalidRefType) { in checkObject()
479 Object* obj = dvmDecodeIndirectRef(env, jobj); in checkObject()
507 static void checkClass(JNIEnv* env, jclass jclazz, const char* func) in checkClass() argument
512 ClassObject* clazz = (ClassObject*) dvmDecodeIndirectRef(env, jclazz); in checkClass()
530 checkObject(env, jclazz, func); in checkClass()
538 static void checkString(JNIEnv* env, jstring jstr, const char* func) in checkString() argument
543 Object* obj = dvmDecodeIndirectRef(env, jstr); in checkString()
567 checkObject(env, jstr, func); in checkString()
573 static void checkUtfString(JNIEnv* env, const char* bytes, bool nullOk, in checkUtfString() argument
658 static void checkClassName(JNIEnv* env, const char* className, const char* func) in checkClassName() argument
684 static void checkArray(JNIEnv* env, jarray jarr, const char* func) in checkArray() argument
689 Object* obj = dvmDecodeIndirectRef(env, jarr); in checkArray()
708 checkObject(env, jarr, func); in checkArray()
715 static void checkReleaseMode(JNIEnv* env, jint mode, const char* func) in checkReleaseMode() argument
726 static void checkLengthPositive(JNIEnv* env, jsize length, const char* func) in checkLengthPositive() argument
737 static void checkNonNull(JNIEnv* env, const void* ptr, const char* func) in checkNonNull() argument
750 static void checkSig(JNIEnv* env, jmethodID methodID, char expectedSigByte, in checkSig() argument
780 static void checkStaticFieldID(JNIEnv* env, jclass jclazz, jfieldID fieldID) in checkStaticFieldID() argument
782 ClassObject* clazz = (ClassObject*) dvmDecodeIndirectRef(env, jclazz); in checkStaticFieldID()
799 static void checkInstanceFieldID(JNIEnv* env, jobject jobj, jfieldID fieldID, in checkInstanceFieldID() argument
810 Object* obj = dvmDecodeIndirectRef(env, jobj); in checkInstanceFieldID()
1048 static void* createGuardedPACopy(JNIEnv* env, const jarray jarr, in createGuardedPACopy() argument
1051 ArrayObject* arrObj = (ArrayObject*) dvmDecodeIndirectRef(env, jarr); in createGuardedPACopy()
1068 static void* releaseGuardedPACopy(JNIEnv* env, jarray jarr, void* dataBuf, in releaseGuardedPACopy() argument
1071 ArrayObject* arrObj = (ArrayObject*) dvmDecodeIndirectRef(env, jarr); in releaseGuardedPACopy()
1125 static jint Check_GetVersion(JNIEnv* env) in Check_GetVersion() argument
1127 CHECK_ENTER(env, kFlag_Default); in Check_GetVersion()
1129 result = BASE_ENV(env)->GetVersion(env); in Check_GetVersion()
1130 CHECK_EXIT(env); in Check_GetVersion()
1134 static jclass Check_DefineClass(JNIEnv* env, const char* name, jobject loader, in Check_DefineClass() argument
1137 CHECK_ENTER(env, kFlag_Default); in Check_DefineClass()
1138 CHECK_OBJECT(env, loader); in Check_DefineClass()
1139 CHECK_UTF_STRING(env, name, false); in Check_DefineClass()
1140 CHECK_CLASS_NAME(env, name); in Check_DefineClass()
1142 result = BASE_ENV(env)->DefineClass(env, name, loader, buf, bufLen); in Check_DefineClass()
1143 CHECK_EXIT(env); in Check_DefineClass()
1147 static jclass Check_FindClass(JNIEnv* env, const char* name) in Check_FindClass() argument
1149 CHECK_ENTER(env, kFlag_Default); in Check_FindClass()
1150 CHECK_UTF_STRING(env, name, false); in Check_FindClass()
1151 CHECK_CLASS_NAME(env, name); in Check_FindClass()
1153 result = BASE_ENV(env)->FindClass(env, name); in Check_FindClass()
1154 CHECK_EXIT(env); in Check_FindClass()
1158 static jclass Check_GetSuperclass(JNIEnv* env, jclass clazz) in Check_GetSuperclass() argument
1160 CHECK_ENTER(env, kFlag_Default); in Check_GetSuperclass()
1161 CHECK_CLASS(env, clazz); in Check_GetSuperclass()
1163 result = BASE_ENV(env)->GetSuperclass(env, clazz); in Check_GetSuperclass()
1164 CHECK_EXIT(env); in Check_GetSuperclass()
1168 static jboolean Check_IsAssignableFrom(JNIEnv* env, jclass clazz1, in Check_IsAssignableFrom() argument
1171 CHECK_ENTER(env, kFlag_Default); in Check_IsAssignableFrom()
1172 CHECK_CLASS(env, clazz1); in Check_IsAssignableFrom()
1173 CHECK_CLASS(env, clazz2); in Check_IsAssignableFrom()
1175 result = BASE_ENV(env)->IsAssignableFrom(env, clazz1, clazz2); in Check_IsAssignableFrom()
1176 CHECK_EXIT(env); in Check_IsAssignableFrom()
1180 static jmethodID Check_FromReflectedMethod(JNIEnv* env, jobject method) in Check_FromReflectedMethod() argument
1182 CHECK_ENTER(env, kFlag_Default); in Check_FromReflectedMethod()
1183 CHECK_OBJECT(env, method); in Check_FromReflectedMethod()
1185 result = BASE_ENV(env)->FromReflectedMethod(env, method); in Check_FromReflectedMethod()
1186 CHECK_EXIT(env); in Check_FromReflectedMethod()
1190 static jfieldID Check_FromReflectedField(JNIEnv* env, jobject field) in Check_FromReflectedField() argument
1192 CHECK_ENTER(env, kFlag_Default); in Check_FromReflectedField()
1193 CHECK_OBJECT(env, field); in Check_FromReflectedField()
1195 result = BASE_ENV(env)->FromReflectedField(env, field); in Check_FromReflectedField()
1196 CHECK_EXIT(env); in Check_FromReflectedField()
1200 static jobject Check_ToReflectedMethod(JNIEnv* env, jclass cls, in Check_ToReflectedMethod() argument
1203 CHECK_ENTER(env, kFlag_Default); in Check_ToReflectedMethod()
1204 CHECK_CLASS(env, cls); in Check_ToReflectedMethod()
1206 result = BASE_ENV(env)->ToReflectedMethod(env, cls, methodID, isStatic); in Check_ToReflectedMethod()
1207 CHECK_EXIT(env); in Check_ToReflectedMethod()
1211 static jobject Check_ToReflectedField(JNIEnv* env, jclass cls, jfieldID fieldID, in Check_ToReflectedField() argument
1214 CHECK_ENTER(env, kFlag_Default); in Check_ToReflectedField()
1215 CHECK_CLASS(env, cls); in Check_ToReflectedField()
1217 result = BASE_ENV(env)->ToReflectedField(env, cls, fieldID, isStatic); in Check_ToReflectedField()
1218 CHECK_EXIT(env); in Check_ToReflectedField()
1222 static jint Check_Throw(JNIEnv* env, jthrowable obj) in Check_Throw() argument
1224 CHECK_ENTER(env, kFlag_Default); in Check_Throw()
1225 CHECK_OBJECT(env, obj); in Check_Throw()
1227 result = BASE_ENV(env)->Throw(env, obj); in Check_Throw()
1228 CHECK_EXIT(env); in Check_Throw()
1232 static jint Check_ThrowNew(JNIEnv* env, jclass clazz, const char* message) in Check_ThrowNew() argument
1234 CHECK_ENTER(env, kFlag_Default); in Check_ThrowNew()
1235 CHECK_CLASS(env, clazz); in Check_ThrowNew()
1236 CHECK_UTF_STRING(env, message, true); in Check_ThrowNew()
1238 result = BASE_ENV(env)->ThrowNew(env, clazz, message); in Check_ThrowNew()
1239 CHECK_EXIT(env); in Check_ThrowNew()
1243 static jthrowable Check_ExceptionOccurred(JNIEnv* env) in Check_ExceptionOccurred() argument
1245 CHECK_ENTER(env, kFlag_ExcepOkay); in Check_ExceptionOccurred()
1247 result = BASE_ENV(env)->ExceptionOccurred(env); in Check_ExceptionOccurred()
1248 CHECK_EXIT(env); in Check_ExceptionOccurred()
1252 static void Check_ExceptionDescribe(JNIEnv* env) in Check_ExceptionDescribe() argument
1254 CHECK_ENTER(env, kFlag_ExcepOkay); in Check_ExceptionDescribe()
1255 BASE_ENV(env)->ExceptionDescribe(env); in Check_ExceptionDescribe()
1256 CHECK_EXIT(env); in Check_ExceptionDescribe()
1259 static void Check_ExceptionClear(JNIEnv* env) in Check_ExceptionClear() argument
1261 CHECK_ENTER(env, kFlag_ExcepOkay); in Check_ExceptionClear()
1262 BASE_ENV(env)->ExceptionClear(env); in Check_ExceptionClear()
1263 CHECK_EXIT(env); in Check_ExceptionClear()
1266 static void Check_FatalError(JNIEnv* env, const char* msg) in Check_FatalError() argument
1268 CHECK_ENTER(env, kFlag_Default); in Check_FatalError()
1269 CHECK_UTF_STRING(env, msg, true); in Check_FatalError()
1270 BASE_ENV(env)->FatalError(env, msg); in Check_FatalError()
1271 CHECK_EXIT(env); in Check_FatalError()
1274 static jint Check_PushLocalFrame(JNIEnv* env, jint capacity) in Check_PushLocalFrame() argument
1276 CHECK_ENTER(env, kFlag_Default | kFlag_ExcepOkay); in Check_PushLocalFrame()
1278 result = BASE_ENV(env)->PushLocalFrame(env, capacity); in Check_PushLocalFrame()
1279 CHECK_EXIT(env); in Check_PushLocalFrame()
1283 static jobject Check_PopLocalFrame(JNIEnv* env, jobject res) in Check_PopLocalFrame() argument
1285 CHECK_ENTER(env, kFlag_Default | kFlag_ExcepOkay); in Check_PopLocalFrame()
1286 CHECK_OBJECT(env, res); in Check_PopLocalFrame()
1288 result = BASE_ENV(env)->PopLocalFrame(env, res); in Check_PopLocalFrame()
1289 CHECK_EXIT(env); in Check_PopLocalFrame()
1293 static jobject Check_NewGlobalRef(JNIEnv* env, jobject obj) in Check_NewGlobalRef() argument
1295 CHECK_ENTER(env, kFlag_Default); in Check_NewGlobalRef()
1296 CHECK_OBJECT(env, obj); in Check_NewGlobalRef()
1298 result = BASE_ENV(env)->NewGlobalRef(env, obj); in Check_NewGlobalRef()
1299 CHECK_EXIT(env); in Check_NewGlobalRef()
1303 static void Check_DeleteGlobalRef(JNIEnv* env, jobject globalRef) in Check_DeleteGlobalRef() argument
1305 CHECK_ENTER(env, kFlag_Default | kFlag_ExcepOkay); in Check_DeleteGlobalRef()
1306 CHECK_OBJECT(env, globalRef); in Check_DeleteGlobalRef()
1309 dvmGetJNIRefType(env, globalRef) != JNIGlobalRefType) in Check_DeleteGlobalRef()
1312 globalRef, dvmGetJNIRefType(env, globalRef)); in Check_DeleteGlobalRef()
1317 BASE_ENV(env)->DeleteGlobalRef(env, globalRef); in Check_DeleteGlobalRef()
1319 CHECK_EXIT(env); in Check_DeleteGlobalRef()
1322 static jobject Check_NewLocalRef(JNIEnv* env, jobject ref) in Check_NewLocalRef() argument
1324 CHECK_ENTER(env, kFlag_Default); in Check_NewLocalRef()
1325 CHECK_OBJECT(env, ref); in Check_NewLocalRef()
1327 result = BASE_ENV(env)->NewLocalRef(env, ref); in Check_NewLocalRef()
1328 CHECK_EXIT(env); in Check_NewLocalRef()
1332 static void Check_DeleteLocalRef(JNIEnv* env, jobject localRef) in Check_DeleteLocalRef() argument
1334 CHECK_ENTER(env, kFlag_Default | kFlag_ExcepOkay); in Check_DeleteLocalRef()
1335 CHECK_OBJECT(env, localRef); in Check_DeleteLocalRef()
1338 dvmGetJNIRefType(env, localRef) != JNILocalRefType) in Check_DeleteLocalRef()
1341 localRef, dvmGetJNIRefType(env, localRef)); in Check_DeleteLocalRef()
1346 BASE_ENV(env)->DeleteLocalRef(env, localRef); in Check_DeleteLocalRef()
1348 CHECK_EXIT(env); in Check_DeleteLocalRef()
1351 static jint Check_EnsureLocalCapacity(JNIEnv *env, jint capacity) in Check_EnsureLocalCapacity() argument
1353 CHECK_ENTER(env, kFlag_Default); in Check_EnsureLocalCapacity()
1355 result = BASE_ENV(env)->EnsureLocalCapacity(env, capacity); in Check_EnsureLocalCapacity()
1356 CHECK_EXIT(env); in Check_EnsureLocalCapacity()
1360 static jboolean Check_IsSameObject(JNIEnv* env, jobject ref1, jobject ref2) in Check_IsSameObject() argument
1362 CHECK_ENTER(env, kFlag_Default); in Check_IsSameObject()
1363 CHECK_OBJECT(env, ref1); in Check_IsSameObject()
1364 CHECK_OBJECT(env, ref2); in Check_IsSameObject()
1366 result = BASE_ENV(env)->IsSameObject(env, ref1, ref2); in Check_IsSameObject()
1367 CHECK_EXIT(env); in Check_IsSameObject()
1371 static jobject Check_AllocObject(JNIEnv* env, jclass clazz) in Check_AllocObject() argument
1373 CHECK_ENTER(env, kFlag_Default); in Check_AllocObject()
1374 CHECK_CLASS(env, clazz); in Check_AllocObject()
1376 result = BASE_ENV(env)->AllocObject(env, clazz); in Check_AllocObject()
1377 CHECK_EXIT(env); in Check_AllocObject()
1381 static jobject Check_NewObject(JNIEnv* env, jclass clazz, jmethodID methodID, in Check_NewObject() argument
1384 CHECK_ENTER(env, kFlag_Default); in Check_NewObject()
1385 CHECK_CLASS(env, clazz); in Check_NewObject()
1390 result = BASE_ENV(env)->NewObjectV(env, clazz, methodID, args); in Check_NewObject()
1393 CHECK_EXIT(env); in Check_NewObject()
1396 static jobject Check_NewObjectV(JNIEnv* env, jclass clazz, jmethodID methodID, in Check_NewObjectV() argument
1399 CHECK_ENTER(env, kFlag_Default); in Check_NewObjectV()
1400 CHECK_CLASS(env, clazz); in Check_NewObjectV()
1402 result = BASE_ENV(env)->NewObjectV(env, clazz, methodID, args); in Check_NewObjectV()
1403 CHECK_EXIT(env); in Check_NewObjectV()
1406 static jobject Check_NewObjectA(JNIEnv* env, jclass clazz, jmethodID methodID, in Check_NewObjectA() argument
1409 CHECK_ENTER(env, kFlag_Default); in Check_NewObjectA()
1410 CHECK_CLASS(env, clazz); in Check_NewObjectA()
1412 result = BASE_ENV(env)->NewObjectA(env, clazz, methodID, args); in Check_NewObjectA()
1413 CHECK_EXIT(env); in Check_NewObjectA()
1417 static jclass Check_GetObjectClass(JNIEnv* env, jobject obj) in Check_GetObjectClass() argument
1419 CHECK_ENTER(env, kFlag_Default); in Check_GetObjectClass()
1420 CHECK_OBJECT(env, obj); in Check_GetObjectClass()
1422 result = BASE_ENV(env)->GetObjectClass(env, obj); in Check_GetObjectClass()
1423 CHECK_EXIT(env); in Check_GetObjectClass()
1427 static jboolean Check_IsInstanceOf(JNIEnv* env, jobject obj, jclass clazz) in Check_IsInstanceOf() argument
1429 CHECK_ENTER(env, kFlag_Default); in Check_IsInstanceOf()
1430 CHECK_OBJECT(env, obj); in Check_IsInstanceOf()
1431 CHECK_CLASS(env, clazz); in Check_IsInstanceOf()
1433 result = BASE_ENV(env)->IsInstanceOf(env, obj, clazz); in Check_IsInstanceOf()
1434 CHECK_EXIT(env); in Check_IsInstanceOf()
1438 static jmethodID Check_GetMethodID(JNIEnv* env, jclass clazz, const char* name, in Check_GetMethodID() argument
1441 CHECK_ENTER(env, kFlag_Default); in Check_GetMethodID()
1442 CHECK_CLASS(env, clazz); in Check_GetMethodID()
1443 CHECK_UTF_STRING(env, name, false); in Check_GetMethodID()
1444 CHECK_UTF_STRING(env, sig, false); in Check_GetMethodID()
1446 result = BASE_ENV(env)->GetMethodID(env, clazz, name, sig); in Check_GetMethodID()
1447 CHECK_EXIT(env); in Check_GetMethodID()
1451 static jfieldID Check_GetFieldID(JNIEnv* env, jclass clazz, in Check_GetFieldID() argument
1454 CHECK_ENTER(env, kFlag_Default); in Check_GetFieldID()
1455 CHECK_CLASS(env, clazz); in Check_GetFieldID()
1456 CHECK_UTF_STRING(env, name, false); in Check_GetFieldID()
1457 CHECK_UTF_STRING(env, sig, false); in Check_GetFieldID()
1459 result = BASE_ENV(env)->GetFieldID(env, clazz, name, sig); in Check_GetFieldID()
1460 CHECK_EXIT(env); in Check_GetFieldID()
1464 static jmethodID Check_GetStaticMethodID(JNIEnv* env, jclass clazz, in Check_GetStaticMethodID() argument
1467 CHECK_ENTER(env, kFlag_Default); in Check_GetStaticMethodID()
1468 CHECK_CLASS(env, clazz); in Check_GetStaticMethodID()
1469 CHECK_UTF_STRING(env, name, false); in Check_GetStaticMethodID()
1470 CHECK_UTF_STRING(env, sig, false); in Check_GetStaticMethodID()
1472 result = BASE_ENV(env)->GetStaticMethodID(env, clazz, name, sig); in Check_GetStaticMethodID()
1473 CHECK_EXIT(env); in Check_GetStaticMethodID()
1477 static jfieldID Check_GetStaticFieldID(JNIEnv* env, jclass clazz, in Check_GetStaticFieldID() argument
1480 CHECK_ENTER(env, kFlag_Default); in Check_GetStaticFieldID()
1481 CHECK_CLASS(env, clazz); in Check_GetStaticFieldID()
1482 CHECK_UTF_STRING(env, name, false); in Check_GetStaticFieldID()
1483 CHECK_UTF_STRING(env, sig, false); in Check_GetStaticFieldID()
1485 result = BASE_ENV(env)->GetStaticFieldID(env, clazz, name, sig); in Check_GetStaticFieldID()
1486 CHECK_EXIT(env); in Check_GetStaticFieldID()
1491 static _ctype Check_GetStatic##_jname##Field(JNIEnv* env, jclass clazz, \
1494 CHECK_ENTER(env, kFlag_Default); \
1495 CHECK_CLASS(env, clazz); \
1497 checkStaticFieldID(env, clazz, fieldID); \
1498 result = BASE_ENV(env)->GetStatic##_jname##Field(env, clazz, \
1500 CHECK_EXIT(env); \
1514 static void Check_SetStatic##_jname##Field(JNIEnv* env, jclass clazz, \
1517 CHECK_ENTER(env, kFlag_Default); \
1518 CHECK_CLASS(env, clazz); \
1519 checkStaticFieldID(env, clazz, fieldID); \
1521 CHECK_FIELD_TYPE(env, (jobject)(u4)value, fieldID, _ftype, true); \
1522 BASE_ENV(env)->SetStatic##_jname##Field(env, clazz, fieldID, \
1524 CHECK_EXIT(env); \
1537 static _ctype Check_Get##_jname##Field(JNIEnv* env, jobject obj, \
1540 CHECK_ENTER(env, kFlag_Default); \
1541 CHECK_OBJECT(env, obj); \
1543 CHECK_INST_FIELD_ID(env, obj, fieldID); \
1544 result = BASE_ENV(env)->Get##_jname##Field(env, obj, fieldID); \
1545 CHECK_EXIT(env); \
1559 static void Check_Set##_jname##Field(JNIEnv* env, jobject obj, \
1562 CHECK_ENTER(env, kFlag_Default); \
1563 CHECK_OBJECT(env, obj); \
1564 CHECK_INST_FIELD_ID(env, obj, fieldID); \
1566 CHECK_FIELD_TYPE(env, (jobject)(u4) value, fieldID, _ftype, false); \
1567 BASE_ENV(env)->Set##_jname##Field(env, obj, fieldID, value); \
1568 CHECK_EXIT(env); \
1581 static _ctype Check_Call##_jname##Method(JNIEnv* env, jobject obj, \
1584 CHECK_ENTER(env, kFlag_Default); \
1585 CHECK_OBJECT(env, obj); \
1586 CHECK_SIG(env, methodID, _retsig, false); \
1590 _retasgn BASE_ENV(env)->Call##_jname##MethodV(env, obj, methodID, \
1593 CHECK_EXIT(env); \
1596 static _ctype Check_Call##_jname##MethodV(JNIEnv* env, jobject obj, \
1599 CHECK_ENTER(env, kFlag_Default); \
1600 CHECK_OBJECT(env, obj); \
1601 CHECK_SIG(env, methodID, _retsig, false); \
1603 _retasgn BASE_ENV(env)->Call##_jname##MethodV(env, obj, methodID, \
1605 CHECK_EXIT(env); \
1608 static _ctype Check_Call##_jname##MethodA(JNIEnv* env, jobject obj, \
1611 CHECK_ENTER(env, kFlag_Default); \
1612 CHECK_OBJECT(env, obj); \
1613 CHECK_SIG(env, methodID, _retsig, false); \
1615 _retasgn BASE_ENV(env)->Call##_jname##MethodA(env, obj, methodID, \
1617 CHECK_EXIT(env); \
1633 static _ctype Check_CallNonvirtual##_jname##Method(JNIEnv* env, \
1636 CHECK_ENTER(env, kFlag_Default); \
1637 CHECK_CLASS(env, clazz); \
1638 CHECK_OBJECT(env, obj); \
1639 CHECK_SIG(env, methodID, _retsig, false); \
1643 _retasgn BASE_ENV(env)->CallNonvirtual##_jname##MethodV(env, obj, \
1646 CHECK_EXIT(env); \
1649 static _ctype Check_CallNonvirtual##_jname##MethodV(JNIEnv* env, \
1652 CHECK_ENTER(env, kFlag_Default); \
1653 CHECK_CLASS(env, clazz); \
1654 CHECK_OBJECT(env, obj); \
1655 CHECK_SIG(env, methodID, _retsig, false); \
1657 _retasgn BASE_ENV(env)->CallNonvirtual##_jname##MethodV(env, obj, \
1659 CHECK_EXIT(env); \
1662 static _ctype Check_CallNonvirtual##_jname##MethodA(JNIEnv* env, \
1665 CHECK_ENTER(env, kFlag_Default); \
1666 CHECK_CLASS(env, clazz); \
1667 CHECK_OBJECT(env, obj); \
1668 CHECK_SIG(env, methodID, _retsig, false); \
1670 _retasgn BASE_ENV(env)->CallNonvirtual##_jname##MethodA(env, obj, \
1672 CHECK_EXIT(env); \
1688 static _ctype Check_CallStatic##_jname##Method(JNIEnv* env, \
1691 CHECK_ENTER(env, kFlag_Default); \
1692 CHECK_CLASS(env, clazz); \
1693 CHECK_SIG(env, methodID, _retsig, true); \
1697 _retasgn BASE_ENV(env)->CallStatic##_jname##MethodV(env, clazz, \
1700 CHECK_EXIT(env); \
1703 static _ctype Check_CallStatic##_jname##MethodV(JNIEnv* env, \
1706 CHECK_ENTER(env, kFlag_Default); \
1707 CHECK_CLASS(env, clazz); \
1708 CHECK_SIG(env, methodID, _retsig, true); \
1710 _retasgn BASE_ENV(env)->CallStatic##_jname##MethodV(env, clazz, \
1712 CHECK_EXIT(env); \
1715 static _ctype Check_CallStatic##_jname##MethodA(JNIEnv* env, \
1718 CHECK_ENTER(env, kFlag_Default); \
1719 CHECK_CLASS(env, clazz); \
1720 CHECK_SIG(env, methodID, _retsig, true); \
1722 _retasgn BASE_ENV(env)->CallStatic##_jname##MethodA(env, clazz, \
1724 CHECK_EXIT(env); \
1738 static jstring Check_NewString(JNIEnv* env, const jchar* unicodeChars, in Check_NewString() argument
1741 CHECK_ENTER(env, kFlag_Default); in Check_NewString()
1743 result = BASE_ENV(env)->NewString(env, unicodeChars, len); in Check_NewString()
1744 CHECK_EXIT(env); in Check_NewString()
1748 static jsize Check_GetStringLength(JNIEnv* env, jstring string) in Check_GetStringLength() argument
1750 CHECK_ENTER(env, kFlag_CritOkay); in Check_GetStringLength()
1751 CHECK_STRING(env, string); in Check_GetStringLength()
1753 result = BASE_ENV(env)->GetStringLength(env, string); in Check_GetStringLength()
1754 CHECK_EXIT(env); in Check_GetStringLength()
1758 static const jchar* Check_GetStringChars(JNIEnv* env, jstring string, in Check_GetStringChars() argument
1761 CHECK_ENTER(env, kFlag_CritOkay); in Check_GetStringChars()
1762 CHECK_STRING(env, string); in Check_GetStringChars()
1764 result = BASE_ENV(env)->GetStringChars(env, string, isCopy); in Check_GetStringChars()
1765 if (((JNIEnvExt*)env)->forceDataCopy && result != NULL) { in Check_GetStringChars()
1772 CHECK_EXIT(env); in Check_GetStringChars()
1776 static void Check_ReleaseStringChars(JNIEnv* env, jstring string, in Check_ReleaseStringChars() argument
1779 CHECK_ENTER(env, kFlag_Default | kFlag_ExcepOkay); in Check_ReleaseStringChars()
1780 CHECK_STRING(env, string); in Check_ReleaseStringChars()
1781 CHECK_NON_NULL(env, chars); in Check_ReleaseStringChars()
1782 if (((JNIEnvExt*)env)->forceDataCopy) { in Check_ReleaseStringChars()
1790 BASE_ENV(env)->ReleaseStringChars(env, string, chars); in Check_ReleaseStringChars()
1791 CHECK_EXIT(env); in Check_ReleaseStringChars()
1794 static jstring Check_NewStringUTF(JNIEnv* env, const char* bytes) in Check_NewStringUTF() argument
1796 CHECK_ENTER(env, kFlag_Default); in Check_NewStringUTF()
1797 CHECK_UTF_STRING(env, bytes, true); in Check_NewStringUTF()
1799 result = BASE_ENV(env)->NewStringUTF(env, bytes); in Check_NewStringUTF()
1800 CHECK_EXIT(env); in Check_NewStringUTF()
1804 static jsize Check_GetStringUTFLength(JNIEnv* env, jstring string) in Check_GetStringUTFLength() argument
1806 CHECK_ENTER(env, kFlag_CritOkay); in Check_GetStringUTFLength()
1807 CHECK_STRING(env, string); in Check_GetStringUTFLength()
1809 result = BASE_ENV(env)->GetStringUTFLength(env, string); in Check_GetStringUTFLength()
1810 CHECK_EXIT(env); in Check_GetStringUTFLength()
1814 static const char* Check_GetStringUTFChars(JNIEnv* env, jstring string, in Check_GetStringUTFChars() argument
1817 CHECK_ENTER(env, kFlag_CritOkay); in Check_GetStringUTFChars()
1818 CHECK_STRING(env, string); in Check_GetStringUTFChars()
1820 result = BASE_ENV(env)->GetStringUTFChars(env, string, isCopy); in Check_GetStringUTFChars()
1821 if (((JNIEnvExt*)env)->forceDataCopy && result != NULL) { in Check_GetStringUTFChars()
1828 CHECK_EXIT(env); in Check_GetStringUTFChars()
1832 static void Check_ReleaseStringUTFChars(JNIEnv* env, jstring string, in Check_ReleaseStringUTFChars() argument
1835 CHECK_ENTER(env, kFlag_ExcepOkay); in Check_ReleaseStringUTFChars()
1836 CHECK_STRING(env, string); in Check_ReleaseStringUTFChars()
1837 CHECK_NON_NULL(env, utf); in Check_ReleaseStringUTFChars()
1838 if (((JNIEnvExt*)env)->forceDataCopy) { in Check_ReleaseStringUTFChars()
1847 BASE_ENV(env)->ReleaseStringUTFChars(env, string, utf); in Check_ReleaseStringUTFChars()
1848 CHECK_EXIT(env); in Check_ReleaseStringUTFChars()
1851 static jsize Check_GetArrayLength(JNIEnv* env, jarray array) in Check_GetArrayLength() argument
1853 CHECK_ENTER(env, kFlag_CritOkay); in Check_GetArrayLength()
1854 CHECK_ARRAY(env, array); in Check_GetArrayLength()
1856 result = BASE_ENV(env)->GetArrayLength(env, array); in Check_GetArrayLength()
1857 CHECK_EXIT(env); in Check_GetArrayLength()
1861 static jobjectArray Check_NewObjectArray(JNIEnv* env, jsize length, in Check_NewObjectArray() argument
1864 CHECK_ENTER(env, kFlag_Default); in Check_NewObjectArray()
1865 CHECK_CLASS(env, elementClass); in Check_NewObjectArray()
1866 CHECK_OBJECT(env, initialElement); in Check_NewObjectArray()
1867 CHECK_LENGTH_POSITIVE(env, length); in Check_NewObjectArray()
1869 result = BASE_ENV(env)->NewObjectArray(env, length, elementClass, in Check_NewObjectArray()
1871 CHECK_EXIT(env); in Check_NewObjectArray()
1875 static jobject Check_GetObjectArrayElement(JNIEnv* env, jobjectArray array, in Check_GetObjectArrayElement() argument
1878 CHECK_ENTER(env, kFlag_Default); in Check_GetObjectArrayElement()
1879 CHECK_ARRAY(env, array); in Check_GetObjectArrayElement()
1881 result = BASE_ENV(env)->GetObjectArrayElement(env, array, index); in Check_GetObjectArrayElement()
1882 CHECK_EXIT(env); in Check_GetObjectArrayElement()
1886 static void Check_SetObjectArrayElement(JNIEnv* env, jobjectArray array, in Check_SetObjectArrayElement() argument
1889 CHECK_ENTER(env, kFlag_Default); in Check_SetObjectArrayElement()
1890 CHECK_ARRAY(env, array); in Check_SetObjectArrayElement()
1891 BASE_ENV(env)->SetObjectArrayElement(env, array, index, value); in Check_SetObjectArrayElement()
1892 CHECK_EXIT(env); in Check_SetObjectArrayElement()
1896 static _artype Check_New##_jname##Array(JNIEnv* env, jsize length) \
1898 CHECK_ENTER(env, kFlag_Default); \
1899 CHECK_LENGTH_POSITIVE(env, length); \
1901 result = BASE_ENV(env)->New##_jname##Array(env, length); \
1902 CHECK_EXIT(env); \
1916 static _ctype* Check_Get##_jname##ArrayElements(JNIEnv* env, \
1919 CHECK_ENTER(env, kFlag_Default); \
1920 CHECK_ARRAY(env, array); \
1922 result = BASE_ENV(env)->Get##_jname##ArrayElements(env, \
1924 if (((JNIEnvExt*)env)->forceDataCopy && result != NULL) { \
1925 result = (_ctype*) createGuardedPACopy(env, array, isCopy); \
1927 CHECK_EXIT(env); \
1932 static void Check_Release##_jname##ArrayElements(JNIEnv* env, \
1935 CHECK_ENTER(env, kFlag_Default | kFlag_ExcepOkay); \
1936 CHECK_ARRAY(env, array); \
1937 CHECK_NON_NULL(env, elems); \
1938 CHECK_RELEASE_MODE(env, mode); \
1939 if (((JNIEnvExt*)env)->forceDataCopy) { \
1940 elems = (_ctype*) releaseGuardedPACopy(env, array, elems, mode);\
1942 BASE_ENV(env)->Release##_jname##ArrayElements(env, \
1944 CHECK_EXIT(env); \
1948 static void Check_Get##_jname##ArrayRegion(JNIEnv* env, \
1951 CHECK_ENTER(env, kFlag_Default); \
1952 CHECK_ARRAY(env, array); \
1953 BASE_ENV(env)->Get##_jname##ArrayRegion(env, array, start, \
1955 CHECK_EXIT(env); \
1959 static void Check_Set##_jname##ArrayRegion(JNIEnv* env, \
1962 CHECK_ENTER(env, kFlag_Default); \
1963 CHECK_ARRAY(env, array); \
1964 BASE_ENV(env)->Set##_jname##ArrayRegion(env, array, start, \
1966 CHECK_EXIT(env); \
1985 static jint Check_RegisterNatives(JNIEnv* env, jclass clazz, in Check_RegisterNatives() argument
1988 CHECK_ENTER(env, kFlag_Default); in Check_RegisterNatives()
1989 CHECK_CLASS(env, clazz); in Check_RegisterNatives()
1991 result = BASE_ENV(env)->RegisterNatives(env, clazz, methods, nMethods); in Check_RegisterNatives()
1992 CHECK_EXIT(env); in Check_RegisterNatives()
1996 static jint Check_UnregisterNatives(JNIEnv* env, jclass clazz) in Check_UnregisterNatives() argument
1998 CHECK_ENTER(env, kFlag_Default); in Check_UnregisterNatives()
1999 CHECK_CLASS(env, clazz); in Check_UnregisterNatives()
2001 result = BASE_ENV(env)->UnregisterNatives(env, clazz); in Check_UnregisterNatives()
2002 CHECK_EXIT(env); in Check_UnregisterNatives()
2006 static jint Check_MonitorEnter(JNIEnv* env, jobject obj) in Check_MonitorEnter() argument
2008 CHECK_ENTER(env, kFlag_Default); in Check_MonitorEnter()
2009 CHECK_OBJECT(env, obj); in Check_MonitorEnter()
2011 result = BASE_ENV(env)->MonitorEnter(env, obj); in Check_MonitorEnter()
2012 CHECK_EXIT(env); in Check_MonitorEnter()
2016 static jint Check_MonitorExit(JNIEnv* env, jobject obj) in Check_MonitorExit() argument
2018 CHECK_ENTER(env, kFlag_Default | kFlag_ExcepOkay); in Check_MonitorExit()
2019 CHECK_OBJECT(env, obj); in Check_MonitorExit()
2021 result = BASE_ENV(env)->MonitorExit(env, obj); in Check_MonitorExit()
2022 CHECK_EXIT(env); in Check_MonitorExit()
2026 static jint Check_GetJavaVM(JNIEnv *env, JavaVM **vm) in Check_GetJavaVM() argument
2028 CHECK_ENTER(env, kFlag_Default); in Check_GetJavaVM()
2030 result = BASE_ENV(env)->GetJavaVM(env, vm); in Check_GetJavaVM()
2031 CHECK_EXIT(env); in Check_GetJavaVM()
2035 static void Check_GetStringRegion(JNIEnv* env, jstring str, jsize start, in Check_GetStringRegion() argument
2038 CHECK_ENTER(env, kFlag_CritOkay); in Check_GetStringRegion()
2039 CHECK_STRING(env, str); in Check_GetStringRegion()
2040 BASE_ENV(env)->GetStringRegion(env, str, start, len, buf); in Check_GetStringRegion()
2041 CHECK_EXIT(env); in Check_GetStringRegion()
2044 static void Check_GetStringUTFRegion(JNIEnv* env, jstring str, jsize start, in Check_GetStringUTFRegion() argument
2047 CHECK_ENTER(env, kFlag_CritOkay); in Check_GetStringUTFRegion()
2048 CHECK_STRING(env, str); in Check_GetStringUTFRegion()
2049 BASE_ENV(env)->GetStringUTFRegion(env, str, start, len, buf); in Check_GetStringUTFRegion()
2050 CHECK_EXIT(env); in Check_GetStringUTFRegion()
2053 static void* Check_GetPrimitiveArrayCritical(JNIEnv* env, jarray array, in Check_GetPrimitiveArrayCritical() argument
2056 CHECK_ENTER(env, kFlag_CritGet); in Check_GetPrimitiveArrayCritical()
2057 CHECK_ARRAY(env, array); in Check_GetPrimitiveArrayCritical()
2059 result = BASE_ENV(env)->GetPrimitiveArrayCritical(env, array, isCopy); in Check_GetPrimitiveArrayCritical()
2060 if (((JNIEnvExt*)env)->forceDataCopy && result != NULL) { in Check_GetPrimitiveArrayCritical()
2061 result = createGuardedPACopy(env, array, isCopy); in Check_GetPrimitiveArrayCritical()
2063 CHECK_EXIT(env); in Check_GetPrimitiveArrayCritical()
2067 static void Check_ReleasePrimitiveArrayCritical(JNIEnv* env, jarray array, in Check_ReleasePrimitiveArrayCritical() argument
2070 CHECK_ENTER(env, kFlag_CritRelease | kFlag_ExcepOkay); in Check_ReleasePrimitiveArrayCritical()
2071 CHECK_ARRAY(env, array); in Check_ReleasePrimitiveArrayCritical()
2072 CHECK_NON_NULL(env, carray); in Check_ReleasePrimitiveArrayCritical()
2073 CHECK_RELEASE_MODE(env, mode); in Check_ReleasePrimitiveArrayCritical()
2074 if (((JNIEnvExt*)env)->forceDataCopy) { in Check_ReleasePrimitiveArrayCritical()
2075 carray = releaseGuardedPACopy(env, array, carray, mode); in Check_ReleasePrimitiveArrayCritical()
2077 BASE_ENV(env)->ReleasePrimitiveArrayCritical(env, array, carray, mode); in Check_ReleasePrimitiveArrayCritical()
2078 CHECK_EXIT(env); in Check_ReleasePrimitiveArrayCritical()
2081 static const jchar* Check_GetStringCritical(JNIEnv* env, jstring string, in Check_GetStringCritical() argument
2084 CHECK_ENTER(env, kFlag_CritGet); in Check_GetStringCritical()
2085 CHECK_STRING(env, string); in Check_GetStringCritical()
2087 result = BASE_ENV(env)->GetStringCritical(env, string, isCopy); in Check_GetStringCritical()
2088 if (((JNIEnvExt*)env)->forceDataCopy && result != NULL) { in Check_GetStringCritical()
2095 CHECK_EXIT(env); in Check_GetStringCritical()
2099 static void Check_ReleaseStringCritical(JNIEnv* env, jstring string, in Check_ReleaseStringCritical() argument
2102 CHECK_ENTER(env, kFlag_CritRelease | kFlag_ExcepOkay); in Check_ReleaseStringCritical()
2103 CHECK_STRING(env, string); in Check_ReleaseStringCritical()
2104 CHECK_NON_NULL(env, carray); in Check_ReleaseStringCritical()
2105 if (((JNIEnvExt*)env)->forceDataCopy) { in Check_ReleaseStringCritical()
2113 BASE_ENV(env)->ReleaseStringCritical(env, string, carray); in Check_ReleaseStringCritical()
2114 CHECK_EXIT(env); in Check_ReleaseStringCritical()
2117 static jweak Check_NewWeakGlobalRef(JNIEnv* env, jobject obj) in Check_NewWeakGlobalRef() argument
2119 CHECK_ENTER(env, kFlag_Default); in Check_NewWeakGlobalRef()
2120 CHECK_OBJECT(env, obj); in Check_NewWeakGlobalRef()
2122 result = BASE_ENV(env)->NewWeakGlobalRef(env, obj); in Check_NewWeakGlobalRef()
2123 CHECK_EXIT(env); in Check_NewWeakGlobalRef()
2127 static void Check_DeleteWeakGlobalRef(JNIEnv* env, jweak obj) in Check_DeleteWeakGlobalRef() argument
2129 CHECK_ENTER(env, kFlag_Default | kFlag_ExcepOkay); in Check_DeleteWeakGlobalRef()
2130 CHECK_OBJECT(env, obj); in Check_DeleteWeakGlobalRef()
2131 BASE_ENV(env)->DeleteWeakGlobalRef(env, obj); in Check_DeleteWeakGlobalRef()
2132 CHECK_EXIT(env); in Check_DeleteWeakGlobalRef()
2135 static jboolean Check_ExceptionCheck(JNIEnv* env) in Check_ExceptionCheck() argument
2137 CHECK_ENTER(env, kFlag_CritOkay | kFlag_ExcepOkay); in Check_ExceptionCheck()
2139 result = BASE_ENV(env)->ExceptionCheck(env); in Check_ExceptionCheck()
2140 CHECK_EXIT(env); in Check_ExceptionCheck()
2144 static jobjectRefType Check_GetObjectRefType(JNIEnv* env, jobject obj) in Check_GetObjectRefType() argument
2146 CHECK_ENTER(env, kFlag_Default); in Check_GetObjectRefType()
2147 CHECK_OBJECT(env, obj); in Check_GetObjectRefType()
2149 result = BASE_ENV(env)->GetObjectRefType(env, obj); in Check_GetObjectRefType()
2150 CHECK_EXIT(env); in Check_GetObjectRefType()
2154 static jobject Check_NewDirectByteBuffer(JNIEnv* env, void* address, in Check_NewDirectByteBuffer() argument
2157 CHECK_ENTER(env, kFlag_Default); in Check_NewDirectByteBuffer()
2165 result = BASE_ENV(env)->NewDirectByteBuffer(env, address, capacity); in Check_NewDirectByteBuffer()
2166 CHECK_EXIT(env); in Check_NewDirectByteBuffer()
2170 static void* Check_GetDirectBufferAddress(JNIEnv* env, jobject buf) in Check_GetDirectBufferAddress() argument
2172 CHECK_ENTER(env, kFlag_Default); in Check_GetDirectBufferAddress()
2173 CHECK_OBJECT(env, buf); in Check_GetDirectBufferAddress()
2174 void* result = BASE_ENV(env)->GetDirectBufferAddress(env, buf); in Check_GetDirectBufferAddress()
2175 CHECK_EXIT(env); in Check_GetDirectBufferAddress()
2186 if (JNI_FALSE == (*env)->IsInstanceOf(env, buf, in Check_GetDirectBufferAddress()
2198 platformAddr = (*env)->CallObjectMethod(env, buf, in Check_GetDirectBufferAddress()
2201 if ((*env)->ExceptionCheck(env)) { in Check_GetDirectBufferAddress()
2202 (*env)->ExceptionClear(env); in Check_GetDirectBufferAddress()
2210 jclass platformAddrClass = (*env)->FindClass(env, in Check_GetDirectBufferAddress()
2212 jmethodID toLongMethod = (*env)->GetMethodID(env, platformAddrClass, in Check_GetDirectBufferAddress()
2214 checkResult = (void*)(u4)(*env)->CallLongMethod(env, platformAddr, in Check_GetDirectBufferAddress()
2219 (*env)->DeleteLocalRef(env, platformAddr); in Check_GetDirectBufferAddress()
2232 static jlong Check_GetDirectBufferCapacity(JNIEnv* env, jobject buf) in Check_GetDirectBufferCapacity() argument
2234 CHECK_ENTER(env, kFlag_Default); in Check_GetDirectBufferCapacity()
2235 CHECK_OBJECT(env, buf); in Check_GetDirectBufferCapacity()
2237 jlong result = BASE_ENV(env)->GetDirectBufferCapacity(env, buf); in Check_GetDirectBufferCapacity()
2238 CHECK_EXIT(env); in Check_GetDirectBufferCapacity()
2287 static jint Check_GetEnv(JavaVM* vm, void** env, jint version) in Check_GetEnv() argument
2291 result = BASE_VM(vm)->GetEnv(vm, env, version); in Check_GetEnv()