gcc/libjava
Tom Tromey 3610e0d548 [multiple changes]
2001-05-23  Tom Tromey  <tromey@redhat.com>

	* posix-threads.cc (_Jv_self_cache): Renamed from self_cache.
	* gcj/Makefile.in: Rebuilt.
	* gcj/Makefile.am (gcj_HEADERS): Added libgcj-config.h.
	* gcj/javaprims.h: Include gcj/libgcj-config.h.
	* gcj/libgcj-config.h.in: New file.
	* libgcj.spec.in (*jc1): Added @HASH_SYNC_SPEC@.
	* configure: Rebuilt.
	* configure.in: Enable hash synchronization by default on some
	platforms.
	(HASH_SYNC_SPEC): New subst.
	(AC_CONFIG_HEADER): Added gcj/libgcj-config.h.
	Correctly use `test -z' instead of `test -n' in a couple places.
	(JV_HASH_SYNCHRONIZATION): Use AC_DEFINE; don't add to
	LIBGCJ_CXXFLAGS.
	* configure.host (enable_java_net_default): Initialize.
	(enable_hash_synchronization_default): New variable.

2001-05-23  Hans Boehm <Hans_Boehm@hp.com>

	* boehm.cc (_Jv_MarkObj): Don't mark sync_info when hash
	synchronization in use.
	(_Jv_MarkArray): Likewise.
	(_Jv_AllocBytes): Don't check return result.
	(handle_out_of_memory): New function.
	(_Jv_InitGC): Set GC_oom_fn.
	(trace_one_vtable): New global.
	(_Jv_AllocTraceOne): New function.
	* configure.in: Added --enable-hash-synchronization.
	* defineclass.cc, prims.cc, resolve.cc, java/lang/natString.cc,
	java/net/natInetAddress.cc: Remove _Jv_AllocBytesChecked.
	* nogc.cc (_Jv_AllocObj): Throw out-of-memory.
	(_Jv_AllocArray): Likewise.
	(_Jv_AllocBytes): Likewise.
	(_Jv_AllocPtrFreeObject): New function.
	(_Jv_AllocTraceOne): Likewise.
	* posix-threads.cc (_Jv_ThreadRegister): Handle slow
	pthread_self().
	(self_cache): New global.
	(_Jv_ThreadSelf_out_of_line): New function.
	* prims.cc (_Jv_AllocBytesChecked): Removed.
	(_Jv_ThrowNoMemory): New function.
	(_Jv_AllocObject): Don't check for null return from allocator.
	(_Jv_NewObjectArray): Likewise.
	(_Jv_AllocPtrFreeObject): New function.
	(_Jv_NewPrimArray): Allocate pointer-free object if possible.
	* include/javaprims.h (_Jv_AllocPtrFreeObject): Declare.
	(_Jv_MonitorEnter, _Jv_MonitorExit): Don't return value.
	* include/boehm-gc.h (_Jv_AllocObj): Define.
	(_Jv_AllocPtrFreeObj): Define.
	* include/jvm.h (_Jv_AllocPtrFreeObj): Declare.
	(_Jv_ThrowNoMemory): Declare.
	(_Jv_AllocTraceOne): Declare.
	(_Jv_AllocBytesChecked): Removed.
	* include/posix-threads.h (_Jv_MutexInit, _Jv_MutexLock,
	_Jv_MutexUnlock): Handle LOCK_DEBUG.
	(_Jv_ThreadSelf): Handle case where system pthread_self() is
	slow.
	* java/lang/Class.h (Class): Declare _Jv_AllocPtrFreeObj as
	friend.
	* java/lang/Object.h (sync_info): Conditional upon presence of
	hash synchronization.
	* java/lang/natObject.cc: Much new code to handle thin locks and
	hash synchronization.
	* java/lang/natString.cc (_Jv_AllocString): Allocate pointer-free
	object if possible.

From-SVN: r42519
2001-05-24 05:40:37 +00:00
..
doc except.c (choose_personality_routine): Export. 2001-05-13 01:28:18 +00:00
gcj [multiple changes] 2001-05-24 05:40:37 +00:00
gnu Implement invocation interface; don't create new thread for main. 2001-05-21 23:47:48 -07:00
include [multiple changes] 2001-05-24 05:40:37 +00:00
java [multiple changes] 2001-05-24 05:40:37 +00:00
javax/naming InitialContext.java (init): Fix typo. 2001-03-28 01:32:02 +01:00
libltdl configure.in: Update boehm-gc include dir for new GC version. 2001-05-21 09:37:04 +01: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 [multiple changes] 2001-05-24 05:40:37 +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
ChangeLog [multiple changes] 2001-05-24 05:40:37 +00:00
ChangeLog-1999 Rotated ChangeLogs 2000-02-17 22:57:30 +00:00
HACKING * HACKING: new file 2001-02-17 14:24:41 +00:00
LIBGCJ_LICENSE All files: Updated copyright information. 2000-03-07 19:55:28 +00:00
Makefile.am Implement invocation interface; don't create new thread for main. 2001-05-21 23:47:48 -07:00
Makefile.in Implement invocation interface; don't create new thread for main. 2001-05-21 23:47:48 -07:00
NEWS Updated the NEWS 2000-02-15 09:35:51 +00:00
README gcj.texi: Change sources.redhat.com reference to gcc.gnu.org. 2001-02-08 01:49:53 +00:00
THANKS More thanks. 2000-08-14 03:02:50 +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 [multiple changes] 2001-05-24 05:40:37 +00:00
chartables.pl * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
configure [multiple changes] 2001-05-24 05:40:37 +00:00
configure.host [multiple changes] 2001-05-24 05:40:37 +00:00
configure.in [multiple changes] 2001-05-24 05:40:37 +00:00
defineclass.cc [multiple changes] 2001-05-24 05:40:37 +00:00
exception.cc configure.in: Update boehm-gc include dir for new GC version. 2001-05-21 09:37:04 +01:00
gij.cc jv-scan.c (version): Update copyright year. 2001-05-23 19:10:30 +01:00
interpret.cc exception.cc (java_eh_info): Make value type jthrowable. 2001-03-25 23:05:32 -08:00
jni.cc Implement invocation interface; don't create new thread for main. 2001-05-21 23:47:48 -07:00
libgcj-test.spec.in configure: Rebuilt. 2000-03-04 21:50:19 +00:00
libgcj.spec.in [multiple changes] 2001-05-24 05:40:37 +00:00
libgcjdata.c All files: Updated copyright information. 2000-03-07 19:55:28 +00:00
libtool-version * libtool-version: Updated current. 2001-04-05 15:12:41 +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
no-threads.cc Implement invocation interface; don't create new thread for main. 2001-05-21 23:47:48 -07:00
nogc.cc [multiple changes] 2001-05-24 05:40:37 +00:00
posix-threads.cc [multiple changes] 2001-05-24 05:40:37 +00:00
posix.cc re PR libgcj/1351 (_Jv_select -vs- Thread.interrupt) 2001-02-13 18:44:51 +00:00
prims.cc [multiple changes] 2001-05-24 05:40:37 +00:00
resolve.cc [multiple changes] 2001-05-24 05:40:37 +00:00
win32-threads.cc Implement invocation interface; don't create new thread for main. 2001-05-21 23:47:48 -07: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 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://gcc.gnu.org/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://gcc.gnu.org/cgi-bin/gnatsweb.pl?database=gcc