head	1.6;
access;
symbols
	pre-cni-catch-change:1.6
	libgcj-2_95_1-release:1.1.2.1
	libgcj-2_95-release:1.1.2.1
	libgcj-2_95-branch:1.1.0.2;
locks; strict;
comment	@# @;


1.6
date	2000.02.15.09.35.51;	author bryce;	state Exp;
branches;
next	1.5;

1.5
date	2000.02.15.08.51.29;	author bryce;	state Exp;
branches;
next	1.4;

1.4
date	2000.01.19.23.08.05;	author bryce;	state Exp;
branches;
next	1.3;

1.3
date	99.08.08.14.06.19;	author green;	state Exp;
branches;
next	1.2;

1.2
date	99.08.01.04.04.04;	author tromey;	state Exp;
branches;
next	1.1;

1.1
date	99.08.01.03.57.30;	author tromey;	state dead;
branches
	1.1.2.1;
next	;

1.1.2.1
date	99.08.01.03.57.30;	author tromey;	state Exp;
branches;
next	;


desc
@@


1.6
log
@Updated the NEWS
@
text
@New in libgcj X.XX:

* libgcj now includes a bytecode interpreter. If a compiled version of a class 
is not found in the application binary or linked shared libraries, the
class loader will search for a bytecode version in the CLASSPATH and execute
it using the interpreter. A new front end that behaves like the traditional
`java' command is also provided: `gij'.

* Support for specifying java system properties. Properties can either be set 
at runtime via the GCJ_PROPERTIES environment variable in the format 
"<name>=<value> ..."'; or can be compiled into an application binary using 
-D<name>=<value>.

* Support for setjmp/longjmp (sjlj) exception handling has been added, as an
alternative to the existing range-table based mechanism. sjlj is the default
on non-sparc, non-x86 targets, or can be specified with the 
`--enable-sjlj-exceptions' configure parameter.

* Complete JDK 1.1 reflection support, including invocation.

* Throwable.printStackTrace() has been implemented.

* Runtime.loadLibrary() has been implemented.

* Class.forName() will now try to load a series of shared objects in order 
to find the requested class.  If a class `gnu.quux.whatever' is requested, 
libgcj will search the system shared library path (eg LD_LIBRARY_PATH) for 
`gnu-quux-whatever.so', then `gnu-quux.so', and finally `gnu.so'.

* A pure-java implementation of java.math.BigInteger.

New in libgcj 2.95:

* First public release
@


