diff options
Diffstat (limited to 'libjava/java/lang/natClassLoader.cc')
-rw-r--r-- | libjava/java/lang/natClassLoader.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc index 59aca07..ffe5b18 100644 --- a/libjava/java/lang/natClassLoader.cc +++ b/libjava/java/lang/natClassLoader.cc @@ -234,7 +234,6 @@ java::lang::ClassLoader::findLoadedClass (jstring name) return _Jv_FindClassInCache (_Jv_makeUtf8Const (name), this); } - /** This function does class-preparation for compiled classes. NOTE: It contains replicated functionality from _Jv_ResolvePoolEntry, and this is intentional, since that function @@ -309,6 +308,12 @@ _Jv_PrepareCompiledClass (jclass klass) } #endif /* INTERPRETER */ + if (klass->vtable == NULL) + _Jv_MakeVTable(klass); + + if (klass->otable != NULL && klass->otable->state == 0) + _Jv_LinkOffsetTable(klass); + klass->notifyAll (); } |