Commit Graph

773 Commits

Author SHA1 Message Date
Tom Tromey
788d7b942c BufferedReader.java, [...]: Re-merged with Classpath.
* java/io/BufferedReader.java, java/io/ObjectInput.java,
	java/io/ObjectInputValidation.java, java/io/ObjectOutput.java:
	Re-merged with Classpath.

From-SVN: r45342
2001-09-01 00:59:09 +00:00
Tom Tromey
4504a65546 Re-merge with Classpath:
* java/util/Comparator (equals): Added.
	* java/io/PipedWriter.java (write): Changed argument to `int'.

	* java/io/FileDescriptor.java (FileDescriptor()): New
	constructor.
	* java/io/File.java (getAbsoluteFile): Doesn't throw IOException.

From-SVN: r45337
2001-08-31 22:31:40 +00:00
Tom Tromey
7a95ae6b51 Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (ordinary_java_source_files): Removed
	EnumerationChain, added DoubleEnumeration.
	(nat_source_files): Added natResourceBundle.cc.
	* java/util/natResourceBundle.cc: New file.
	* gnu/java/util/DoubleEnumeration.java: New file.
	* gnu/gcj/util/EnumerationChain.java: Removed.
	* java/beans/VetoableChangeSupport.java: Merged with Classpath.
	* java/util/ResourceBundle.java: Merged with Classpath.
	* java/util/StringTokenizer.java: Merged with Classpath.
	* java/util/Locale.java: Merged with Classpath.
	* java/util/Random.java: Merged with Classpath.
	* java/util/PropertyResourceBundle.java: Merged with Classpath.
	* java/util/ListResourceBundle.java: Merged with Classpath.
	* java/util/ConcurrentModificationException.java: Re-merged with
	Classpath.
	* java/util/EmptyStackException.java: Likewise.
	* java/util/MissingResourceException.java: Likewise.
	* java/util/NoSuchElementException.java: Likewise.
	* java/util/TooManyListenersException.java: Likewise.

From-SVN: r45335
2001-08-31 21:31:20 +00:00
Tom Tromey
636c570696 ByteArrayOutputStream.java: Re-merged with Classpath.
* java/io/ByteArrayOutputStream.java: Re-merged with Classpath.
	* java/io/OptionalDataException.java: Merged with Classpath.

From-SVN: r45327
2001-08-31 17:11:27 +00:00
Tom Tromey
35ddff9f08 * java/io/ByteArrayInputStream.java: Merged with Classpath.
From-SVN: r45309
2001-08-31 05:58:46 +00:00
Tom Tromey
599654283d * java/io/BufferedReader.java: Re-merged with Classpath.
From-SVN: r45307
2001-08-31 05:00:12 +00:00
Per Bothner
4046760603 BigInteger.java (init(int,Random)): New method.
* java/math/BigInteger.java (init(int,Random)):  New method.
	Move body of constructor <init>(int,Random)) here.
	Re-write it to avoid constructing unneeded temporaries.
	(<init>(int,int,Random)):  Use new init method to avoid constructing
	extra temporary BigIntegers.

From-SVN: r45240
2001-08-28 15:16:11 -07:00
Tom Tromey
83e7315b5f Activatable.java, [...]: RMI implementation from Kaffe.
* java/rmi/activation/Activatable.java,
	java/rmi/activation/ActivateFailedException.java,
	java/rmi/activation/ActivationDesc.java,
	java/rmi/activation/ActivationException.java,
	java/rmi/activation/ActivationGroup.java,
	java/rmi/activation/ActivationGroupDesc.java,
	java/rmi/activation/ActivationGroupID.java,
	java/rmi/activation/ActivationID.java,
	java/rmi/activation/ActivationInstantiator.java,
	java/rmi/activation/ActivationMonitor.java,
	java/rmi/activation/ActivationSystem.java,
	java/rmi/activation/Activator.java,
	java/rmi/activation/UnknownGroupException.java,
	java/rmi/activation/UnknownObjectException.java,
	java/rmi/AccessException.java,
	java/rmi/AlreadyBoundException.java,
	java/rmi/ConnectException.java, java/rmi/ConnectIOException.java,
	java/rmi/MarshalException.java, java/rmi/MarshalledObject.java,
	java/rmi/Naming.java, java/rmi/NoSuchObjectException.java,
	java/rmi/NotBoundException.java,
	java/rmi/RMISecurityException.java,
	java/rmi/RMISecurityManager.java, java/rmi/Remote.java,
	java/rmi/RemoteException.java, java/rmi/ServerError.java,
	java/rmi/ServerException.java,
	java/rmi/ServerRuntimeException.java,
	java/rmi/StubNotFoundException.java,
	java/rmi/UnexpectedException.java,
	java/rmi/UnknownHostException.java,
	java/rmi/UnmarshalException.java, java/rmi/dgc/DGC.java,
	java/rmi/dgc/Lease.java, java/rmi/dgc/VMID.java,
	java/rmi/registry/LocateRegistry.java,
	java/rmi/registry/Registry.java,
	java/rmi/registry/RegistryHandler.java,
	java/rmi/server/ExportException.java,
	java/rmi/server/LoaderHandler.java,
	java/rmi/server/LogStream.java, java/rmi/server/ObjID.java,
	java/rmi/server/Operation.java,
	java/rmi/server/RMIClassLoader.java,
	java/rmi/server/RMIClientSocketFactory.java,
	java/rmi/server/RMIFailureHandler.java,
	java/rmi/server/RMIServerSocketFactory.java,
	java/rmi/server/RMISocketFactory.java,
	java/rmi/server/RemoteCall.java,
	java/rmi/server/RemoteObject.java, java/rmi/server/RemoteRef.java,
	java/rmi/server/RemoteServer.java,
	java/rmi/server/RemoteStub.java,
	java/rmi/server/ServerCloneException.java,
	java/rmi/server/ServerNotActiveException.java,
	java/rmi/server/ServerRef.java, java/rmi/server/Skeleton.java,
	java/rmi/server/SkeletonMismatchException.java,
	java/rmi/server/SkeletonNotFoundException.java,
	java/rmi/server/SocketSecurityException.java,
	java/rmi/server/UID.java,
	java/rmi/server/UnicastRemoteObject.java,
	java/rmi/server/Unreferenced.java, gnu/java/rmi/dgc/DGCImpl.java,
	gnu/java/rmi/dgc/DGCImpl_Skel.java,
	gnu/java/rmi/dgc/DGCImpl_Stub.java,
	gnu/java/rmi/registry/RegistryImpl.java,
	gnu/java/rmi/registry/RegistryImpl_Skel.java,
	gnu/java/rmi/registry/RegistryImpl_Stub.java,
	gnu/java/rmi/rmic/RMIC.java, gnu/java/rmi/rmic/TabbedWriter.java,
	gnu/java/rmi/server/ProtocolConstants.java,
	gnu/java/rmi/server/RMIDefaultSocketFactory.java,
	gnu/java/rmi/server/RMIHashes.java,
	gnu/java/rmi/server/RMIObjectInputStream.java,
	gnu/java/rmi/server/RMIObjectOutputStream.java,
	gnu/java/rmi/server/UnicastConnection.java,
	gnu/java/rmi/server/UnicastConnectionManager.java,
	gnu/java/rmi/server/UnicastRef.java,
	gnu/java/rmi/server/UnicastRemoteCall.java,
	gnu/java/rmi/server/UnicastRemoteStub.java,
	gnu/java/rmi/server/UnicastServer.java,
	gnu/java/rmi/server/UnicastServerRef.java: RMI implementation from
	Kaffe.  Relabelled classes to fit into Classpath tree.
	* Makefile.in: Rebuilt.
	* Makefile.am (rmi_java_source_files): New macro.
	(ordinary_java_source_files): Reference it.
	(bin_PROGRAMS): Added rmic and rmiregistry.
	(rmic_SOURCES): New macro.
	(EXTRA_rmic_SOURCES): Likewise.
	(rmic_LDFLAGS): Likewise.
	(rmic_LINK): Likewise.
	(rmic_LDADD): Likewise.
	(rmic_DEPENDENCIES): Likewise.
	(rmiregistry_SOURCES): New macro.
	(EXTRA_rmiregistry_SOURCES): Likewise.
	(rmiregistry_LDFLAGS): Likewise.
	(rmiregistry_LINK): Likewise.
	(rmiregistry_LDADD): Likewise.
	(rmiregistry_DEPENDENCIES): Likewise.

From-SVN: r45218
2001-08-28 00:03:35 +00:00
Bryce McKinlay
2dc55bc99f Makefile.am: New friends for java/lang/Thread.h.
* Makefile.am: New friends for java/lang/Thread.h.
	* prims.cc (runFirst): Removed.
	(JvRunMain): Merged into _Jv_RunMain. Now just calls that.
	(_Jv_RunMain): Now takes either a klass or class name parameter.
	Create a gnu.gcj.runtime.FirstThread and attach the native thread
	to that, then run it using _Jv_ThreadRun. Remove special handling of
	jar files, instead pass is_jar parameter through to FirstThread.
	* gcj/javaprims.h: Add prototypes for _Jv_ThreadRun and new variant
	of _Jv_AttachCurrentThread.
	* gnu/gcj/runtime/FirstThread.java (FirstThread): Now extends Thread.
	(run): New method. Take care of looking up main class manifest
	attribute and calling forName if neccessary. Then call call_main.
	(call_main): New native method.
	* gnu/gcj/runtime/natFirstThread.cc (call_main): New function, code
	relocated from prims.cc. Look up and call main method.
	* java/lang/Thread.java (run_): Removed.
	* java/lang/natThread.cc (run_): Renamed to...
	(_Jv_ThreadRun): this. JVMPI notification code moved to ...
	(_Jv_NotifyThreadStart): here. New function.
	(countStackFrames, destroy, resume, suspend, stop): Throw
	UnsupportedOperationExceptions rather than JvFail'ing.
	(_Jv_AttachCurrentThread): New variant takes a Thread argument.
	Existing version wraps new variant.

From-SVN: r45182
2001-08-26 12:30:09 +01:00
Tom Tromey
224b7b7b0c Field.java (toString): Use Method.appendClassName.
* java/lang/reflect/Field.java (toString): Use
	Method.appendClassName.
	* java/lang/reflect/Constructor.java (toString): Use
	Method.appendClassName.
	* java/lang/reflect/Method.java: Reindented.
	(appendClassName): New method.
	(toString): Use it.
	* defineclass.cc (handleMethod ): Initialize `throws' field of
	method.
	(read_one_method_attribute): Handle Exceptions attribute.
	* java/lang/reflect/natMethod.cc (ClassClass): Removed.
	(ObjectClass): Removed.
	(getType): Compute `exception_types'.
	* java/lang/Class.h (struct _Jv_Method): Added `throws' field.

From-SVN: r45153
2001-08-24 17:24:44 +00:00
Anthony Green
cb7d9f6769 Look for lib-gnu-pkg-quux.so, not gnu-pkg-quux.so.
From-SVN: r45115
2001-08-22 23:10:07 +00:00
Jeff Sturm
71038fd576 IdentityHashMap.java (get): Fix off-by-one error.
* java/util/IdentityHashMap.java (get): Fix off-by-one error.
	(put): Likewise.

From-SVN: r45077
2001-08-21 14:24:48 +00:00
Tom Tromey
4c8d8761b0 * java/awt/GridBagConstraints.java: Removed comment.
From-SVN: r45061
2001-08-20 19:53:14 +00:00
Mark J Roberts
62ee966e9c BigInteger.java (randBytes): New method.
2001-08-17  Mark J Roberts  <mjr@anarcast.net>

	* java/math/BigInteger.java (randBytes): New method.
	(BigInteger(int,Random)): Use randBytes.

From-SVN: r44984
2001-08-17 22:21:02 +00:00
Hans Boehm
552bf3d6af * BigInteger.java: fix right shifts by nonzero multiples of 32.
From-SVN: r44963
2001-08-17 16:28:32 +00:00
Tom Tromey
ac8d99218a jni.cc: Include IdentityHashMap.h, not Hashtable.h.
* jni.cc: Include IdentityHashMap.h, not Hashtable.h.
	(local_ref_table, global_ref_table): Now IdentityHashMap.
	(_Jv_JNI_Init): Updated for new types.
	(mark_for_gc): Likewise.
	(unmark_for_gc): Likewise.
	* gcj/javaprims.h: Rebuilt class list.
	* Makefile.in: Rebuilt.
	* Makefile.am (core_java_source_files): Added new file.
	* java/util/IdentityHashMap.java: New file.

From-SVN: r44929
2001-08-15 20:46:48 +00:00
Tom Tromey
586b870d4f SampleModel.java (getPixel): Set correct array element.
* java/awt/image/SampleModel.java (getPixel): Set correct array
	element.  From Chris Meyer.

From-SVN: r44871
2001-08-13 21:38:07 +00:00
Loren J. Rittle
cc3835e651 * java/lang/natObject.cc (is_mp): Protect use of _SC_NPROCESSORS_ONLN.
From-SVN: r44771
2001-08-10 17:37:41 +00:00
Tom Tromey
012ca3e055 InputStreamReader.java (refill): Only call refill on BufferedInputStream when appropriate constraints are met.
* java/io/InputStreamReader.java (refill): Only call refill on
	BufferedInputStream when appropriate constraints are met.

From-SVN: r44675
2001-08-06 22:01:32 +00:00
Tom Tromey
f3997ccf90 StringWriter.java: Merged with Classpath.
* java/io/StringWriter.java: Merged with Classpath.
	* java/io/InputStream.java: Merged with Classpath.
	* java/io/OutputStream.java: Merged with Classpath.
	* java/io/PushbackInputStream.java: Merged with Classpath.
	* java/io/CharArrayReader.java: Merged with Classpath.
	* java/io/CharArrayWriter.java: Merged with Classpath.

From-SVN: r44652
2001-08-05 22:41:30 +00:00
Tom Tromey
8d6a437584 RandomAccessFile.java (seek): Let seek go past end of file.
* java/io/RandomAccessFile.java (seek): Let seek go past end of
	file.
	(skipBytes): Don't fail if seeking past end of file.
	* java/io/FileInputStream.java (skip): Don't fail if seeking past
	end of file.
	* java/io/natFileDescriptorWin32.cc (seek): Handle `eof_trunc'
	argument.
	* java/io/natFileDescriptorEcos.cc (seek): Handle `eof_trunc'
	argument.
	* java/io/natFileDescriptorPosix.cc (seek): Handle `eof_trunc'
	argument.
	* java/io/FileDescriptor.java (seek): Added `eof_trunc' argument.

