diff options
author | Tom Tromey <tromey@redhat.com> | 2005-02-07 21:29:04 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2005-02-07 21:29:04 +0000 |
commit | f55db9c2fc24eff6cdbaa621851a4382f6dea939 (patch) | |
tree | 9321a4ce5d93e720f8ccef64c5a68a48525104d1 /libjava/java/lang/natVMClassLoader.cc | |
parent | b0ad2de2032805ffbaff91d24647dc6fcc8a74ca (diff) | |
download | gcc-f55db9c2fc24eff6cdbaa621851a4382f6dea939.zip gcc-f55db9c2fc24eff6cdbaa621851a4382f6dea939.tar.gz gcc-f55db9c2fc24eff6cdbaa621851a4382f6dea939.tar.bz2 |
defineclass.cc (handleClassBegin): Use _Jv_RegisterInitiatingLoader.
* defineclass.cc (handleClassBegin): Use
_Jv_RegisterInitiatingLoader.
* java/lang/Class.h (_Jv_UnregisterInitiatingLoader): Declare.
* java/lang/natVMClassLoader.cc (resolveClass): Don't register
class. Use _Jv_UnregisterInitiatingLoader.
* java/lang/natClassLoader.cc (_Jv_UnregisterInitiatingLoader):
New function.
From-SVN: r94717
Diffstat (limited to 'libjava/java/lang/natVMClassLoader.cc')
-rw-r--r-- | libjava/java/lang/natVMClassLoader.cc | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/libjava/java/lang/natVMClassLoader.cc b/libjava/java/lang/natVMClassLoader.cc index cd98e7e..1da7949 100644 --- a/libjava/java/lang/natVMClassLoader.cc +++ b/libjava/java/lang/natVMClassLoader.cc @@ -57,13 +57,8 @@ java::lang::VMClassLoader::defineClass (java::lang::ClassLoader *loader, jclass klass = VMCompiler::compileClass(loader, name, data, offset, length, pd); - if (klass != NULL) - { - JvSynchronize sync (&java::lang::Class::class$); - _Jv_RegisterClass (klass); - } #ifdef INTERPRETER - else + if (klass == NULL) { klass = new java::lang::Class (); @@ -96,7 +91,7 @@ java::lang::VMClassLoader::defineClass (java::lang::ClassLoader *loader, klass->state = JV_STATE_ERROR; klass->notifyAll (); - _Jv_UnregisterClass (klass); + _Jv_UnregisterInitiatingLoader (klass, klass->loader); // If EX is not a ClassNotFoundException, that's ok, because we // account for the possibility in defineClass(). |