From 36a0d3d264f73b5f7b5a7a6793804b7c06a529cd Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 22 Apr 2005 02:33:31 +0000 Subject: [PATCH] * java/lang/natClass.cc (initializeClass): Link class. From-SVN: r98540 --- libjava/ChangeLog | 4 ++++ libjava/java/lang/natClass.cc | 15 ++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 311eba72966..571264469b1 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,7 @@ +2005-04-21 Tom Tromey + + * java/lang/natClass.cc (initializeClass): Link class. + 2005-04-21 Tom Tromey * java/lang/AssertionError.java: Typo fix. diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc index b93694790bb..e29ed6809ef 100644 --- a/libjava/java/lang/natClass.cc +++ b/libjava/java/lang/natClass.cc @@ -703,7 +703,20 @@ java::lang::Class::initializeClass (void) 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(); -- 2.30.2