2003-12-08 Michael Koch <konqueror@gmx.de>
Fix for PR libgcj/13176.
* java/io/PrintStream.java: Partly revert my previous patches to get
(line_separator): New field.
(converter): New field.
(work): New field.
(work_bytes): New field.
(pw): Removed.
(closed): Removed.
(PrintStrean): Initialize converter and not pw.
(checkError): Flush always, pw doesn't exist anymore.
(close): Close underlying out stream.
(print): New method.
(writeChars): New method.
(print): Use new internal print method.
(println): Likewise.
From-SVN: r74419
* java/util/Hashtable.java (Hashtable(Map)): Use putAll, not
putAllInternal.
(putAllInternal): Correct comment.
* java/util/HashMap.java (HashMap(Map)): As above.
(putAllInternal): As above.
From-SVN: r74400
2003-12-05 Scott Gilbertson <scottg@mantatest.com>
* gnu/gcj/xlib/GC.java (updateClip): Added rectangles argument.
(clip): Removed field
(clipRectangles): New field.
(clone): Use new updateClip.
(setClipRectangles): Use new updateClip.
* gnu/gcj/xlib/natGC.cc (updateClip): Prepare passed rectangles.
From-SVN: r74348
* java/net/DatagramPacket.java
(length): Made packge-private to make it accessible via CNI.
(maxlen): New field.
(DatagramPacket): Cleaned up.
(setSocketAddress): Add message to exception.
(setData): Call other setData().
(setData): Call setLength().
(setLength): Initialize maxlen too.
* gnu/java/net/natPlainDatagramSocketImplPosix.cc (peekData):
Get maximal length from maxlen field, set length field directly.
(receive): Likewise.
* gnu/java/net/natPlainDatagramSocketImplWin32.cc (peekData):
Get maximal length from maxlen field, set length field directly.
(receive): Likewise.
From-SVN: r74278
PR java/12374:
* parse.y (qualify_ambiguous_name): Remove lots of broken
field access processing - there's no need to do that here,
because we have resolve_field_access. Remove
RESOLVE_EXPRESSION_NAME_P as it isn't used anywhere else.
* java-tree.h: Remove RESOLVE_EXPRESSION_NAME_P as it isn't
used.
From-SVN: r74217
* configure.in: Added new MinGW-specific configure flag
--with-win32-nlsapi.
Added new AC_DEFINE MINGW_LIBGCJ_UNICODE.
Add -lunicows to MinGW SYSTEMSPEC if --with-win32-nlsapi
is set to unicows.
* configure: Rebuilt.
* include/config.h.in: Rebuilt.
* win32.cc (_Jv_Win32NewString): Implemented.
(nativeToUnicode): New helper function defined only for
non-UNICODE builds.
(unicodeToNative): Likewise.
(_Jv_Win32TempString): Implemented.
(lots): Refactored using tchar.h macros.
(WSAEventWrapper): Use _Jv_Win32NewString.
(_Jv_platform_initialize): Use GetModuleFileNameA instead
of GetModuleFileName.
(_Jv_platform_initProperties): Use _Jv_Win32NewString.
Use temporary stack buffer instead of a heap buffer.
* include/win32.h
Added defines for UNICODE and _UNICODE if MINGW_LIBGCJ_UNICODE is
defined; added tchar.h include.
(_Jv_Win32TempString): Declared new helper class.
(JV_TEMP_STRING_WIN32): New helper macro.
(_Jv_Win32NewString): Declared new helper method.
* java/io/natFileDescriptorWin32.cc (open): Use
JV_TEMP_STRING_WIN32 instead of JV_TEMP_UTF_STRING.
(write): Reformatted slightly.
* java/io/natFileWin32.cc (lots): Use tchar.h macros;
use JV_TEMP_STRING_WIN32 instead of JV_TEMP_UTF_STRING.
(getCanonicalPath): Use _Jv_Win32NewString instead of
JvNewStringUTF.
(performList): Likewise.
* java/lang/natWin32Process.cc (ChildProcessPipe):
Use tchar.h macros.
(startProcess): Use tchar.h macros, JV_TEMP_STRING_WIN32,
and UNICODE environment flag for CreateProcess.
* java/net/natNetworkInterfaceWin32.cc
(winsock2GetRealNetworkInterfaces): Use tchar.h macros and
_Jv_Win32NewString.
From-SVN: r74201
* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c
(initState): Mark obj parameter as unused.
(stringWidth): Mark obj parameter as unused. Initialize
font_name properly.
From-SVN: r74198
2003-12-02 Thomas Fitzsimmons <fitzsim@redhat.com>
* gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: Make
BufferedImageBuilder class static.
From-SVN: r74195
2003-12-02 Fernando Nasser <fnasser@redhat.com>
* gnu/java/awt/peer/gtk/GtkListPeer.java (handleEvent): New
method. Handle mouse and key events that must generate
ActionEvents.
* java/awt/List.java (getSelectedIndex): Return -1
if no list element is selected.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c (awt_event_handler):
Correct handling of mouse and key events so that List receives them.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c
(Java_gnu_java_awt_peer_gtk_GtkListPeer_delItems): Fix removal of
multiple list elements.
From-SVN: r74189
2003-12-02 Ito Kazumitsu <kaz@maczuka.gcd.org>
* java/text/SimpleDateFormat.java (compileFormat):
isLowerCase() and isUpperCase() allow too many characters.
Just use >= 'A' && <= 'Z' || >= 'a' && <= 'z'.
From-SVN: r74188
2003-12-02 Mark Wielaard <mark@klomp.org>
Reported by Archie Cobbs:
* java/security/DigestInputStream.java (read(byte[], int, int): Call
digest.update() with temp, not len as lenght.
From-SVN: r74186
* java/net/DatagramSocket.java
(close): Close associated DatagramChannel object.
* java/net/ServerSocket.java
* java/net/Socket.java
(close): Reset impl and bound before calling getChannel().close() to
prevent from loops.
From-SVN: r74183
2003-12-02 Michael Koch <konqueror@gmx.de>
* gnu/java/net/protocol/file/Connection.java:
Some reformating.
(file): Renamed from fileIn.
(getPermission): Moved around.
From-SVN: r74179
* gnu/java/net/protocol/jar/Connection.java
(Connection): Made class final, merged documentation with classpath.
(file_cache): Made private.
(jar_file): Renamed from jarfile.
From-SVN: r74178
2003-12-01 Kim Ho <kho@redhat.com>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c (create):
Disable wrapping if TextArea has horizontal scroll bars.
From-SVN: r74141
* java/awt/TextComponent.java:
(getSelectionStart): Updated javadocs.
(getSelectionEnd): Ditto.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer:
(getSelectionStart): Changed to return caret position if no
text is selected
(getSelectionEnd): Ditto.
From-SVN: r74124
2003-12-01 Michael Koch <konqueror@gmx.de>
* gnu/java/net/natPlainSocketImplPosix.cc
bind(): Dont set SockedImpl.address field on succesful bind.
* gnu/java/net/natPlainSocketImplWin32.cc
bind(): Likewise.
From-SVN: r74102
* java/net/InetAddress.java:
(static): Don'f force DNS request for ANY_IF address.
2003-11-30 Michael Koch <konqueror@gmx.de>
* java/net/InetAddress.java,
java/net/natInetAddressNoNet.cc,
java/net/natInetAddressPosix.cc,
java/net/natInetAddressWin32.cc:
Reverted my last patch.
From-SVN: r74074
2003-11-27 Dalibor Topic <robilad@kaffe.org>
* java/text/FieldPosition.java (equals): Adapted to handle
field_attribute. Added fast-circuit check for comparison to self.
Replaced use of instanceof by getClass to fix symmetry for derived
types.
(toString): Adapted to handle field_attribute. Improved readability.
(hashCode): New method.
2003-11-27 Guilhem Lavaux <guilhem@kaffe.org>
* java/text/FieldPosition.java (field_attribute): New field.
(FieldPosition (Format.Field), FieldPosition(Format.Field, int),
getFieldAttribute): New methods.
From-SVN: r73988
2003-11-27 Guilhem Lavaux <guilhem@kaffe.org>
* java/text/DecimalFormatSymbols.java (locale): New field.
(DecimalFormatSymbols (Locale)): Set locale.
(serialVersionOnStream): Upgraded to number 2.
(readObject): Assign locale if it wasn't by the serializer.
From-SVN: r73987
2003-11-27 Guilhem Lavaux <guilhem@kaffe.org>
* java/text/NumberFormat.java:
(getIntegerInstance) Added the java version in the comments.
2003-11-27 Mark Wielaard <mark@klomp.org>
* java/text/NumberFormat.java: Import java.io.InvalidObjectException.
(readResolve): Reformat.
2003-11-27 Guilhem Lavaux <guilhem@kaffe.org>
* java/text/NumberFormat.java
(NumberFormat.Field): New implemented class to match Java 1.4.
(getIntegerInstance): Two new Java 1.4 methods.o
From-SVN: r73985
2003-11-27 Ito Kazumitsu <kaz@maczuka.gcd.org>
* java/util/GregorianCalendar.java (getLinearTime): Avoid counting
the leap day of the leap year twice.
(computeFields): First week of month is 1 not 0.
From-SVN: r73984
2003-11-27 Mark Wielaard <mark@klomp.org>
* javax/swing/plaf/basic/BasicDefaults.java (BasicDefaults): Put
AbstractUndoableEdit.undoText and AbstractUndoableEdit.redoText.
From-SVN: r73983
2003-11-26 Guilhem Lavaux <guilhem@kaffe.org>
Mark Wielaard <mark@klomp.org>
* java/net/URLStreamHandler (parseUrl): Fixed URL parsing
('@' should be checked to distinguish port from userinfo).
(toExternalForm): Add @ userInfo if necessary.
Co-Authored-By: Mark Wielaard <mark@klomp.org>
From-SVN: r73953
* java/net/Socket.java
(implCreated): Dont set default value explicitely, added
documentation.
(inputShutdown): Likewise.
(outputShutdown): Likewise.
(bound): New private member variable.
(bind): Set bound to true.
(close): Set bound to false.
(isBound): Return bound.
* java/net/ServerSocket.java
(bound): New private member variable.
(bind): Set bound to true.
(close): Set bound to false.
(isBound): Return bound.
From-SVN: r73949
* gnu/java/net/natPlainDatagramSocketImplPosix.cc
(peekData): Use offset and maximal free space in datagram packet.
(receive): Likewise.
(send): Use offset in datagram packet.
From-SVN: r73843
* gnu/java/nio/DatagramChannelImpl.java
(getNativeFD): Use getPlainDatagramSocketImpl().
* gnu/java/nio/NIODatagramSocket.java
(getPlainDatagramSocketImpl): Renamed from getImpl().
* gnu/java/nio/NIOSocket.java
(getPlainSocketImpl): Renamed from getImpl().
(setChannel): Use getPlainSocketImpl().
* gnu/java/nio/SocketChannelImpl.java
(SocketChannelImpl): Use getPlainSocketImpl().
(getPlainSocketImpl): Renamed from getImpl().
(getNativeFD): Use getPlainSocketImpl().
From-SVN: r73840
2003-11-17 Graydon Hoare <graydon@redhat.com>
* gnu/java/awt/peer/gtk/GdkClasspathFontPeerMetrics.java: New file.
* gnu/java/awt/peer/gtk/GdkClasspathFontPeer.java
(GdkFontLineMetrics): New inner class.
(getLineMetrics): Return new GdkFontLineMetrics.
(getFontMetrics): Return new GdkClasspathFontPeerMetrics.
(layoutGlyphVector): Create GdkGlyphVector.
* gnu/java/awt/peer/gtk/GdkGraphics2D.java (stateStack): New member.
(GdkGraphics2D): Initialize state via mathod calls.
(cairoSetMatrix, cairoShowGlyphs): Simplify native calls.
(cairoTranslate, cairoScale, cairoRotate): Remove.
(various methods): use setTransform for special transform cases.
(DrawState): New inner class.
(stateSave): New method.
(stateRestore): New method.
(various methods): use stateSave, stateRestore.
(getClipInDevSpace): New method.
(clip, clipRect, setClip, getClip, getClipBounds):
Follow spec more closely.
(getTransform): Return clone of transform.
(setStroke): Set linewidth to passed width / 2.0.
(setPaintMode): Set SrcOver rather than Xor.
(setColor): Set paint to passed color.
(drawRaster, drawImage, PainterThread, drawPixels): Take affine
transform from image to user space.
(drawRenderedImage, drawRenderableImage): Implement.
(getFontRenderContext, getFontMetrics, drawString, getFont):
Implement
(drawArc, drawOval, drawRoundRect, fillArc, fillOval, fillRoundRect):
Implement.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:
Match changes to java side.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeer.c:
Release resources.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c:
Don't use pango for metrics.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeerMetrics.c:
New file.
From-SVN: r73776
* java/net/Socket.java
(implCreated): New variable that indicates created impl.
(getImpl): New method.
(toString): Return more SUN compliant string representation.
(various): Use getImpl() instead of impl.
From-SVN: r73732
2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
* lib/libjava.exp: Add DYLD_LIBRARY_PATH for darwin. Look for
the right libgcc. Add -multiply_defined suppress and -bind_at_load
flags.
From-SVN: r73725
PR libgcj/13026:
* verify.cc (state::copy): Only set local_changed if we're in a
subroutine. Correctly copy local variables which were modified
by the subroutine.
(push_jump_merge): Added more debugging output.
From-SVN: r73722
2003-11-14 Tom Fitzsimmons <fitzsim@redhat.com>
* java/awt/GridBagLayout.java (getLayoutDimensions): Return array of two
zero-length int arrays when layoutInfo is null.
(getLayoutWeights): Return array of two zero-length double arrays when
layoutInfo is null.
From-SVN: r73622
* jni.cc (_Jv_JNI_GetStringUTFChars): Pass length of string to
JvGetStringUTFRegion.
* java/lang/natPosixProcess.cc (new_string): Pass length of string
to JvGetStringUTFRegion.
* java/lang/natDouble.cc (parseDouble): Pass length of string to
JvGetStringUTFRegion.
* java/lang/natWin32Process.cc (startProcess): Pass length of
string to JvGetStringUTFRegion.
* java/lang/natClass.cc (forName): Pass length of string to
JvGetStringUTFRegion.
* gnu/gcj/runtime/natNameFinder.cc (getExternalLabel): Pass length
of string to JvGetStringUTFRegion.
* gnu/gcj/convert/natIconv.cc (init): Pass length of string to
JvGetStringUTFRegion.
* gnu/awt/gtk/natGtkLabelPeer.cc (setText): Pass length of string
to JvGetStringUTFRegion.
* gnu/awt/gtk/natGtkButtonPeer.cc (setLabel): Pass length of
string to JvGetStringUTFRegion.
From-SVN: r73571
2003-11-13 Tom Fitzsimmons <fitzsim@redhat.com>
* libjava.jni/jniutf.c: New file.
* libjava.jni/jniutf.java: New file.
* libjava.jni/jniutf.out: New file.
From-SVN: r73569
2003-11-11 Micheal Koch <konqueror@gmx.de>
* java/net/URLStreamHandler.java (toExternalForm): Print port only
if host is printed too and port was really given to URL.
From-SVN: r73445
* libjava.jar/simple.jar: New file.
* libjava.jar/simple.xfail: New file.
* libjava.jar/simple.out: New file.
* libjava.jar/simple.java: New file.
* libjava.jar/jar.exp: New file.
From-SVN: r73426
PR libgcj/12231
* java/lang/Win32Process.java (hasExited) Changed from
public to private.
(startProcess): Likewise.
(cleanup): Likewise.
* java/lang/natWin32Process.cc (cleanup) Don't close
input, output and error streams.
(ChildProcessPipe): New helper class.
(startProcess): Refactored to use ChildProcessPipe.
Use CREATE_NO_WINDOW when launching child process.
From-SVN: r73326
* include/win32.h (_Jv_platform_close_on_exec): Changed
signature and declared extern.
* win32.cc (_Jv_platform_close_on_exec): Implemented.
* gnu/java/net/natPlainDatagramSocketImplWin32.cc
(create): Use new signature of _Jv_platform_close_on_exec.
* gnu/java/net/natPlainSocketImplWin32.cc
(create): Eliminated a few typecasts
Use new signature of _Jv_platform_close_on_exec.
(accept): Eliminated a few typecasts
Use new signature of _Jv_platform_close_on_exec.
* java/io/natFileDescriptorWin32.cc (open): Use
_Jv_platform_close_on_exec.
From-SVN: r73325
* win32.cc: (dirExists) Internal helper function to
test for directory existence.
(getUserHome) New helper function refactored out
of _Jv_platform_initProperties. Uses USERPROFILE
instead of HOMEDIR and attempts to support Win9X and NT.
(_Jv_platform_initProperties) Use getUserHome.
From-SVN: r73117
2003-10-30 Thomas Fitzsimmons <fitzsim@redhat.com>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c (create): Turn on
word wrapping.
From-SVN: r73093
2003-10-29 Mark Wielaard <mark@klomp.org>
From Guilhem Lavaux <guilhem.lavaux@free.fr>
* java/text/DateFormat.java (Field): New public static inner class.
* java/text/Format.java (Field): Likewise.
(formatToCharacterIterator): New method.
* java/text/FormatCharacterIterator.java: New file.
2003-10-29 Mark Wielaard <mark@klomp.org>
From Guilhem Lavaux <guilhem.lavaux@free.fr>
* java/util/Currency.java: New file.
2003-10-29 Michael Koch <konqueror@gmx.de>
* Makefile.am (ordinary_java_source_files): Added
java/text/FormatCharacterIterator.java and java/util/Currency.java.
* Makefile.in: Regenerated.
From-SVN: r73046
2003-10-29 Julian Dolby <dolby@us.ibm.com>
* javax/naming/spi/NamingManager.java (getContinuationContext): Call
getObjectInstance() with Object, Name, Context and environment
Hashtable from exception. Call fillInStackTrace() on exception when
rethrown.
* javax/naming/InitialContext.java (lookup(Name)): When a
CannotProceedException is thrown use the ContinuationContext.
(lookup(String)): Likewise.
(close): Clear myProps and defaultInitCtx.
From-SVN: r73041
2003-10-26 Bryce McKinlay <bryce@mckinlay.net.nz>
* java/lang/reflect/Constructor.java (toString): Avoid extra
whitespace on constructor with no modifiers.
* java/lang/reflect/natConstructor.java (newInstance): Look up
caller and perform accessibility check only if constructor is
non-public and accessible flag is not set.
2003-10-26 Bryce McKinlay <bryce@mckinlay.net.nz>
* jni.cc (_Jv_JNI_CallAnyMethodV, _Jv_JNI_CallAnyMethodA,
_Jv_JNI_CallAnyVoidMethodV, _Jv_JNI_CallAnyVoidMethodA): Don't
use _Jv_LookupDeclaredMethod(). Call _Jv_CallAnyMethodA with
is_virtual_call argument.
* include/jvm.h (_Jv_isVirtualMethod): Moved and renamed from
natClass.cc.
* java/lang/natClass.cc (_Jv_LayoutVTableMethods): Use
_Jv_isVirtualMethod.
* java/lang/reflect/natMethod.cc (invoke): Don't use
_Jv_LookupDeclaredMethod.
(_Jv_CallAnyMethodA): New is_virtual_call argument. If specified,
look up method in target object's vtable.
From-SVN: r72942
PR libgcj/11780:
* java/lang/reflect/natMethod.cc (invoke): Look up caller and
perform accessibility check only if target is non-public and
accessible flag is not set.
* java/lang/reflect/natField.cc (getAddr): Likewise.
From-SVN: r72918
2003-10-24 Thomas Fitzsimmons <fitzsim@redhat.com>
* gnu/java/awt/peer/gtk/GtkDialogPeer.java (handleEvent):
Remove method.
* gnu/java/awt/peer/gtk/GtkWindowPeer.java (postWindowEvent):
New method.
* java/awt/Window.java (Window(Window,GraphicsConfiguration),
show, hide, dispose, getOwnedWindows): Synchronize on tree lock.
(dispose): Post WINDOW_CLOSED event.
(addWindowFocusListener, addWindowStateListener): Assign result
of multicaster add back to window listener.
(removeWindowFocusListener, removeWindowStateListener): Assign
result of multicaster remove back to window listener.
(dispatchEventImpl): Add null checks for focus and state
listeners.
(processWindowEvent): Handle case where windowListener is null
but state or focus listeners exist.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c: Add JNI
glue for postWindowEvent.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
(window_delete_cb, window_destroy_cb, window_show_cb,
window_focus_in_cb, window_focus_out_cb, window_window_state_cb,
window_get_new_state): New functions.
* jni/gtk-peer/gtkpeer.h: Define window event and frame state
macros. Declare postWindowEventID.
From-SVN: r72906
2003-10-22 Andrew Haley <aph@redhat.com>
* lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): New.
(java_get_callee_fndecl): New.
* jcf-parse.c (java_parse_file): Call emit_catch_table().
* java-tree.h (ctable_decl): New.
(catch_classes): New.
(java_tree_index): Add JTI_CTABLE_DECL, JTI_CATCH_CLASSES.
* decl.c (java_init_decl_processing): Add catch_class_type.
Add ctable_decl.
Add catch_classes field.
* class.c (build_indirect_class_ref): Break out from
build_class_ref.
(make_field_value): Check flag_indirect_dispatch.
(make_class_data): Ditto.
Tidy uses of PUSH_FIELD_VALUE.
Add field catch_classes.
(make_catch_class_record): New.
* java-tree.h (PUSH_FIELD_VALUE): Tidy.
2003-10-22 Andrew Haley <aph@redhat.com>
* java/lang/natClass.cc (initializeClass): Call
_Jv_linkExceptionClassTable.
(_Jv_LinkSymbolTable): Call )_Jv_ThrowNoSuchMethodError. Call
_Jv_Defer_Resolution on a method whose ncode is NULL.
(_Jv_linkExceptionClassTable): New function.
(_Jv_LayoutVTableMethods): If superclass looks like a constant pool
entry, look it up.
* java/lang/Class.h (struct _Jv_CatchClass): New.
(_Jv_linkExceptionClassTable): New friend.
(_Jv_Defer_Resolution): New friend.
(class Class.catch_classes): New field.
* include/java-interp.h (Jv_Defer_Resolution): New method.
(_Jv_PrepareClass): Make a friend of _Jv_MethodBase.
(_Jv_MethodBase.deferred): New field.
(_Jv_Defer_Resolution): New function.
* resolve.cc (_Jv_PrepareClass): Resolve deferred handlers.
* exception.cc (get_ttype_entry): Change return type to void**.
(PERSONALITY_FUNCTION): Remove all code related to using a
Utf8Const* for a match type. Change match type to be a pointer to
a pointer, rather than a pointer to a Class.
* defineclass.cc (handleCodeAttribute): Initialize
method->deferred.
(handleMethodsEnd): Likewise.
From-SVN: r72886
2003-10-22 David Daney <ddaney@avtrex.com)
* include/mips-signal.h: New file.
* sysdep/dwarf2-backtrace.cc: New file.
* sysdep/mips: New directory.
* sysdep/mips/locks.h: New file.
* Makefile.am(extra_cc_files): New, to allow extra c++ files to be
added to libgcj.
(extra_cc_source_files): Ditto.
* configure.host(disable_dladdr): New shell variable passed to
configure.
(mips*-*-linux*): sysdeps_dir=mips,
can_unwind_signal=yes, disable_dladdr=yes, use -mxgot.
(mipsel*-linux* | mipsisa32el*-linux*): Enable hash synchronization.
* configure.in:(mips*-*-linux*): Use sysdep/dwarf2-backtrace.cc to
generate backtrace, and include/mips-signal.h as SIGNAL_HANDLER
(HAVE_DLADDR): Make it depend on setting of disable_dladdr.
(EXTRA_CC_FILES): New, to support conditional addition of
sysdep/dwarf2-backtrace.cc.
* configure: Regenerated.
* Makefile.in: Regenerated.
* gcj/Makefile.in: Regenerated.
* include/config.h.in: Regenerated.
* include/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
From-SVN: r72808
2003-10-21 Sascha Brawer <brawer@dandelis.ch>
Fix for bug #2944, reported by David Holmes <dholmes@dltech.com.au>
* java/util/logging/ErrorManager.java (everUsed): Made volatile.
(error): Synchronize on instance, not class.
From-SVN: r72750
2003-10-21 Mark Wielaard <mark@klomp.org>
Reported by M.Negovanovic
* java/beans/Introspector.java (getBeanInfo(ClassLoader, String)): New
method.
(reallyFindExplicitBeanInfo): Use new getBeanInfo() method.
From-SVN: r72749
2003-10-21 Michael Koch <konqueror@gmx.de>
* java/nio/ByteOrder.java,
java/nio/DirectByteBufferImpl.java,
java/nio/channels/FileChannelImpl.java:
Add code to load library with code for native methods if needed.
From-SVN: r72747
2003-10-21 Michael Koch <konqueror@gmx.de>
* gnu/java/net/PlainDatagramSocketImpl.java,
gnu/java/net/PlainSocketImpl.java,
gnu/java/net/natPlainDatagramSocketImplPosix.cc,
gnu/java/net/natPlainDatagramSocketImplWin32.cc,
gnu/java/net/natPlainSocketImplPosix.cc,
gnu/java/net/natPlainSocketImplWin32.cc:
Renamed fnum to native_fd to match classpath more.
From-SVN: r72746
* java/text/RuleBasedCollator.java
(RuleBasedCollator): Check rules not empty, fixed search in already
existing collation elements.
(is_special): Removed common whitespace characters.
(text_argument): Dont return on whitespaces, add characters between
two ' to string buffer.
From-SVN: r72716
2003-10-18 Michael Koch <konqueror@gmx.de>
* gnu/java/net/protocol/file/Connection.java,
gnu/java/net/protocol/file/Handler.java,
gnu/java/net/protocol/http/Connection.java,
gnu/java/net/protocol/http/Handler.java,
gnu/java/net/protocol/jar/Connection.java,
gnu/java/net/protocol/jar/Handler.java:
Merged copyright text from classpath to make
it possible to merge the classes.
From-SVN: r72638
* prims.cc (_Jv_NewObjectArray): Make sure byte size doesn't
overflow a jint.
(_Jv_NewPrimArray): Check for overflowing a jint, replacing a
check for overflowing size_t, since the lower level functions
take a jint.
* testsuite/libjava.lang/newarray_overflow.java: New file.
* testsuite/libjava.lang/newarray_overflow.out: New file.
From-SVN: r72577
* java/util/zip/InflaterInputStream.java
(InflaterInputStream): Renamed infl to inf and bufsize to size,
added description to exception, check for inf == null and size < 0.
From-SVN: r72519
2003-10-14 Paolo Bonzini <bonzini@gnu.org>
* interpret.cc (_Jv_InterpMethod::run): Don't
use libffi types, they were meant to be internal.
* gcj/javaprims.h (_Jv_ulong): New typedef.
From-SVN: r72482
* java/nio/Buffer.java
(hasRemaining): Made implementation more clear.
* java/nio/MappedByteBuffer.java
(loaded): New member variable.
(force): Added comment.
(isLoaded): Return value of loaded.
(load): Set loaded to true, added comment.
From-SVN: r72418
* gnu/java/nio/PipeImpl.java
(SourceChannelImpl): New inner class.
(SinkChannelImpl): New inner class.
(sink): New member variable.
(source): New member variable.
(PipeImpl): Add SelectorProvider argument, implemented.
(nativeInit): New method.
(sink): Return sink channel.
(source): Return source channel.
* gnu/java/nio/SelectorProviderImpl.java
(openPipe): Give provider as argument to PipeImpl constructor.
* java/nio/channels/spi/SelectorProvider.java
(pr): Removed.
(systemDefaultProvider): New member variable.
(provider): Made it synchronized, use property
java.nio.channels.spi.SelectorProvider.
* gnu/java/nio/natPipeImpl.cc: New file.
* Makefile.am (nat_source_files): Added gnu/java/nio/natPipeImpl.cc.
* Makefile.in: Regenerated.
From-SVN: r72397
2003-10-09 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/SelectorImpl.java (register):
Use ServerSocketChannelSelectionKey for server socket channels,
removed unneeded comments.
* gnu/java/nio/ServerSocketChannelImpl.java
(ServerSocketChannelImpl): Made class public final.
(impl): New member variable.
(ServerSocketChannelImpl): Initialize member variables correctly.
(initServerSocket): New method.
(getNativeFD): Likewise.
* gnu/java/nio/ServerSocketChannelSelectionKey.java,
gnu/java/nio/natServerSocketChannelImpl.cc: New files.
* Makefile.am (ordinary_java_source_files):
Added gnu/java/nio/ServerSocketChannelSelectionKey.java.
(nat_source_files): Added gnu/java/nio/natServerSocketChannelImpl.cc.
* Makefile.in: Regenrated.
From-SVN: r72277
2003-10-09 Michael Koch <konqueror@gmx.de>
* java/rmi/server/RMIClassLoader.java:
Removed unused imports, little reformatings.
(getClassLoader): New method, implementation was part of old loadCLass
method.
(loadClass): Simplified by moving functionality to new method and
reworking the code a bit.
(getClassAnnotation): Merged documentation from classpath.
From-SVN: r72267
2003-10-08 Thomas Fitzsimmons <fitzsim@redhat.com>
* gnu/java/awt/peer/gtk/GtkButtonPeer.java (handleEvent): Remove
modality check.
* gnu/java/awt/peer/gtk/GtkDialogPeer.java (initializeInsets):
Initialize insets to use latest insets.
* gnu/java/awt/peer/gtk/GtkFramePeer.java: Likewise.
* gnu/java/awt/peer/gtk/GtkWindowPeer.java (latestInsets): New
field.
(postConfigureEvent): Update latestInsets field when insets
change. Remove call to setSize. Move validate call outside of
if blocks.
(setVisible): Call setBounds before showing window.
(nativeSetVisible): New native method.
* java/awt/Window.java (show): Show visible owned windows.
(hide): Hide visible owned windows.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
(awt_event_handler): Implement modality using GTK grabs.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
(global_gtk_window_group): New global variable.
(gtkInit): Initialize global_gtk_window_group.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (create):
Clamp width and height values to at least 1. Add this window to
the global GTK window group.
(setVisible): Rename to nativeSetVisible.
(setup_window): Remove function.
(setSize): Clamp width and height values to at least 1.
(nativeSetBounds): Likewise.
(gdk_window_get_root_geometry): Remove function.
* jni/gtk-peer/gtkpeer.h: Remove gdk_window_get_root_geometry
and setup_window declarations. Declare global_gtk_window_group.
From-SVN: r72252
* java/lang/StrictMath.java (toDegrees): Multiply before
dividing.
(toRadians): Likewise.
2003-10-08 C. Brian Jones <cbj@gnu.org>
* java/lang/Math.java
(toRadians): multiply before dividing to reduce decimal error
(toDegrees): ditto
From-SVN: r72238
* java/util/prefs/Preferences.java
(defaultFactoryClass): Fixed class name.
(getFactory): Create instance of class returned by Class.forName(),
reformated code.
From-SVN: r72229
* javax/swing/table/AbstractTableModel.java
(getColumnName): Simplified code much. Thanks to Yannick Boogaerts who
helped stop pulling my hair on this +1 then -1 tricky thing!
From-SVN: r72228
2003-10-02 Thomas Fitzsimmons <fitzsim@redhat.com>
* gnu/java/awt/peer/gtk/GtkComponentPeer.java (insets): New
field.
(initializeInsets): New method.
(GtkComponentPeer): Call initializeInsets. Call setCursor and
setBounds unconditionally.
(setBounds): Convert coordinates if parent is a Window.
* gnu/java/awt/peer/gtk/GtkContainerPeer.java (insets): Move
field to GtkComponentPeer.
(GtkContainerPeer): Don't initialize insets.
* gnu/java/awt/peer/gtk/GtkDialogPeer.java (initializeInsets):
New method.
(create): Call new GtkWindowPeer create method.
* gnu/java/awt/peer/gtk/GtkFramePeer.java (initializeInsets):
New method.
(create): Call new GtkWindowPeer create method.
(setBounds): Remove method.
(postConfigureEvent): Likewise.
* gnu/java/awt/peer/gtk/GtkWindowPeer.java: Replace GTK window
type constants with GDK window type constants.
(create(int,boolean,int,int,GtkWindowPeer)): New method.
(create(int,boolean)): Likewise.
(create()): Call create(int,boolean).
(nativeSetBounds): New native method declaration.
(setBounds): Call native method declaration.
(setSize): New native method declaration.
(setBoundsCallback): Likewise.
(postConfigureEvent): Handle change in insets. Call setSize and
setBoundsCallback methods.
* java/awt/Window.java (Window): Set visible to false.
(setBoundsCallback): New method.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
(gtkWidgetGetLocationOnScreen): If this component is not a
container, adjust the location returned based on the peer's
allocation.
(set(String,boolean)): Revert change from 2003-09-19.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
(awt_event_handler): Fix inset calculation.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c: Add JNI
glue for Window.setBoundsCallback.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (create):
Set up stacking order, window decorations and window manager
hints.
(setBoundsCallback): New method.
(setSize): New method.
(nativeSetBounds): New method.
* jni/gtk-peer/gtkpeer.h: Declare setBoundsCallbackID.
From-SVN: r72043
* java/net/InetAddress.java
(zeros): Removed.
(ANY_IF): Initalizie in static block.
(static): Load library with native methods here and initialize ANY_IF.
(isAnyLocalAddress): Check if equal to ANY_IF.
(equals): Use addr directly instead of addr1. Simplify for loop.
(toString): Rename "result" to "host" and add IP address allways.
(getLocalHost): Merged documentation from classpath.
* java/net/ServerSocket.java
(ServerSocket): New package-private constructor used by java.nio.
* java/net/URLConnection.java
(getRequestProperties): Check if already connected.
From-SVN: r72032
* java/net/URL.java
(DEFAULT_SEARCH_PATH): New static variable.
(ph_cache): Made it a HashMap.
(getURLStreamHandler): Rename propVal to ph_search_path and use
DEFAULT_SEARCH_PATH.
From-SVN: r72023
* javax/swing/table/AbstractTableModel.java
(findColumnName): Prevent from NullPointerException if argument
columnName is null.
2003-10-02 Michael Koch <konqueror@gmx.de>
* javax/swing/table/AbstractTableModel.java:
This patch is based on a patch done by Arnaud Vandyck
<arnaud.vandyck@ulg.ac.be>.
(getColumnName): Fixed method documentation.
(findColumn): Likewise.
(getColumnClass): Likewise.
(isCellEditable): Likewise.
(setValueAt): Likewise.
(addTableModelListener): Likewise.
(removeTableModelListener): Likewise.
(getTableModelListeners): New method.
2003-10-02 Michael Koch <konqueror@gmx.de>
* javax/swing/table/AbstractTableModel.java:
Reformated.
From-SVN: r72019
2003-10-01 Andrew Haley <aph@redhat.com>
* jcf-parse.c (java_parse_file): Write otable and atable.
* java-tree.h (atable_methods): New.
(atable_decl): New.
(atable_syms_decl): New.
(enum java_tree_index): Add JTI_ATABLE_METHODS, JTI_ATABLE_DECL,
JTI_ATABLE_SYMS_DECL. Rename JTI_METHOD_SYMBOL* to JTI_SYMBOL*.
(symbol_*type): Rename method_symbol* to symbol*type.
(emit_offset_symbol_table): Delete.
(emit_symbol_table): New.
(get_symbol_table_index): New.
(atable_type): New.
* expr.c (build_field_ref): Handle flag_indirect_dispatch.
(build_known_method_ref): Likewise.
(get_symbol_table_index): Rename from get_offset_table_index.
Parameterize to allow re-use by differing types of symbol table.
(build_invokevirtual): Pass table to get_offset_table_index.
* decl.c (java_init_decl_processing): Push types and decls for
atable and atable_syyms.
* class.c (build_static_field_ref): Handle flag_indirect_dispatch.
(make_class_data): Add new fields atable and atable_syms.
(emit_symbol_table): Rename from emit_offset_symbol_table.
Parameterize to allow re-use by different types of symbol table.
(build_symbol_entry): Renamed from build_method_symbols_entry.
2003-10-01 Andrew Haley <aph@redhat.com>
* java/lang/natClass.cc (initializeClass): Check for otable and
atable.
(_Jv_LinkOffsetTable): Check for existence of atable. Rewrite
loops using for(). Search superinterfaces. Check for fields as
well as methods. Initialize atable as well as otable: check for
static methods as well as virtual methods.
* java/lang/Class.h (struct _Jv_AddressTable): New.
(atable): New.
(atable_syms): New.
* include/jvm.h (_Jv_equalUtf8Consts): constify.
* prims.cc (_Jv_equalUtf8Consts): constify.
From-SVN: r71979
* java/net/InetAddress.java:
(isMulticastAddress): Dont use local variable to store address length.
Let the compiler optimize this.
(getHostName): Merged dcoumentation from classpath.
(getAddress): Likewise.
(getHostAddress): Likewise.
(hashCode): Likewise.
(equals): Likewise.
(toString): Likewise.
(getByName): Likewise.
(getAllByName): Likewise.
From-SVN: r71899
* boehm.cc (_Jv_BuildGCDescr): Put first word of object in most
significant bit of descriptor. Include the vtable and sync_info
fields.
From-SVN: r71895
* java/text/DateFormat.java (format): Throw IllegalArgumentException
if j' is not a Number or Date instance.
* java/text/SimpleDateFormat.java (tokens): Make it an ArrayList
instead of Vector.
From-SVN: r71871
2003-09-27 Michael Koch <konqueror@gmx.de>
* java/net/URL.java (getURLStreamHandler):
Check if we have to use cache before trying to retrieve handler from
cache. Rename facName to clsName to match classpath more. Reformated
some little pieces.
From-SVN: r71852
2003-09-27 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/SelectionKeyImpl.java
(ch): Make package-private again. Jikes found this bug.
Jeff Sturm submitted PR12426 for this to bugzilla
to fix this bug in gcj.
From-SVN: r71841
2003-09-26 Sascha Brawer <brawer@dandelis.ch>
* java/awt/image/SinglePixelPackedSampleModel.java (createDataBuffer):
Save space for some pixels at the buffer end. Added Javadoc.
2003-09-26 Tom Tromey <tromey@redhat.com>
* java/io/ObjectOutputStream.java (writeFields): Fixed
indentation.
(putFields): Likewise.
From-SVN: r71829
* gnu/java/net/PlainDatagramSocketImpl.java
(finalize): Moved to directly after constructor.
(getNativeFD): New method.
* gnu/java/net/PlainSocketImpl.java
(getNativeFD): New method.
From-SVN: r71792
* gnu/java/nio/SelectorImpl.java
(implSelect): Renamed from java_do_select.
(select): Call native implSelect() and add support for Thread
interruption.
* gnu/java/nio/natSelectorImpl.cc
(implSelect): Renamed from java_do_select.
From-SVN: r71781
* gnu/java/nio/DatagramChannelImpl.java
(DatagramChannelImpl): Made class final.
(blocking): Made private.
(socket): Made it a NIODatagramSocket and private.
(DatagramChannelImpl): create NIODatagramSocket instead of
DatagramSocket.
(implConfigureBlocking): Set socket timeout.
(connect): Check that channel is not closed.
(write): Implemented.
(write): Rewritten.
(read): Implemented.
(read): Rewritten.
(receive): Implemented.
(send): Implemented.
* gnu/java/nio/SelectionKeyImpl.java
(readyOps): Made private.
(interestOps): Made private.
(impl): Made private.
(ch): Made private.
(readyOps): Check if selection key is valid.
(interestOps): Likewise.
* gnu/java/nio/SelectorImpl.java
(closed): Removed.
(keys): Made private.
(selected): Made private.
(finalize): New method.
(implCloseSelector): Rewritten.
(keys): Return unmodifiable Set.
(deregisterCancelledKeys): Fixed typo in method name.
* gnu/java/nio/SocketChannelImpl.java
(SocketChannelImpl): Made class final.
(socket): Made it a NIOSocket and private.
(blocking): Made private.
(connected): Made private.
(connectionPending): New member variable.
(SocketChannelImpl): New implementation.
(finalizer): Use isConnected().
(connect): Rewritten.
(finishConnect): Throws IOException, implemented.
(isConnectionPending): Return connectionPending.
(read): Rewritten.
(write): Rewritten.
* gnu/java/nio/NIOConstants.java: New file.
* Makefile.am (ordinary_java_source_files):
Added gnu/java/nio/NIOConstants.java.
* Makefile.in: Regenerated.
From-SVN: r71769
2003-09-25 Michael Koch <konqueror@gmx.de>
* java/net/InetAddress.java:
Reorder imports, remove implementation comment.
(isMulticastAddress): Merged documentation from classpath.
* java/net/URLConnection.java
(setRequestProperty): Check key for null, fix documentation.
(adREquestProperty): Check key for null, remove wrong implementation
and replace it with comment to overwrite this method in subclasses,
fix documentation.
From-SVN: r71767
* java/lang/reflect/Proxy.java (generate): Uncomment protection
domain code.
* java/lang/natClassLoader.cc (defineClass): Added `loader'
argument.
(linkClass0): Now in VMClassLoader.
(markClassErrorState0): Likewise.
(getSystemClassLoaderInternal): New method.
* java/lang/natClass.cc (initializeClass): Use
VMClassLoader::resolveClass.
* java/lang/ClassLoader.java: New version, from Classpath.
* java/lang/Class.java (getProtectionDomain):
protectionDomainPermission and unknownProtectionDomain now in
VMClassLoader.
* java/lang/Class.h: VMClassLoader now a friend class.
* gnu/gcj/runtime/VMClassLoader.java (instance): Now
package-private.
* gcj/javaprims.h: Regenerated class list.
* resolve.cc (_Jv_PrepareClass): Use VMClassLoader::resolveClass.
* java/lang/VMClassLoader.java: New version from Classpath;
modified for libgcj use.
From-SVN: r71765
2003-09-22 Michael Koch <konqueror@gmx.de>
* jni.cc (_Jv_LookupJNIMethod): Remove workaround that should hide a
compiler warning but produces a different one now.
From-SVN: r71650
2003-09-22 Michael Koch <konqueror@gmx.de>
* java/net/InetAddress.java:
Moves around some code, reformats and adds documentation.
No functional changes.
From-SVN: r71649
2003-08-11 Ingo Proetel <proetel@aicas.com>
* gnu/java/rmi/server/UnicastRef.java: make constructor public and check if serverobject
is compatible in case client and server are running in the same VM
(remerged from Classpath on 2003-09-20)
From-SVN: r71611
* win32-threads.cc: (ensure_interrupt_event_initialized) New
function for lazy initialization of an auto-reset event.
(_Jv_CondWait) Added thread interrupt support.
(_Jv_ThreadInitData) Added initialization of interrupt support
members.
(_Jv_ThreadDestroyData) Added cleanup of interrupt support members.
(_Jv_ThreadStart) Removed unused code.
(_Jv_Win32GetInterruptEvent) New method for returning interrupt event
to an external caller.
(_Jv_ThreadInterrupt) Implemented.
* include/win32-threads.h: (_Jv_Thread_t) Added a Win32 auto-reset
event for interrupt support as well as a mutex which regulates
access to this.
(_Jv_Win32GetInterruptEvent) Declared new method for returning interrupt
event to an external caller.
* java/lang/natWin32Process.cc: (cleanup) Close handle to spawned
process.
(waitFor) Added interrupt support.
From-SVN: r71562
2003-09-19 Michael Koch <konqueror@gmx.de>
* java/net/DatagramSocket.java (getLocalAddress):
Renamed result variable to localAddr.
* java/net/MulticastSocket.java:
No need to import gnu.java.net.PlainDatagramSocketImpl.
From-SVN: r71561
2003-09-18 Mark Wielaard <mark@klomp.org>
Reported by Guilhem Lavaux and Julian Dolby
* java/io/ObjectStreamClass.java (getSerialPersistentFields): Get the
field "serialPersistentFields", not "getSerialPersistentFields".
From-SVN: r71515
2003-09-18 Ingo Proetel <proetel@aicas.com>
* java/util/TimeZone.java: Initialize lazily.
* java/util/Locale.java (readManifest): Fix check for country.
* java/util/GregorianCalendar.java: Make use of ResourceBundle better
traceable
* java/util/Calendar.java: Make use of ResourceBundle better
traceable.
From-SVN: r71509