gcc/libjava
Bryce McKinlay 5bb11b2e20 In gcc/java:
* class.c (make_class_data): Push initial value for "arrayclass".
	* decl.c (init_decl_processing): Add new class field "arrayclass".

In libjava:
	* java/lang/Class.h (_Jv_InitClass): Use __builtin_expect.
	(_Jv_NewArrayClass): Renamed from _Jv_FindArrayClass.
	(_Jv_GetArrayClass): New inline function.
	(arrayclass): New field.
	* prims.cc (_Jv_NewObjectArray): Use _Jv_GetArrayClass. Don't use
	_Jv_GetArrayElementFromElementType.
	(_Jv_NewPrimArray): Ditto.
	(_Jv_PrimClass constructor): Initialize "depth", "ancestors", and
	"idt" for completeness. Initialze "arrayclass" using _Jv_NewArrayClass.
	Set Modifier::ABSTRACT.
	* java/lang/natClassLoader.cc (_Jv_NewClass): Initialize "arrayclass".
	(_Jv_NewArrayClass): Renamed from _Jv_FindArrayClass. Now void.
	Now synchronized. Array classes are now referenced from
	elementClass->arrayclass. Don't use _Jv_FindClassInCache.
	Set array classes' accessibility flags correctly. Optimize so that
	all array classes share the same IDT.
	* java/lang/reflect/natArray.cc (newInstance): Use _Jv_GetArrayClass.
	* java/lang/reflect/natMethod.cc (_Jv_GetTypesFromSignature): Ditto.
	* java/lang/natClass.cc (_getFields): Increment offset. Prevent fields
	in superclasses from overwriting classes own fields.
	(_Jv_IsAssignableFrom): Check for NULL source idt instead of calling
	Modifier::isAbstract().
	(null_idt): New static field.
	(_Jv_PrepareConstantTimeTables): Optimize case where class implements
	no interfaces.
	(_Jv_IndexOf): Made inline.
	* boehm.cc (_Jv_MarkObj): Mark "arrayclass" field.

From-SVN: r38808
2001-01-08 23:28:56 +00:00
..
doc 001-01-07 Anthony Green <green@redhat.com> 2001-01-08 00:27:51 +00:00
gcj * gcj/javaprims.h: Rebuilt CNI namespace declarations. 2000-12-11 07:50:52 +00:00
gnu FirstThread.java (Kcert, [...]): New static final fields. 2000-12-12 00:32:02 +00:00
include For boehm-gc: 2000-12-30 12:18:39 +00:00
java In gcc/java: 2001-01-08 23:28:56 +00:00
javax/naming More new classes. 2000-11-27 08:44:59 +00:00
libltdl * Updated from libtool multi-language branch. 2000-09-10 08:04:40 +00:00
scripts 001-01-07 Anthony Green <green@redhat.com> 2001-01-08 00:27:51 +00:00
sysdep Jumbo patch: 2000-05-19 17:55:34 +00:00
testsuite * libjava.compile/SuperConstr.java: New test case. 2001-01-08 02:13:32 +00:00
acconfig.h JVMPI changes... 2000-04-02 15:34:17 +00:00
acinclude.m4 configure.in (LIBDATASTARTSPEC): Use `%s' to search for libgcjdata.a. 2000-09-13 19:01:20 +00:00
aclocal.m4 Looks like Tom forgot to check this in... 2000-09-14 08:01:12 +00:00
addr2name.awk Jumbo patch: 2000-05-19 17:55:34 +00:00
boehm.cc In gcc/java: 2001-01-08 23:28:56 +00:00
ChangeLog In gcc/java: 2001-01-08 23:28:56 +00:00
ChangeLog-1999 Rotated ChangeLogs 2000-02-17 22:57:30 +00:00
chartables.pl * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
configure configure.in: Remove check for -fuse-divide-subroutine. 2000-12-11 04:37:14 +00:00
configure.host Recognize alpha*-*. 2000-12-11 02:30:14 +00:00
configure.in configure.in: Remove check for -fuse-divide-subroutine. 2000-12-11 04:37:14 +00:00
COPYING COPYING: Update to current ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes... 2000-12-18 09:12:19 +00:00
defineclass.cc From Arno J. Klaassen: 2000-10-20 23:25:57 +00:00
exception.cc exception.cc: Don't #include "exception". 2000-10-13 05:45:57 +01:00
gij.cc natSystem.cc (init_properties): Change sourceware reference to sources.redhat.com. 2000-08-21 06:05:20 +00:00
interpret.cc From Arno J. Klaassen: 2000-10-20 23:25:57 +00:00
jni.cc jni.cc: Added include of java/lang/ThreadGroup.h. 2000-11-01 00:18:03 +00:00
LIBGCJ_LICENSE All files: Updated copyright information. 2000-03-07 19:55:28 +00:00
libgcj-test.spec.in configure: Rebuilt. 2000-03-04 21:50:19 +00:00
libgcj.spec.in Implement bitmap descriptor based marking for Boehm GC. 2000-09-30 10:56:58 +01:00
libgcjdata.c All files: Updated copyright information. 2000-03-07 19:55:28 +00:00
libtool-version libtool-version: Catch up by incrementing current. 1999-10-15 06:07:41 +00:00
Makefile.am re PR java/1586 (linux build problem for libjava - cpplib (?)) 2001-01-08 22:55:15 +00:00
Makefile.in re PR java/1586 (linux build problem for libjava - cpplib (?)) 2001-01-08 22:55:15 +00:00
mauve-libgcj mauve-libgcj: Turned on JDK1.2 and turned off tests for classes that aren't quite 1.2... 2000-12-01 10:04:02 +00:00
name-finder.cc name-finder.cc (lookup): Check for a NULL _Jv_argv before attempting lookup. 2000-11-23 05:45:47 +00:00
NEWS Updated the NEWS 2000-02-15 09:35:51 +00:00
no-threads.cc All files: Updated copyright information. 2000-03-07 19:55:28 +00:00
nogc.cc For boehm-gc: 2000-12-30 12:18:39 +00:00
posix-threads.cc For boehm-gc: 2000-12-30 12:18:39 +00:00
posix.cc Makefile.in: Rebuilt. 2000-08-02 21:54:04 +00:00
prims.cc In gcc/java: 2001-01-08 23:28:56 +00:00
README Updated again. 2000-03-09 22:42:01 +00:00
resolve.cc natField.cc (BooleanClass): Don't define. 2000-10-06 01:49:32 +00:00
THANKS More thanks. 2000-08-14 03:02:50 +00:00
win32-threads.cc For boehm-gc: 2000-12-30 12:18:39 +00:00

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 LIBGCJ_LICENSE for copying permission.


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

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

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


REQUIREMENTS
============

libgcj must be built with a compatible version of the gcc compiler. libgcj
releases are usually numbered according to their corresponding gcc release.
For example, if this is "libgcj 2.95.3", you need to build it using "gcc
2.95.3".


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

  > mkdir build
  > cd build
  > ../libgcj/configure --enable-threads=<THREADS_TYPE> --prefix=<DIR>
  > make
  > make install

where:

<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.

<DIR> specifies the installation directory. This should be the same location 
as where gcc is installed.

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

NOTE: libgcj can not be built in the same directory as `configure'. You must 
create a separate build directory. 


BUGS
====

Please submit bug reports via this URL:

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