2003-04-19 Scott Gilbertson <scottg@mantatest.com>
* gnu/awt/xlib/XGraphics.java (XGraphics): Use new GC.create.
(dispose): Null metrics.
* gnu/awt/xlib/XToolkit.java (sync): Implement.
* gnu/gcj/xlib/Clip.java (dispose): Change name of native from
finalize.
(finalize): Call dispose.
* gnu/gcj/xlib/Drawable.java (gcCache): New field.
(gcCachedCount): New field.
(finalize): New method.
(putGCInCache): New method.
(getGCFromCache): New method.
* gnu/gcj/xlib/GC.java (GC): Make protected.
(clone): Get new GC from cache if possible.
(create): New static method.
(dispose): Save old GC in cache.
* gnu/gcj/xlib/natClip.cc (dispose): Check for null before
deleting.
* gnu/gcj/xlib/natGC.cc (initStructure): Call XCreateGC only if gc
is null.
* gnu/gcj/xlib/Pixmap.java (Pixmap): Use new GC.create.
* java/awt/Container.java (visitChild): Dispose gfx2 when
finished.
From-SVN: r65827
2003-04-19 Scott Gilbertson <scottg@mantatest.com>
* gnu/awt/xlib/XGraphicsConfiguration.java (FontMetricsCache): New
inner class.
(CACHE_SIZE_PER_DISPLAY): New field
(fontMetricsCache): New field
(getXFontMetrics): Use fontMetricsCache to cache fonts. Prefer
loading ISO10646-1 fonts.
From-SVN: r65821
* gnu/java/nio/FileChannelImpl.java
(address): Removed.
(map_address): New member variable.
(length): Make it package private.
(fd): Make it package private.
(buf): Make it package private.
(file_obj): Make it package private.
(FileChannelImpl): New constructor.
(nio_mmap_file): Use RawData instead of long.
(nio_munmap_file): Use RawData instead of long.
(nio_msync): Use RawData instead of long.
(implCloseChannel): New implementation using map_address.
(read): Reformated.
(map): Implemented.
(create_direct_mapped_buffer): Implemented, use RawData, throws
IOException.
(force): Use map_address instead of address.
* gnu/java/nio/MappedByteFileBuffer.java
(address): Removed.
(map_address): New member variable.
(MappedByteFileBuffer): Use map_address instead of address, reformated.
(several methods): Use map_address instead of address, replaced long
with RawData where appropriate.
* gnu/java/nio/natFileChannelImpl.cc
(nio_mmap_file): Replaced long with RawData.
(nio_munmap_file): Replaced long with RawData.
(nio_msync): Replaced long with RawData.
* gnu/java/nio/natMappedByteFileBuffer.cc
(several methods): Replaced long with RawData where appropriate.
From-SVN: r64612
2003-03-10 2003-02-27 Mohan Embar <gnustuff@thisiscool.com>
* include/jvm.h: removed declaration of _Jv_ThisExecutable()
setter; made return value of getter const char* instead of char*
* prims.cc: removed all references to _Jv_ThisExecutable().
These are in the platform-specific sections now.
* posix.cc: define platform-specific _Jv_ThisExecutable().
Handle DISABLE_MAIN_ARGS and HAVE_PROC_SELF_EXE cases
* win32.cc: define platform-specific _Jv_ThisExecutable()
using GetModuleFilename()
* java/lang/natRuntime.cc: set gnu.gcj.progname property
to argv[0] instead of _Jv_ThisExecutable()
2003-03-10 Ranjit Mathew <rmathew@hotmail.com>
* gnu/gcj/runtime/NameFinder.java (usingAddr2name): New flag
that is set if we are using addr2name.awk instead of addr2line.
(NameFinder): Set usingAddr2name if using addr2name.awk.
(getExternalLabel): New native method to convert a method
name to an external label.
(lookup): Convert name given by addr2line to an external label
before demangling.
* gnu/gcj/runtime/natNameFinder.cc (LABEL_PREFIX): New string
constant representing the prefix attached to method names to
convert them to an external label.
(gnu::gcj::runtime::NameFinder::getExternalLabel): Define
using LABEL_PREFIX.
From-SVN: r64111
2003-02-25 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/MappedByteFileBuffer.java,
gnu/java/nio/natMappedByteFileBuffer.cc:
New files, both are not compiled yet to get not noncompiling CVS.
From-SVN: r63403
2003-02-21 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/natSocketChannelImpl.cc:
Reverse logic for DISABLE_JAVA_NET. Thanks to Krister Walfridsson
<cato@df.lth.se> for pointing to it.
From-SVN: r63212
2003-02-19 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/natSocketChannelImpl.cc:
Added support for platforms without network support.
From-SVN: r63155
* gnu/java/nio/ByteBufferImpl.java
(ByteBufferImpl): Renamed two variables.
* gnu/java/nio/CharBufferImpl.java
(CharBufferImpl): Renamed two variables.
* gnu/java/nio/DoubleBufferImpl.java
(DoubleBufferImpl): Renamed two variables.
* gnu/java/nio/FloatBufferImpl.java
(FloatBufferImpl): Renamed two variables.
* gnu/java/nio/IntBufferImpl.java
(IntBufferImpl): Renamed two variables.
* gnu/java/nio/LongBufferImpl.java
(LongBufferImpl): Renamed two variables.
* gnu/java/nio/ShortBufferImpl.java
(ShortBufferImpl): Renamed two variables.
* java/nio/CharBuffer.java
(wrap): Fixed arguments to CharBufferImpl constructor.
(hasArray): Only not read-only buffers have backing arrays.
(length): Documentation added.
(subSequence): Documentation added.
* java/nio/DoubleBuffer.java
(hasArray): Only not read-only buffers have backing arrays.
* java/nio/FloatBuffer.java
(hasArray): Only not read-only buffers have backing arrays.
* java/nio/IntBuffer.java
(hasArray): Only not read-only buffers have backing arrays.
* java/nio/LongBuffer.java
(hasArray): Only not read-only buffers have backing arrays.
* java/nio/ShortBuffer.java
(hasArray): Only not read-only buffers have backing arrays.
From-SVN: r63101
* gnu/awt/j2d/Graphics2DImpl.java
(getFontRenderContext): New method.
(drawGlyphVector): New method.
* java/awt/Graphics2D.java
(getFontRenderContext): New abstract method.
(drawGlyphVector): New abstract method.
From-SVN: r63097
2003-02-18 Hans Boehm <Hans.Boehm@hp.com>
* gnu/awt/xlib/XToolkit.java (getFontMetrics): initialize
if necessary.
* gnu/java/awt/peer/gtk/GtkButtonPeer.java,
gnu/java/awt/peer/gtk/GtkTextAreaPeer.java,
gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
(setFont, gtkSetFont): add.
gnu/java/awt/peer/gtk/GtkComponentPeer.java (GtkComponentPeer):
Propagate font to peer. (setFont): add FIXME comment.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
(gtkTextGetSize): fix height, width computation.
* gnu/java/awt/peer/gtk/GtkFontPeer.java (GtkFontPeer):
Make X font name a bit less bogus.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c
(post_adjustment_event): Pass on GTK_SCROLL_NONE.
* java/awt/Scrollbar.java (setValues): Fix visibleAmount range check.
(processAdjustmentEvent): Adjust value.
* java/awt/FlowLayout.java (layoutContainer) Fix 2 indexing and one
logic errors.
* java/awt/Component.java (setVisible, show, hide): Call show and
hide methods in subclasses.
(getPreferredSize): don't set prefSize before we have peer.
* java/awt/TextArea.java, java/awt/TextField.java (getPreferredSize):
Guess (0,0) if we don't have peer.
From-SVN: r63077
2003-02-14 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/natServerSocketChannelImpl.cc: Removed.
* gnu/java/nio/ServerSocketChannelImpl.java
(SocketAccept): Removed.
(accept): Commented out use of SocketAccept.
From-SVN: r62898
* gnu/java/nio/FileChannelImpl.java
(lengthInternal): Must be native.
(size): Check if channel is already closed.
(implCloseChannel): Reformated.
(read): w was unused, removed it.
(read): Removed.
(read): New method.
(write): New method.
(map): Check arguments.
(force): Throws IOException, check if channel is closed.
(transferTo): New method.
(transferFrom): New method.
(lock): New method.
(tryLock): New method.
(position): New method.
(truncate): New method.
(nio_mmap_file): Uncommented.
(nio_munmap_file): Uncommented.
(nio_msync): Uncommented.
* gnu/java/nio/natFileChannelImpl.cc: New file.
From-SVN: r62841
2002-02-13 Ranjit Mathew <rmathew@hotmail.com>
* gnu/gcj/runtime/NameFinder.java (createStackTraceElement): Use
lastIndexOf( ) instead of indexOf( ) to find the colon before
the line number, because Win32 file names might contain a
drive letter and a colon at the start of an absolute path.
From-SVN: r62834
2003-02-10 Raif S. Naffah <raif@fl.net.au>
* gnu/java/security/provider/SHA1PRNG.java (ensureIsSeeded): new
method used to ensure seeding has occurred and that a specific
seed can be set and used.
From-SVN: r62660
* gnu/gcj/protocol/jar/Connection.java (getJarFile): download and
cache remote jar files.
* gnu/gcj/runtime/VMClassLoader.java: Don't construct jar URL, only
add File.separator to URL when it is a directory.
* java/lang/ClassLoader.java: Add Classpath javadoc.
(parent): final.
(getParent): Add (disabled) security check.
(findLibrary): New default method.
* java/net/JarURLConnection.java (getManifest): Implement.
(getInputStream): Only create InputStream when entry exists.
(getHeaders): Only use jarFileURLConnection or JarEntry to set length
when they exist.
* java/net/URLClassLoader.java: New/Rewritten version from Classpath.
From-SVN: r59949
2002-12-05 Andrew Haley <aph@redhat.com>
* gnu/gcj/runtime/natStackTrace.cc (fillInStackTrace): Throw
#ifdef (HAVE_BACKTRACE) around the whole function body.
From-SVN: r59855
2002-12-03 Andrew Haley <aph@redhat.com>
* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Call
_Jv_PushClass.
(_Jv_InitNewClassFields): Set protectionDomain and chain = NULL.
(_Jv_PopClass): New.
(_Jv_PushClass): New.
* java/lang/natClass.cc (forName (jstring)): Use a StackTrace to
discover the ClassLoader of our caller.
(_Jv_CheckArrayStore): Don't check that a class is assignment
compatible with Object.
* java/lang/natVMTHrowable.cc: Delete.
* gnu/gcj/runtime/StackTrace.java: New, partly copied from
java.lang.VMThrowable.
(StackTrace(), StackTrace(int)): New constructors.
(classAt, methodAt, update, methodAtAddress): New methods.
(map): New field.
* java/lang/VMThrowable.java: Use StackTrace instead of
natVMTHrowable.
* java/lang/Class.h (getClassLoaderInternal): New.
(class Class): Be friendly with _Jv_PopClass and _Jv_PushClass.
Be friendly with gnu::gcj::runtime::StackTrace.
(Object.chain): New field.
* include/java-interp.h (class _Jv_InterpMethod): Be friendly with
gnu::gcj::runtime::StackTrace.
* gnu/gcj/runtime/natStackTrace.cc: New file.
* gnu/gcj/runtime/MethodRef.java: New file.
* prims.cc (_Jv_NewObjectArray): Use getClassLoaderInternal()
instead of getClassLoader().
* verify.cc (class _Jv_BytecodeVerifier): Likewise.
java::lang::VMThrowable.
* Makefile.am (core_java_source_files): Add MethodRef.java,
StackTrace.java.
(nat_source_files): Remove natVMThrowable.cc; add natStackTrace.cc.
* Makefile.in: Rebuild.
From-SVN: r59771
* gnu/java/nio/DatagramChannelImpl:
(fd): New member variable to store file descriptor of socket.
* gnu/java/nio/SelectionKeyImpl.java:
(ops): Removed.
(readyOps): New member variable.
(interestOps): New member variable.
(readyOps): Implemented.
(readyOps): New method to set member variable readyOps.
(interestOps): Replaced ops by interestOps.
* gnu/java/nio/SelectorImpl.java:
(SelectorImpl): Initialize key sets.
(select): Call select with -1 instead of Long.MAX_VALUE).
(java_do_select): Make it a native method.
(getFDsAsArray): New helper method.
(select): Remove canceled keys, give only interested file discriptors
to java_do_select, set ready ops.
(add): No need to initialize keys set here.
(add_selected): No need to initialize selected set here.
(deregisterCanceledKeys): New helper method.
(register): Set interest ops, set attachments, added handling of datagram
channels.
* gnu/java/nio/ServerSocketChannelImpl:
(SocketAccept): Renamed from NioSocketAccept.
(implConfigureBlocking): Implemented.
(accept): Use SocketAccept instead of NioSocketAccept.
* gnu/java/nio/SocketChannelImpl:
Reactivate native methods.
From-SVN: r59632
* gnu/java/nio/ByteBufferImpl.java
(ByteBufferImpl): Moved position() after limit.
(nio_*): Use native implementation.
* gnu/java/nio/CharBufferImpl.java:
Reformated.
(endian): New member variable string endianess of buffer.
(CharBufferImpl): Moved position() after limit.
(nio_*): Use native implementation.
(subSequence): Implemented.
* gnu/java/nio/DoubleBufferImpl.java
(DoubleBufferImpl): Moved position() after limit.
(nio_*): Use native implementation.
* gnu/java/nio/FloatBufferImpl.java
Reformated.
(FloatBufferImpl): Moved position() after limit.
(nio_*): Use native implementation.
* gnu/java/nio/IntBufferImpl.java
Added needed imports, Reformated.
(IntBufferImpl): Moved position() after limit.
(nio_*): Use native implementation.
* gnu/java/nio/LongBufferImpl.java
Reformated.
(LongBufferImpl): Moved position() after limit.
(nio_*): Use native implementation.
* gnu/java/nio/ShortBufferImpl.java
Reformated.
(ShortBufferImpl): Moved position() after limit.
(nio_*): Use native implementation.
From-SVN: r59624
Merge Orp RMI patches from Wu Gansha <gansha.wu@intel.com>
* java/rmi/MarshalledObject.java (equals): Check hashcode first.
* java/rmi/server/RMIClassLoader.java (MyClassLoader): Create/Use
annotation.
(loadClass): Take String as codebases.
(getClassAnnotation): Use MyClassLoader annotations.
* java/rmi/server/UnicastRemoteObject.java (UnicastRemoteObject):
call exportObject(this).
* gnu/java/rmi/RMIMarshalledObjectOutputStream.java
(RMIMarshalledObjectOutputStream): set locBytesStream and locStream.
(setAnnotation): Don't set locBytesStream and locStream.
(replaceObject): Removed.
(flush): Don't test locStream.
(getLocBytes): LikeWise.
* gnu/java/rmi/dgc/DGCImpl.java: extends UnicastServerRef.
(leaseCache): New field.
(dirty): Use leaseCache.
(LeaseRecord): New inner class.
* gnu/java/rmi/registry/RegistryImpl.java (RegistryImpl): Don't
explicitly call exportObject().
* gnu/java/rmi/registry/RegistryImpl_Stub.java: set useNewInvoke to
false to communicate with Sun JDK130.
* gnu/java/rmi/server/ConnectionRunnerPool.java: Add CPU comment.
* gnu/java/rmi/server/RMIObjectInputStream.java
(UnicastConnectionManager): Removed field.
* gnu/java/rmi/server/RMIObjectOutputStream.java (replaceObject):
Use UnicastServer.getExportedRef().
* gnu/java/rmi/server/UnicastConnection.java (reviveTime): New field.
(expireTime): Likewise.
(CONNECTION_TIMEOUT): Likewise.
(disconnect): Call sock.close().
(isExpired): New method.
(resetTime): Likewise.
(run): Use do while loop and catch Exception for discardConnection().
* gnu/java/rmi/server/UnicastConnectionManager.java: Pool connections.
* gnu/java/rmi/server/UnicastRef.java: Lots of changes.
* gnu/java/rmi/server/UnicastRemoteCall.java: Lots of changes.
* gnu/java/rmi/server/UnicastServer.java (refcache): New field.
(exportObject): Use refcache.
(unexportObject): Likewise.
(getExportedRef): New method.
* gnu/java/rmi/server/UnicastServerRef.java (UnicastServerRef): New
constructor.
(exportObject): Save manager.serverobj.
(getStub): New method.
From-SVN: r58900
* gnu/gcj/runtime/NameFinder.java (remove_interpreter): New field.
(sanitizeStack): Correctly reset unknown and interpreter counters,
detect interpreter runtime frames.
(demangleInterpreterMethod): New method.
* gnu/gcj/runtime/natNameFinder.cc (lookupInterp): Use new method.
* java/lang/natVMThrowable.cc (fillInStackTrace): Change order of
filling in addrs[].
From-SVN: r56741
* include/jvm.h (struct _Jv_frame_info): New structure.
* gnu/gcj/runtime/natNameFinder.cc: Include StringBuffer.h,
java-interp.h.
(lookupInterp): New method.
(getAddrAsString): Use _Jv_frame_info.
(dladdrLookup): Likewise.
* gnu/gcj/runtime/NameFinder.java (lookup): Try to look up
interpreted frame.
(lookupInterp): Declare.
* java/lang/natVMThrowable.cc: Include Thread.h, java-interp.h.
(fillInStackTrace): Collect information on interpreted frames.
Use _Jv_frame_info.
* interpret.cc: Include Thread.h.
(run): Create and push _Jv_MethodChain object.
(_Jv_EndOfInterpreter): New global.
* java/lang/Thread.java (interp_frame): New field.
* include/java-interp.h (struct _Jv_MethodChain): New structure.
Include NameFinder.h.
From-SVN: r56657