gcc/libjava
Tom Tromey 0f918fea8b [multiple changes]
2000-01-04  Tom Tromey  <tromey@cygnus.com>

	* java/lang/reflect/natConstructor.cc (newInstance): Pass
	declaring class as return_type argument to
	_Jv_CallNonvirtualMethodA.
	* java/lang/reflect/natMethod.cc (_Jv_CallNonvirtualMethodA): In
	constructor case, create object and use it as `this' argument.
	* java/lang/Class.h (_getConstructors): Declare.
	(_getFields): Declare.
	* java/lang/Class.java (getConstructors): Wrote.
	(_getConstructors): New native method.
	(getDeclaredConstructors): Wrote.
	(_getFields): Declare new native method.
	* java/lang/natClass.cc (_Jv_LookupInterfaceMethod): Removed
	incorrect comment.
	(getMethod): Work correctly when class is primitive.
	(getDeclaredMethods): Likewise.  Compute offset using `method',
	not `mptr'.
	(getDeclaredMethod): Likewise.
	(getConstructor): Wrote.
	(ConstructorClass): New define.
	(getDeclaredConstructor): Wrote.
	(_getConstructors): New method.
	(_getFields): New method.
	(getFields): Wrote.

	* Makefile.in: Rebuilt.
	* Makefile.am (AM_CXXFLAGS): Added -D_GNU_SOURCE.

	* prims.cc: Remove `#pragma implementation'.
	* gcj/array.h: Remove `#pragma interface'.

	* prims.cc (_Jv_equaln): New function.
	* java/lang/Class.java (getSignature): Declare.
	* resolve.cc (_Jv_LookupDeclaredMethod): Moved to natClass.cc.
	* java/lang/natClass.cc (_Jv_LookupDeclaredMethod): Moved from
	resolve.cc.
	(getSignature): New method.
	(getDeclaredMethod): Wrote.
	(getMethod): Wrote.
	Include StringBuffer.h.
	* java/lang/Class.h (Class): Added _Jv_FromReflectedConstructor
	as a friend.  Unconditionally declare _Jv_LookupDeclaredMethod as
	a friend.
	(getSignature): Declare.
	* include/jvm.h (_Jv_GetTypesFromSignature): Declare.
	(_Jv_equaln): Declare.
	(_Jv_CallNonvirtualMethodA): Declare.
	* Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Added natConstructor.cc.
	(java/lang/reflect/Constructor.h): New target.
	* java/lang/reflect/natConstructor.cc: New file.
	* java/lang/reflect/Constructor.java (newInstance): Now native.
	(declaringClass): Renamed from decl_class.
	(offset): Renamed from index.
	(getType): New native method.
	(getModifiers): Now native.
	(getParameterTypes): Call getType if required.
	(hashCode): Include hash code from declaring class.
	(modifiers): Removed.
	(toString): Call getType if required.
	* gcj/method.h (_Jv_FromReflectedConstructor): New function.
	* java/lang/reflect/natMethod.cc (hack_call): New method.
	Removed `#if 0' around FFI code.
	Include <gnu/gcj/RawData.h>.
	(invoke): Use _Jv_CallNonvirtualMethodA.  Throw
	IllegalArgumentException when argument object and class disagree.
	(_Jv_GetTypesFromSignature): New function.
	(getType): Use it.
	(ObjectClass): New define.
	(_Jv_CallNonvirtualMethodA): New function.
	* java/lang/reflect/Method.java (hack_trampoline): New method.
	(hack_call): New native method.

1999-12-21  Per Bothner  <per@bothner.com>

	* java/lang/natClass.cc (getDeclaredMethods): Correctly compute
	offset in new Method.

