Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- $Id: jni.c 7392 2007-02-23 20:15:31Z michi $
+ $Id: jni.c 7723 2007-04-16 18:03:08Z michi $
*/
#include "native/vm/java_lang_Class.h"
+#if defined(ENABLE_JAVASE)
+# include "native/vm/java_lang_ClassLoader.h"
+#endif
+
#if defined(ENABLE_THREADS)
# include "threads/native/lock.h"
# include "threads/native/threads.h"
#include "vmcore/loader.h"
#include "vmcore/options.h"
-#include "vmcore/resolve.h"
+#include "vm/resolve.h"
#include "vmcore/statistics.h"
#define HASHTABLE_GLOBAL_REF_SIZE 64 /* initial size of globalref-hash */
-static hashtable *hashtable_global_ref; /* hashtable for globalrefs */
+hashtable *hashtable_global_ref; /* hashtable for globalrefs */
/* direct buffer stuff ********************************************************/
vmargs = MNEW(vm_arg, argcount);
- if (!_Jv_jni_vmargs_from_objectarray(o, resm->parseddesc, vmargs, params))
+ if (!_Jv_jni_vmargs_from_objectarray(o, resm->parseddesc, vmargs, params)) {
+ MFREE(vmargs, vm_arg, argcount);
return NULL;
+ }
switch (resm->parseddesc->returntype.decltype) {
case TYPE_VOID:
STATISTICS(jniinvokation());
cl = (java_lang_ClassLoader *) loader;
- s = javastring_new_from_utf_string(name);
+ s = (java_lang_String *) javastring_new_from_utf_string(name);
ba = (java_bytearray *) buf;
- c = (jclass) _Jv_java_lang_ClassLoader_defineClass(env, NULL, cl, s, ba,
- 0, bufLen, NULL);
+ c = (jclass) _Jv_java_lang_ClassLoader_defineClass(cl, s, ba, 0, bufLen,
+ NULL);
return (jclass) _Jv_JNI_NewLocalRef(env, (jobject) c);
#else
/* GetStringChars **************************************************************
Returns a pointer to the array of Unicode characters of the
- string. This pointer is valid until ReleaseStringchars() is called.
+ string. This pointer is valid until ReleaseStringChars() is called.
*******************************************************************************/
/* NewStringUTF ****************************************************************
- Constructs a new java.lang.String object from an array of UTF-8 characters.
+ Constructs a new java.lang.String object from an array of UTF-8
+ characters.
*******************************************************************************/
STATISTICS(jniinvokation());
- s = javastring_safe_new_from_utf8(bytes);
+ s = (java_lang_String *) javastring_safe_new_from_utf8(bytes);
return (jstring) _Jv_JNI_NewLocalRef(env, (jobject) s);
}
if (isCopy)
*isCopy = JNI_TRUE;
- u = javastring_toutf((java_lang_String *) string, false);
+ u = javastring_toutf((java_objectheader *) string, false);
if (u != NULL)
return u->text;
/* check if the class of value is a subclass of the element class
of the array */
- if (!builtin_canstore(oa, o)) {
- exceptions_throw_arraystoreexception();
+ if (!builtin_canstore(oa, o))
return;
- }
oa->data[index] = val;
}