diff options
author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-12-19 19:31:55 +0000 |
---|---|---|
committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-12-19 19:31:55 +0000 |
commit | 5b95f2fbe3524a457852346c5dc8a317373c59ff (patch) | |
tree | f9577aaed149db0eda3cc774a016793bce9754d6 /libjava/include/java-interp.h | |
parent | 8f816fc2d39e30aa1dc84bcbd58ba296cf9fec1a (diff) | |
download | gcc-5b95f2fbe3524a457852346c5dc8a317373c59ff.tar.gz |
* java/lang/natClassLoader.cc (defineClass0): Removed erroneous
comment.
* java/lang/ClassLoader.java (defineClass): Use chained
exception when rethrowing.
* defineclass.cc (handleClassBegin): Mark class as interpreted.
* java/lang/reflect/Modifier.java (INVISIBLE, INTERPRETED): New
constants.
* resolve.cc (_Jv_PrepareMissingMethods): New function.
(_Jv_PrepareClass): Use it.
* include/java-interp.h (_Jv_IsInterpretedClass): Rewrote.
(_Jv_InterpClass): _Jv_PrepareMissingMethods now friend.
* java/lang/Class.h (Class::getModifiers): Mask with ALL_FLAGS.
(Class): _Jv_PrepareMissingMethods now friend.
* java/lang/natClassLoader.cc (defineClass0): Use JvSynchronize.
Record `NULL' for system class loader.
(_Jv_RegisterInitiatingLoader): Use JvSynchronize. Special case
system class loader.
(_Jv_FindClassInCache): Likewise.
(_Jv_UnregisterClass): Use JvSynchronize. Free old loader info.
(_Jv_FindClass): Special case system class loader.
* java/lang/natClass.cc (_Jv_abstractMethodError): New function.
(_Jv_SetVTableEntries): Put _Jv_abstractMethodError into empty
vtable slots.
(_Jv_LayoutVTableMethods): Don't generate vtable slot for a method
in a final class.
(_getDeclaredMethod): Don't return synthetic methods.
(getDeclaredMethods): Likewise.
(_getMethod): Likewise.
(_getMethods): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60319 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/include/java-interp.h')
-rw-r--r-- | libjava/include/java-interp.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libjava/include/java-interp.h b/libjava/include/java-interp.h index a44db38ca85..a00f4db0a1d 100644 --- a/libjava/include/java-interp.h +++ b/libjava/include/java-interp.h @@ -21,6 +21,7 @@ details. */ #include <java/lang/Class.h> #include <java/lang/ClassLoader.h> +#include <java/lang/reflect/Modifier.h> #include <gnu/gcj/runtime/StackTrace.h> extern "C" { @@ -30,7 +31,7 @@ extern "C" { extern inline jboolean _Jv_IsInterpretedClass (jclass c) { - return (c->loader != 0); + return (c->accflags & java::lang::reflect::Modifier::INTERPRETED) != 0; } struct _Jv_ResolvedMethod; @@ -158,6 +159,7 @@ class _Jv_InterpClass : public java::lang::Class friend class _Jv_ClassReader; friend class _Jv_InterpMethod; friend void _Jv_PrepareClass(jclass); + friend void _Jv_PrepareMissingMethods (jclass base2, jclass iface_class); friend void _Jv_InitField (jobject, jclass, int); #ifdef JV_MARKOBJ_DECL friend JV_MARKOBJ_DECL; |