From-SVN: r31199
2000-01-04 08:46:52 +00:00
..
doc configure: Rebuilt. 1999-10-13 00:00:35 +00:00
gcj [multiple changes] 2000-01-04 08:46:52 +00:00
gnu/gcj Actually removed files which were supposedly 1999-11-03 19:25:13 +00:00
include [multiple changes] 2000-01-04 08:46:52 +00:00
java [multiple changes] 2000-01-04 08:46:52 +00:00
testsuite [multiple changes] 2000-01-04 08:46:52 +00:00
COPYING.LIB Initial revision 1999-04-07 14:42:40 +00:00
ChangeLog [multiple changes] 2000-01-04 08:46:52 +00:00
LIBGCJ_LICENSE Initial revision 1999-04-07 14:42:40 +00:00
Makefile.am [multiple changes] 2000-01-04 08:46:52 +00:00
Makefile.in [multiple changes] 2000-01-04 08:46:52 +00:00
NEWS [multiple changes] 1999-08-08 14:06:23 +00:00
README README: New file. 1999-09-30 03:17:36 +01:00
THANKS Updated the thanks list. 1999-12-03 03:00:39 +00:00
acconfig.h natSystem.cc (init_properties): Don't set user.name or user.home if NO_GETUID defined. 1999-12-15 22:38:56 +00:00
acinclude.m4 aclocal.m4, configure: Rebuilt. 1999-09-28 20:14:11 +00:00
aclocal.m4 exception.cc: Remove prototype declarations for malloc and free. 1999-11-29 19:43:55 +00:00
boehm.cc boehm.cc (_Jv_GCSetInitialHeapSize): Swapped size & current. 1999-11-05 17:34:32 +00:00
chartables.pl Initial revision 1999-04-07 14:42:40 +00:00
classes.pl configure: Rebuilt. 1999-09-10 22:03:10 +00:00
configure Alpha Linux changes. 1999-12-20 05:55:34 +00:00
configure.host sjlj jumbo patch 1999-11-19 19:13:42 +00:00
configure.in Alpha Linux changes. 1999-12-20 05:55:34 +00:00
defineclass.cc configure: Rebuilt. 1999-09-10 22:03:10 +00:00
exception.cc exception.cc: Remove prototype declarations for malloc and free. 1999-11-29 19:43:55 +00:00
gij.cc sjlj jumbo patch 1999-11-19 19:13:42 +00:00
interpret.cc configure: Rebuilt. 1999-09-10 22:03:10 +00:00
jni.cc configure: Rebuilt. 1999-09-10 22:03:10 +00:00
libgcj.spec.in libgcjdata.c: New file. 1999-12-20 02:18:11 +00:00
libgcjdata.c libgcjdata.c: New file. 1999-12-20 02:18:11 +00:00
libtool-version libtool-version: Catch up by incrementing current. 1999-10-15 06:07:41 +00:00
mauve-libgcj * mauve-libgcj: Added java.lang.reflect.Modifier.toString12. 1999-12-21 23:50:01 +00:00
no-threads.cc * no-threads.cc (_Jv_ThreadStart): Use JvFail and not JvAssert. 1999-11-18 07:32:50 +00:00
nogc.cc Makefile.in: Rebuilt. 1999-10-22 19:43:41 +00:00
posix-threads.cc natObject.cc (notify): Throw message with IllegalMonitorStateException. 1999-12-24 01:00:46 +00:00
prims.cc [multiple changes] 2000-01-04 08:46:52 +00:00
resolve.cc [multiple changes] 2000-01-04 08:46:52 +00:00

README

This is libgcj: the runtime library for gcj, the GNU Compiler for Java. 
libgcj provides a partial implementation of the Java Class Libraries.

libgcj is free software.  See the file COPYING.LIB for copying permission.


DOCUMENTATION
=============

All documentation, including detailed installation and usage instructions,
can be found on the gcj web pages at the following URL:

		http://sourceware.cygnus.com/java/


QUICK INSTALLATION
==================

  > mkdir build
  > cd build
  > ../libgcj/configure --enable-java-gc=<GC TYPE> \
    --enable-threads=<THREADS TYPE>
  > make
  > make install

where:

<GC TYPE> specifies the Garbage Collection library to be used by libgcj. 
Currently the only supported value is "boehm".

<THREADS TYPE> specifies the threads library to be used by libgcj. Currently 
the possible values are "posix" and "none". This value must be the same as
the value used when configuring gcc itself.

Consult the gcj web pages for additional "configure" arguments.

NOTE: libgcj can not be configured/built in the source directory. You must
create a separate build directory. 


BUGS
====

Please submit bug reports to the following URL:

	http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?database=java