gcc/libjava ChangeLog verify.cc resolve.cc pri ...

aph@gcc.gnu.org aph@gcc.gnu.org
Fri Apr 16 12:49:00 GMT 2004


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcj-abi-2-dev-branch
Changes by:	aph@gcc.gnu.org	2004-04-16 12:49:57

Modified files:
	libjava        : ChangeLog verify.cc resolve.cc prims.cc 
	                 defineclass.cc Makefile.in Makefile.am 
	libjava/java/lang: natClassLoader.cc natClass.cc 
	                   VMSecurityManager.java SecurityManager.java 
	                   ClassLoader.java Class.h 
	libjava/java/io: ObjectOutputStream.java ObjectInputStream.java 
	                 natObjectInputStream.cc 
	libjava/include: jvm.h 
	libjava/gnu/javax/rmi/CORBA: DelegateFactory.java 
	libjava/gnu/gcj/runtime: SharedLibHelper.java 
	libjava/java/lang/reflect: natMethod.cc 
Added files:
	libjava/gnu/gcj/util: natDebug.cc Debug.java 

Log message:
	2004-04-16  Andrew Haley  <aph@redhat.com>
	
	* java/lang/natClassLoader.cc (_Jv_WaitForState): Call
	_Jv_LayoutClass.
	(_Jv_PrepareCompiledClass): Cast address to uaddr for comparison.
	(_Jv_PrepareCompiledClass): If we throw an exception during
	preparation, restore state.
	(ClassLoader::getClassLoader0): New method.
	
	* java/lang/natClass.cc (get_alignment_from_class): Moved here
	from resolve.cc.
	(ALIGNOF): Use offsetof, not __alignof__.
	(_Jv_ResolveClassRef): Resolve a reference to a class in a
	constant pool.
	(getInterfaces): Emit debug output if interface hasn't been
	resolved.
	(initializeClass): Call _Jv_LayoutClass.
	(_Jv_LinkSymbolTable): Add debugging output.
	(_Jv_LinkSymbolTable): NoClassDefFoundError if target_class isn't
	found.
	(_Jv_LinkSymbolTable): Call _Jv_PrepareClass.
	(_Jv_LinkSymbolTable): Pass the real class loader to
	_Jv_FindClass.
	(_Jv_linkExceptionClassTable): Don't throw if we fail to find an
	exception class.
	(_Jv_LinkSymbolTable): Assert if we find a static field reference
	to an interpreted class.
	(_Jv_LayoutVTableMethods): Use klass->getSuperclass to get the
	superclass.
	(_Jv_LayoutClass): Moved here; it was part of _Jv_PrepareClass in
	resolve.cc.
	
	* java/lang/VMSecurityManager.java: Check for the system class
	loader as well as loader != null.
	
	* java/lang/SecurityManager.java (checkPermission): Remove
	security check.
	(checkRead): Likewise.
	(checkConnect): Likewise.
	
	* java/lang/ClassLoader.java (loadClass): Include all class
	loaders in stack trace string.
	Look for class in "gcjlib.so" in the same directory.
	(getSystemClassLoader) Use getClassLoader0.
	(getClassLoader0): New native method.
	
	* java/lang/Class.h (getSuperclass): New method.
	(getInterface): New method.
	(size): Lay out class if needed.
	(firstMethodIndex): New method.
	(Jv_ResolveClassRef): New declaration.
	(_Jv_LinkSymbolTable): New declaration.
	
	* java/io/ObjectOutputStream.java: Add DEBUG statements
	everywhere.
	(dumpElementln): New method.
	(depth): New field.
	* java/io/ObjectInputStream.java (MyIOException): new, for
	debugging.
	Everywhere: use MyIOException rather than IOException.
	Indent debugging output to make nesting visible.
	(currentClassLoader): Make native
	(callersClassLoader): New field.
	(depth): New field.
	* java/io/natObjectInputStream.cc (getCallersClassLoader): New
	method.
	
	(readObject): ENDBLOCKDATA is generated if the class has a write
	method, not if it has a read method.
	
	* include/jvm.h (_Jv_CallAnyMethodA): Add new arg, iface.
	
	* gnu/javax/rmi/CORBA/DelegateFactory.java: Use the
	getContextClassLoader form the current thread after our own class
	loader.
	
	* gnu/gcj/runtime/SharedLibHelper.java (findClass): Class loader
	debugging.
	(toString): New method.
	
	* verify.cc (class _Jv_BytecodeVerifier): Don't directly access
	interfaces array.
	
	* resolve.cc (_Jv_PrepareMissingMethods): If interface looks like
	a constant pool entry, resolve it now.
	(_Jv_PrepareClass): Break out part of this function to Jv_LayoutClass
	in natClass.cc.
	Move  get_alignment_from_class to natClass.cc.
	
	* prims.cc (_Jv_AllocObjectNoFinalizer): Use size field from class.
	(_Jv_AllocObjectNoInitNoFinalizer): Likewise.
	
	* defineclass.cc (checkExtends): Don't access superclass field
	directly.
	
	* Makefile.in: regenerate.
	
	* gnu/gcj/util/natDebug.cc: New
	* gnu/gcj/util/Debug.java: New.
	
	* Makefile.am (java/io/ObjectInputStream.lo): Use
	-fno-optimize-sibling-calls.
	
	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Use
	_Jv_LookupInterfaceMethodIdx to calculate the address of a method
	in an interface.
	* include/jvm.h (_Jv_CallAnyMethodA): Add new arg: iface.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.2729&r2=1.2729.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/verify.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.62&r2=1.62.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/resolve.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.44&r2=1.44.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/prims.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.87&r2=1.87.10.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/defineclass.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.35&r2=1.35.16.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/Makefile.in.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.392&r2=1.392.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/Makefile.am.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.368&r2=1.368.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/lang/natClassLoader.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.64&r2=1.64.8.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/lang/natClass.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.75&r2=1.75.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/lang/VMSecurityManager.java.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.2&r2=1.2.38.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/lang/SecurityManager.java.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.10&r2=1.10.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/lang/ClassLoader.java.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.31&r2=1.31.18.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/lang/Class.h.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.63&r2=1.63.12.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/io/ObjectOutputStream.java.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.24&r2=1.24.12.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/io/ObjectInputStream.java.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.30&r2=1.30.4.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/io/natObjectInputStream.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.6&r2=1.6.28.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/include/jvm.h.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.63&r2=1.63.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/gnu/javax/rmi/CORBA/DelegateFactory.java.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.2&r2=1.2.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/gnu/gcj/runtime/SharedLibHelper.java.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.1&r2=1.1.32.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/gnu/gcj/util/natDebug.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/gnu/gcj/util/Debug.java.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/lang/reflect/natMethod.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.37&r2=1.37.4.1



More information about the Gcc-cvs mailing list