* java/lang/natClassLoader.cc (defineClass0): Removed erroneous
comment.
* java/lang/ClassLoader.java (defineClass): Use chained
exception when rethrowing.
* defineclass.cc (handleClassBegin): Mark class as interpreted.
* java/lang/reflect/Modifier.java (INVISIBLE, INTERPRETED): New
constants.
* resolve.cc (_Jv_PrepareMissingMethods): New function.
(_Jv_PrepareClass): Use it.
* include/java-interp.h (_Jv_IsInterpretedClass): Rewrote.
(_Jv_InterpClass): _Jv_PrepareMissingMethods now friend.
* java/lang/Class.h (Class::getModifiers): Mask with ALL_FLAGS.
(Class): _Jv_PrepareMissingMethods now friend.
* java/lang/natClassLoader.cc (defineClass0): Use JvSynchronize.
Record `NULL' for system class loader.
(_Jv_RegisterInitiatingLoader): Use JvSynchronize. Special case
system class loader.
(_Jv_FindClassInCache): Likewise.
(_Jv_UnregisterClass): Use JvSynchronize. Free old loader info.
(_Jv_FindClass): Special case system class loader.
* java/lang/natClass.cc (_Jv_abstractMethodError): New function.
(_Jv_SetVTableEntries): Put _Jv_abstractMethodError into empty
vtable slots.
(_Jv_LayoutVTableMethods): Don't generate vtable slot for a method
in a final class.
(_getDeclaredMethod): Don't return synthetic methods.
(getDeclaredMethods): Likewise.
(_getMethod): Likewise.
(_getMethods): Likewise.
From-SVN: r60319
* include/win32.h (_Jv_platform_solib_prefix): New define.
(_Jv_platform_solib_suffix): Likewise.
* include/posix.h (_Jv_platform_solib_prefix): New define.
(_Jv_platform_solib_suffix): Likewise.
* java/lang/natRuntime.cc: Include StackTrace.h.
(_load): Use findLibrary and new platform defines.
(nativeGetLibname): Use new platform defines.
From-SVN: r59976
2002-12-03 Andrew Haley <aph@redhat.com>
* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Call
_Jv_PushClass.
(_Jv_InitNewClassFields): Set protectionDomain and chain = NULL.
(_Jv_PopClass): New.
(_Jv_PushClass): New.
* java/lang/natClass.cc (forName (jstring)): Use a StackTrace to
discover the ClassLoader of our caller.
(_Jv_CheckArrayStore): Don't check that a class is assignment
compatible with Object.
* java/lang/natVMTHrowable.cc: Delete.
* gnu/gcj/runtime/StackTrace.java: New, partly copied from
java.lang.VMThrowable.
(StackTrace(), StackTrace(int)): New constructors.
(classAt, methodAt, update, methodAtAddress): New methods.
(map): New field.
* java/lang/VMThrowable.java: Use StackTrace instead of
natVMTHrowable.
* java/lang/Class.h (getClassLoaderInternal): New.
(class Class): Be friendly with _Jv_PopClass and _Jv_PushClass.
Be friendly with gnu::gcj::runtime::StackTrace.
(Object.chain): New field.
* include/java-interp.h (class _Jv_InterpMethod): Be friendly with
gnu::gcj::runtime::StackTrace.
* prims.cc (_Jv_NewObjectArray): Use getClassLoaderInternal()
instead of getClassLoader().
* verify.cc (class _Jv_BytecodeVerifier): Likewise.
java::lang::VMThrowable.
* Makefile.am (core_java_source_files): Add MethodRef.java,
StackTrace.java.
(nat_source_files): Remove natVMThrowable.cc; add natStackTrace.cc.
* Makefile.in: Rebuild.
2002-12-03 Andrew Haley <aph@redhat.com>
* class.c (make_class_data): New field, "chain".
* decl.c (java_init_decl_processing): Likewise.
From-SVN: r59769
* include/posix.h:
(_Jv_platform_on_close): Moved out of #ifndef DISBALE_JAVA_NET.
* include/win32.h:
(_Jv_platform_on_close): Moved out of #ifndef DISBALE_JAVA_NET.
(backtrace): Moved out of #ifndef DISBALE_JAVA_NET.
From-SVN: r59374
2002-11-21 Michael Koch <konqueror@gmx.de>
* include/posix.h: I put too much into the #ifndef DISABLE_JAVA_NET.
Only the new network functions should be in it.
From-SVN: r59350
2002-11-21 Michael Koch <konqueror@gmx.de>
* include/posic.h: Moved new functions into a #ifndef DISABLE_JAVA_NET
* include/win32.h: Moved new functions into a #ifndef DISABLE_JAVA_NET
From-SVN: r59346
* include/posix.h
(_Jv_socket): New method.
(_Jv_connect): New method.
(_Jv_close): New method.
(_Jv_platform_close_on_exec): Prefixed system function with "::".
(_Jv_bind): New method.
(_Jv_listen): New method.
(_Jv_write): New method.
(_Jv_read): New method.
* include/win32.h
(_Jv_socket): New method.
(_Jv_connect): New method.
(_Jv_close): New method.
(_Jv_bind): New method.
(_Jv_listen): New method.
(_Jv_write): New method.
(_Jv_read): New method.
* java/net/natNetworkInterface.cc:
Include platform.h, removed inclusion of socket.h
(getRealNetworkInterfaces): Replaced ::socket() by _Jv_socket() and
::close() by _Jv_close().
* java/net/natPlainDatagramSocketImpl.cc:
Removed include of socket.h, definition of NATIVE_CLOSE and _Jv_bind,
added some new lines to make code more readable.
(create): Replaced ::socket() by _Jv_socket().
(close): Replaced NATIVE_CLOSE() by _Jv_close().
* java/net/natPlainSocketImpl.cc:
Removed definition of NATIVE_CLOSE, _Jv_bind, Jv_connect and _Jv_accept,
removed include of socket.h, removed some windows defines
(now in include/win32.h).
(create): Replaced ::socket() by _Jv_socket().
(close): Replaced NATIVE_CLOSE() by _Jv_close().
(write): Replaced ::read by _Jv_write().
(read): Replaced ::read by _Jv_read().
From-SVN: r59338
2002-11-19 Ranjit Mathew <rmathew@hotmail.com>
* include/jni.h: Add missing JNICALL and JNIEXPORT attributes
to function and function pointer declarations in accordance with
Sun's JDKs. Define JNIIMPEXP to either JNIEXPORT or JNIIMPORT
based on whether __GCJ_JNI_IMPL__ has been defined or not.
* jni.cc: Add missing JNICALL and JNIEXPORT attributes to
JNI function definitions.
From-SVN: r59277
2002-11-08 Ranjit Mathew <rmathew@hotmail.com>
* include/jni.h (JNIIMPORT, JNIEXPORT, JNICALL): Linker defines
for Win32. JNICALL has been defined to __stdcall to be compatible
with Sun's JDKs.
From-SVN: r58985
2002-10-10 Michael Koch <konqueror@gmx.de>
* gcj/.cvsignore: New file to ignore files generated during build.
* include/.cvsignore: New file to ignore files generated during build.
From-SVN: r58003
2002-09-14 Adam Megacz <adam@xwt.org>
* java/net/natPlainDatagramSocket.cc: removed #include
<ws2tcpip.h>; the mingw header is broken (conflicts with itself).
* include/win32.h: included definition for IP_TOS to satisfy
natPlainDatagramSocket.cc
From-SVN: r57151
* include/jvm.h (struct _Jv_frame_info): New structure.
* gnu/gcj/runtime/natNameFinder.cc: Include StringBuffer.h,
java-interp.h.
(lookupInterp): New method.
(getAddrAsString): Use _Jv_frame_info.
(dladdrLookup): Likewise.
* gnu/gcj/runtime/NameFinder.java (lookup): Try to look up
interpreted frame.
(lookupInterp): Declare.
* java/lang/natVMThrowable.cc: Include Thread.h, java-interp.h.
(fillInStackTrace): Collect information on interpreted frames.
Use _Jv_frame_info.
* interpret.cc: Include Thread.h.
(run): Create and push _Jv_MethodChain object.
(_Jv_EndOfInterpreter): New global.
* java/lang/Thread.java (interp_frame): New field.
* include/java-interp.h (struct _Jv_MethodChain): New structure.
Include NameFinder.h.
From-SVN: r56657
2002-08-27 Tony Kimball <alk@pobox.com>
Tom Tromey <tromey@redhat.com>
* java/net/natPlainDatagramSocketImpl.cc (NATIVE_CLOSE): New
define.
(::close): Removed.
(PlainDatagramSocketImpl::close): Use NATIVE_CLOSE.
* java/net/natPlainSocketImpl.cc (NATIVE_CLOSE): New define.
(::close): Removed.
(PlainSocketImpl::close): Use NATIVE_CLOSE.
* include/win32.h (getcwd): Removed declaration. Include io.h.
Co-Authored-By: Tom Tromey <tromey@redhat.com>
From-SVN: r56605
* Makefile.am (libgcj_la_SOURCES): Remove name-finder.cc.
(core_java_source_files): Add VMThrowable.java and NameFinder.java
(nat_source_files): Remove natThrowable.cc, add natVMThrowable.cc
and natNameFinder.cc.
* Makefile.in: Regenerate.
* prims.cc: Use trace_enabled from VMThrowable.
* name-finder.cc: Removed.
* gcj/javaprims.h: Add class VMThrowable.
* gnu/gcj/runtime/NameFinder.java: New file.
* gnu/gcj/runtime/natNameFinder.cc: Likewise.
* include/name-finder.h: Removed.
* java/lang/Throwable.java (printStackTrace (PrintStream)): Use new
method stackTraceString().
(printStackTrace (PrintWriter)): Likewise.
(stackTraceString): Complete rewrite of old printStackTrace using
StringBuffer.
(stackTraceStringBuffer): New helper method for stackTraceString().
(fillInStackTrace): Delegate to VMTrowable.
(getStackTrace): Likewise.
(getStackTrace0): Removed.
(trace_enabled, stackTraceBytes): Moved to new VMThrowable.java.
(setStackTrace): Copy given array.
* java/lang/natThrowable.cc: Removed (replaced by natVMThrowable).
* java/lang/VMThrowable.java: New class.
* java/lang/natVMThrowable.cc: New file.
From-SVN: r56556
* configure.host [s390*-linux*]: Set can_unwind_signal=yes.
* configure.in [s390*-*-linux*]: Do not define HAVE_BACKTRACE.
Set SIGNAL_HANDLER=include/s390-linux.h.
* configure: Regenerate.
* include/s390-linux.h: New file.
From-SVN: r54012
2002-05-03 David Billinghurst <David.Billinghurst@riotinto.com>
Tom Tromey <tromey@redhat.com>
* java/lang/natSystem.cc (getSystemTimeZone): Use
HAVE_UNDERSCORE_TIMEZONE.
* include/config.h.in: Rebuilt.
* acconfig.h (HAVE_UNDERSCORE_TIMEZONE, HAVE_BACKTRACE): Undef.
* aclocal.m4, configure: Rebuilt.
* acinclude.m4: Run AC_EXEEXT.
* configure.in: Adjust test for `timezone' so it fails on Cygwin.
Add test for `_timezone'.
Co-Authored-By: Tom Tromey <tromey@redhat.com>
From-SVN: r53117
2002-05-02 David S. Miller <davem@redhat.com>
PR bootstrap/6525
* include/dwarf2-signal.h (INIT_SEGV, INIT_FPE): Don't use
__libc_sigaction on Sparc.
From-SVN: r53055
2002-04-25 David S. Miller <davem@redhat.com>
PR target/6422
* include/dwarf2-signal.h (MAKE_THROW_FRAME for sparc*): Set
program counter to next program counter minus 8. Update
comments in this macro to explain why.
From-SVN: r52820
2002-04-19 David S. Miller <davem@redhat.com>
* include/dwarf2-signal.h (SIGNAL_HANDLER): Name siginfo_t pointer
arg.
(MAKE_THROW_FRAME): Define for 32-bit and 64-bit sparc.
(INIT_SEGV, INIT_FPE): Use direct __libc_sigaction installation
on Sparc too.
* include/sparc-signal.h (FLUSH_REGISTER_WINDOWS): Define properly
for 64-bit sparc.
(MAKE_THROW_FRAME): Use long for sp/retaddr so 64-bit works.
* sysdeps/sparc/locks.h: New file.
* configure.in (SIGNAL_HANDLER): Set to include/sparc-signal.h
on all sparc Solaris configurations. Set to
include/dwarf2-signal.h on sparc Linux.
* configure: Regenerate
* configure.host (can_unwind_signal): sparc*-linux* can do it now.
From-SVN: r52575
2002-04-11 Adam King <aking@dreammechanics.com>
Tom Tromey <tromey@redhat.com>
* include/jvm.h (_Jv_ThrowBadArrayIndex,
_Jv_ThrowNullPointerException): Mark as noreturn.
* win32.cc (_Jv_platform_initProperties): Use _Jv_MallocUnchecked
and _Jv_free. Correctly invoke GetTempPath(). Indentation
fixes.
Co-Authored-By: Tom Tromey <tromey@redhat.com>
From-SVN: r52164
2002-04-07 Adam King <aking@dreammechanics.com>
* java/lang/natSystem.cc (init_properties): Call new function
_Jv_platform_initProperties.
* win32 (_Jv_platform_initProperties): New function that adds Win32
support for the System properties os.name, os.arch, os.version,
user.name, user.home, and user.dir.
* include/posix.h, include/win32.h, posix.cc: New function
_Jv_platform_initProperties.
From-SVN: r51989
2002-03-25 Andrew Haley <aph@cambridge.redhat.com>, Hans Boehm <Hans_Boehm@hp.com>
* include/dwarf2-signal.h (MAKE_THROW_FRAME): Add for IA-64.
(INIT_SEGV, INIT_FPE): Add versions that use __libc_sigaction
instead of syscall on IA-64.
Add FIXME comment.
From-SVN: r51459