Author: mturk Date: Tue May 5 06:58:27 2009 New Revision: 771592 URL: http://svn.apache.org/viewvc?rev=771592&view=rev Log: Various cleanups
Modified: commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h commons/sandbox/runtime/trunk/src/main/native/shared/clazz.c commons/sandbox/runtime/trunk/src/main/native/shared/descriptor.c commons/sandbox/runtime/trunk/src/main/native/shared/error.c commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c commons/sandbox/runtime/trunk/src/main/native/shared/string.c commons/sandbox/runtime/trunk/src/main/native/test/testcase.c Modified: commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h?rev=771592&r1=771591&r2=771592&view=diff ============================================================================== --- commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h (original) +++ commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h Tue May 5 06:58:27 2009 @@ -301,7 +301,7 @@ _m##I##n.i = (*_E)->GetMethodID(_E, _clazzn.i, _m##I##n.n, \ _m##I##n.s); \ if ((*_E)->ExceptionCheck(_E) || _m##I##n.i == NULL) { \ - return 1; \ + return ACR_ESYMNOTFOUND; \ } \ } else (void)(0) @@ -310,7 +310,7 @@ _m##I##n.i = (*_E)->GetStaticMethodID(_E, _clazzn.i, _m##I##n.n, \ _m##I##n.s); \ if ((*_E)->ExceptionCheck(_E) || _m##I##.i == NULL) { \ - return 1; \ + return ACR_ESYMNOTFOUND; \ } \ } else (void)(0) @@ -319,7 +319,7 @@ _f##I##n.i = (*_E)->GetFieldID(_E, _clazzn.i, _f##I##n.n, \ _f##I##n.s); \ if ((*_E)->ExceptionCheck(_E) || _f##I##n.i == NULL) { \ - return 1; \ + return ACR_ESYMNOTFOUND; \ } \ } else (void)(0) @@ -328,7 +328,7 @@ _f##I##n.i = (*_E)->GetStaticFieldID(_E, _clazzn.i, _f##I##n.n, \ _f##I##n.s); \ if ((*_E)->ExceptionCheck(_E) || _f##I##n.i == NULL) { \ - return 1; \ + return ACR_ESYMNOTFOUND; \ } \ } else (void)(0) Modified: commons/sandbox/runtime/trunk/src/main/native/shared/clazz.c URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/clazz.c?rev=771592&r1=771591&r2=771592&view=diff ============================================================================== --- commons/sandbox/runtime/trunk/src/main/native/shared/clazz.c (original) +++ commons/sandbox/runtime/trunk/src/main/native/shared/clazz.c Tue May 5 06:58:27 2009 @@ -32,10 +32,10 @@ const char *name; jclass clazz; } core_classes[] = { - { "Ljava/lang/Object;", NULL }, - { "Ljava/lang/String;", NULL }, - { "Ljava/nio/ByteBuffer;", NULL }, - { "Ljava/io/File;", NULL }, + { "java/lang/Object", NULL }, + { "java/lang/String", NULL }, + { "java/nio/ByteBuffer", NULL }, + { "java/io/File", NULL }, { "[Z", NULL }, { "[B", NULL }, { "[C", NULL }, @@ -181,12 +181,11 @@ ACR_DECLARE(int) ACR_LoadClass(JNIEnv *_E, JAVA_C_ID *clazz, int init_array) { - int rv = ACR_SUCCESS; jobject c; if (clazz->i != NULL) { /* Already inited */ - return rv; + return ACR_SUCCESS; } if ((*_E)->EnsureLocalCapacity(_E, 3) < 0) { goto failed; @@ -200,8 +199,7 @@ goto failed; } clazz->i = (jclass)(*_E)->NewGlobalRef(_E, c); - if ((*_E)->ExceptionCheck(_E) || clazz->i == NULL) { - clazz->i = NULL; + if (clazz->i == NULL) { goto failed; } (*_E)->DeleteLocalRef(_E, c); @@ -209,14 +207,13 @@ if (init_array) { char an[ACR_SBUFF_SIZ]; /* Init class array */ - sprintf(an, "[L%s;", clazz->n); + snprintf(an, ACR_SBUFF_SIZ, "[L%s;", clazz->n); c = (jobject)(*_E)->FindClass(_E, an); if (c == NULL) { goto failed; } clazz->a = (jclass)(*_E)->NewGlobalRef(_E, c); - if ((*_E)->ExceptionCheck(_E) || clazz->a == NULL) { - clazz->a = NULL; + if (clazz->a == NULL) { goto failed; } } @@ -224,14 +221,14 @@ /* We don't need Objec[][] arrays */ clazz->a = NULL; } - return rv; + return ACR_SUCCESS; failed: if (clazz->i != NULL) { (*_E)->DeleteGlobalRef(_E, clazz->i); clazz->i = NULL; } - return ACR_EGENERAL; + return ACR_ECLASSNOTFOUND; } ACR_DECLARE(void) ACR_UnloadClass(JNIEnv *_E, JAVA_C_ID *clazz) Modified: commons/sandbox/runtime/trunk/src/main/native/shared/descriptor.c URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/descriptor.c?rev=771592&r1=771591&r2=771592&view=diff ============================================================================== --- commons/sandbox/runtime/trunk/src/main/native/shared/descriptor.c (original) +++ commons/sandbox/runtime/trunk/src/main/native/shared/descriptor.c Tue May 5 06:58:27 2009 @@ -290,11 +290,6 @@ return ACR_ENOLOCK; } SET_IFIELD_P(0001, _O, p); -#ifdef _JNI_CHECK_EXCEPTIONS - if ((*_E)->ExceptionCheck(_E)) { - return ACR_EGENERAL; - } -#endif (*_E)->MonitorExit(_E, _O); return ACR_SUCCESS; } @@ -311,11 +306,6 @@ return ACR_ENOLOCK; } SET_IFIELD_I(0000, _O, i); -#ifdef _JNI_CHECK_EXCEPTIONS - if ((*_E)->ExceptionCheck(_E)) { - return ACR_EGENERAL; - } -#endif (*_E)->MonitorExit(_E, _O); return ACR_SUCCESS; } @@ -328,11 +318,6 @@ { if (_clazzn.i && J4MID(0000)) { SET_IFIELD_I(0003, _O, e); -#ifdef _JNI_CHECK_EXCEPTIONS - if ((*_E)->ExceptionCheck(_E)) { - return ACR_EGENERAL; - } -#endif return ACR_SUCCESS; } else { Modified: commons/sandbox/runtime/trunk/src/main/native/shared/error.c URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/error.c?rev=771592&r1=771591&r2=771592&view=diff ============================================================================== --- commons/sandbox/runtime/trunk/src/main/native/shared/error.c (original) +++ commons/sandbox/runtime/trunk/src/main/native/shared/error.c Tue May 5 06:58:27 2009 @@ -56,22 +56,35 @@ if (!env) env = ACR_GetJNIEnv(); if (!env) { - fprintf(stderr, "[ERROR] Cannot allocate JNI Environment\n"); +#ifdef ACR_ENABLE_TEST + fprintf(stderr, "[ERROR] Cannot allocate JNI Environment\n"); + if (msg) + fprintf(stderr, "[ERROR] %s\n", msg); + fflush(stderr); +#endif + return; + } + if ((*env)->ExceptionCheck(env)) { + /* We already have a pending exception. */ +#ifdef ACR_ENABLE_TEST + fprintf(stderr, "[INFO] Exception is already in the queue.\n"); + fprintf(stderr, "[INFO] Class '%s' was not thrown.\n", clazz); if (msg) - fprintf(stderr, " %s\n", msg); + fprintf(stderr, "[INFO] %s\n", msg); fflush(stderr); +#endif return; } ec = (*env)->FindClass(env, clazz); - if (IS_JOBJECT_NULL(env, ec)) { + if (ec == NULL) { /* If the class cannot be found, * the Exception has already been thrown. * See JNI Find Class for the Exceptions thrown. */ #ifdef ACR_ENABLE_TEST - fprintf(stderr, "[ERROR] Cannot find class '%s'\n", clazz); + fprintf(stderr, "[ERROR] Cannot find class '%s'\n", clazz); if (msg) - fprintf(stderr, " %s\n", msg); + fprintf(stderr, "[ERROR] %s\n", msg); fflush(stderr); #endif return; Modified: commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c?rev=771592&r1=771591&r2=771592&view=diff ============================================================================== --- commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c (original) +++ commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c Tue May 5 06:58:27 2009 @@ -267,18 +267,8 @@ } SET_IFIELD_P(0000, _O, p); -#ifdef _JNI_CHECK_EXCEPTIONS - if ((*_E)->ExceptionCheck(_E)) { - return ACR_EGENERAL; - } -#endif if (len) { SET_IFIELD_P(0002, _O, len); -#ifdef _JNI_CHECK_EXCEPTIONS - if ((*_E)->ExceptionCheck(_E)) { - return ACR_EGENERAL; - } -#endif } (*_E)->MonitorExit(_E, _O); return ACR_SUCCESS; Modified: commons/sandbox/runtime/trunk/src/main/native/shared/string.c URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/string.c?rev=771592&r1=771591&r2=771592&view=diff ============================================================================== --- commons/sandbox/runtime/trunk/src/main/native/shared/string.c (original) +++ commons/sandbox/runtime/trunk/src/main/native/shared/string.c Tue May 5 06:58:27 2009 @@ -311,7 +311,6 @@ ACR_DECLARE(char *) ACR_GetJavaStringA(JNIEnv *_E, jstring str) { jbyteArray sb = NULL; - jthrowable ee; char *rs = NULL; if (!str) { @@ -322,8 +321,9 @@ return NULL; } sb = CALL_METHOD0(Object, 0001, str); - ee = (*_E)->ExceptionOccurred(_E); - if (!ee) { + if ((*_E)->ExceptionCheck(_E)) + return NULL; + else { jint len = (*_E)->GetArrayLength(_E, sb); rs = (char *)ACR_Malloc(_E, THROW_FMARK, len + 1); if (rs == NULL) { @@ -333,11 +333,7 @@ (*_E)->GetByteArrayRegion(_E, sb, 0, len, (jbyte *)rs); rs[len] = '\0'; /* NUL-terminate */ } - else { - (*_E)->DeleteLocalRef(_E, ee); - } (*_E)->DeleteLocalRef(_E, sb); - return rs; } Modified: commons/sandbox/runtime/trunk/src/main/native/test/testcase.c URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/test/testcase.c?rev=771592&r1=771591&r2=771592&view=diff ============================================================================== --- commons/sandbox/runtime/trunk/src/main/native/test/testcase.c (original) +++ commons/sandbox/runtime/trunk/src/main/native/test/testcase.c Tue May 5 06:58:27 2009 @@ -45,6 +45,8 @@ ACR_JNI_EXPORT_DECLARE(void, TestPrivate, test002)(ACR_JNISTDARGS, jint err) { ACR_ThrowException(NULL, THROW_FMARK, ACR_EX_ENOMEM, err); + /* This will display an [INFO] in console */ + ACR_ThrowException(_E, THROW_FMARK, ACR_EX_EINVAL, err); } ACR_JNI_EXPORT_DECLARE(void, TestPrivate, test003)(ACR_JNISTDARGS, jint d)