From 307719b97143646f73530f046493efc507351385 Mon Sep 17 00:00:00 2001 From: bothner Date: Thu, 12 Aug 2004 06:53:42 +0000 Subject: * gcj/javaprims.h (_Jv_Utf8Const): Change struct to a class, with private fields and access methods. (_Jv_NewStringUTF, _Jv_hashUtf8String): New function declarations. * gcj/cni.h (_Jv_NewStringUTF): Move to javaprims.h. * prims.cc (_Jv_Utf8COnst::init): New method implementation. ( _Jv_makeUtf8Const): Rewrite using new constructors. (hashUtf8String): Rename to +_Jv_hashUtf8String and make non-static. * defineclass.cc: Use new _Utf8Const access/convenience methods. * jni.cc: Likewise. * resolve.cc: Likewise. * gcj/field.h: Likewise. * include/jvm.h: Likewise. * java/lang/Class.h: Likewise. * java/lang/natClass.cc: Likwise. * java/lang/natClassLoader.cc: Likewise * java/lang/reflect/natMethod.cc: Likewise * verify.cc: Likewise. (_Jv_BytecodeVerifier::make_utf8_const): Optimize. (~_Jv_BytecodeVerifier): Don't need second _Jv_Free call. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85854 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/java/lang/natClassLoader.cc | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'libjava/java/lang/natClassLoader.cc') diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc index b38c2db1625..1ff47b4b54d 100644 --- a/libjava/java/lang/natClassLoader.cc +++ b/libjava/java/lang/natClassLoader.cc @@ -52,7 +52,7 @@ _Jv_WaitForState (jclass klass, int state) { klass->state = JV_STATE_LOADED; if (gcj::verbose_class_flag) - fprintf (stderr, "[Loaded (pre-compiled) %s]\n", (const char*)(klass->name->data)); + fprintf (stderr, "[Loaded (pre-compiled) %s]\n", klass->name->chars()); } if (state == JV_STATE_LINKED) { @@ -110,15 +110,15 @@ _Jv_PrepareCompiledClass (jclass klass) _Jv_Utf8Const *name = pool->data[index].utf8; jclass found; - if (name->data[0] == '[') - found = _Jv_FindClassFromSignature (&name->data[0], + if (name->first() == '[') + found = _Jv_FindClassFromSignature (name->chars(), klass->loader); else found = _Jv_FindClass (name, klass->loader); if (! found) { - jstring str = _Jv_NewStringUTF (name->data); + jstring str = name->toString(); throw new java::lang::NoClassDefFoundError (str); } @@ -182,7 +182,7 @@ _Jv_PrepareCompiledClass (jclass klass) if (state == JV_STATE_COMPILED && gcj::verbose_class_flag) fprintf (stderr, "[Loaded (pre-compiled) %s]\n", - (const char*)(klass->name->data)); + klass->name->chars()); klass->notifyAll (); @@ -207,7 +207,7 @@ _Jv_PrepareCompiledClass (jclass klass) #define HASH_LEN 1013 // Hash function for Utf8Consts. -#define HASH_UTF(Utf) (((Utf)->hash) % HASH_LEN) +#define HASH_UTF(Utf) ((Utf)->hash16() % HASH_LEN) struct _Jv_LoaderInfo { @@ -348,7 +348,7 @@ _Jv_RegisterClassHookDefault (jclass klass) // We size-limit MESSAGE so that you can't trash the stack. char message[200]; strcpy (message, TEXT); - strncpy (message + sizeof (TEXT) - 1, klass->name->data, + strncpy (message + sizeof (TEXT) - 1, klass->name->chars(), sizeof (message) - sizeof (TEXT)); message[sizeof (message) - 1] = '\0'; if (! gcj::runtimeInitialized) @@ -390,7 +390,7 @@ _Jv_FindClass (_Jv_Utf8Const *name, java::lang::ClassLoader *loader) if (! klass) { - jstring sname = _Jv_NewStringUTF (name->data); + jstring sname = name->toString(); java::lang::ClassLoader *sys = java::lang::ClassLoader::getSystemClassLoader (); @@ -470,7 +470,7 @@ _Jv_NewArrayClass (jclass element, java::lang::ClassLoader *loader, len = 3; } else - len = element->name->length + 5; + len = element->name->len() + 5; { char signature[len]; @@ -483,8 +483,8 @@ _Jv_NewArrayClass (jclass element, java::lang::ClassLoader *loader, } else { - size_t length = element->name->length; - const char *const name = element->name->data; + size_t length = element->name->len(); + const char *const name = element->name->chars(); if (name[0] != '[') signature[index++] = 'L'; memcpy (&signature[index], name, length); -- cgit v1.2.3