1.5
log
@Updated the NEWS
@
text
@d7 1
a7 1
`java' command is provided: `gij'.
d15 1
a15 1
alternative to the existing range-table based mechanism. sljl is the default
d23 6
a28 4
* Runtime.loadLibrary() has been implemented. In addition, Class.forName() 
will try to load a series of shared objects in order to find the requested 
class.  If a class `gnu.quux.whatever' is requested, libgcj will first look 
for `gnu-quux-whatever.so', then `gnu-quux.so', and finally `gnu.so'.
@


1.4
log
@Updated NEWS file.
@
text
@d3 5
a7 1
* libgcj now includes a bytecode interpreter.
d9 9
a17 2
* Support for specifying java system properties, both compiled in to the
application and at runtime via an environment variable.
d21 1
a21 2
* Support for setjmp/longjmp (sjlj) exception handling has been added, as an
alternative to the existing range-table based mechanism.
d23 4
a26 1
* Throwable.printStackTrace() has been implemented.
d28 1
a28 2
* Runtime.loadLibrary() has been implemented, and Class.forName() can now
dynamically load shared objects in order to find a requested class.
@


1.3
log
@1999-08-09  Anthony Green  <green@@cygnus.com>

        * gij.cc: New file.

        * include/config.h.in: Rebuilt.
        * acconfig.h: Add INTERPRETER.

        * configure: Rebuilt.

        * Makefile.in: Rebuilt.
        * Makefile.am (libffi_files): Identify the libffi object files for
        inclusion in libgcj.
        (LIBFFIINCS): Define.

        * interpret.cc (gnu::gcj::runtime::MethodInvocation::continue1):
        Dummy definition for configurations without an interpreter.

        * java/net/natPlainSocketImpl.cc (getOption): Disamiguate call to
        java::lang::Boolean constructor.

        * include/java-interp.h: Always include java-cpool.h.

        * java/lang/natClassLoader.cc (getVMClassLoader0): Always return 0
        when INTERPRETER not defined.

        * java/lang/Class.h (finalize): Define.

        * gnu/gcj/util/path/DirectoryPathEntry.java (getURL): Catch
        IOException from File.getCanonicalPath.
        (getStream): Likewise.

        * NEWS: More news.
        * THANKS: More thanks.

1999-08-09  Kresten Krab Thorup  <krab@@gnu.org>

        * resolve.cc (get_ffi_type_from_signature): Generate uint16 for
        jchar type.
        (_Jv_PrepareClass): Allow non-abstract classes to
        have abstract subclasses.
        (_Jv_ResolvePoolEntry): Revert subclass check for protected
        fields and methods.
        * interpret.cc (continue1/perform_invoke): Don't sign extend
        uint16 return val.
        (continue1/lshl,lshr): Push long, not int.
        (continue1/ulshr): Use UINT64, not long long.
        * defineclass.cc (handleFieldsEnd): Handle case when all fields
        are static.
        * java/lang/natClass.cc (forName): Add call to _Jv_InitClass.
        * java/lang/FirstThread.java (run): Add top-level exception
        handler.
        (run0): Renamed from run.

1999-08-08  Kresten Krab Thorup  <krab@@gnu.org>

        * configure.in (--with-interpreter): Added.
        * include/config.h.in (INTERPRETER): Added.

        * java/lang/ClassLoader.java: File replaced.
        * java/lang/VMClassLoader.java: New file.
        * java/lang/natClassLoader.cc: New file.
        * gnu/gcj/runtime/MethodInvocation.java: New file.
        * gnu/gcj/util/path/SearchPath.java: New file.
        * gnu/gcj/util/path/PathEntry.java: New file.
        * gnu/gcj/util/path/DirectoryPathEntry.java: New file.
        * gnu/gcj/util/path/ZipPathEntry.java: New file.
        * gnu/gcj/util/path/URLPathEntry.java: New file.
        * gnu/gcj/util/path/CacheEntry.java: New file.
        * include/java-interp.h: New file.
        * include/java-cpool.h: New file.
        * include/java-insns.h: New file.
        * defineclass.cc: New file.
        * interpret.cc: New file.
        * resolve.cc: New file.

        * java/lang/natClass.cc (loaded_classes, _Jv_RegisterClass,
        _Jv_RegisterClasses, _Jv_FindClassInCache, _Jv_FindClass,
        _Jv_NewClass, _Jv_FindArrayClass): Moved to natClassLoader.cc.
        (finalize): New.
        (STATE_NOTHING, STATE_RESOLVED, STATE_IN_PROGRESS, STATE_DONE,
        STATE_ERROR): Moved to java/lang/Class.h and renamed with JV_
        prefix.
        (initializeClass): Use new JV_ prefixed names.  Also, call
        ClassLoader::resolveClass instead of _Jv_ResolveClass.

        * java/lang/Class.h (JV_STATE_PRELOADING, JV_STATE_LOADING,
        JV_STATE_LOADED, JV_STATE_COMPILED, JV_STATE_PREPARED,
        JV_STATE_LINKED): New.
        (_Jv_WaitForState, _Jv_RegisterInitiatingLoader,
        _Jv_UnregisterClass, _Jv_InternClassStrings): New friends.
        (_Jv_IsInterpretedClass, _Jv_InitField, _Jv_LookupDeclaredMethod,
        _Jv_DetermineVTableIndex, _Jv_ResolvePoolEntry, _Jv_PrepareClass,
        _Jv_ClassReader, _Jv_InterpClass, _Jv_InterpMethod,
        _Jv_InterpMethodInvocation): New friends for interpreter.
        (finalize): New.
        (CONSTANT_Class, CONSTANT_String, etc.): Moved to
        include/java-cpool.h and renamed with JV_ prefix.

        * include/jvm.h (_Jv_makeUtf8Const, _Jv_makeUtf8TypeConst): New
        decls.
        (_Jv_UnregisterClass): New decl.

        * java/lang/natClassLoader.cc (_Jv_FindArrayClass): Added
        class loader argument.
        (_Jv_FindClass): Use class loader.

        * prims.cc (_Jv_makeUtf8Const): New function.
        (_Jv_NewObjectArray): Change use of _Jv_FindArrayClass.
        (_Jv_NewPrimArray): Ditto.
        (_Jv_FindClassFromSignature): Ditto.
        * java/lang/reflect/natArray.cc (newInstance): Ditto.
        * java/lang/reflect/natMethod.cc (getType): Ditto.

        * include/java-field.h (_Jv_Field::isRef): Make robust for
        non-resolved contexts.

        * boehm.cc (_Jv_MarkObj): Mark interpreter-related fields.
        Also, don't mark class->next field.

        * java/lang/VirtualMachineError.java: Added FIXME note.

        * configure.in (INTERPSPEC): New spec.
        * libgcj.spec.in: Added INTERPSPEC.
        * Makefile.am: Added gcjh friends for java/lang/VMClassLoader and
        gnu/gcj/runtime/MethodInvocation.
        (libgcj_la_SOURCES): Added resolve.cc defineclass.cc interpret.cc.
        (ordinary_java_source_files): Added above mentioned java classes.

        * configure: Rebuilt.
        * Makefile.in: Rebuilt.
@
text
@d5 13
@


1.2
log
@	* NEWS: Likewise.
	* THANKS: New file.
@
text
@d1 4
@


1.1
log
@file NEWS was initially added on branch libgcj-2_95-branch.
@
text
@d1 3
@


1.1.2.1
log
@	* NEWS: Likewise.
	* THANKS: New file.
@
text
@a0 3
New in libgcj 2.95:

* First public release
@

