This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Patch: FYI: fix up resolveClass
- From: Tom Tromey <tromey at redhat dot com>
- To: Java Patch List <java-patches at gcc dot gnu dot org>
- Date: 21 Apr 2005 20:29:54 -0600
- Subject: Patch: FYI: fix up resolveClass
- Reply-to: tromey at redhat dot com
I'm checking this in on the trunk.
My recent resolveClass patch broke everything. This fixes it.
Tom
2005-04-21 Tom Tromey <tromey@redhat.com>
* java/lang/natClass.cc (initializeClass): Link class.
Index: java/lang/natClass.cc
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/lang/natClass.cc,v
retrieving revision 1.87
diff -u -r1.87 natClass.cc
--- java/lang/natClass.cc 24 Mar 2005 00:04:18 -0000 1.87
+++ java/lang/natClass.cc 22 Apr 2005 02:12:19 -0000
@@ -703,7 +703,20 @@
JvSynchronize sync (this);
if (state < JV_STATE_LINKED)
- java::lang::VMClassLoader::resolveClass (this);
+ {
+ try
+ {
+ _Jv_Linker::wait_for_state(this, JV_STATE_LINKED);
+ }
+ catch (java::lang::Throwable *x)
+ {
+ // Turn into a NoClassDefFoundError.
+ java::lang::NoClassDefFoundError *result
+ = new java::lang::NoClassDefFoundError(getName());
+ result->initCause(x);
+ throw result;
+ }
+ }
// Step 2.
java::lang::Thread *self = java::lang::Thread::currentThread();