From-SVN: r44586
2001-08-02 23:46:39 +00:00
Rainer Orth
60a78ccfac re PR libgcj/3694 (natPlainDatagramSocketImpl.cc doesn't compile in ALPHA OSF1)
* include/posix.h (_POSIX_PII_SOCKET): Define.
	* configure.in (HAVE_SOCKLEN_T): Define.
	* java/net/natPlainSocketImpl.cc [!HAVE_SOCKLEN_T]: Move socklen_t
	definition up.
	(_JV_accept): New function, avoids Tru64 UNIX accept macro.
	(java::net::PlainSocketImpl::accept): Use it.
	Fixes PRs libgcj/3694, libgcj/3696.

	* configure.in (HAVE_STRUCT_IPV6_MREQ): New test.
	* acconfig.h (HAVE_STRUCT_IPV6_MREQ): Provide template.
	* configure, include/config.h.in: Regenerate.
	* java/net/natPlainDatagramSocketImpl.cc (union McastReq): Use it.
	(mcastGrp): Likewise.
	(java::net::PlainDatagramSocketImpl::setOption): Guard against
	missing IPV6_MULTICAST_IF.
	Fixes PR libgcj/3694.

From-SVN: r44546
2001-08-01 17:53:00 +00:00
Tom Tromey
e8b3bcfd3f * java/util/Date.java: Re-merged with Classpath.
From-SVN: r44497
2001-07-31 03:01:47 +00:00
Jeff Sturm
2ff78183f8 natPlainDatagramSocketImpl.cc: Undefine bind if defined.
* java/net/natPlainDatagramSocketImpl.cc: Undefine bind if defined.
(_Jv_bind): New static function.
(bind): Use _Jv_bind.
* java/net/natPlainSocketImpl.cc: Undefine bind, connect if defined.
(_Jv_bind, _Jv_connect): New static functions.
(bind): Use _Jv_bind.
(connect): Use _Jv_connect.

From-SVN: r44494
2001-07-31 01:59:44 +00:00
Tom Tromey
3d5aea8366 natIconv.cc (done): New methods.
2001-07-30  Tom Tromey  <tromey@redhat.com>
	    Corey Minyard  <minyard@acm.org>

	* gnu/gcj/convert/natIconv.cc (done): New methods.
	* gnu/gcj/convert/Output_iconv.java (done): New method.
	* gnu/gcj/convert/Input_iconv.java (done): New method.
	* gnu/gcj/convert/UnicodeToBytes.java (defaultEncodingClass):
	Removed.
	(getDefaultEncodingClass): Removed.
	(getDefaultEncoder): Use getEncoder.
	(done): New method.
	(defaultEncoding, CACHE_SIZE, encoderCache, currCachePos): New
	static fields.
	* gnu/gcj/convert/BytesToUnicode.java (defaultDecodingClass):
	Removed.
	(defaultEncoding, CACHE_SIZE, decoderCache, currCachePos): New
	static fields.
	(getDefaultDecodingClass): Removed.
	(getDefaultDecoder): Use getDecoder.
	(getDecoder): Look up decoder in cache.
	(done): New method.
	* java/lang/natString.cc (init): Call `done' on converter.
	(getBytes): Likewise.

Co-Authored-By: Corey Minyard <minyard@acm.org>

From-SVN: r44484
2001-07-30 20:24:18 +00:00
Tom Tromey
d76cbbc844 * java/lang/Integer.java: Merged with Classpath.
From-SVN: r44478
2001-07-30 17:58:32 +00:00
Bryce McKinlay
6941ff9559 GregorianCalendar.java (GregorianCalendar): Call setTimeInMillis() to set the default/current time.
* java/util/GregorianCalendar.java (GregorianCalendar): Call
	setTimeInMillis() to set the default/current time.

From-SVN: r44467
2001-07-30 01:41:31 +01:00
Bryce McKinlay
fa397ddafb Calendar.java (set): Never recompute fields here.
* java/util/Calendar.java (set): Never recompute fields here. They
	will already be set if someone set time explicitly, and it can cause
	problems to do so. Don't invalidate AM_PM setting if HOUR is set.
	* java/util/GregorianCalendar.java (computeTime): Don't ignore an
	HOUR setting if AM_PM is set. Don't try to ensure the HOUR value is
	sane.
	* java/text/SimpleDateFormat.java (defaultCentury): New field.
	(readObject): Call set2DigitYearStart if appropriate so that
	defaultCentury is calculated.
	(SimpleDateFormat): Don't bother clearing calendar here. Call
	computeCenturyStart().
	(set2DigitYearStart): Calculate and set defaultCentury.
	(format): Don't clone the calendar. Use "calendar" not "theCalendar"
	everywhere.
	(parse): Likewise. If the pattern is "y" or "yy" and it found exactly
	2 numeric digits, use the 80-20 heuristic to parse the value into a
	default century based on defaultCenturyStart.
	(computeCenturyStart): Rewritten. Call set2DigitYearStart().

From-SVN: r44395
2001-07-26 12:21:45 +01:00
Tom Tromey
82545bf72f VMClassLoader.java (getPrimitiveClass): Return correct type.
* java/lang/VMClassLoader.java (getPrimitiveClass): Return correct
	type.

From-SVN: r44296
2001-07-24 14:31:42 +00:00
Tom Tromey
e109d16f8c javaprims.h: Rebuilt class list.
* gcj/javaprims.h: Rebuilt class list.
	* Makefile.in: Rebuilt.
	* Makefile.am (core_java_source_files): Added VMClassLoader.
	* java/lang/VMClassLoader.java: New file.
	* java/lang/Boolean.java: Merged with Classpath.
	* java/lang/Byte.java: Merged with Classpath.
	* java/lang/Integer.java: Merged with Classpath.
	* java/lang/Long.java: Merged with Classpath.
	* java/lang/Number.java: Merged with Classpath.
	* java/lang/Short.java: Merged with Classpath.

From-SVN: r44274
2001-07-23 20:01:29 +00:00
Jeff Sturm
092a1f5ab3 configure.host: Enable hash synchronization for alpha*-*.
* configure.host: Enable hash synchronization for alpha*-*.
* include/posix-threads.h (_Jv_ThreadSelf): Added inline function for alpha.
* java/lang/natObject.cc (compare_and_swap, release_set,
compare_and_swap_release): Added inline functions for alpha.

From-SVN: r44251
2001-07-23 03:51:17 +00:00
Rainer Orth
06c271c3cf natPlainDatagramSocketImpl.cc (mcastGrp): Use new RFC 2533 socket options IPV6_JOIN_GROUP...
* java/net/natPlainDatagramSocketImpl.cc (mcastGrp): Use new RFC
	2533 socket options IPV6_JOIN_GROUP, IPV6_LEAVE_GROUP, falling
	back to old RFC 2133 variants if missing.

From-SVN: r44130
2001-07-18 20:39:52 +00:00
Tom Tromey
e5c83273cf natFileWin32.cc (_access): Renamed.
* java/io/natFileWin32.cc (_access): Renamed.
	(_stat): Likewise.
	* java/io/natFile.cc (_access): Renamed.
	(_stat): Likewise.
	* java/io/File.java (access, stat): Add leading `_' to name.
	Updated all callers.

From-SVN: r44124
2001-07-18 18:35:12 +00:00
Bryce McKinlay
f79ced717f LinkedList.java (clone): Clear the copy list with clear(), not by setting its size field.
* java/util/LinkedList.java (clone): Clear the copy list with clear(),
	not by setting its size field.

From-SVN: r44057
2001-07-17 02:56:38 +01:00
Tom Tromey
a9a399fe24 re PR libgcj/3426 (java.io.InputStreamReader, infinite loop)
Fix for PR libgcj/3426:
	* gnu/gcj/convert/natIconv.cc: Include CharConversionException.h,
	errno.h.
	(read): Throw exception if character conversion fails.
	* java/io/BufferedInputStream.java (refill): Now package-private.
	* java/io/InputStreamReader.java (ready): Simplified.
	(refill): New method.
	(read): Use it.

Co-Authored-By: David Brownell <david-b@pacbell.net>

From-SVN: r43975
2001-07-13 05:41:28 +00:00
Tom Tromey
a3e5ae6dd8 Report from Henner Zeller:
* java/io/FileOutputStream.java (FileOutputStream): Throw
	FileNotFoundException, not IOException.

From-SVN: r43966
2001-07-12 15:37:43 +00:00
Alexandre Petit-Bianco
aac560ac26 Makefile.am: Added `java/lang/ThreadLocal.java'.
libjava:

2001-07-10  Alexandre Petit-Bianco  <apbianco@redhat.com>

        * Makefile.am: Added `java/lang/ThreadLocal.java'.
        * Makefile.in: Regenerate.
        * java/lang/ThreadLocal.java: Initial import.

libjava/testsuite:

2001-07-10  Alexandre Petit-Bianco  <apbianco@readhat.com>

        * libjava.lang/TLtest.java: New file.
        * libjava.lang/TLtest.out: New file.

(http://gcc.gnu.org/ml/java-patches/2001-q3/msg00042.html )

From-SVN: r43915
2001-07-10 17:47:37 -07:00
Tom Tromey
0bedbbdf1b For PR java/3562:
* java/lang/Class.h (Class(void)): Now private.  Removed
	implementation.  From dmorsberger@sensysdl.com.

From-SVN: r43781
2001-07-05 15:57:09 +00:00
Jeremy Nimmer
e2a6abb6d5 For PR libgcj/3523:
2001-07-01  Jeremy Nimmer  <jwnimmer@alum.mit.edu>

	For PR libgcj/3523:
	* java/io/LineNumberReader.java (reset): Pass correct arguments to
	countLines.

From-SVN: r43683
2001-07-02 05:16:24 +00:00
Tom Tromey
62d73fa83b natFileDescriptorPosix.cc (open): Change error message formatting.
* java/io/natFileDescriptorPosix.cc (open): Change error message
	formatting.  From David Brownell.

From-SVN: r43564
2001-06-26 03:27:57 +00:00
Mark J. Roberts
a0d4ddde2c BigInteger.java (byteArrayToIntArray): Don't include extraneous/malformed sign word.
2001-06-19  Mark J. Roberts  <mjr@statesmean.com>

	* java/math/BigInteger.java (byteArrayToIntArray): Don't include
	extraneous/malformed sign word.

From-SVN: r43455
2001-06-19 11:42:03 +00:00
Tom Tromey
6728a61d1f natRuntime.cc (_Jv_FindSymbolInExecutable): Return NULL if no library on the list has the symbol.
* java/lang/natRuntime.cc (_Jv_FindSymbolInExecutable): Return
	NULL if no library on the list has the symbol.
	(init): Call add_library on the program itself.
	* prims.cc (JvRunMain): Initialize Runtime before searching for
	`main'.
	(_Jv_RunMain): Likewise.

From-SVN: r43413
2001-06-15 23:22:02 +00:00
Tom Tromey
fc07ebe2a7 re PR libgcj/3144 (java.lang.Date.compareTo() not supported)
Fix for PR libgcj/3144:
	* java/util/Date.java: Merged with Classpath.

From-SVN: r43374
2001-06-14 15:41:57 +00:00
Tom Tromey
4c399c87ef re PR libgcj/3059 (System doesn't set java.home property)
Fix for PR libgcj/3059:
	* java/lang/natSystem.cc (init_properties): Define `java.home'.
	* Makefile.in: Rebuilt.
	* Makefile.am (AM_CXXFLAGS): Define PREFIX.

From-SVN: r43040
2001-06-08 19:09:04 +00:00
Martin Kahlert
c90efa7a1c natClass.cc (_Jv_IsAssignableFrom): Ensure that ancestors table index is within allowed bounds.
2001-06-05  Martin Kahlert  <martin.kahlert@infineon.com>
	    Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/lang/natClass.cc (_Jv_IsAssignableFrom): Ensure that ancestors
	table index is within allowed bounds. Ensure that we dont try to access
	class itable at a negative offset. Avoid an ancestor table lookup if
	source is a primitive type class.
	(isInstance): Remove redundant isPrimitive() check.

Co-Authored-By: Bryce McKinlay <bryce@waitaki.otago.ac.nz>

From-SVN: r42898
2001-06-05 10:46:36 +01:00
Tom Tromey
0f2257011a PublicKey.java: Extend Key.
* java/security/PublicKey.java: Extend Key.
	* java/security/PrivateKey.java: Extend Key.

From-SVN: r42886
2001-06-04 22:55:49 +00:00
Anthony Green
20f914dc05 !defined(USE_LTDL) fix
From-SVN: r42813
2001-06-02 19:40:53 +00:00
Anthony Green
c8fb98139d USE_LIBFFI change
From-SVN: r42791
2001-06-02 08:49:31 +00:00
Jeff Sturm
e2f3946854 natFile.cc (get_entry): Removed functions.
* natFile.cc (get_entry): Removed functions.
(performList): Call readdir or readdir_r if HAVE_READDIR_R defined.
Allocate enough storage for d_name if using readdir_r.

From-SVN: r42767
2001-06-01 04:04:10 +00:00
Tom Tromey
66c8aed252 natFileDescriptorPosix.cc (open): Allocate buffer to correct size.
* java/io/natFileDescriptorPosix.cc (open): Allocate buffer to
	correct size.
	(write): Loop until write completes.  From Corey Minyard.

From-SVN: r42749
2001-05-31 17:33:05 +00:00
Laurent Guerby
916f3579cc Rectangle2D.java: fix doc typo.
2001-05-29  Laurent Guerby  <guerby@acm.org>

	* java/awt/geom/Rectangle2D.java: fix doc typo.

From-SVN: r42746
2001-05-31 16:48:15 +00:00
Tom Tromey
5980a00aeb DriverManager.java (getDrivers): Handle case where driver's class loader is null.
* java/sql/DriverManager.java (getDrivers): Handle case where
	driver's class loader is null.  From Corey Minyard.

From-SVN: r42745
2001-05-31 16:18:55 +00:00
Tom Tromey
cb894e07ec natString.cc (init): Throw ArrayIndexOutOfBoundsException.
* java/lang/natString.cc (init): Throw
	ArrayIndexOutOfBoundsException.
	(getChars): Likewise.
	(getBytes): Likewise.
	(valueOf): Likewise.

From-SVN: r42531
2001-05-24 18:06:03 +00:00
Tom Tromey
cf6b8de459 configure.in: Only allow hash synchronization when POSIX threads are enabled.
* configure.in: Only allow hash synchronization when POSIX threads
	are enabled.
	* java/lang/natObject.cc (alloc_heavy): Properly find `init' field
	of sync info object.

From-SVN: r42530
2001-05-24 18:03:47 +00:00
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
Per Bothner
c93d7fae7b Implement invocation interface; don't create new thread for main.
From-SVN: r42428
2001-05-21 23:47:48 -07:00
Per Bothner
ef0a7b49a9 javaprims.h (_Jv_FormatInt): New declaration.
* gcj/javaprims.h (_Jv_FormatInt):  New declaration.
	* java/lang/natString.cc (_JvFormatInt):  New primitive, with logic
	taken from old Integer.toString code.
	(Integer::valueOf):  Use _Jv_FormatInt.
	* java/lang/Integer.java (toString):  Just use call String.valueOf.
	* java/lang/Long.java (toString):  Fix typo in comment.
	* java/lang/String.java (valueOf(int)):  Make native.
	* java/lang/StringBuffer.java (append(int)):  Make native.
	* java/lang/natStringBuffer.cc:  New file, for append(jint).
	* Makefile.am (ant_source_files):  Add java/lang/natStringBuffer.cc.

From-SVN: r42419
2001-05-21 21:38:37 -07:00
Bryce McKinlay
ca1906ff9a [multiple changes]
2001-05-18  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* include/jvm.h: Move "#pragma GCC java_exceptions" to ...
	* gcj/javaprims.h: ... here.
	* gnu/gcj/io/shs.cc: Add "#pragma GCC java_exceptions".

2001-05-17  Martin Kahlert  <martin.kahlert@infineon.com>

	* java/lang/natClass.cc (_Jv_FindIIndex): Fix an off by one error
	with length of ioffset table.
	(_Jv_IsAssignableFrom): Likewise.

From-SVN: r42248
2001-05-18 07:29:11 +01:00
Tom Tromey
26ec4f47ba SimpleDateFormat.java (parse): Handle non-dst time zones.
* java/text/SimpleDateFormat.java (parse): Handle non-dst time
	zones.

From-SVN: r42156
2001-05-16 15:34:46 +00:00
Tom Tromey
6f4226f843 GregorianCalendar.java (computeTime): Only call getTimeZone() once.
* java/util/GregorianCalendar.java (computeTime): Only call
	getTimeZone() once.

From-SVN: r42121
2001-05-15 21:44:24 +00:00
Tom Tromey
127699902e SimpleDateFormat.java (parse): Clear DST_OFFSET and ZONE_OFFSET just before computing the time.
* java/text/SimpleDateFormat.java (parse): Clear DST_OFFSET and
	ZONE_OFFSET just before computing the time.

From-SVN: r42076
2001-05-14 17:40:29 +00:00
Richard Henderson
5a0bf1eed1 configure.in (ia64-*): Don't set SYSDEP_SOURCES.
* configure.in (ia64-*): Don't set SYSDEP_SOURCES.
        * java/lang/natThrowable.cc: Don't use __ia64_backtrace.

From-SVN: r41984
2001-05-11 23:25:03 -07:00
Tom Tromey
dac975d3d9 Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added Polygon.java.
	* java/awt/Polygon.java: New file.

	* java/awt/geom/AffineTransform.java
	(setToRotation(double,double,double)): New method.
	(AffineTransform): Set type to TYPE_GENERAL_TRANSFORM.
	(setToShear): Likewise.

From-SVN: r41954
2001-05-11 01:03:45 +00:00
Tom Tromey
9622762678 [multiple changes]
2001-05-10  Tom Tromey  <tromey@redhat.com>

	* java/util/GregorianCalendar.java: Imported from Classpath.
	* gnu/java/locale/LocaleInformation_nl.java: New file from
	Classpath.
	* gnu/java/locale/LocaleInformation_en.java: Likewise.
	* gnu/java/locale/LocaleInformation_de.java: Likewise.
	* gnu/java/locale/LocaleInformation.java: Likewise.
	* natGregorianCalendar.cc: Removed.
	* Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Removed
	natGregorianCalendar.cc.

2001-05-10  Tom Tromey  <tromey@redhat.com>

	* java/text/SimpleDateFormat.java (computeCenturyStart): New
	method.
	(defaultCenturyStart): Use it.
	(readObject): Likewise.
	(SimpleDateFormat): Clear the calendar.  Set the grouping on the
	number format.
	(parse): Copy the calendar before modifying it.  Correctly handle
	the time zone.

	* java/util/Calendar.java (clear): Set field value(s) to 0.

2001-05-10  Jeff Sturm  <jsturm@one-point.com>

	* Calendar.java (get): Clear areFieldsSet if requested field
	is not set.
	(set): Unset fields that depend on new value.

From-SVN: r41942
2001-05-10 18:13:17 +00:00
Bryce McKinlay
7026707d15 Class.h (_Jv_Self): New union type.
* java/lang/Class.h (_Jv_Self): New union type.
	(Class): Manipulate vtable pointer via _Jv_Self union. Thanks to
	Jeff Sturm and Fergus Henderson.

	* java/lang/ClassLoader.java: Remove dead code fragment.

From-SVN: r41876
2001-05-06 14:42:11 +01:00
Matt Kraai
dad362764f natFile.cc (performSetReadOnly): Fix #ifdef test.
2001-04-30  Matt Kraai  <kraai@alumni.carnegiemellon.edu>

	* java/io/natFile.cc (performSetReadOnly): Fix #ifdef test.
	(performDelete): Fix #endif placement.

From-SVN: r41703
2001-04-30 23:09:39 +00:00
Zack Weinberg
ad34a822c1 * java/lang/natClassLoader.cc (_Jv_RegisterInitiatingLoader): Use _Jv_Malloc.
From-SVN: r41651
2001-04-28 01:39:15 +00:00
Bryce McKinlay
0cd99be737 re PR libgcj/2237 (serialization doesn't throw exception on failure)
Fix PR libgcj/2237:
	* java/io/ObjectStreamClass.java (setClass): Calculate
	serialVersionUID for local class and compare it against the UID
	from the Object Stream. Throw InvalidClassException upon mismatch.
	(setUID): Renamed to...
	(getClassUID): this. Return the calculated class UID rather than
	setting uid field directly.
	(getDefinedSUID): Removed.
	* java/io/ObjectInputStream.java (resolveClass): Use the
	three-argument Class.forName().
	* java/io/InvalidClassException (toString): Don't include classname in
	result if it is null.

From-SVN: r41567
2001-04-26 03:02:05 +01:00
Kaveh R. Ghazi
9e65a913b6 natInetAddress.cc (java::net::InetAddress::aton): Wrap use of inet_pton in HAVE_INET6.
* java/net/natInetAddress.cc (java::net::InetAddress::aton):
	Wrap use of inet_pton in HAVE_INET6.

From-SVN: r41547
2001-04-25 20:27:06 +00:00
Bryce McKinlay
889a80aa95 Forgot this file on last commit.
From-SVN: r41544
2001-04-25 16:48:05 +01:00
Bryce McKinlay
28f7d9d05a decl.c (init_decl_processing): Add new class "protectionDomain" field.
gcc/java:

2001-04-25  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* decl.c (init_decl_processing): Add new class "protectionDomain"
	field.
	* class.c (make_class_data): Set initial value for "protectionDomain".

libjava:

2001-04-25  Bryce McKinlay  <bryce@albatross.co.nz>

	java.security merge and ClassLoader compliance fixes.

	* java/lang/Class.h (Class): Include ProtectionDomain.h.
	New protectionDomain field.
	(forName): Add initialize parameter. Fixes declaration to comply with
	JDK spec.
	* java/lang/natClass.cc (forName): Correct declaration of the three-arg
	variant. Honour	"initialize" flag.
	(getProtectionDomain0): New method.
	* java/lang/Class.java: Fix forName() declaration.
	(getPackage): New method based on Classpath implementation.
	(getProtectionDomain0): New native method decl.
	(getProtectionDomain): New method.
	* java/lang/ClassLoader.java (getParent): Now final.
	(definedPackages): New field.
	(getPackage): New.
	(defineClass): New variant with protectionDomain argument.
	(definePackage): New.
	(getPackages): New.
	(findSystemClass): Now final.
	(getSystemResourceAsStream): Remove redundant "final" modifier.
	(getSystemResource): Remove redundant "final" modifier.
	(getResources): Now final.
	(protectionDomainPermission): New static field.
	(unknownProtectionDomain): Ditto.
	(defaultProtectionDomain): Ditto.
	(getSystemClassLoader): Now non-native.
	* java/util/ResourceBundle.java (tryGetSomeBundle): Use the correct
	arguments for Class.forName().
	* java/lang/Package.java: New file.
	* gnu/gcj/runtime/VMClassLoader.java (getVMClassLoader): Removed.
	(instance): Static initialize singleton.
	(findClass): Override this, not findSystemClass.
	* java/lang/natClassLoader.cc (defineClass0): Set class's
	protectionDomain field as specified.
	(getSystemClassLoader): Removed.
	(findClass): Renamed from findSystemClass. Call the interpreter via
	URLClassLoader.findClass if loading class via dlopen fails.

	* java/security/*.java: java.security import/merge with Classpath.
	* java/security/acl/*.java: Likewise.
	* java/security/interfaces/*.java: Likewise.
	* java/security/spec/*.java: Likewise.
	* java/net/NetPermission.java: Likewise.
	* java/net/SocketPermission.java: Likewise.
	* gnu/java/security/provider/DefaultPolicy.java: Likewise.

	* Makefile.am: Add new classes.
	* Makefile.in: Rebuilt.
	* gcj/javaprims.h: CNI namespace rebuild.

From-SVN: r41543
2001-04-25 16:45:15 +01:00
Tom Tromey
efc150d58b Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added Line2D.java.
	* java/awt/geom/Line2D.java: Wrote.

	* java/awt/Menu.java (addNotify): Wrote.

	* java/awt/PopupMenu.java (addNotify): Implemented.
	(show): Likewise.

	* java/awt/Scrollbar.java (addNotify): Call super.addNotify.
	* java/awt/List.java (addNotify): Call super.addNotify.
	* java/awt/Label.java (addNotify): Call super.addNotify.
	* java/awt/FileDialog.java (addNotify): Call super.addNotify.
	* java/awt/Dialog.java (addNotify): Call super.addNotify.
	* java/awt/Choice.java (addNotify): Call super.addNotify.
	* java/awt/CheckboxMenuItem.java (addNotify): Call super.addNotify.
	* java/awt/Checkbox.java (addNotify): Call super.addNotify.

	* java/awt/List.java (replaceItem): Notify peer.

	* java/awt/geom/Rectangle2D.java
	(Float.setRect(float,float,float,float)): New method.

	* java/awt/event/ContainerEvent.java (getContainer): Now returns
	Container.

	* java/awt/RenderingHints.java (Key): Class now public.

	* java/awt/Rectangle.java (Rectangle): Now implements
	Serializable.
	(getPathIterator): Removed.

	* java/awt/GraphicsConfiguration.java (GraphicsConfiguration): New
	constructor.

	* java/awt/FileDialog.java: Wrote.

	* java/awt/EventQueue.java (isDispatchThread): Now public.
	(invokeLater): Likewise.

	* java/awt/Component.java (setCursor): Update peer.
	(getFontMetrics): Use peer.

	* java/awt/ComponentOrientation.java (ComponentOrientation): Class
	now final.

From-SVN: r41492
2001-04-22 17:01:18 +00:00
Tom Tromey
760903c056 Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added Line2D.java.
	* java/awt/geom/Line2D.java: Wrote.

	* java/awt/Menu.java (addNotify): Wrote.

	* java/awt/PopupMenu.java (addNotify): Implemented.
	(show): Likewise.

	* java/awt/Scrollbar.java (addNotify): Call super.addNotify.
	* java/awt/List.java (addNotify): Call super.addNotify.
	* java/awt/Label.java (addNotify): Call super.addNotify.
	* java/awt/FileDialog.java (addNotify): Call super.addNotify.
	* java/awt/Dialog.java (addNotify): Call super.addNotify.
	* java/awt/Choice.java (addNotify): Call super.addNotify.
	* java/awt/CheckboxMenuItem.java (addNotify): Call super.addNotify.
	* java/awt/Checkbox.java (addNotify): Call super.addNotify.

	* java/awt/List.java (replaceItem): Notify peer.

	* java/awt/geom/Rectangle2D.java
	(Float.setRect(float,float,float,float)): New method.

	* java/awt/event/ContainerEvent.java (getContainer): Now returns
	Container.

	* java/awt/RenderingHints.java (Key): Class now public.

	* java/awt/Rectangle.java (Rectangle): Now implements
	Serializable.
	(getPathIterator): Removed.

	* java/awt/GraphicsConfiguration.java (GraphicsConfiguration): New
	constructor.

	* java/awt/FileDialog.java: Wrote.

	* java/awt/EventQueue.java (isDispatchThread): Now public.
	(invokeLater): Likewise.

	* java/awt/Component.java (setCursor): Update peer.
	(getFontMetrics): Use peer.

	* java/awt/ComponentOrientation.java (ComponentOrientation): Class
	now final.

From-SVN: r41489
2001-04-22 03:05:39 +00:00
Tom Tromey
f825e235a8 List.java: Wrote.
* java/awt/List.java: Wrote.
	* java/awt/Dialog.java: Wrote.

From-SVN: r41476
2001-04-21 02:48:35 +00:00
Warren Levy
a6f5b6f958 natSystem.cc (getSystemTimeZone): Adjust for DST.
* java/lang/natSystem.cc (getSystemTimeZone): Adjust for DST.
	* java/text/SimpleDateFormat.java
	(indexInArray): Removed private method.
	(processYear): Removed private method.
	(parseLenient): Removed private method.
	(parseLeadingZeros): Removed private method.
	(parseStrict): Removed private method.
	(expect): Added new private method.
	(parse): Reverted to pre-Classpath merge version with minor fixes.
	* java/util/natGregorianCalendar.cc (computeTime): Handle strict
	calendars.

From-SVN: r41456
2001-04-20 09:43:52 +00:00
Bryce McKinlay
52c2897732 Makefile.am: Make a libtool convenience library.
libffi:
	* Makefile.am: Make a libtool convenience library.
	* Makefile.in: Rebuilt.

libjava:
	* java/io/File.java (normalizePath): New private method.
	(File (String)): Use normalizePath().
	(File (String, String)): Likewise.

	* Makefile.am (libffi_files): Removed.
	(libgcj.la): Link libffi as a convenience library instead of
	refering to its object files directly.
	* Makefile.in: Rebuilt.

From-SVN: r41298
2001-04-12 10:32:50 +01:00
Per Bothner
ab9fa4b5d4 natString.cc (_Jv_NewStringUtf8Const): Register finalizer.
* java/lang/natString.cc (_Jv_NewStringUtf8Const):  Register finalizer.
	Recalculate hash, since Utf8Const's hash is only 16 bits.

	* java/lang/natString.cc (_Jv_StringFindSlot, rehash):  Use high-order
	bits of hash to calculate step for chaining.

	* java/lang/natString.cc (intern, _Jv_NewStringUtf8Const):  Rehash
	when 2/3 full, rather than 3/4 full.

From-SVN: r41233
2001-04-10 15:46:11 -07:00
Tom Tromey
0003efa0b3 PrintStream.java (out): Removed field.
* java/io/PrintStream.java (out): Removed field.  Fixes PR
	java/2449.
	(write): Call flush, not out.flush, per spec.
	(close): Flush output stream, per spec.  Handle
	InterruptedIOException.
	(checkError): Likewise.
	(flush, print, write): Handle InterruptedIOException per spec.
	(PrintStream): Don't create BufferedOutputStream.
	(work_bytes): New field.
	(writeChars): Use work_bytes.  Don't assume `out' is a
	BufferedOutputStream.

From-SVN: r41014
2001-04-02 21:16:38 +00:00
Torsten Rueger
5f82d4f21c re PR libgcj/2429 (java.text.MessageFormat should usefully set text on exceptions)
2001-04-02  Torsten Rueger  <torsten.rueger@firsthop.com>

	* java/text/MessageFormat.java (setLocale): Added missing `else'.
	For PR libgcj/2429.

From-SVN: r41012
2001-04-02 19:55:56 +00:00
Bryce McKinlay
8f58baf480 natSystem.cc (init_properties): Revert yesterday's changes to "file.separator"...
* java/lang/natSystem.cc (init_properties): Revert yesterday's changes
	to "file.separator", "path.separator", and "java.io.tmpdir" property
	initialization.
	* java/io/File.java: Likewise.
	* java/io/natFile.cc (init_native): Likewise.
	* java/io/natFileWin32.cc (init_native): Likewise.

From-SVN: r40994
2001-04-02 06:23:10 +01:00
Per Bothner
a3b63299e6 natString.cc (intern): If string's data does not point to this String, make a fresh String that does.
* java/lang/natString.cc (intern):  If string's data does not point to
	this String, make a fresh String that does.

	* java/lang/natString.cc (unintern):  Replace by static function.
	* java/lang/String.java (unintern):  Remove method.

From-SVN: r40990
2001-04-01 14:54:10 -07:00
Per Bothner
f44b63ae02 DeflaterOutputStream.java (deflate): Loop while def.needsInput.
* DeflaterOutputStream.java (deflate):  Loop while def.needsInput.
	(finish):  def.deflate needs to be called in a loop.
	(inbuf, inbufLength):  New private fields.
	(write(int)): Use inbuf.
	(write(byte[],int,int):  Check if pending output in inbuf.
	* ZipOutputStream.java:  Don't use Deflater if stored.
	Use a Checksum object directly, not via a CheckedOutputStream.
	(uncompressed_size):  New field,
	(closeEntry):  Only write data_directory if needed.
	(write):  If STORED, write directly.
	Always update crc, and uncompressed_size.
	(write_entry):  Fix lots of protocol erors.

From-SVN: r40988
2001-04-01 14:28:45 -07:00
Bryce McKinlay
f404754042 1.3-Compliant Implementation of java.io.File.
* java/lang/natSystem.cc (init_properties): Get "file.separator",
	"path.separator", and "java.io.tmpdir" from the File class, instead
	of setting them explicitly.
	* java/io/File.java: Do not canonicalize paths for security manager
	checks. Call init_native() from static initializer. Do not pass path
	argument to native methods. New native method declarations. Some
	security manager checks moved to checkWrite().
	(equals): Check file system case sensitivity and act appropriatly.
	(hashCode): Likewise.
	(isHidden): New method implemented.
	(performList): Changed prototype. Now takes a class argument specifying
	the class of the returned array: Strings or File objects. Also added
	FileFilter argument.
	(listFiles): New variants with "File" return type implemented.
	(createTempFile): Use createNewFile(). Use maxPathLen.
	(setReadOnly): New method implemented.
	(listRoots): Likewise.
	(compareTo): Likewise.
	(setLastModified): Likewise.
	(checkWrite): New method.
	(setPath): Removed.
	* java/io/natFile.cc: Various functions no longer take canonical path
	argument.
	(stat): Handle ISHIDDEN query.
	(isAbsolute): Remove WIN32 cruft.
	(performList): New arguments. Handle returning either File[] or
	String[] arrays. Check with FileFilter or FilenameFilter arguments as
	appropriate. Use an ArrayList, not a Vector, for the temporary list.
	(performSetReadOnly): New method implemented.
	(performListRoots): Likewise.
	(performSetLastModified): Likewise.
	(performCreate): Likewise.
	(init_native): New initialization function.
	* java/io/natFileWin32.cc: Various functions no longer take canonical
	path argument.
	(stat): Add FIXME about ISHIDDEN query.
	(performList): New arguments. Handle returning either File[] or String[]
	arrays. Check with FileFilter or FilenameFilter arguments as
	appropriate. Use an ArrayList, not a Vector, for the temporary list.
	(performSetReadOnly): New. Stubbed.
	(performListRoots): Likewise.
	(performSetLastModified): Likewise.
	(performCreate): Likewise.
	(init_native) New initialization function.
	* configure.in: Check for utime() and chmod().
	* configure: Rebuilt.
	* include/config.h.in: Rebuilt.

	Resolves PR libgcj/1759.

From-SVN: r40985
2001-04-01 12:16:40 +01:00
Richard Henderson
b3208f56cb exception.cc (java_eh_info): Make value type jthrowable.
* exception.cc (java_eh_info): Make value type jthrowable.
	(_Jv_type_matcher): Remove now unneeded cast.
	(_Jv_Throw): Make argument type jthrowable.  Munge name
	for SJLJ_EXCEPTIONS here ...
	* gcj/cni.h: ... not here.
	(JvThrow): Remove.
	* gcj/javaprims.h (_Jv_Throw, _Jv_Sjlj_Throw): Update declarations.

	* defineclass.cc, interpret.cc, jni.cc, posix-threads.cc,
	prims.cc, resolve.cc, gnu/gcj/runtime/natFirstThread.cc,
	gnu/gcj/xlib/natDrawable.cc, gnu/gcj/xlib/natFont.cc,
	gnu/gcj/xlib/natWMSizeHints.cc, gnu/gcj/xlib/natWindowAttributes.cc,
	gnu/gcj/xlib/natXImage.cc, java/io/natFile.cc,
	java/io/natFileDescriptorEcos.cc, java/io/natFileDescriptorPosix.cc,
	java/io/natFileDescriptorWin32.cc, java/io/natFileWin32.cc,
	java/lang/natClass.cc, java/lang/natClassLoader.cc,
	java/lang/natDouble.cc, java/lang/natObject.cc,
	java/lang/natPosixProcess.cc, java/lang/natRuntime.cc,
	java/lang/natString.cc, java/lang/natSystem.cc,
	java/lang/natThread.cc, java/lang/reflect/natArray.cc,
	java/lang/reflect/natConstructor.cc, java/lang/reflect/natField.cc,
	java/lang/reflect/natMethod.cc, java/util/zip/natDeflater.cc,
	java/util/zip/natInflater.cc:
	Use throw, not JvThrow or _Jv_Throw.

From-SVN: r40838
2001-03-25 23:05:32 -08:00
Bryce McKinlay
f1cd4ab003 HashMap.java (HashMap): If 0 is given for initialCapacity paramater, bump it to 1.
2001-03-24  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/util/HashMap.java (HashMap): If 0 is given for initialCapacity
	paramater, bump it to 1.
	* java/util/Hashtable.java (Hashtable): Likewise.

From-SVN: r40812
2001-03-24 08:05:29 +00:00
Per Bothner
3c45ffa514 natDouble.cc (parseDouble): Cannot use errno to check for errors...
* java/lang/natDouble.cc (parseDouble):  Cannot use errno to
	check for errors, since we don't want to throw exception on
	overflow/underflow.  Instead, trim whitespace, and then check that
	_strtod_r uses up all the rest of the string.

From-SVN: r40800
2001-03-23 16:59:57 -08:00
Per Bothner
7a3155bef7 natClass.cc (_Jv_IsAssignableFrom): Checking the ancestors array is invalid for interfaces...
* java/lang/natClass.cc (_Jv_IsAssignableFrom):  Checking the
	ancestors array is invalid for interfaces, so do that *after*
	check that the target type is not an interface.

From-SVN: r40797
2001-03-23 16:21:24 -08:00
Tom Tromey
83c64db681 jni.cc (_Jv_JNI_GetAnyFieldID): Handle unresolved fields.
* jni.cc (_Jv_JNI_GetAnyFieldID): Handle unresolved fields.
	* java/lang/reflect/natField.cc (getType): Use _Jv_ResolveField
	unconditionally.
	* include/jvm.h (_Jv_ResolveField): Declare.
	* include/java-interp.h (_Jv_ResolveField): Don't declare.
	* resolve.cc (_Jv_ResolveField): No longer conditional on
	INTERPRETER.

From-SVN: r40785
2001-03-23 19:15:44 +00:00
Bryce McKinlay
595420bfea Method.java (getExceptionTypes): Call getType() to initialize if exception_types is null.
* java/lang/reflect/Method.java (getExceptionTypes): Call getType() to
	initialize if exception_types is null.
	* java/lang/reflect/Constructor.java: Likewise.
	* java/lang/reflect/natConstructor.cc (getType): Initialize
	exception_types to an empty Object array.

From-SVN: r40730
2001-03-22 06:37:16 +00:00
Tom Tromey
5db60c46d0 re PR libgcj/2338 (RandomAccessFile does not create the file if not found)
* java/io/natFileDescriptorPosix.cc (open): Add O_CREAT in
	read/write case.  Fixes PR libgcj/2338.

From-SVN: r40692
2001-03-21 17:23:09 +00:00
Warren Levy
bd2950d208 TimeZone.java: Sync up with Classpath.
* java/util/TimeZone.java: Sync up with Classpath.  Includes new
	and corrected SimpleTimeZone's for the timezones hash table.

From-SVN: r40650
2001-03-20 10:05:45 +00:00
Per Bothner
b90f4049d3 URLStreamHandler.java (parseURL): Fix bug which would "canonicalize" "../../xxx" to "/xxx".
* java/net/URLStreamHandler.java (parseURL):  Fix bug which would
	"canonicalize" "../../xxx" to "/xxx".

From-SVN: r40641
2001-03-19 15:31:14 -08:00
Mark Wielaard
86c9776ba2 ArrayList.java: Remove RCS keywords from comments
* java/util/ArrayList.java: Remove RCS keywords from comments
    * java/util/BasicMapEntry.java: idem
    * java/util/Dictionary.java: idem
    * java/util/HashSet.java: idem

    * java/util/EventObject.java: reindent
    * java/util/Properties.java: idem
    * java/util/SortedMap.java: idem

    * java/util/Enumeration.java: Merge with Classpath
    * java/util/EventListener.java: idem
    * java/util/Observable.java: idem
    * java/util/Observer.java: idem
    * java/util/Stack.java: idem

From-SVN: r40639
2001-03-19 23:00:18 +00:00
Mark Wielaard
082a12bce7 natClass.cc (_Jv_CheckCast): add class names to exception
* java/lang/natClass.cc (_Jv_CheckCast): add class names to exception
* gnu/gcj/runtime/FirstThread.java (main): replace / with . in jarMainClassName

From-SVN: r40604
2001-03-18 23:07:57 +00:00
Tom Tromey
9de8be0b19 natString.cc (rehash): Don't bother with memset; _Jv_AllocBytes returns zero'd memory.
* java/lang/natString.cc (rehash): Don't bother with memset;
	_Jv_AllocBytes returns zero'd memory.  Use _Jv_AllocBytesChecked.
	Use UNMASK_PTR.
	(UNMASK_PTR): New macro.
	(intern): Unmask pointer before returning it.  Register finalizer
	for the string.
	(unintern): Handle case where
	(MASK_PTR): New macro.
	(PTR_MAKSED): Likewise.
	(_Jv_NewStringUtf8Const): Use UNMASK_PTR.

From-SVN: r40593
2001-03-18 00:57:13 +00:00
Andrew Haley
a58dc194c8 natThrowable.cc (printRawStackTrace): Copy the stackTrace buffer to a correctly aligned pointer array.
2001-03-01  Andrew Haley  <aph@redhat.com>

        * java/lang/natThrowable.cc (printRawStackTrace): Copy the
        stackTrace buffer to a correctly aligned pointer array.

From-SVN: r40456
2001-03-14 15:49:06 +00:00
Bryce McKinlay
e52335a982 ExceptionInInitializerError.java (printStackTrace): Only try to print the subordinate stack trace if "exception" is set.
* java/lang/ExceptionInInitializerError.java (printStackTrace):
	Only try to print the subordinate stack trace if "exception" is set.
	Print our class name first.

From-SVN: r40404
2001-03-12 07:47:13 +00:00
Bryce McKinlay
456c0b60ad Runtime.java (_exit): Declare new package-private native.
2001-03-12  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/lang/Runtime.java (_exit): Declare new package-private native.
	* java/lang/natRuntime.cc (_exit): Implemented. Same as exit() but
	without a security manager check.
	(exit): Call _exit after security check.
	* prims.cc (JvRunMain): Call Runtime._exit to shutdown the runtime
	"naturally".
	* java/lang/System.java (setSecurityManager): If a security manager
	is already in place, call checkPermission.
	* java/lang/ThreadGroup.java (uncaughtException): If printStackTrace()
	throws an exception, try to deal with it gracefully.
	* java/lang/ExceptionInInitializerError.java (printStackTrace):
	Only try to print the subordinate stack trace if "exception" is set.
	Print our class name first.

From-SVN: r40401
2001-03-12 07:40:17 +00:00
Tom Tromey
6771219aaa re PR libgcj/1971 (ObjectOutputStream generates incorrect serialVersionUID's for array classes)
* java/io/ObjectStreamClass.java (setUID): Don't write interface
	info for array classes.
	Fixes PR libgcj/1971.

From-SVN: r40337
2001-03-09 01:35:54 +00:00
Bryce McKinlay
5c409ad3d8 TreeSet.java (writeObject): Use a for-loop instead of Iterator.hasNext().
2001-03-06  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/util/TreeSet.java (writeObject): Use a for-loop instead of
	Iterator.hasNext().

2001-03-05  Jochen Hoenicke  <jochen@gnu.org>

	* java/util/TreeMap.java (writeObject): Use defaultWriteObject()
	instead of the new JDK1.2 API.  This is simpler and makes
	back-porting the classes to JDK1.1 trivial.
	(readObject): likewise.

From-SVN: r40252
2001-03-06 01:04:28 +00:00
Per Bothner
c04278f74f Changes merged from Kawa's gnu.math.
* java/math/BigInteger.java
	* gnu/gcj/math/MPN.java (rshift0): New method handles zero shift count.
	(rshift(int[],int[],int,int):  Removed - not needed.
	(gcd):  Use rshift0 rather than rshift.
	* java/math/BigInteger.java (setShiftRight):  Likewise.
	(divide):  Simplify by using rshift0.
	(divide):  Zero-extend results if high-order bit set.

From-SVN: r40177
2001-03-01 22:55:33 -08:00
Per Bothner
f9edddabe7 Change to sometimes include class name in ClassFormatError message.
From-SVN: r40030
2001-02-23 20:15:31 -08:00
Per Bothner
b80b8cfd29 Throwable.java (CPlusPlusDemangler): Pass -s java to c++filt to select java-style output.
* java/lang/Throwable.java (CPlusPlusDemangler):  Pass -s java to
	c++filt to select java-style output.

From-SVN: r40027
2001-02-23 19:52:49 -08:00
Bryce McKinlay
810e8b5200 re PR java/2040 (java.util.Hashtable(int,float) is stricter than sun's version)
Fix for PR java/2040:
	* java/util/HashMap.java (HashMap): Don't throw exception for
	loadFactor > 1. Add exception messages.
	* java/util/Hashtable.java (Hashtable): Likewise.

From-SVN: r39969
2001-02-22 04:16:07 +00:00
Tom Tromey
39f90b7ce0 PipedWriter.java (flush): Throw exception if stream closed.
* java/io/PipedWriter.java (flush): Throw exception if stream
	closed.
	* java/io/OutputStreamWriter.java (write): Throw exception if
	stream closed.
	(writeChars): Don't throw exception if stream closed.
	* java/io/CharArrayWriter.java (closed): New field.
	(close): Set it.
	(flush): Throw exception if stream closed.
	(reset): Synchronize on correct lock.  Allow stream to be
	reopened.
	(toCharArray, toString, writeTo): Synchronize.
	(write): Throwe exception if stream closed.
	* java/io/BufferedWriter.java (close): Clear `buffer'.
	(flush): Throw IOException if stream is closed.
	(write): Likewise.

From-SVN: r39927
2001-02-20 19:01:55 +00:00
Tom Tromey
0cbd398014 ThreadGroup.java (activeCount): Only include threads which are alive.
* java/lang/ThreadGroup.java (activeCount): Only include threads
	which are alive.
	(enumerate): Likewise.

From-SVN: r39922
2001-02-20 18:05:57 +00:00
Bryce McKinlay
be454565be CharArrayReader.java (CharArrayReader): Throw IllegalArgumentException if constructor arguments are illegal.
* java/io/CharArrayReader.java (CharArrayReader): Throw
	IllegalArgumentException if constructor arguments are illegal.
	(ready): Return false if no more characters can be read.
	* java/io/ByteArrayInputStream.java (ByteArrayInputStream): Likewise.

From-SVN: r39876
2001-02-19 05:37:28 +00:00
Bryce McKinlay
3d1c878854 Integer.java (getInteger): Return default argument if property is not set.
* java/lang/Integer.java (getInteger): Return default argument if
	property is not set. Don't call decode with null argument.
	* java/lang/Long.java (getLong): Likewise.

From-SVN: r39870
2001-02-19 03:43:12 +00:00
Mark Wielaard
6483cbecc4 * java/util/TimerTask.java: New version from Classpath.
From-SVN: r39801
2001-02-17 15:27:34 +00:00
Mark Wielaard
3f57b973f3 Remerge with Classpath (changes by Bryce McKinlay <bryce@albatross.co.nz>)
Remerge with Classpath
    (changes by Bryce McKinlay  <bryce@albatross.co.nz>)
    * java/io/DataInputStream.java (readBoolean): Use convertToBoolean().
    (readByte): Use convertToByte().
    (readChar): Use convertToChar().
    (readInt): Use convertToInt().
    (readLong): Use convertToLong().
    (readShort): Use convertToShort().
    (readUnsignedByte): Use convertToUnsignedByte().
    (readUnsignedShort): Use convertToUnsignedShort().
    (readUTF): Use convertToUTF().

    (convertToBoolean): Resurrected.
    (convertToByte): Ditto.
    (convertToChar): Ditto.
    (convertToInt): Ditto.
    (convertToLong): Ditto.
    (convertToShort): Ditto.
    (convertToUnsignedByte): Ditto.
    (convertToUnsignedShort): Ditto.
    (convertToUTF): Ditto.

From-SVN: r39800
2001-02-17 15:09:46 +00:00
Mark Wielaard
f74fd2bbc1 DataInputStream.java: update copyright notice
* java/io/DataInputStream.java: update copyright notice
    * java/io/PrintWriter.java: idem
    * java/io/Reader.java: idem
    * java/io/StreamTokenizer.java: idem
    * java/io/StringReader.java: idem
    * java/lang/reflect/ReflectPermission.java: idem

From-SVN: r39798
2001-02-17 13:59:13 +00:00
Bryce McKinlay
3ade9bbaad HashSet.java (clone): Made subclass safe, use super.clone(), not new.
* java/util/HashSet.java (clone): Made subclass safe, use
	super.clone(), not new.

From-SVN: r39746
2001-02-16 04:50:38 +00:00
Bryce McKinlay
5ace577564 TreeMap.java (nil): Made non-final.
* java/util/TreeMap.java (nil): Made non-final.
	(clone): Create new nil node for copy.

From-SVN: r39736
2001-02-16 02:25:24 +00:00
Bryce McKinlay
07add946aa TreeSet.java (clone): Made subclass safe, use super.clone(), not new.
* java/util/TreeSet.java (clone): Made subclass safe, use
	super.clone(), not new.
	* java/util/TreeMap.java (clone): Likewise.

From-SVN: r39734
2001-02-16 01:49:40 +00:00
Anthony Green
c220009946 defineclass.cc: Don't include alloca.h.
2001-02-15  Anthony Green  <green@redhat.com>

	* defineclass.cc: Don't include alloca.h.
	(prepare_pool_entry): Convert alloca to __builtin_alloca.
	* interpret.cc (run_normal): Ditto.
        (continue1): Ditto.
	* java/lang/natDouble.cc (parseDouble): Ditto.

From-SVN: r39719
2001-02-15 14:03:14 +00:00
Bryce McKinlay
06e3b913b3 AbstractSequentialList.java: Synchronize with Classpath.
* java/util/AbstractSequentialList.java: Synchronize with Classpath.
        * java/util/Collection.java: Likewise.
        * java/util/Comparator.java: Likewise.
        * java/util/Dictionary.java: Likewise.
        * java/util/Iterator.java: Likewise.
        * java/util/ListIterator.java: Likewise.
        * java/util/Map.java: Likewise.
        * java/util/Set.java: Likewise.

From-SVN: r39708
2001-02-15 06:43:00 +00:00
Bryce McKinlay
a6845c56c4 * java/util/HashSet.java (clone): Remove try/catch.
From-SVN: r39707
2001-02-15 05:12:05 +00:00
Bryce McKinlay
505ce70d3f TreeSet.java (clone): Call TreeMap.clone(), not Object.clone().
* java/util/TreeSet.java (clone): Call TreeMap.clone(), not
	Object.clone().
	* java/util/Collections.java (ReverseComparator): New static class.
	(reverseOrder): Return static instance of ReverseComparator.

From-SVN: r39705
2001-02-15 03:59:57 +00:00
Bryce McKinlay
97a4d32ec6 natClass.cc (getSignature): Don't try to dereference param_types if it is null.
* java/lang/natClass.cc (getSignature): Don't try to dereference
	param_types if it is null. Instead, take this to mean "no parameters".
	* java/lang/TreeMap.java (TreeIterator.next): Throw
	NoSuchElementException in preference to
	ConcurrentModificationException.
	(TreeIterator.remove): Throw IllegalStateException in preference to
	ConcurrentModificationException.
	(SubMap.firstKey): Do a better check for empty SubMap, and if it is,
	throw a NoSuchElementException.
	(SubMap.lastKey): Likewise.

From-SVN: r39658
2001-02-14 05:32:31 +00:00
Bryce McKinlay
a142a99626 re PR libgcj/1758 (java.util package lacks TreeMap)
* java/util/TreeMap.java: New file.
        * java/util/TreeSet.java: New file.
        * Makefile.am: Add TreeMap and TreeSet. Enable WeakHashMap.
        * Makefile.in: Rebuilt.
        * java/util/HashSet.java (clone): Use constructor instead of calling
        clone on itself.
        * java/util/SortedSet.java: Sync with classpath.
        * java/util/HashMap.java (hash): Use if statement instead of ternary,
        for clarity.
	Resolves PR libgcj/1758.
	Resolves PR java/1684.

From-SVN: r39657
2001-02-14 04:44:21 +00:00
Tom Tromey
f3b43865ac PipedReader.java (ready): Throw IOException if pipe closed.
* java/io/PipedReader.java (ready): Throw IOException if pipe
	closed.
	* java/io/FilterReader.java (close): Don't clear `in'.
	* java/io/CharArrayReader.java (mark): Throw IOException if stream
	closed.
	(read, ready, reset, skip): Added exception message.
	* java/io/BufferedReader.java (mark, reset, ready, read, skip):
	Perform checkStatus check inside synchronized block.

From-SVN: r39641
2001-02-13 18:55:13 +00:00
Bryce McKinlay
7eecbdb322 BlockDataException.java: Removed.
* java/io/BlockDataException.java: Removed.
	* java/io/ObjectInputStream.java (readObject): Throw
	StreamCorruptedException, not BlockDataException.
	* Makefile.am: Remove BlockDataException.
	* Makefile.in: Rebuild.

From-SVN: r39616
2001-02-13 07:42:48 +00:00
Tom Tromey
932670198f * java/util/Timer.java: New version from Classpath.
From-SVN: r39573
2001-02-09 23:28:55 +00:00
Bryce McKinlay
0e206b71aa Double.java (doubleToRawLongBits): Now native.
* java/lang/Double.java (doubleToRawLongBits): Now native.
	* java/lang/Float.java (floatToRawIntBits): Likewise.
	* java/lang/natDouble.cc (doubleToRawLongBits): New method.
	* java/lang/natFloat.cc (floatToRawIntBits): Likewise.

From-SVN: r39572
2001-02-09 22:13:33 +00:00
Alexandre Petit-Bianco
010cc79a7e File.java (java.net): Imported.
2001-02-09  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* java/io/File.java (java.net): Imported.
	(getAbsoluteFile): Added.
	(getCanonicalPath): Likewise.
	(toURL): Likewise.

(http://gcc.gnu.org/ml/java-patches/2001-q1/msg00208.html)

From-SVN: r39562
2001-02-09 00:30:31 -08:00
Bryce McKinlay
c2dd346b48 OutputStreamWriter.java: (flush, writeChars): Throw IOException if stream closed.
* java/io/OutputStreamWriter.java: (flush, writeChars): Throw
	IOException if stream closed.

From-SVN: r39559
2001-02-09 04:01:59 +00:00
Bryce McKinlay
c97036e4c3 Byte.java: Remove redundant instanceof and null checks.
* java/lang/Byte.java: Remove redundant instanceof and null checks.
	* java/lang/Integer.java: Likewise.
	* java/lang/Long.java: Likewise.
	* java/lang/Short.java: Likewise.
	* java/lang/Double.java: Likewise.
	(doubleToRawLongBits): New method.
	* java/lang/Float.java: As above.
	(floatToRawIntBits): New method.

From-SVN: r39556
2001-02-09 02:56:38 +00:00
Tom Tromey
1c8b24ad46 * java/lang/Float.java (parseFloat): New method.
From-SVN: r39555
2001-02-09 02:21:27 +00:00
Tom Tromey
8a5f950e04 re PR libgcj/1913 (reading closed streams throws NullPointerException, not IOException)
From paul@dawa.demon.co.uk.  Fix for PR libgcj/1913:
	* java/io/InputStreamReader.java (ready, read): Throw IOException
	if stream has been closed.

From-SVN: r39553
2001-02-09 01:54:38 +00:00
Joseph Myers
7e5fd99fd3 gcj.texi: Change sources.redhat.com reference to gcc.gnu.org.
gcc/java/:
	* gcj.texi: Change sources.redhat.com reference to gcc.gnu.org.

libffi/:
	* include/ffi.h.in: Change sourceware.cygnus.com references to
	gcc.gnu.org.

libjava/:
	* README, gij.cc, java/lang/natClass.cc, java/lang/natSystem.cc:
	Change sources.redhat.com and sourceware.cygnus.com references to
	gcc.gnu.org.

From-SVN: r39531
2001-02-08 01:49:53 +00:00
Tom Tromey
a4c6d37356 re PR libgcj/1906 (difference between gcj and jdk for MessageFormat)
Fix for PR libgcj/1906:
	* java/text/MessageFormat.java (setLocale): Use named class
	literals.
	(forName): Removed.
	(format(Object,StringBuffer,FieldPosition)): Special case if
	argument is an Object[].

From-SVN: r39529
2001-02-07 22:46:28 +00:00
Bryce McKinlay
b3eda2ff9c re PR java/1895 (Libjava: Arrays.sort doesn't work)
* java/util/Arrays.java: Removed "cmp" methods.
	(qsort): Don't use "cmp".
	(med3): Likewise.

2001-02-07  Mark Benvenuto  <mcb54@columbia.edu>

	* java/util/Arrays.java (qsort): Handle N value of 7 with insertion
	sort. Fix for PR java/1895.

From-SVN: r39514
2001-02-07 09:32:46 +00:00
Bryce McKinlay
60b7365f52 ObjectInputStream.java (read): AND byte with 0xff to make result unsigned.
* java/io/ObjectInputStream.java (read): AND byte with 0xff to make
	result unsigned.
	(read (byte[], int, int)): Only call readNextBlock() if the block
	buffer would actually be overrun. Increment blockDataPosition.
	(callReadMethod): Propagate exceptions from invocation target.
	* java/io/ObjectOutputStream.java (callWriteMethod): Propagate
	exceptions from invocation target.

From-SVN: r39293
2001-01-27 06:04:29 +00:00
Warren Levy
5bb1db008c natSystem.cc (getSystemTimeZone): Only use tm_gmtoff and timezone if they are available on the system.
* java/lang/natSystem.cc (getSystemTimeZone): Only use tm_gmtoff
	and timezone if they are available on the system.

From-SVN: r39283
2001-01-26 21:57:08 +00:00
Tom Tromey
f07f528411 * java/lang/sf_fabs.c: Use uint32_t, not __uint32_t.
From-SVN: r39269
2001-01-25 19:07:18 +00:00
Tom Tromey
295504e3a7 Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (c_source_files): Added sf_fabs.c.
	* java/lang/sf_fabs.c: New file.

From-SVN: r39238
2001-01-24 17:43:25 +00:00
Warren Levy
1aa605c814 SimpleDateFormat.java (format): Compute hour for cases HOUR_OF_DAY1_FIELD (1-24)...
* java/text/SimpleDateFormat.java (format): Compute hour for cases
	HOUR_OF_DAY1_FIELD (1-24), HOUR1_FIELD (1-12), and HOUR0_FIELD (0-11)
	correctly.  Adjust properly from 0-23 clock hour.

Fixes failure in Mauve test java.text.SimpleDateFormat.Test (format).

From-SVN: r39147
2001-01-20 00:37:09 +00:00
Mark Wielaard
d150822e55 * java/bean/Beans.java (instantiate): enable Applet code from Classpath
From-SVN: r39105
2001-01-18 00:43:17 +00:00
Bryce McKinlay
607adf67a0 Class.h (isInterface): Move implementation from natClass.cc.
* java/lang/Class.h (isInterface): Move implementation from
	natClass.cc. Declare inline.
	(Class): Add default constructor.
	* java/lang/Object.h: Update comments.
	* java/lang/natClass.cc (initializeClass): Use _Jv_InitClass to
	initialize superclass, saving a call if super is already initialized.

From-SVN: r39091
2001-01-17 10:22:33 +00:00
Alexandre Petit-Bianco
ed8cc5fdf8 prims.cc (init_prim_class): Deleted.
2001-01-16  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* prims.cc (init_prim_class): Deleted.
	(DECLARE_PRIM_TYPE): Rewritten.
	* java/lang/Class.h (stdio.h): Include removed.
	(stddef.h): Included.
	(java/lang/reflect/Modifier.h): Likewise.
	(Class): Contructor now takes arguments, initializes fields.
	(initializePrim): Prototype deleted.
	* java/lang/natClass.cc (initializePrim): Deleted.

(http://sources.redhat.com/ml/java-patches/2001-q1/msg00081.html)

From-SVN: r39088
2001-01-17 00:13:06 -08:00
Warren Levy
19c976393d * java/math/BigInteger.java: Update Copyright year.
From-SVN: r39082
2001-01-17 04:13:17 +00:00
Hans Boehm
c7fb0b9218 BigInteger.java (setShiftRight): Only do negative shift if count != 0.
2001-01-16  Hans Boehm  <hans_boehm@hp.com>

	* java/math/BigInteger.java (setShiftRight): Only do negative shift
	if count != 0.

From-SVN: r39080
2001-01-17 01:00:53 +00:00
Alexandre Petit-Bianco
2feccc205e All files with updated copyright.
2001-01-07  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	All files with updated copyright.
	* prims.cc (class _Jv_PrimClass): Removed.
	(init_prim_class): New function.
	(DECLARE_PRIM_TYPE): Rewritten. `java::lang::Class' replaces
	`_Jv_PrimClass' in primitive type declarations. Assign to the
	value returned by `init_prim_class.'
	* gcj/array.h: `java::lang::Class' replaces `_Jv_PrimClass' in
	primitive type declarations.
	(JvPrimClass): Cast to `jclass' removed.
	* java/lang/Class.h (Class): New constructor.
	(Class): New copy constructor.
	(initializePrim): New prototype.
	(_Jv_PrimClass): Field removed.
	* java/lang/Object.h (struct _JvObjectPrefix): New virtuals
	nacd_1 and nacd_2 (for compatibility with the new C++ ABI.)
	(class java::lang::Object): `finalize' moved up front.
	* java/lang/natClass.cc
	(isAssignableFrom): Turned outline.
	(isInstance): Likewise.
	(isInterface): Likewise, fixed indentation.
	(initializePrim): New function.

(New C++ ABI compatibility patch:
 http://sources.redhat.com/ml/java-patches/2001-q1/msg00065.html)

From-SVN: r39032
2001-01-15 00:11:40 -08:00
Mark Wielaard
b9333bff58 URLDecoder.java: Thanks Edgar Villanueva (edgarvil@home.com)
* java/net/URLDecoder.java: Thanks Edgar Villanueva (edgarvil@home.com)
   (decode): Merge comments with Classpath, don't throw Exception

From-SVN: r39030
2001-01-15 07:58:16 +00:00
Tom Tromey
b755792e3c natSystem.cc: Include locale.h if it exists.
* java/lang/natSystem.cc: Include locale.h if it exists.
	* configure: Rebuilt.
	* configure.in: Check for locale.h.

From-SVN: r38957
2001-01-12 19:16:05 +00:00
Tom Tromey
c1ef066249 Cursor.java (Cursor(String)): Set type to custom.
* java/awt/Cursor.java (Cursor(String)): Set type to custom.
	(Cursor(int), getPredefinedCursor): Throw exception if argument
	invalid.

From-SVN: r38911
2001-01-11 17:49:47 +00:00
Warren Levy
737c87df28 * java/math/BigDecimal.java (divide): Fixed comment.
From-SVN: r38862
2001-01-10 10:26:34 +00:00
Warren Levy
698489049d re PR libgcj/1596 (setScale() missing from java.math.BigDecimal)
Fix for PR libgcj/1596:
	* java/math/BigDecimal.java (divide): Check newScale for validity.
	Ensure that BigInteger.pow() is called with a non-negative value.
	(setScale (int)): New public method.
	(setScale (int,int)): New public method.

From-SVN: r38861
2001-01-10 09:38:08 +00:00
Oskar Liljeblad
10a855c7f4 re PR libgcj/1338 (StreamTokenizer does not handle /* comments correctly)
2001-01-09  Oskar Liljeblad <osk@hem.passagen.se>

	Fix for PR libgcj/1338:
	* java/io/StreamTokenizer.java (nextToken): Handle // and /* before
	commentChar.  Fixed typos in comments.

From-SVN: r38830
2001-01-09 11:21:12 +00:00
Warren Levy
3824a48600 re PR libgcj/1411 (natTimeZone.cc should be removed)
Fix for PR libgcj/1411:
	* Makefile.am: Removed java/util/natTimeZone.cc.
	* Makefile.in: Rebuilt.
	* gnu/gcj/text/LocaleData_en_US.java (zoneStringsDefault): Added
	missing localized timezone names.
	* java/lang/System.java (getDefaultTimeZoneId): New private method.
	* java/lang/natSystem.cc (getSystemTimeZone): New private method.
	(init_properties): Set user.timezone property.
	* java/text/DateFormatSymbols.java (zoneStringsDefault): Added
	default timezone names; removed non-standard ones.  Use standard
	ID names per JCL.
	* java/util/Date.java (toGMTString): Removed zoneGMT variable.
	(UTC): Ditto.
	* java/util/TimeZone.java: Add standard ID names per JCL; removed
	non-standard ones.
	(getDefaultTimeZoneId): Removed.
	(zoneGMT): Removed.
	(getDefaultTimeZoneId): Removed.
	* java/util/natTimeZone.cc: Removed.

From-SVN: r38816
2001-01-09 07:07:51 +00:00
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
Anthony Green
bc6d273e64 Fix bug in URLConnection and correct javadoc annotations in StringBuffer.
From-SVN: r38781
2001-01-07 20:01:46 +00:00
Anthony Green
0e2e89fd2e Fix comments for doclets
From-SVN: r38754
2001-01-06 23:28:40 +00:00
Bryce McKinlay
a7fabf19be * java/io/PipedReader: Synchronize on "lock" instead of this.
From-SVN: r38731
2001-01-05 23:30:50 +00:00
Bryce McKinlay
865b4ea73f PipedInputStream: Rewrote to be simpler and more correct.
* java/io/PipedInputStream: Rewrote to be simpler and more correct.
	* java/io/PipedOutputStream: Updated to match new PipedInputStream.
	* java/io/PipedReader: New implementation based on new
	PipedInputStream.
	* java/io/PipedWriter: Updated to match new PipedOutputStream.

From-SVN: r38708
2001-01-05 08:23:51 +00:00
Bryce McKinlay
7ae30a9196 * java/lang/Thread.java: Update comment.
From-SVN: r38697
2001-01-05 00:31:45 +00:00
Tom Tromey
234fb86cae ScrollPane.java (setBlockIncrement): Throw error.
* java/awt/ScrollPane.java (setBlockIncrement): Throw error.
	(getViewportSize): Insets include scrollbar size.
	(doLayout): Finished.
	(getScrollPosition): Wrote.
	* java/awt/peer/ScrollPanePeer.java (setBlockIncrement): Removed.

From-SVN: r38670
2001-01-03 20:34:44 +00:00
Tom Tromey
f5826791be ScrollPane.java: Wrote.
* java/awt/ScrollPane.java: Wrote.
	* java/awt/peer/ScrollPanePeer.java (setBlockIncrement): New
	method.

	* java/awt/Panel.java (Panel()): Fixed.

	* java/awt/Component.java (isShowing): Return false if no peer
	exists, and true if component is visible and no parent exists.
	(getLocationOnScreen): Wrote.
	(getPreferredSize): Removed FIXME comment.
	(getMinimumSize): Likewise.
	(getAlignmentX, getAlignmentY): Wrote.
	(list): Wrote.
	(requestFocus): Wrote.
	(transferFocus): Wrote.
	(findNextFocusComponent): New method.
	(hasFocus()): Wrote.
	(checkImage): Wrote.
	(enableEvents): Call setEventMask on the peer.

	* java/awt/Container.java (list): Use super.list() to print self.
	(findNextFocusComponent): New method.
	(setLayout): Call invalidate.
	(findComponentAt): Wrote.

From-SVN: r38639
2001-01-03 00:07:13 +00:00
Bryce McKinlay
e301621d19 For boehm-gc:
* configure.in: Rename THREADLIB to THREADLIBS.
	* Makefile.am (LINK): Add $(THREADLIBS) to libtool command line. This
	ensures that we link the correct version of the linuxthreads semaphore
	functions.
	* Makefile.in: Rebuilt.
	* configure: Rebuilt.

	* linux_thread.c (GC_thr_init, GC_suspend_handler): Add SIGABRT to the
	list of signals which are not blocked during suspend in the NO_SIGNALS
	case.

For libjava:
	* Makefile.am (libgcj_la_LIBADD): Add $(THREADLIBS). This ensures that
	the correct versions of various linuxthreads functions get linked.
	* Makefile.in: Rebuilt.
	* java/lang/natThread.cc (finalize_native): New static function. Call
	_Jv_ThreadDestroyData.
	(initialize_native): Register finalizer for "data".
	* include/posix-threads.h (_Jv_ThreadInitData): New simpler prototype.
	(_Jv_ThreadDestroyData): New prototype.
	* include/win32-threads.h: Ditto.
	* include/no-threads.h: Ditto.
	* posix-threads.cc (_Jv_ThreadInitData): Implement new prototype.
	(_Jv_ThreadDestroyData): New function. Free native thread "data" and
	move mutex and condition variable destroy code from:
	(really_start): ...here.
	(_Jv_ThreadStart): Set PTHREAD_CREATE_DETACHED.
	* win32-threads.cc (_Jv_ThreadInitData): Implement new prototype.
	(_Jv_ThreadDestroyData): Implemented.
	* nogc.cc (_Jv_AllocObject): Use "void *" not "ptr_t".
	(_Jv_AllocArray): Ditto.

From-SVN: r38557
2000-12-30 12:18:39 +00:00
Jeff Sturm
4c58589f1a DriverManager.java (getConnection): Don't set user/password properties if null.
2000-12-27  Jeff Sturm  <jeff.sturm@commerceone.com>

	* java/sql/DriverManager.java (getConnection): Don't set
	user/password properties if null.

From-SVN: r38516
2000-12-28 22:21:36 +00:00
Warren Levy
ed55bdc47f re PR libgcj/1358 (java.util.Date.toString() doesn't seem to behave properly.)
Fix for PR libgcj/1358:
	* java/lang/System.java: Update Copyright date properly.
	* java/util/Calendar.java: Fix typo in comment.
	(set): Set 24-hour clock hour instead of 12-hour clock hour.
	* java/util/GregorianCalendar.java (GregorianCalendar): Properly
	initialize times.  Spec says to set H:M:S values to zero only if
	a date is given.
	* java/util/TimeZone.java (getDefaultDisplayName): Casts to char
	needed for evaluating numbers '0' to '9' in printouts of GMT offsets.
	* java/util/natGregorianCalendar.cc (computeTime): Properly handle
	timezones and GMT offsets, being careful to account for units of
	milliseconds vs. seconds.

From-SVN: r38508
2000-12-28 05:55:56 +00:00
Bryce McKinlay
6147e9d0c9 re PR libgcj/1516 (Method.invoke won't accept boolean parameters)
Fix for PR libgcj/1516:
	* java/lang/reflect/natMethod.cc (primitives): Remove void entry.
	Add boolean entry.
	(can_widen): Declared inline. Remove redundant checks for void
	arguments and char->short conversion. Add special case for boolean
	conversions.
	(ffi_type): Declared inline.
	(_Jv_CallAnyMethodA): Move unwrapping logic inside isPrimitive() block.

From-SVN: r38506
2000-12-28 04:34:33 +00:00
Bryce McKinlay
867e24ad3d natClass.cc (_Jv_IsAssignableFrom): Primitive TYPEs can not be assigned to Object.
* java/lang/natClass.cc (_Jv_IsAssignableFrom): Primitive TYPEs can
	not be assigned to Object.

From-SVN: r38505
2000-12-28 04:33:53 +00:00
Petter Reinholdtsen
c4f58426c1 SQLWarning.java: Fixed typo in comment.
2000-12-26  Petter Reinholdtsen  <pere@hungry.com>

	* java/sql/SQLWarning.java: Fixed typo in comment.

From-SVN: r38493
2000-12-27 01:58:23 +00:00
Tom Tromey
b3b90f82f4 MenuItem.java (paramString): Now protected.
* java/awt/MenuItem.java (paramString): Now protected.

	* java/awt/MenuShortcut.java: Implements Serializable.

	* java/awt/MenuBar.java: Rewrote from scratch.

	* java/awt/MenuComponent.java (removeNotify): Wrote.
	Implements Serializable.

	* java/awt/GridBagConstraints.java (GridBagConstraints): New
	constructor.

	* java/awt/CheckboxMenuItem.java: Wrote.

From-SVN: r38488
2000-12-26 07:18:16 +00:00
Tom Tromey
5472d1951a MenuContainer.java: Fixed typo.
* java/awt/MenuContainer.java: Fixed typo.

	* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added SystemColor.java.
	* java/awt/SystemColor.java: New file.

	* java/awt/Color.java (rgba): Now package-private.

	* java/awt/event/InputEvent.java (isAltGraphDown): New method.

	* java/awt/event/ContainerEvent.java (getContainer): Renamed from
	getComponent.

	* java/awt/MenuItem.java (addNotify): New method.
	(MenuItem(String,MenuShortcut)): New constructor.
	(setLabel): Notify peer of change.
	(setEnabled): Likewise.

	* java/awt/GridLayout.java (toString): New method.

	* java/awt/FlowLayout.java (LEADING, TRAILING): New constants.
	(FlowLayout): Check for LEADING and TRAILING.
	(setAlignment): Likewise.
	(layoutContainer): Handle component orientation.

	* java/awt/Component.java (orientatin): New field.
	(setComponentOrientation): Wrote.
	(getComponentOrientation): Wrote.

	* java/awt/Event.java (Event): Implements Serializable.
	(consumed): New field for serialization.
	* java/awt/Dimension.java (Dimension): Implements Serializable.
	* java/awt/Cursor.java (Cursor): Implements Serializable.
	* java/awt/Container.java (Container): No longer abstract.

	* java/awt/Choice.java: Wrote.
	* java/awt/Checkbox.java: Wrote.
	* java/awt/ItemSelectable.java: Documented.
	* java/awt/CheckboxGroup.java: Wrote.

	* java/awt/CardLayout.java (layoutContainer): Directly use fields
	in other classes.
	(getSize): Likewise.

From-SVN: r38486
2000-12-26 00:25:13 +00:00
Jeff Sturm
83050e0d93 FileDescriptor.java: Initialize fd to -1.
2000-12-24  Jeff Sturm  <jeff.sturm@commerceone.com>

	* java/io/FileDescriptor.java: Initialize fd to -1.
	Remove default constructor.

From-SVN: r38485
2000-12-26 00:24:01 +00:00
Joseph Myers
93b0dee779 * java/lang/mprec.h: Change C9X reference to refer to C99.
From-SVN: r38481
2000-12-23 23:38:51 +00:00
Bryce McKinlay
86a42a5f24 Throwable.java (trace_enabled): New static field.
* java/lang/Throwable.java (trace_enabled): New static field.
	* java/lang/natThrowable.cc (fillInStackTrace): Do nothing if
	trace_enabled not set.
	* prims.cc (main_init): Turn off trace_enabled while creating
	default exception objects.

From-SVN: r38442
2000-12-22 06:19:24 +00:00
Tom Tromey
5ebee7d409 PropertyChangeListener.java: Extends EventListener.
* java/beans/PropertyChangeListener.java: Extends EventListener.
	* java/beans/VetoableChangeListener.java: Extends EventListener.

From-SVN: r38421
2000-12-21 18:39:43 +00:00
Tom Tromey
465c091ce9 * java/util/zip/Deflater.java (update, init): Now private.
From-SVN: r38420
2000-12-21 18:39:19 +00:00
Bryce McKinlay
f387d86265 BasicMapEntry.java: Re-added.
* java/util/BasicMapEntry.java: Re-added.
	* java/util/HashMap.java (Entry): Extend BasicMapEntry.
	(putAll): Test for BasicMapEntry.
	* java/util/Hashtable.java (Entry): Extend BasicMapEntry.
	(putAll): Test for BasicMapEntry.
	Change references from `HashMap.Entry' to `Entry' in various places.
	* Makefile.am: Add BasicMapEntry.java.
	* Makefile.in: Rebuilt.

From-SVN: r38410
2000-12-21 02:00:15 +00:00
Warren Levy
1889cf4a71 GregorianCalendar.java (GregorianCalendar): Constructors need to set timezone to a valid non-null value.
* java/util/GregorianCalendar.java (GregorianCalendar): Constructors
	need to set timezone to a valid non-null value.  Partial fix for
	PR 331.

From-SVN: r38375
2000-12-19 07:48:54 +00:00
Bryce McKinlay
be36b6d0dd Removed additional addNotify() peer hacks.
From-SVN: r38367
2000-12-18 22:17:25 +00:00
Bryce McKinlay
da68e69359 Window.java (addNotify): Remove peer casting hack now that gcj/312 is fixed.
* java/awt/Window.java (addNotify): Remove peer casting hack now
	that gcj/312 is fixed.

From-SVN: r38364
2000-12-18 21:20:31 +00:00
Bryce McKinlay
dbb04e883d natInflater.cc (inflate): Treat Z_BUF_ERROR as end-of-stream if avail_in is 0.
* java/util/zip/natInflater.cc (inflate): Treat Z_BUF_ERROR as
        end-of-stream if avail_in is 0.

From-SVN: r38338
2000-12-18 01:00:23 +00:00
Bryce McKinlay
8e0fe03e8e ArrayList.java (data): Declare transient.
* java/util/ArrayList.java (data): Declare transient.
	(serialPersistantFields): Removed.
	(readObject): Use defaultReadObject(), not readFields().
	(writeObject): Use defaultWriteObject(), not writeFields().

From-SVN: r38328
2000-12-17 11:51:14 +00:00
Jeff Sturm
4984a8d3e5 Hashtable.java (put): Remove `last' variable.
2000-12-17  Jeff Sturm  <jeff.sturm@commerceone.com>

	* java/util/Hashtable.java (put): Remove `last' variable.
	Link new entry to head of list.
	* java/util/HashMap.java (put): Ditto.

From-SVN: r38325
2000-12-17 09:15:51 +00:00
Tom Tromey
1e185c02d4 ResourceBundle.java (trySomeGetBundle): Pass class loader to Class.forName.
* java/util/ResourceBundle.java (trySomeGetBundle): Pass class
	loader to Class.forName.

From-SVN: r38289
2000-12-15 15:49:50 +00:00
Tom Tromey
cd84842395 * java/util/ResourceBundle.java
(getBundle(String,Locale,ClassLoader)): New method.
	(trySomeGetBundle): Added `loader' argument.
	(partialGetBundle): Likewise.

From-SVN: r38275
2000-12-15 06:51:07 +00:00
Tom Tromey
13b7bc8a56 NumberFormat.java (groupingUsed, [...]): Now package-private.
* java/text/NumberFormat.java (groupingUsed, parseIntegerOnly,
	maximumFractionDigits, maximumIntegerDigits,
	minimumFractionDigits, minimumIntegerDigits): Now
	package-private.

From-SVN: r38274
2000-12-15 06:23:28 +00:00
Tom Tromey
8eb1306fb7 * java/lang/Thread.java (checkAccess): Now final.
From-SVN: r38273
2000-12-15 06:15:49 +00:00
Tom Tromey
4ca70ccd2a * java/lang/RuntimePermission.java: Class now final.
From-SVN: r38272
2000-12-15 06:13:35 +00:00
Tom Tromey
49c24f00aa * java/io/StringWriter.java (StringWriter(int)): Now public.
From-SVN: r38271
2000-12-15 06:08:55 +00:00
Tom Tromey
f2edab0e90 * java/io/SerializablePermission.java (legal_names): Now private.
From-SVN: r38270
2000-12-15 05:59:31 +00:00
Tom Tromey
9acffced80 Character.java: Updated UnicodeBlock constants.
* java/lang/Character.java: Updated UnicodeBlock constants.
	* scripts/blocks.pl: Special case private use and surrogate
	areas.  Updated URL.

From-SVN: r38269
2000-12-15 05:53:39 +00:00
Bryce McKinlay
c5afc1922c * java/util/Hashtable.java (Enumerator.nextElement): Initialize `e'.
From-SVN: r38185
2000-12-11 04:54:55 +00:00
Bryce McKinlay
488d42af6f Makefile.am: Add HashSet.java and java/lang/ref classes.
* Makefile.am: Add HashSet.java and java/lang/ref classes.
	Remove BasicMapEntry.java and Bucket.java.
	* Makefile.in: Rebuilt.
	* java/util/HashMap.java: Rewritten.
	* java/util/HashSet.java: Imported from classpath.
	* java/util/WeakHashMap.java: Imported from classpath.
	* java/util/Hashtable.java: Rewritten based on new HashMap code.
	* java/util/Bucket.java: Deleted.
	* java/util/BasicMapEntry.java: Deleted.
	* java/util/Collections.java (search): Use a for-loop, not iterator
	hasNext().
	(copy): Use a for-loop. Throw an IndexOutOfBoundsException if run out
	of elements in source.
	(max): Use a for-loop.
	(min): Ditto.
	(reverse): Keep track of positions instead of using Iterator's
	nextIndex() and previousIndex().
	(shuffle(List)): Initialize defaultRandom if required using
	double-check thread safety idiom. Call two-argument shuffle method
	using defaultRandom.
	(defaultRandom): New field.
	(shuffle(List, Random)): Use a for-loop. Keep track of pos instead
	of using previousIndex() and nextIndex().
	(singletonMap(iterator)): Use a HashMap.Entry, not BasicMapEntry.
	* java/util/AbstractCollection.java (toString): Use a StringBuffer.
	* java/util/AbstractMap.java (toString): Use StringBuffer.
	* java/lang/ref/PhantomReference.java: Imported from classpath.
	* java/lang/ref/SoftReference.java: Ditto.
	* java/lang/ref/Reference.java: Ditto.
	* java/lang/ref/WeakReference.java: Ditto.
	* java/lang/ref/ReferenceQueue.java: Ditto.

From-SVN: r38183
2000-12-11 03:47:48 +00:00
Warren Levy
d5323b9905 StringBuffer.java (insert(int,char[])): Avoid NullPointerException so proper check of offset can be done.
* java/lang/StringBuffer.java (insert(int,char[])): Avoid
	NullPointerException so proper check of offset can be done.

From-SVN: r38132
2000-12-08 13:08:36 +00:00
Warren Levy
be17b0fcff FileInputStream.java (close): Check if the fd is valid.
* java/io/FileInputStream.java (close): Check if the fd is valid.
	* java/io/RandomAccessFile.java (close): Ditto.
	* java/net/PlainDatagramSocketImpl.java (close): Ditto.
	* java/net/PlainSocketImpl.java (close): Ditto.

From-SVN: r38131
2000-12-08 10:28:32 +00:00
Tom Tromey
b2d98afe06 GridBagConstraints.java: Filled in values for static final fields.
* java/awt/GridBagConstraints.java: Filled in values for static
	final fields.

From-SVN: r38081
2000-12-07 00:46:13 +00:00
Tom Tromey
308d7d2b3b * java/util/BitSet.java: Updated copyright notice.
From-SVN: r38078
2000-12-06 21:26:32 +00:00
Tom Tromey
ef9508c093 Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added new file.
	* java/awt/GridBagConstraints.java: New file.

From-SVN: r38076
2000-12-06 21:22:23 +00:00
Tom Tromey
456ffe4c68 Collator.java (decomposeCharacter, [...]): Now package-private, not protected.
* java/text/Collator.java (decomposeCharacter, decmp, strength):
	Now package-private, not protected.
	* java/text/DateFormatSymbols.java (equals): Now private.
	* java/text/DecimalFormatSymbols.java (safeGetChar): Now private.
	* java/util/BitSet.java: Class no longer final.
	* java/util/Set.java (toArray(Object[])): New method.

From-SVN: r38075
2000-12-06 21:14:14 +00:00
Warren Levy
9de488f698 TimeZone.java (getAvailableIDs): Activated commented out code dependent on compiler and library changes.
* java/util/TimeZone.java (getAvailableIDs): Activated commented
	out code dependent on compiler and library changes.

From-SVN: r37994
2000-12-04 10:24:38 +00:00
Warren Levy
21a160075e FilePermission.java: Made class final per spec.
* java/io/FilePermission.java: Made class final per spec.
	* java/text/DecimalFormatSymbols.java (setCurrencySymbol): Changed
	method name to match spec (fixed typo).
	* java/util/LinkedList.java: Implements List.

From-SVN: r37993
2000-12-04 10:20:00 +00:00
Bryce McKinlay
64fc0133eb natDouble.cc: Include fdlibm.h, not mprec.h.
* java/lang/natDouble.cc: Include fdlibm.h, not mprec.h. From
	Edgar Villanueva <edgarvil@home.com>.

From-SVN: r37991
2000-12-04 08:22:34 +00:00
Tom Tromey
2936419d1c Point2D.java: Added protected constructor.
* java/awt/geom/Point2D.java: Added protected constructor.
	(equals): New method.
	(Float.setLocation(float,float)): New method.
	* java/awt/geom/Dimension2D.java: Added protected constructor.
	* java/awt/geom/AffineTransform.java: Made all constants public.
	(concatenate): Fixed typo in name.
	* java/awt/event/WindowAdapter.java: Class now abstract.
	* java/awt/event/KeyEvent.java (CHAR_UNDEFINED): Now final.
	* java/awt/event/FocusEvent.java: Extend ComponentEvent, not
	AWTEvent.

From-SVN: r37988
2000-12-04 02:27:21 +00:00
Tom Tromey
c06093a0a3 AWTError.java: Extend Error, not IllegalStateException.
* java/awt/AWTError.java: Extend Error, not
	IllegalStateException.

From-SVN: r37987
2000-12-04 01:54:34 +00:00
Tom Tromey
f933fd9286 Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added new file.
	* java/awt/geom/RoundRectangle2D.java: New file.

From-SVN: r37980
2000-12-03 21:21:52 +00:00
Tom Tromey
a048c5b550 Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added new file.
	* java/awt/FlowLayout.java: New file.

From-SVN: r37968
2000-12-03 08:28:35 +00:00
Tom Tromey
8538fd010e Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added new file.
	* java/awt/GridLayout.java: New file.

From-SVN: r37967
2000-12-03 07:16:20 +00:00
Tom Tromey
673953d6a5 Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added new files.
	* java/awt/CardLayout.java: New file.
	* java/awt/AWTPermission.java: New file.

From-SVN: r37965
2000-12-03 06:34:54 +00:00
Tom Tromey
0fa80ee295 Vector.java (insertElementAt): Unconditionally increment elementCount.
* java/util/Vector.java (insertElementAt): Unconditionally
	increment elementCount.
	(removeRange): Clear unused slots in vector.

From-SVN: r37944
2000-12-02 04:13:52 +00:00
Bryce McKinlay
aaa4cecd22 From Adam Welc <welc@cs.purdue.edu>:
* java/util/LinkedList.java (removeFirst): Update `first' field.
	Handle the last == first case.
	(removeLast): Update `last' field. Handle the last == first case.

From-SVN: r37940
2000-12-02 01:48:07 +00:00
Bryce McKinlay
db5e49032b natMath.cc: Declare fabsf() function.
2000-12-02  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/lang/natMath.cc: Declare fabsf() function.
	* java/lang/mprec.h: Don't include math.h.
	* java/lang/dtoa.c: Include string.h.
	* java/lang/natString.cc (toLowerCase): Initialize ch to prevent
	compiler warning.

From-SVN: r37938
2000-12-02 00:28:44 +00:00
Warren Levy
6934615b97 Array.java: New file from classpath.
* Array.java: New file from classpath.
	* BatchUpdateException.java: Ditto.
	* Blob.java: Ditto.
	* Clob.java: Ditto.
	* Ref.java: Ditto.
	* SQLData.java: Ditto.
	* SQLInput.java: Ditto.
	* SQLOutput.java: Ditto.
	* Struct.java: Ditto.
	* CallableStatement.java: Merged file from claspath.
	* Connection.java: Ditto.
	* DataTruncation.java: Ditto.
	* DatabaseMetaData.java: Ditto.
	* DriverManager.java: Ditto.
	* PreparedStatement.java: Ditto.
	* ResultSet.java: Ditto.
	* ResultSetMetaData.java: Ditto.
	* SQLException.java: Ditto.
	* SQLWarning.java: Ditto.
	* Statement.java: Ditto.
	* Types.java: Ditto.

From-SVN: r37906
2000-12-01 01:48:34 +00:00
Bryce McKinlay
db45aaa691 Check this.len, not len, when determining if there is no more input data.
From-SVN: r37847
2000-11-29 10:37:40 +00:00
Bryce McKinlay
d02bc1fb25 InflaterInputStream (read): Don't return -1 unless the infate() call didn't deliver any output.
* java/util/zip/InflaterInputStream (read): Don't return -1 unless
	the infate() call didn't deliver any output. Throw a ZipException if
	the needsDictionary() call returns true.
	* java/io/ByteArrayInputStream (read): Remove redundant bounds checks.
	* java/io/InputStreamReader: Use the default buffer size for the
	contained BufferedInputStream.

From-SVN: r37846
2000-11-29 10:06:03 +00:00
Bryce McKinlay
5662d5333a natSystem.cc (init_properties): Set user.language and user.region.
2000-11-29  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/lang/natSystem.cc (init_properties): Set user.language and
	user.region.
	* configure.in: Check for setlocale.
	* configure: Rebuilt.
	* include/config.h.in: Rebuilt.

From-SVN: r37842
2000-11-29 04:53:37 +00:00
Warren Levy
1326d0c47d DateFormatSymbols.java (zoneStringsDefault): Added more time zone entries.
* java/text/DateFormatSymbols.java (zoneStringsDefault): Added
	more time zone entries.
	* java/text/SimpleDateFormat.java (format): Added case for
	TIMEZONE_FIELD.

From-SVN: r37824
2000-11-28 20:11:46 +00:00
Bryce McKinlay
53a4b7891b DataInputStream.java: Merge classpath docs.
2000-11-28  Bryce McKinlay  <bryce@abatross.co.nz>

	* java/io/DataInputStream.java: Merge classpath docs. Call in.read()
	directly rather than read() in all cases. Make primitive read
	implementations	more efficient, as defined in JDK online docs.
	(skipBytes): Behave like the JDK's implementation.
	* java/io/BufferedReader.java: Merge classpath docs. Check for a
	closed stream with checkStatus() whenever an IOException can be
	thrown.
	(checkStatus): New private method.

From-SVN: r37810
2000-11-28 04:50:51 +00:00
Warren Levy
a22add7268 Makefile.am: Added natTimeZone.cc.
* Makefile.am: Added natTimeZone.cc.
	* Makefile.in: Rebuilt.
	* gnu/gcj/text/LocaleData_en.java: Added DateFormat entries.
	* java/text/DateFormatSymbols.java (ampms): Made package private.
	(eras): Made package private.
	(months): Made package private.
	(shortMonths): Made package private.
	(shortWeekdays): Made package private.
	(weekdays): Made package private.
	(formatPrefixes): New private field.
	(localPatternCharsDefault): Made private.
	(dateFormats): New package private field.
	(timeFormats): New package private field.
	(formatsForKey): New private method.
	(DateFormatSymbols(Locale)): Set dateFormats and timeFormats.
	(DateFormatSymbols(DateFormatSymbols)): Ditto.
	* java/text/SimpleDateFormat.java: Merged with Classpath.
	* java/util/TimeZone.java: Merged with Classpath.
	* java/util/natTimeZone.cc: New file.

From-SVN: r37808
2000-11-28 03:09:22 +00:00
Bryce McKinlay
f24dbacf85 Vector.java (ensureCapacity): Don't increment modCount.
2000-11-27  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/util/Vector.java (ensureCapacity): Don't increment modCount.
	(addElement): Don't increment elementCount twice. Doh.
	* java/util/ArrayList.java (add): Only call ensureCapacity if the
	array needs to be expanded.
	(addAll): Ditto.
	* java/util/Collections.java (UnmodifiableCollection): Implement
	toString().
	(UnmodifiableList): Throw UnsupportedOperationException from
	modification methods. Set `l' from the one-parameter constructor.
	(UnmodifiableMap): Implement toString().
	(SynchronizedCollection): Ditto.
	(SynchronizedList): Set `l' from the one-parameter constructor.
	(SynchronizedSortedSet): Set `ss' from the one-parameter constructor.
	(SynchronizedMap): Implement toString().

From-SVN: r37785
2000-11-27 08:30:26 +00:00
Tom Tromey
0cf17a8051 Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (core_java_source_files): Added
	RuntimePermission.java.
	* java/lang/RuntimePermission.java: Imported from Classpath.
	* java/lang/Thread.java (getContextClassLoader): Now
	synchronized.  Added security code.
	(setContextClassLoader): Likewise.

From-SVN: r37772
2000-11-27 04:07:48 +00:00
Anthony Green
31280fb7c4 prims.cc (_Jv_NewObjectArray): Undo placement change.
2000-11-25  Anthony Green  <green@redhat.com>

	* prims.cc (_Jv_NewObjectArray): Undo placement change.
	(_Jv_NewPrimArray): Likewise.
	* gcj/array.h (__JArray): Undo const change.  Removed constructor.
	(class JArray): Removed constructor.

	* java/lang/Thread.java (context_class_loader): New private data.
	(getContextClassLoader): New method.
	(setContextClassLoader): New method.
	(Thread): Initialize context_class_loader.

	* java/net/URLClassLoader.java: Import java.util.Enumeration.
	(getResource): Rename to findResource.
	(findResource): New method.  Used to be getResource.
	(getResourceAsStream): Deleted.
	(jarFileize): Extracted logic from URLClassLoader constructor into
	this new private method.
	(addURL): New protected method.
	(URLClassLoader): Call jarFileize.  Use addElement instead of
	insertElementAt.
	(findResources): New method.

	* java/lang/ClassLoader.java: Import java.util.Enumeration.
	(getResource): Implement correct logic.
	(findResource): New method.
	(getResources): New method.
	(findClass): Create a ClassNotFoundException with the name of the
	class rather than nothing at all.
	(defineClass) Only throw ClassFormatError.

	* java/lang/Class.java (forName): New method.
	* java/lang/Class.h (forName): New method.
	* java/lang/natClass.cc (forName): New method.

From-SVN: r37751
2000-11-26 03:58:56 +00:00
Bryce McKinlay
213858c013 System.java (setProperties): Only call init_properties() if properties is null.
2000-11-24  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/lang/System.java (setProperties): Only call init_properties()
	if properties is null.
	(getProperties): Ditto.
	(getProperty): Ditto.
	(setProperty): Call init_properties if properties are null.
	(prop_init): Remove field.
	* java/lang/natSystem.cc (init_properties): Synchronize the entire
	method. Check for null properties after synchronizing instead of
	prop_init flag. Set the properties field last for thread safety.

	* java/io/ObjectInputStream.java (ObjectInputStream): If DEBUG is set,
	test for gcj.dumpobjects property and enable object stream dumping
	if it is set.
	(dumpElement): No longer native.
	(dumpElementln): Ditto.
	(setDump): Do not define.
	* java/io/natObjectInputStream.cc (dumpElement): Removed.
	(dumpElementln): Removed.
	(setDump): Removed.

2000-11-24  Bryce McKinlay  <bryce@albatross.co.nz>

	* configure: Rebuilt.
	* Makefile.in: Rebuilt.
	* Makefile.am (built_java_source_files): Add Configuration.java.
	* configure.in: Add Configuration.java to CONFIG_FILES. Set
	LIBGCJDEBUG substitution if --enable-libgcj-debug is specified.
	Create `gnu' directory in the build tree.
	* gnu/classpath/Configuration.java.in: New file.

From-SVN: r37749
2000-11-26 01:48:04 +00:00
Bryce McKinlay
ebb66eb5fa Vector.java: Improve exception messages.
2000-11-23  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/util/Vector.java: Improve exception messages.
	(Vector): Check initialCapacity for IllegalArgumentException.
	(tromToSize): Don't check for elementCount == elementData.length
	case.
	(toArray): Don't try to set null marker if target array is the same
	length as the vector.

From-SVN: r37685
2000-11-23 05:18:41 +00:00
Bryce McKinlay
79af883cd4 Makefile.in: Rebuilt.
2000-11-22  Bryce McKinlay  <bryce@albatross.co.nz>

	* Makefile.in: Rebuilt.
	* Makefile.am (core_java_source_files): Added Collections.java.
	* java/util/List.java: Merged from classpath.
	* java/util/Vector.java: Ditto.
	* java/util/Collections.java: From classpath.
	* java/util/ArrayList.java (addAll(Collection)): Call
	addAll(int,Collection) instead of duplicating code.
	(indexOf): Clean up int initialization.
	(clear): Set cleared array entries to null, to allow garbage
	collection.
	* java/util/List.java: Minor formatting fixes.
	* java/util/SimpleTimeZone.java: ditto.

From-SVN: r37652
2000-11-22 11:59:59 +00:00
Tom Tromey
4de5a4d99a Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (core_java_source_files): Added new files.
	* java/lang/reflect/ReflectPermission.java: New class.
	* java/io/FileFilter.java: From Classpath
	* java/io/FilePermission.java: From Classpath.

From-SVN: r37586
2000-11-20 18:25:41 +00:00
Tom Tromey
f967de33d7 AccessibleObject.java (isAccessible, [...]): Now public.
* java/lang/reflect/AccessibleObject.java (isAccessible,
	setAccessible): Now public.

From-SVN: r37540
2000-11-18 02:30:29 +00:00
Tom Tromey
9839499072 natString.cc: Include Locale.h.
* java/lang/natString.cc: Include Locale.h.
	(toUpperCase): Added `locale' argument.  Handle locale
	sensitivity.
	(toLowerCase): Added `locale' argument.  Handle locale
	sensitivity.
	(ESSET, CAPITAL_S, SMALL_I, CAPITAL_I_WITH_DOT, SMALL_DOTLESS_I,
	CAPITAL_I): New defines.
	* java/lang/String.java (CASE_INSENSITIVE_ORDER): Now public and
	final.
	Import Locale.
	(toUpperCase, toLowerCase): New methods.  Variants which accept
	locale now native.

	* java/lang/ExceptionInInitializerError.java (printStackTrace):
	New methods.

	* java/util/PropertyPermission.java: Re-merged from Classpath.

	* java/text/RuleBasedCollator.java (getCollationElementIterator):
	New method.
	* java/text/StringCharacterIterator.java: Reindented.
	(setText): New method.

From-SVN: r37539
2000-11-18 02:29:13 +00:00
Mark Wielaard
c5f651bf3f backport: *.java: Reformat all to unofficial standard coding style.
Merge with Classpath (changes by Bryce McKinlay)
	* java/util/jar/*.java: Reformat all to unofficial standard coding
	style. No changes of substance.

From-SVN: r37538
2000-11-18 02:00:06 +00:00
Mark Wielaard
4f21aedbf4 * java/util/zip/*.java: Javadoc and copyright updates.
From-SVN: r37526
2000-11-17 21:42:28 +00:00
Tom Tromey
4cdfd292e3 CollationKey.java: Implement Comparable.
* java/text/CollationKey.java: Implement Comparable.
	(compareTo(Object)): New method.
	* java/text/Collator.java (compare(Object,Object)): New method.
	Implement Comparator.

	* java/util/zip/InflaterInputStream.java (available): New method.
	(close): New method.
	(read, available, skip, fill): Throw exception if stream closed.
	* java/util/zip/ZipInputStream.java (read, skip, readFully, fill,
	getNextEntry): Throw exception if closed.

From-SVN: r37525
2000-11-17 20:44:03 +00:00
Tom Tromey
98182da528 PushbackReader.java: Merged with Classpath.
* java/io/PushbackReader.java: Merged with Classpath.
	* java/util/Arrays.java: Updated from Classpath.

	* scripts/blocks.pl: New file.
	* java/lang/Character.java (Subset): New class.
	(UnicodeBlock): New class.

	* java/lang/Math.java (toDegrees, toRadians): New methods.

	* java/lang/Float.java: Implement Comparable.
	(compareTo): New methods.
	* java/lang/Double.java: Implement Comparable.
	(compareTo): New methods.

From-SVN: r37512
2000-11-17 04:51:25 +00:00
Warren Levy
3cd22508eb PropertyChangeSupport.java (propertyListeners): Made transient.
* java/beans/PropertyChangeSupport.java (propertyListeners): Made
	transient.
	(listeners): Made transient.
	(source): Renamed from 'bean'.
	(children): New field for serialization.
	(propertyChangeSupportSerializedDataVersion): Ditto.
	(serialVersionUID): Ditto.
	(writeObject): New serialization method.
	(readObject): New serialization method.
	* java/beans/VetoableChangeSupport.java (propertyListeners): Made
	transient.
	(listeners): Made transient.
	(source): Renamed from 'bean'.
	(children): New field for serialization.
	(vetoableChangeSupportSerializedDataVersion): Ditto.
	(serialVersionUID): Ditto.
	(writeObject): New serialization method.
	(readObject): New serialization method.
	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Fixed assert
	to allow constructor to have a return type (i.e. the class that the
	constructor constructs).

Serialization mods.

From-SVN: r37506
2000-11-16 21:34:48 +00:00
Warren Levy
a53785f90e ObjectInputStream.java (readObject): Added code to conditionally dump out the serialized data.
* java/io/ObjectInputStream.java (readObject): Added code to
	conditionally dump out the serialized data.
	Handle ENDBLOCKDATA case a bit more gracefully since the current
	behavior doesn't seem to work as expected.
	(readStreamHeader): Added code for serialized data dumper.
	(readNextBlock): Ditto.
	(readFields): Ditto.
	(dump): New private static field for turning on/off dumper.
	(setDump): New native method.
	(dumpElement): New native method.
	(dumpElementln): New native method.
	* java/io/natObjectInputStream.cc (setDump): New method.
	(dumpElement): New method.
	(dumpElementln): New method.

Serialization dumper.  Enable by configuring with --enable-libgcj-debug
and calling java.io.ObjectInputStream.setDump(true) in your test program.
The output will be generated as the object is deserialized (i.e. the
readObject() method is executed).

From-SVN: r37223
2000-11-03 08:04:33 +00:00
Warren Levy
6678181b3c InetAddress.java (addr): Renamed from 'address'.
* java/net/InetAddress.java (addr): Renamed from 'address'.
	(address): New field to match Serialized Form doc.
	(hostName): Renamed from 'hostname' to match Serialized Form doc.
	(family): New serialization field.
	(serialVersionUID): New field.
	(readObject): New method.
	(writeObject): New method.
	(getFamily): New native method.
	(InetAddress): Set family.
	* java/net/natInetAddress.cc (getFamily): New method.
	(addr): Renamed from 'address'.
	(hostName): Renamed from 'hostname' to match Serialized Form doc.
	* java/net/natPlainDatagramSocketImpl.cc (addr): Renamed from 'address'.
	* java/net/natPlainSocketImpl.cc (addr): Renamed from 'address'.

Serialization mod.

From-SVN: r37222
2000-11-03 07:43:06 +00:00
Bryce McKinlay
8d218b6742 AbstractList.java (SubList): Make it a top-level private class.
2000-11-03  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/util/AbstractList.java (SubList): Make it a top-level private
	class.
	* java/util/LinkedList.java (remove): Do update modCount and
	knownMod.
	(add): Ditto.
	* Makefile.am (ordinary_java_source_files): Add LinkedList.java.
	* Makefile.in: Rebuilt.

From-SVN: r37218
2000-11-03 03:58:05 +00:00
Bryce McKinlay
0ad35392f4 AbstractList.java (remove): Comment out modCount increment to work around compiler bug.
2000-11-02  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/util/AbstractList.java (remove): Comment out modCount
	increment to work around compiler bug.
	(add): Ditto.

From-SVN: r37204
2000-11-02 10:17:15 +00:00
Bryce McKinlay
7177dab5c9 AbstractList.java: Throw messages with IndexOutOfBoundsExceptions.
2000-11-02  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/util/AbstractList.java: Throw messages with
	IndexOutOfBoundsExceptions.
	 (listIterator()): Call listIterator(0).
	(size): New field. Initialize to size().
	(hasNext): Test position against size, not size().
	(remove): Increment knownMod by one instead of resetting it from
	modCount.
	(add): Ditto.
	(SubList.upMod): Removed.
	(SubList.set): Don't call upMod() or update knownMod.
	(SubList.add(int,Object)): Increment modCount instead of calling
	upMod().
	(SubList.remove): Ditto.
	(SubList.addAll): Don't call backingList.size(). Increment size from
	c.size().
	(SubList.iterator): New method. Call listIterator(0).
	(SubList.listIterator): New method. Restore code to return an
	anonymous listIterator implementation (with some changes).
	* java/util/AbstractSequentialList.java: Throw messages with
	IndexOutOfBoundsExceptions.
	(addAll): Add a specnote.
	* java/util/ArrayList.java (removeRange): Get the math right.
	(addAll): Increment modCount _before_ creating iterator.
	* java/util/LinkedList.java: Rewritten, mostly.

From-SVN: r37203
2000-11-02 10:08:03 +00:00
Bryce McKinlay
67f279dfeb Reader.java: Merge docs from classpath.
* java/io/Reader.java: Merge docs from classpath.
	(skip): Synchronize on `lock'.
	* java/io/FileReader.java: Import correct implementation from
	classpath.
	* java/io/StringReader.java: Merge docs from classpath.
	(ready): Throw IOException if stream is closed.

From-SVN: r37143
2000-10-30 09:20:47 +00:00
Bryce McKinlay
661a98d17a BitSet.java: Updated @specnote.
2000-10-30  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/util/BitSet.java: Updated @specnote.

From-SVN: r37138
2000-10-30 01:51:34 +00:00
Bryce McKinlay
3a73757880 AbstractCollection.java (addAll): Use size() instead of hasNext() in iterator loop.
2000-10-29  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/util/AbstractCollection.java (addAll): Use size() instead of
	hasNext() in iterator loop.
	(clear): Ditto.
	(contains): Ditto. Simplify loop.
	(containsAll): Ditto.
	(remove): Ditto.
	(removeAll): Ditto.
	(retainAll): Ditto.
	(toArray): Ditto.
	(toString): Ditto. Use string concatenation operators, not
	StringBuffer.
	* java/util/AbstractList.java (addAll): Use size() instead of
	hasNext() in iterator loop.
	(equals): Ditto.
	(hashCode): Ditto.
	(indexOf): Ditto. Don't take null check outside of the loop.
	(iterator): Return an AbstractListItr instead of anonymous class.
	(lastIndexOf): Use a for loop bounded by size() instead of
	hasPrevious() in iterator loop.
	(listIterator): Return an AbstractListItr.
	(removeRange): Remove bounds checking code and docs.
	(AbstractListItr): New inner class. Code moved here from
	listIterator().
	(SubList.iterator): Removed. Use default implementation from
	AbstractList instead.
	(SubList.listIterator): As above.
	* java/util/AbstractMap.java (clear): Use a for loop bounded by size()
	instead of hasNext() in iterator loop.
	(containsValue): Ditto.
	(equals): Ditto.
	(get): Ditto.
	(put): Ditto.
	(putAll): Ditto.
	(remove): Ditto.
	(toString): Ditto. Use string concatenation operators, not
	StringBuffer.
	* java/util/AbstractSequentialList.java (addAll): Use a for loop
	bounded by size() instead of hasNext() in iterator loop.
	* java/util/AbstractSet.java (hashCode): Don't catch exception as
	part of normal execution flow. Do an explicit null check instead.
	* java/util/ArrayList.java (_iSize): Rename to `size'.
	(_arData): Rename to `data'.
	(get): Check lower bounds also. Simplify IndexOutOfBoundsException
	message.
	(remove): Ditto.
	(removeRange): Make protected. Don't check bounds.
	(add): Check lower bounds also. Simplify IndexOutOfBoundsException
	message.
	(addAll (Collection)): Use a size-bounded for loop instead of hasNext()
	check.
	(addAll (int, Collection)): Check lower bounds. Simplify exception
	string.
	(clone): Clone the data array too.
	(indexOf): Inline doesEqual().
	(lastIndexOf): Ditto.
	(clear): Don't set array data to null.
	(set): Check lower bounds. Simplify exception string.
	(toArray): Correct comment.
	(trimToSize): Don't update modCount, this is not a structural change.
	Add comment.

	* java/util/BitSet.java: Merged with classpath, new JDK 1.2 methods
	implemented.
	(toString): Declare `bit' as long, not int.
	(data): Made package-private, not private.

From-SVN: r37116
2000-10-29 05:06:10 +00:00
Bryce McKinlay
e2d7960734 Re-indent in preparation for diff.
From-SVN: r37115
2000-10-29 04:46:45 +00:00
Bryce McKinlay
db50e427f6 Re-indent in preparation for diff.
From-SVN: r37114
2000-10-29 04:44:10 +00:00
Warren Levy
128e977c58 natGregorianCalendar.cc (computeFields): Set the isSet__ array elements to true.
* java/util/natGregorianCalendar.cc (computeFields): Set the isSet__
	array elements to true.

From-SVN: r37081
2000-10-27 11:53:53 +00:00
Warren Levy
df98a50bb0 Makefile.am: Added locale files from Classpath.
* Makefile.am: Added locale files from Classpath.
	* Makefile.in: Rebuilt.
	* gnu/java/locale/Calendar.java: New file.
	* gnu/java/locale/Calendar_de.java: New file.
	* gnu/java/locale/Calendar_en.java: New file.
	* gnu/java/locale/Calendar_nl.java: New file.
	* java/lang/ClassNotFoundException.java: Replaced with Classpath file.
	* java/math/BigDecimal.java (intVal): Renamed from 'num' for
	serialization compatibility.
	(scale): Made private.
	(serialVersionUID): New field.
	* java/math/BigInteger.java (ival): Made transient.
	(words): Made transient.
	(bitCount): New serialization field.
	(bitLength): Ditto.
	(firstNonzeroByteNum): Ditto.
	(lowestSetBit): Ditto.
	(magnitude): Ditto.
	(signum): Ditto.
	(serialVersionUID): New field.
	(readObject): New method.
	(writeObject): New method.
	* java/util/BitSet.java (serialVersionUID): New field.
	* java/util/Calendar.java: Replaced with Classpath file.
	* java/util/GregorianCalendar.java (GregorianCalendar): Pass result
	of getDefault() for TimeZone or Locale instead of passing nulls.
	* java/util/Locale.java (serialVersionUID): New field.
	(writeObject): New method.
	(readObject): New method.
	* java/util/SimpleTimeZone.java: Replaced with Classpath file.

Serialization mods.

From-SVN: r37080
2000-10-27 10:33:46 +00:00
Bryce McKinlay
ce2ab205ae ThreadGroup.java (uncaughtException): Print thread name with stack dump.
* java/lang/ThreadGroup.java (uncaughtException): Print thread name
        with stack dump.

From-SVN: r37047
2000-10-25 09:11:47 +01:00
Bryce McKinlay
85d0c8b46e EventObject.java: Merged from classpath.
2000-10-24  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/util/EventObject.java: Merged from classpath.

From-SVN: r37032
2000-10-24 11:53:56 +01:00
Alexandre Petit-Bianco
eade41de2a AbstractSet.java (equals): Re-installed original code.
2000-10-23  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* java/util/AbstractSet.java (equals): Re-installed original code.

(http://sources.redhat.com/ml/java-patches/2000-q4/msg00054.html)

From-SVN: r37021
2000-10-23 12:52:45 -07:00
Rolf W. Rasmussen
2622c79d2d Makefile.am: Added rules for libgcjx library.
* Makefile.am: Added rules for libgcjx library.
	* Makefile.in: Rebuilt.
	* configure.in: Added check for X.
	* configure: Rebuilt.
	* gnu/awt/LightweightRedirector.java: New file.
	* gnu/awt/j2d/AbstractGraphicsState.java: New file.
	* gnu/awt/j2d/DirectRasterGraphics.java: New file.
	* gnu/awt/j2d/Graphics2DImpl.java: New file.
	* gnu/awt/j2d/IntegerGraphicsState.java: New file.
	* gnu/awt/j2d/MappedRaster.java: New file.
	* gnu/awt/xlib/XCanvasPeer.java: New file.
	* gnu/awt/xlib/XEventLoop.java: New file.
	* gnu/awt/xlib/XEventQueue.java: New file.
	* gnu/awt/xlib/XFontMetrics.java: New file.
	* gnu/awt/xlib/XFramePeer.java: New file.
	* gnu/awt/xlib/XGraphics.java: New file.
	* gnu/awt/xlib/XGraphicsConfiguration.java: New file.
	* gnu/awt/xlib/XPanelPeer.java: New file.
	* gnu/awt/xlib/XToolkit.java: New file.
	* gnu/gcj/xlib/Clip.java: New file.
	* gnu/gcj/xlib/Colormap.java: New file.
	* gnu/gcj/xlib/Display.java: New file.
	* gnu/gcj/xlib/Drawable.java: New file.
	* gnu/gcj/xlib/Font.java: New file.
	* gnu/gcj/xlib/GC.java: New file.
	* gnu/gcj/xlib/Pixmap.java: New file.
	* gnu/gcj/xlib/Screen.java: New file.
	* gnu/gcj/xlib/Visual.java: New file.
	* gnu/gcj/xlib/WMSizeHints.java: New file.
	* gnu/gcj/xlib/Window.java: New file.
	* gnu/gcj/xlib/WindowAttributes.java: New file.
	* gnu/gcj/xlib/XAnyEvent.java: New file.
	* gnu/gcj/xlib/XButtonEvent.java: New file.
	* gnu/gcj/xlib/XColor.java: New file.
	* gnu/gcj/xlib/XConfigureEvent.java: New file.
	* gnu/gcj/xlib/XConnectException.java: New file.
	* gnu/gcj/xlib/XEvent.java: New file.
	* gnu/gcj/xlib/XException.java: New file.
	* gnu/gcj/xlib/XExposeEvent.java: New file.
	* gnu/gcj/xlib/XID.java: New file.
	* gnu/gcj/xlib/XImage.java: New file.
	* gnu/gcj/xlib/XUnmapEvent.java: New file.
	* gnu/gcj/xlib/natClip.cc: New file.
	* gnu/gcj/xlib/natColormap.cc: New file.
	* gnu/gcj/xlib/natDisplay.cc: New file.
	* gnu/gcj/xlib/natDrawable.cc: New file.
	* gnu/gcj/xlib/natFont.cc: New file.
	* gnu/gcj/xlib/natGC.cc: New file.
	* gnu/gcj/xlib/natPixmap.cc: New file.
	* gnu/gcj/xlib/natScreen.cc: New file.
	* gnu/gcj/xlib/natVisual.cc: New file.
	* gnu/gcj/xlib/natWMSizeHints.cc: New file.
	* gnu/gcj/xlib/natWindow.cc: New file.
	* gnu/gcj/xlib/natWindowAttributes.cc: New file.
	* gnu/gcj/xlib/natXAnyEvent.cc: New file.
	* gnu/gcj/xlib/natXButtonEvent.cc: New file.
	* gnu/gcj/xlib/natXColor.cc: New file.
	* gnu/gcj/xlib/natXConfigureEvent.cc: New file.
	* gnu/gcj/xlib/natXException.cc: New file.
	* gnu/gcj/xlib/natXExposeEvent.cc: New file.
	* gnu/gcj/xlib/natXImage.cc: New file.
	* gnu/gcj/xlib/natXUnmapEvent.cc: New file.
	* java/awt/EventDispatchThread.java: Start thead on creation.

From-SVN: r37005
2000-10-22 17:46:09 +00:00
Bryce McKinlay
18a61d1cb2 ChoicePeer.java (addItem): Removed.
2000-10-11  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/awt/peer/ChoicePeer.java (addItem): Removed.
	* java/awt/peer/ComponentPeer.java (disable): Removed.
	(enable): Removed.
	(hide): Removed.
	(minimumSize): Removed.
	(preferredSize): Removed.
	(reshape): Removed.
	(show): Removed.
	* java/awt/peer/ListPeer.java (addItem): Removed.
	(clear): Removed.
	(minimumSize): Removed.
	(preferredSize): Removed.
	(setMultipleSelections): Removed.
	* java/awt/peer/MenuBarPeer.java (add): Renamed from addMenu.
	(remove): Renamed from removeMenu.
	* java/awt/peer/MenuItemPeer.java (disable): Removed.
	(enable): Removed.
	* java/awt/peer/MenuPeer.java (add): Renamed from addItem.
	(remove): Renamed from removeItem.
	* java/awt/peer/TextAreaPeer.java (insertText): Removed.
	(getMinimumSize): Removed.
	(getPreferredSize): Removed.
	(minimumSize): Removed.
	(preferredSize): Removed.
	(replaceText): Removed.
	* java/awt/peer/TextFieldPeer.java (minimumSize): Removed.
	(preferredSize): Removed.
	(getMinimumSize): Removed.
	(getPreferredSize): Removed.
	(setEchoCharacter): Removed.

From-SVN: r36836
2000-10-11 10:47:25 +01:00
Warren Levy
01ce962b94 LocaleData_en.java (monetarySeparator): Added.
* gnu/gcj/text/LocaleData_en.java (monetarySeparator): Added.
	* java/sql/Date.java (serialVersionUID): New field.
	* java/sql/Time.java (serialVersionUID): New field.
	* java/sql/Timestamp.java (serialVersionUID): New field.
	* java/text/ChoiceFormat.java (serialVersionUID): New field.
	* java/text/DateFormat.java (getDateTimeInstance (int)): Removed.
	* java/text/DateFormatSymbols.java (serialVersionUID): New field.
	* java/text/DecimalFormat.java (serialVersionOnStream): New field.
	(readObject): New serialization method.
	* java/text/DecimalFormatSymbols.java (monetarySeparator): New field.
	(serialVersionOnStream): New field.
	(readObject): New serialization method.
	(getMonetaryDecimalSeparator): New method.
	(setMonetaryDecimalSeparator): New method.
	* java/text/NumberFormat.java (maxFractionDigits): New field.
	(maxIntegerDigits): New field.
	(minFractionDigits): New field.
	(minIntegerDigits): New field.
	(serialVersionOnStream): New field.
	(serialVersionUID): New field.
	(readObject): New serialization method.
	(writeObject): New serialization method.
	* java/text/SimpleDateFormat.java (defaultCenturyStart): Initialized.
	(serialVersionOnStream): New field.
	(serialVersionUID): New field.
	(readObject): New serialization method.

Serialization mods.

From-SVN: r36831
2000-10-10 23:09:08 +00:00
Tom Tromey
43f8e39002 * java/util/Properties.java: Merged with Classpath version.
From-SVN: r36775
2000-10-07 18:13:11 +00:00
Tom Tromey
1d336a099d natField.cc (BooleanClass): Don't define.
* java/lang/reflect/natField.cc (BooleanClass): Don't define.
	* java/lang/reflect/natArray.cc (BooleanClass): Don't define.
	* java/lang/Class.h (Object): Added `class$' field.
	* java/lang/Object.h (Object): Added `class$' field.
	* defineclass.cc (ClassClass): Use `class$' form.
	(ClassObject): Likewise.
	* resolve.cc (ClassObject): Use `class$' form.
	(ObjectClass): Likewise.
	* interpret.cc (ClassError): Removed.
	* java/net/natPlainDatagramSocketImpl.cc (BooleanClass): Use
	`class$' form.
	(IntegerClass): Likewise.
	* java/net/natPlainSocketImpl.cc (BooleanClass): Use `class$'
	form.
	* java/lang/natClassLoader.cc (CloneableClass): Use `class$' form.
	(ObjectClass, ClassClass, VMClassLoaderClass, ClassLoaderClass,
	SerializableClass): Likewise.
	Include Serializable.h, Cloneable.h.
	* java/lang/natSystem.cc (SystemClass): Removed.
	(init_properties): Use `class$' form.
	* java/lang/natObject.cc (CloneableClass): Removed.
	(clone): Use `class$' form.
	* java/lang/natClass.cc (CloneableClass): Use `class$' form.
	(ObjectClass, ErrorClass, ClassClass, MethodClass, FieldClass,
	ConstructorClass): Likewise.
	* java/lang/reflect/natMethod.cc (ObjectClass): Use `class$' form.
	(ClassClass, VoidClass, ByteClass, ShortClass, CharacterClass,
	IntegerClass, LongClass, FloatClass, DoubleClass): Likewise.
	* java/io/natObjectInputStream.cc (ObjectClass): Use `class$'
	form.
	(ClassClass): Likewise.
	* include/jvm.h (StringClass): Use `class$' form.
	* prims.cc (ObjectClass): Removed.
	(_Jv_RunMain): Use `class$' form.
	(_Jv_AllocObject): Likewise.
	* jni.cc (ClassClass): Use `class$' form.
	(ThrowableClass): Likewise.
	(ObjectClass): Likewise.
	(MethodClass): Likewise.
	(ThreadGroupClass): Likewise.
	(NativeThreadClass): Likewise.
	* boehm.cc (ObjectClass): Removed.
	(ClassClass): Removed.
	(_Jv_MarkObj): Use `class$' form.
	* gcj/field.h (JvFieldIsRef): Use `class$' form.
	Include RawData.h.

From-SVN: r36740
2000-10-06 01:49:32 +00:00
Warren Levy
bf3478059d Makefile.am: Removed java/io/Replaceable.java and java/io/Resolvable.java.
* Makefile.am: Removed java/io/Replaceable.java and
	java/io/Resolvable.java.
	* Makefile.in: Rebuilt.
	* gcj/javaprims.h: Removed Replaceable and Resolvable from java.io
	namespace.
	* java/io/ObjectInputStream.java (processResolution): Fixed typo
	in method name.
	(processResolution): Handle readResolve method via reflection with
	removal of Resolvable interface.
	* java/io/ObjectOutputStream.java (writeObject): Handle writeReplace
	method via reflection with removal of Replaceable interface.
	* java/io/Replaceable.java: Removed.
	* java/io/Resolvable.java: Removed.
	* java/security/Key.java (serialVersionUID): New field.
	* java/security/Provider.java (serialVersionUID): New field.
	* java/security/interfaces/DSAPrivateKey.java (serialVersionUID):
	New field.
	* java/security/interfaces/DSAPublicKey.java (serialVersionUID):
        New field.
	* java/sql/DataTruncation.java (serialVersionUID): New field.
	* java/sql/SQLException.java (serialVersionUID): New field.
	* java/sql/SQLWarning.java (serialVersionUID): New field.
	* java/util/Date.java (serialVersionUID): New field.
	(millis): Made transient.
	(readObject): New method.
	(writeObject): New method.

Serialization mods.
Note:  The interfaces java.io.Replaceable and java.io.Resolvable were only
temporary additions to JDK 1.2 beta versions and were not included
in the JDK 1.2 final.  The Serialization spec instructs how to deal
with their methods (via reflection).

From-SVN: r36736
2000-10-05 23:57:16 +00:00
Bryce McKinlay
0acff4bc96 prims.cc (_Jv_argv, _Jv_argc): New fields.
2000-10-02  Bryce McKinlay  <bryce@albatross.co.nz>

	* prims.cc (_Jv_argv, _Jv_argc): New fields.
	(JvRunMain): Set _Jv_argv and _Jv_argc.
	* java/awt/Component.java: Minor fixes.
	* java/awt/Image.java (UndefinedProperty): Initialize final field.
	* java/awt/Toolkit.java (systemEventQueue): Removed.
	(getDefaultToolkit): Default to "gnu.awt.gtk.GtkToolkit".
	* java/awt/Window.java (getToolkit): Don't call super.
	* java/awt/image/BufferedImage.java: Fix definate assignment errors.
	* java/awt/peer/ContainerPeer.java (insets): Remove unused method.
	* gnu/awt/gtk/GtkComponentPeer.java: New file.
	* gnu/awt/gtk/GtkContainerPeer.java: New file.
	* gnu/awt/gtk/GtkFramePeer.java: New file.
	* gnu/awt/gtk/GtkMainThread.java: New file.
	* gnu/awt/gtk/GtkToolkit.java: New file.
	* gnu/awt/gtk/GtkWindowPeer.java: New file.
	* gnu/awt/gtk/gtkcommon.cc: New file.
	* gnu/awt/gtk/gtkcommon.h: New file.
	* gnu/awt/gtk/natGtkComponentPeer.cc: New file.
	* gnu/awt/gtk/natGtkContainerPeer.cc: New file.
	* gnu/awt/gtk/natGtkFramePeer.cc: New file.
	* gnu/awt/gtk/natGtkMainThread.cc: New file.
	* gnu/awt/gtk/natGtkToolkit.cc: New file.
	* gnu/awt/gtk/natGtkWindowPeer.cc: New file.

From-SVN: r36688
2000-10-02 06:14:25 +01:00
Hans Boehm
bf3b8e42e2 Implement bitmap descriptor based marking for Boehm GC.
2000-09-30  Hans Boehm  <boehm@acm.org>
	    Bryce McKinlay  <bryce@albatross.co.nz>

	Implement bitmap descriptor based marking for Boehm GC.

	* configure.in: Define JC1GCSPEC. Set it if boehm-gc is used.
	* configure: Rebuilt.
	* libgcj.spec.in: Pass JC1GCSPEC to jc1.
	* include/jvm.h (struct _Jv_VTable): New field `gc_descr'. New inline
	method get_finalizer().
	(struct _Jv_ArrayVTable): Ditto. Declare method array with
	NUM_OBJECT_METHODS elements instead of NUM_OBJECT_METHODS + 1.
	(_Jv_AllocObj): Add new jclass parameter.
	(_Jv_AllocArray): Ditto.
	(_Jv_BuildGCDescr): New prototype.
	* prims.cc (_Jv_AllocObject): Rename parameter `c' to `klass'. Pass
	`klass' to _Jv_AllocObj. Don't set the new object's vtable. Use
	get_finalizer() instead of direct finalizer vtable offset.
	(_Jv_NewObjectArray): Rename parameter `clas' to `klass'. Pass
	`klass' to _Jv_AllocArray. Don't set the new array's vtable.
	(_Jv_NewPrimArray): Call _Jv_FindArrayClass before _Jv_AllocObj.
	Pass `klass' to _Jv_AllocObj. Don't set the new array's vtable.
	* resolve.cc (METHOD_NOT_THERE, METHOD_INACCESSIBLE): New #defines.
	(_Jv_ResolvePoolEntry): Use METHOD_NOT_THERE and METHOD_INACCESSIBLE.
	(_Jv_DetermineVTableIndex): Ditto.
	(_Jv_PrepareClass): Ditto. Remove offset-by-one adjustments from vtable
	calculations to account for new gc_descr field.
	* boehm.cc: #include gc_gcj.h.
	(obj_kind_x, obj_free_list): `#if 0'-ed away.
	(_Jv_MarkObj): Check that vtable doesn't point to a cleared object.
	New commentary from HB. Mark the classes vtable.
	(_Jv_MarkArray): Check that vtable doesn't point to a cleared object.
	(GC_DEFAULT_DESCR): New #define.
	(_Jv_BuildGCDescr): New function. Use GC_DEFAULT_DESCR, for now.
	(_Jv_AllocObj): New parameter `klass'. Use GC_GCJ_MALLOC ().
	(_Jv_AllocArray): New parameter `klass'. Allocate with GC_MALLOC and
	scan conservativly if size is less than min_heap_addr. Set vtable
	pointer of new object before returning.
	(_Jv_AllocBytes): Use GC_MALLOC_ATOMIC, not GC_GENERIC_MALLOC.
	(_Jv_InitGC): Call GC_init_gcj_malloc(). Don't set up marking and
	allocation for obj_kind_x.
	* nogc.cc (_Jv_BuildGCDescr): New function. Return 0.
	(_Jv_AllocObj): Set vtable on returned object.
	(_Jv_AllocArray): Ditto.
	* java/lang/Class.h (_Jv_NewObjectArray): No longer a friend.
	(_Jv_NewPrimArray): Ditto.
	(_Jv_AllocObj): Declare as a friend.
	(_Jv_AllocArray): Ditto.
	* java/lang/natClassLoader.cc (_Jv_FindArrayClass): Copy gc_descr
	from &ObjectClass into new array class. Remove offset-by-one
	adjustments from `method' size calculations to account for gc_descr
	field.

Co-Authored-By: Bryce McKinlay <bryce@albatross.co.nz>

From-SVN: r36679
2000-09-30 10:56:58 +01:00