aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang/natClassLoader.cc
diff options
context:
space:
mode:
authorPer Bothner <per@bothner.com>2004-08-11 23:53:42 -0700
committerPer Bothner <bothner@gcc.gnu.org>2004-08-11 23:53:42 -0700
commitb4d49f49bf21837bef59aa30788e2e9bf2ce2e3b (patch)
treeddcf219c5b73f37a94e4a0d174408bc041874a8e /libjava/java/lang/natClassLoader.cc
parentfbac6f3cf5a007c9888d1fecdd647338f9eb623f (diff)
downloadgcc-b4d49f49bf21837bef59aa30788e2e9bf2ce2e3b.zip
gcc-b4d49f49bf21837bef59aa30788e2e9bf2ce2e3b.tar.gz
gcc-b4d49f49bf21837bef59aa30788e2e9bf2ce2e3b.tar.bz2
javaprims.h (_Jv_Utf8Const): Change struct to a class, with private fields and access methods.
* 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. From-SVN: r85854
Diffstat (limited to 'libjava/java/lang/natClassLoader.cc')
-rw-r--r--libjava/java/lang/natClassLoader.cc22
1 files changed, 11 insertions, 11 deletions
diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc
index b38c2db..1ff47b4 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);