1999-09-07 Tom Tromey <tromey@cygnus.com>
* posix-threads.cc (_Jv_CondWait): Check `errno' against EINTR,
not `r'. Changed `done_sleeping' to a `bool'.
1999-09-07 Matt Welsh <mdw@cs.berkeley.edu
* libjava/posix-threads.cc: Added _Jv_ThreadDataKey.
Added FLAG_INTERRUPTED to indicate that a thread was interrupted
by another thread, rather than by the GC.
(_Jv_CondWait): Prevent premature thread wakeup by GC.
(_Jv_InitThreads): Initialize _Jv_ThreadDataKey.
* libjava/include/posix-threads.h (_Jv_ThreadCurrentData): New
function.
From-SVN: r29177
* include/posix-threads.h (PTHREAD_MUTEX_IS_STRUCT): New define.
(_Jv_PthreadGetMutex): Use it.
(_Jv_PthreadCheckMonitor): Use new M_COUNT macros.
(_Jv_MutexInit): Use PTHREAD_MUTEX_IS_STRUCT.
(_Jv_MutexLock): Likewise.
(_Jv_MutexUnlock): Likewise.
* include/config.h.in: Rebuilt.
* acconfig.h (PTHREAD_MUTEX_HAVE_M_COUNT,
PTHREAD_MUTEX_HAVE___M_COUNT): New undefs.
* configure: Rebuilt.
* libgcj.spec.in: Don't mention INTERPSPEC.
* configure.in (INTERPSPEC): Removed.
Only run pthreads-related checks when using POSIX threads. Check
for m_count and __m_count in mutex structure.
From-SVN: r29048
* java/lang/reflect/Modifier.java (ALL_FLAGS): New constant.
* resolve.cc: Removed constants defined by
java.lang.reflect.Modifier.
Include <java/lang/reflect/Modifier.h>.
(_Jv_ResolvePoolEntry): Use values from Modifier.
(_Jv_DetermineVTableIndex): Likewise.
(_Jv_PrepareClass): Likewise.
(ncode): Likewise.
* defineclass.cc (_Jv_ClassReader): Removed constants defined by
java.lang.reflect.Modifier.
Include <java/lang/reflect/Modifier.h>.
(checkExtends): Use values from Modifier.
(checkImplements): Likewise.
(handleField): Likewise.
(handleConstantValueAttribute): Likewise.
(handleFieldsEnd): Likewise.
(handleMethod ): Likewise.
(handleMethodsEnd): Likewise.
(handleClassBegin): Likewise.
* interpret.cc: Removed constants defined by
java.lang.reflect.Modifier.
(continue1): Use values from Modifier.
* java/lang/natClassLoader.cc: Removed constants defined by
java.lang.reflect.Modifier.
From-SVN: r29037
* posix-threads.cc (_Jv_CondWait): Use _Jv_PthreadGetMutex.
* include/posix-threads.h (_Jv_Mutex_t): Define as structure,
except on Linux.
(_Jv_PthreadGetMutex): New function.
(_Jv_PthreadCheckMonitor): Use it.
(_Jv_MutexInit): Likewise. ALso, initialize `count'.
(_Jv_MutexLock): Update `count'.
(_Jv_MutexUnlock): Likewise.
(_Jv_PthreadCheckMonitor): Use Linux-specific knowledge when
appropriate.
From-SVN: r29032
* java/lang/natSystem.cc (getpwuid_adaptor): New overloaded
function that detects the signature of getpwuid_r.
(init_properties): Use it.
* java/util/natDate.cc (ctime_adaptor): Likewise for ctime_r.
(toString): Use it.
From-SVN: r28792
* java/lang/natSystem.cc (getpwuid_adaptor): New overloaded
function that detects the signature of getpwuid_r.
(init_properties): Use it.
* java/util/natDate.cc (ctime_adaptor): Likewise for ctime_r.
(toString): Use it.
From-SVN: r28790
* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Renamed
from _Jv_InternClassStrings.
* prims.cc (_Jv_RunMain): New function.
(JvRunMain): Remove gij-support.
* gij.cc (main): Use _Jv_RunMain.
* java/util/zip/ZipFile.java: Call readDirectory in constructor.
* interpret.cc (PUSHA, PUSHI, PUSHF, PUSHL, PUSHD): Don't store
argument in temp variable.
(continue1): For all op_x2y insns, use temp variable for
intermediate value. Also remove some comments.
* java/lang/natClass.cc (newInstance): Call _Jv_InitClass.
(forName): Don't call _Jv_InitClass.
* java/lang/Class.java (getResource,getResourceAsStream): Implement.
* java/util/zip/ZipEntry.java (ZipEntry(ZipEntry)): New construcor.
* java/util/jar/JarInputStream.java: New file.
* java/util/jar/JarEntry.java: New file.
* java/util/jar/JarFile.java: New file.
* java/net/URLClassLoader.java: New file.
* java/net/JarURLConnection.java: New file.
* gnu/gcj/protocol/jar/Handler.java: New file.
* gnu/gcj/protocol/jar/Connection.java: New file.
* java/security/SecureClassLoader.java: New file.
* java/lang/ClassLoader.java (parent): New variable.
(ClassLoader (ClassLoader)): new constructor.
(findClass): New method.
(loadClass): Add default 1.2 implementation.
(getSystemResourceAsBytes, getResourceAsBytes): Removed.
(readfully): Removed.
* gnu/gcj/runtime/VMClassLoader.java: Moved from java/lang.
(findSystemClass): New method.
(VMClassLoader): Constructor rewritten.
(init): New method.
All other methods removed.
* java/lang/natClassLoader.cc: Change use of java::lang::VMClassLoader
to gnu::gcj::runtime::VMClassLoader.
(_Jv_InternClassStrings): Use _Jv_ResolvePoolEntry. Also handle
class entries.
(VMClassLoader::findSystemClass): renamed from findBootClass.
* Makefile.am: Add new files.
(FirstThread.h, ThreadGroup.h): Add _Jv_Main friend.
* Makefile.in: Rebuilt.
From-SVN: r28748
1999-07-31 Alexandre Oliva <oliva@dcc.unicamp.br>
* configure.in: Check for struct hostent_data and need for
-D_REENTRANT for gethostbyname_r declaration.
* java/net/natInetAddress.cc: Define _REENTRANT if needed.
(lookup): Use hostent_data for fixed_buffer.
* configure, include/config.h.in: Rebuilt.
From-SVN: r28369
1999-07-31 Alexandre Oliva <oliva@dcc.unicamp.br>
* lib/libjava.exp (bytecompile_file): Use `env(SUN_JAVAC)', that
defaults to javac, as Sun-javac compiler or compatible.
(libjava_init): Get GCJ from environment if neither GCJ_UNDER_TEST
nor TOOL_EXECUTABLE are set. Set `original_ld_library_path' from
environment.
(libjava_arguments): Prepend `.' and `$srcdir/$subdir' to
CLASSPATH, for `support' sources. Search for libgcj.spec in
`$objdir/..', by adding -B to GCJ_UNDER_TEST. Append
original_ld_library_path to ld_library_path.
* libjava.mauve/mauve.exp (test_mauve): Set `env(GCJ)' from
GCJ_UNDER_TEST, calculated just like in libjava.exp.
From-SVN: r28364
1999-07-31 Alexandre Oliva <oliva@dcc.unicamp.br>
* java/lang/natSystem.cc (arraycopy): Use bcopy if memmove is not
available. Don't cast memmove args to (void*).
* configure.in: Do not abort if memmove is not available.
From-SVN: r28360
* libjava.compile/G19990217_02.no-link: New file.
* libjava.compile/test.exp: Look for `.no-link' file.
* lib/libjava.exp (test_libjava_from_source): Added `no-link'
option.
(test_libjava_from_javac): Likewise. Also, handle package
information from class name when creating class file name.
From-SVN: r28113
* libjava.lang/test.exp: New file.
* libjava.lang/err9.out: New file.
* libjava.lang/err9.java: New file.
* libjava.lang/err8.out: New file.
* libjava.lang/err8.java: New file.
* libjava.lang/err7.out: New file.
* libjava.lang/err7.java: New file.
* libjava.lang/err6.out: New file.
* libjava.lang/err6.java: New file.
* libjava.lang/err5.out: New file.
* libjava.lang/err5.java: New file.
* libjava.lang/err4.out: New file.
* libjava.lang/err4.java: New file.
* libjava.lang/err3.out: New file.
* libjava.lang/err3.java: New file.
* libjava.lang/err2.out: New file.
* libjava.lang/err2.java: New file.
* libjava.lang/err13.out: New file.
* libjava.lang/err13.java: New file.
* libjava.lang/err12.out: New file.
* libjava.lang/err12.java: New file.
* libjava.lang/err11.out: New file.
* libjava.lang/err11.java: New file.
* libjava.lang/err10.out: New file.
* libjava.lang/err10.java: New file.
* libjava.lang/err1.out: New file.
* libjava.lang/err1.java: New file.
* libjava.lang/N19990310_5.out: New file.
* libjava.lang/N19990310_5.java: New file.
* libjava.lang/N19990310_4.out: New file.
* libjava.lang/N19990310_4.java: New file.
* libjava.lang/N19990310_3.out: New file.
* libjava.lang/N19990310_3.java: New file.
* libjava.lang/N19990310_02.out: New file.
* libjava.lang/N19990310_02.java: New file.
* libjava.lang/G19990303_02.out: New file.
* libjava.lang/G19990303_02.java: New file.
* libjava.lang/G19990303_01.out: New file.
* libjava.lang/G19990303_01.java: New file.
* libjava.lang/G19990302_02.out: New file.
* libjava.lang/G19990302_02.java: New file.
* libjava.lang/G19990301_01.out: New file.
* libjava.lang/G19990301_01.java: New file.
* libjava.compile/N19990317.java: New file.
* libjava.compile/N19990310_01.java: New file.
* libjava.compile/G19990225_01.java: New file.
* libjava.compile/G19990217_02.java: New file.
* libjava.compile/G19990217_01.java: New file.
* libjava.compile/G19990210_3.java: New file.
* libjava.compile/G19990210_2.java: New file.
* libjava.compile/G19990210_1.java: New file.
From-SVN: r28087
1999-07-07 Andrew Haley <aph@cygnus.com>
* include/i386-signal.h (MAKE_THROW_FRAME): Advance EIP by two
bytes to make it point after the instruction where the trap
occurred.
(HANDLE_DIVIDE_OVERFLOW): Ditto.
From-SVN: r27994
1999-07-07 Andrew Haley <aph@cygnus.com>
* include/i386-signal.h (MAKE_THROW_FRAME): Advance EIP by two
bytes to make it point after the instruction where the trap
occurred.
(HANDLE_DIVIDE_OVERFLOW): Ditto.
From-SVN: r27989
* libjava.lang/Final.xfail: New file.
* libjava.compile/Case.xfail: New file.
* libjava.compile/Where.xfail: New file.
* libjava.compile/test.exp: Look for `.xfail' files.
* libjava.lang/test.exp: Don't look for `.arg' files.
Do look for `.xfail' files.
* lib/libjava.exp (test_libjava_from_source): Changed meaning of
`exec_args' argument. Handle `xfail-*' arguments.
(test_libjava_from_javac): Likewise.
(test_libjava): Likewise.
(libjava_read_xfail): New proc.
From-SVN: r27957
1999-07-01 Warren Levy <warrenl@cygnus.com>
* gnu/gcj/convert/BytesToUnicode.java (read): Changed outlength
to count and revised comments to match.
* gnu/gcj/convert/Input_EUCJIS.java (read): Same as Input_8859_1.java.
* gnu/gcj/convert/Input_JavaSrc.java (read): ditto.
* gnu/gcj/convert/Input_SJIS.java (read): ditto.
* gnu/gcj/convert/Input_UTF8.java (read): ditto.
* gnu/gcj/convert/natInput_EUCJIS.cc (read): ditto.
* gnu/gcj/convert/natInput_SJIS.cc (read): ditto.
1999-07-01 John-Marc Chandonia <jmc@cmpharm.ucsf.edu>
* gnu/gcj/convert/Input_8859_1.java (read): Use 3rd parameter
properly as count rather than outlength.
* java/io/BufferedOutputStream.java (write(byte[],int,int): Flush
output on overflow rather than buffer fill.
* java/io/BufferedReader.java (fill): Don't clear out the buffer
if markPos is 0 and there is still room in the buffer.
From-SVN: r27892
1999-07-01 Andrew Haley <aph@cygnus.com>
* include/i386-signal.h: Replace sigaction () with __sigaction ().
This is a workaround for a bug in glibc's pthreads package which
doesn't deliver any sigcontext information to a signal handler.
From-SVN: r27876
1999-06-24 Tom Tromey <tromey@cygnus.com>
* java/lang/e_asin.c: Don't use __int32_t or __uint32_t.
* java/lang/fdlibm.h (HUGE): Conditionally define.
Fri May 28 22:20:03 1999 Anthony Green <green@cygnus.com>
* java/lang/fdlibm.h: Don't use __uint32_t. Include mprec.h.
* java/lang/e_log.c: Don't use __uint32_t.
From-SVN: r27733
* java/net/DatagramSocketImpl.java (localPort): Fixed typo to match JDK.
* java/net/natPlainDatagramSocketImpl.cc (bind): ditto.
* java/text/ChoiceFormat.java (nextDouble(double, boolean)): Method
is not final per JDK.
* java/util/PropertyResourceBundle.java (handleGetObject): Method is
public per JDK.
* java/util/zip/DataFormatException.java: Class extends Exception.
* java/util/zip/Deflater.java (finalize): Method is protected per JDK.
* java/util/zip/ZipEntry.java: Class implements ZipConstants.
* java/util/zip/ZipInputStream.java: ditto.
(closeEntry): Changed method name to match JDK spec.
From-SVN: r27717
* java/net/natInetAddress.cc (lookup): Preserve caller-supplied
hostname in returned InetAddress objects.
(getLocalHostname): Fix typo.
* java/net/InetAddress.java (getByName): Set hostname on return
object.
(getLocalHost): Call lookup directly to ensure that a fully-qualified
name is returned.
From-SVN: r27587
* java/net/natInetAddress.cc (aton): Fix typos.
(lookup): Use a bigger buffer size for gethostbyname_r on all
versions of glibc. Updated FIXME comment explaining this.
Modified while loops to not set herr = ERANGE to work around glibc
problems. Use user specified hostname in InetAddress result when
available (consistent with JDK).
From-SVN: r27484