summaryrefslogtreecommitdiffstats
path: root/libjava/java/lang/natVMClassLoader.cc
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2005-02-07 21:29:04 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2005-02-07 21:29:04 +0000
commitdaa4e295752aca4a0cda33ea5e05af597382d12d (patch)
tree9321a4ce5d93e720f8ccef64c5a68a48525104d1 /libjava/java/lang/natVMClassLoader.cc
parentcc57ce063492a870faaa15d9909e985ff3c0befb (diff)
downloadppe42-gcc-daa4e295752aca4a0cda33ea5e05af597382d12d.tar.gz
ppe42-gcc-daa4e295752aca4a0cda33ea5e05af597382d12d.zip
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94717 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/lang/natVMClassLoader.cc')
-rw-r--r--libjava/java/lang/natVMClassLoader.cc9
1 files changed, 2 insertions, 7 deletions
diff --git a/libjava/java/lang/natVMClassLoader.cc b/libjava/java/lang/natVMClassLoader.cc
index cd98e7e4561..1da79497154 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().
OpenPOWER on IntegriCloud