diff options
Diffstat (limited to 'libjava/java/lang')
-rw-r--r-- | libjava/java/lang/natClass.cc | 6 | ||||
-rw-r--r-- | libjava/java/lang/reflect/natField.cc | 15 |
2 files changed, 7 insertions, 14 deletions
diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc index 11f5e50..b934ae7 100644 --- a/libjava/java/lang/natClass.cc +++ b/libjava/java/lang/natClass.cc @@ -678,7 +678,7 @@ java::lang::Class::finalize (void) void java::lang::Class::initializeClass (void) { - // jshort-circuit to avoid needless locking. + // short-circuit to avoid needless locking. if (state == JV_STATE_DONE) return; @@ -713,7 +713,9 @@ java::lang::Class::initializeClass (void) wait (); // Steps 3 & 4. - if (state == JV_STATE_DONE || state == JV_STATE_IN_PROGRESS || thread == self) + if (state == JV_STATE_DONE + || state == JV_STATE_IN_PROGRESS + || thread == self) { _Jv_MonitorExit (this); return; diff --git a/libjava/java/lang/reflect/natField.cc b/libjava/java/lang/reflect/natField.cc index 57421d6..0aedc4e 100644 --- a/libjava/java/lang/reflect/natField.cc +++ b/libjava/java/lang/reflect/natField.cc @@ -1,6 +1,6 @@ // natField.cc - Implementation of java.lang.reflect.Field native methods. -/* Copyright (C) 1998, 1999, 2000 Free Software Foundation +/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation This file is part of libgcj. @@ -44,17 +44,8 @@ jclass java::lang::reflect::Field::getType () { jfieldID fld = _Jv_FromReflectedField (this); - if (! fld->isResolved()) - { - JvSynchronize sync (declaringClass); - if (! fld->isResolved()) - { - fld->type - = _Jv_FindClassFromSignature(((Utf8Const*) (fld->type))->data, - declaringClass->getClassLoader()); - fld->flags &= ~_Jv_FIELD_UNRESOLVED_FLAG; - } - } + JvSynchronize sync (declaringClass); + _Jv_ResolveField (fld, declaringClass->getClassLoader ()); return fld->type; } |