diff options
author | Tom Tromey <tromey@cygnus.com> | 2000-03-02 20:25:20 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2000-03-02 20:25:20 +0000 |
commit | b099f07de92d7b228ff662711b148addf4b2b115 (patch) | |
tree | dd49bb49b56ee51fa4bbd2a20cc08ae6eefa6306 /libjava/java/lang/natClassLoader.cc | |
parent | c45da1ca925d67685ca633b48a4ca1ec44dfaca1 (diff) | |
download | gcc-b099f07de92d7b228ff662711b148addf4b2b115.zip gcc-b099f07de92d7b228ff662711b148addf4b2b115.tar.gz gcc-b099f07de92d7b228ff662711b148addf4b2b115.tar.bz2 |
java-interp.h: Don't include MethodInvocation.h.
* include/java-interp.h: Don't include MethodInvocation.h.
(class _Jv_InterpMethod): Don't make MethodInvocation a friend.
* Makefile.in: Rebuilt.
* Makefile.am (gnu/gcj/runtime/MethodInvocation.h): Removed.
(ordinary_java_source_files): Don't mention
MethodInvocation.java.
* gnu/gcj/runtime/MethodInvocation.java: Removed.
* interpret.cc (MethodInvocation::continue1): Removed.
(run): Handle exceptions here.
* java/lang/ClassLoader.java (defineClass1, defineClass2):
Removed.
* java/lang/natClassLoader.cc (defineClass0): Catch exceptions
here.
(defineClass2): Removed.
* java/lang/reflect/Method.java (hack_trampoline, hack_call):
Removed.
* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Catch
exceptions here.
(hack_call): Removed.
* java/lang/Class.h (Class): Removed hackRunInitializers,
hackTrampoline.
* java/lang/natClass.cc (hackRunInitializers): Removed.
(initializeClass): Catch exceptions here.
Include ExceptionInInitializerError.h.
* java/lang/Class.java (hackTrampoline, hackRunInitializers):
Removed.
* java/lang/Object.h (Object): Don't mention hack12_6.
* java/lang/natObject.cc (_Jv_FinalizeObject): Catch exceptions
here.
* java/lang/Object.java (hack12_6): Removed.
* java/lang/natThread.cc (run_): Renamed. Catch exceptions here.
(start): Use run_, not run__.
* java/lang/Thread.java (run_): Renamed from run__; old run_
removed.
* jni.cc (_Jv_JNI_FindClass): Handle exceptions.
(_Jv_JNI_EnsureLocalCapacity): Likewise.
(_Jv_JNI_DefineClass): Likewise.
(_Jv_JNI_ThrowNew): Likewise.
(_Jv_JNI_AllocObject): Likewise.
(_Jv_JNI_GetAnyMethodID): Likewise.
(_Jv_JNI_CallAnyMethodV): Likewise.
(_Jv_JNI_CallAnyMethodA): Likewise.
(_Jv_JNI_CallAnyVoidMethodV): Likewise.
(_Jv_JNI_CallAnyVoidMethodA): Likewise.
(_Jv_JNI_GetAnyFieldID): Likewise.
(_Jv_JNI_NewString): Likewise.
(_Jv_JNI_NewStringUTF): Likewise.
(_Jv_JNI_GetStringUTFChars): Likewise.
(_Jv_JNI_NewObjectArray): Likewise.
(_Jv_JNI_NewPrimitiveArray): Likewise.
(_Jv_JNI_GetPrimitiveArrayRegion): Likewise.
(_Jv_JNI_GetStringRegion): Likewise.
(_Jv_JNI_GetStringUTFRegion): Likewise.
(_Jv_JNI_SetPrimitiveArrayRegion): Likewise.
(_Jv_JNI_MonitorEnter): Likewise.
(_Jv_JNI_MonitorExit): Likewise.
(_Jv_JNI_ToReflectedField): Likewise.
(_Jv_JNI_ToReflectedMethod): Likewise.
(_Jv_JNI_RegisterNatives): Likewise.
(_Jv_JNI_AttachCurrentThread): Likewise.
(_Jv_JNI_DestroyJavaVM): Likewise.
From-SVN: r32294
Diffstat (limited to 'libjava/java/lang/natClassLoader.cc')
-rw-r--r-- | libjava/java/lang/natClassLoader.cc | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc index e5ff17e..39ee0ba 100644 --- a/libjava/java/lang/natClassLoader.cc +++ b/libjava/java/lang/natClassLoader.cc @@ -58,15 +58,6 @@ java::lang::ClassLoader::getSystemClassLoader (void) return system; } -void -java::lang::ClassLoader::defineClass2 (jclass klass, jbyteArray data, - jint offset, jint length) -{ -#ifdef INTERPRETER - _Jv_DefineClass (klass, data, offset, length); -#endif -} - java::lang::Class * java::lang::ClassLoader::defineClass0 (jstring name, jbyteArray data, @@ -94,11 +85,11 @@ java::lang::ClassLoader::defineClass0 (jstring name, klass->name = name2; } - // this will do the magic. loadInto also operates - // as an exception trampoline for now... - Throwable *ex = defineClass1 (klass, data, offset, length); - - if (ex) // we failed to load it + try + { + _Jv_DefineClass (klass, data, offset, length); + } + catch (java::lang::Throwable *ex) { klass->state = JV_STATE_ERROR; klass->notifyAll (); @@ -106,15 +97,15 @@ java::lang::ClassLoader::defineClass0 (jstring name, _Jv_UnregisterClass (klass); _Jv_MonitorExit (klass); - + // FIXME: Here we may want to test that EX does // indeed represent a valid exception. That is, // anything but ClassNotFoundException, // or some kind of Error. - + JvThrow (ex); } - + // if everything proceeded sucessfully, we're loaded. JvAssert (klass->state == JV_STATE_LOADED); |