Commit Graph

2335 Commits

Author SHA1 Message Date
Tom Tromey 6e7b20ac6e File.java: Implement Comparable<File>.
* java/io/File.java: Implement Comparable<File>.
	(compareTo): Removed.
	* java/io/File.h: Rebuilt.
	* classpath/lib/java/io/File.class: Rebuilt.

From-SVN: r126670
2007-07-16 05:00:28 +00:00
Andrew Haley 976731ee6e [multiple changes]
2007-07-13  Andrew Haley  <aph@redhat.com>

	* libgcj.ver: Add __gcj_personality_sj0.

	* testsuite/libjava.jvmti/jvmti-interp.exp: Likewise.
	* testsuite/libjava.jni/jni.exp: Use -fdollars-in-identifiers.
	* testsuite/libjava.jni/cni.exp: Use -fdollars-in-identifiers.
	* testsuite/libjava.jvmti/jvmti.exp (gcj_jvmti_compile_cxx_to_o): Likewise.

	* gnu/classpath/natVMStackWalker.cc (getCallingClassLoader): Check
	klass is non-null.
	* java/lang/reflect/natField.cc (getAddr): Call
	_Jv_StackTrace::GetCallingClass only if CALLER is non-null.
	* java/lang/reflect/natVMProxy.cc (run_proxy): Use
	_Jv_getFieldInternal to get field proxyClass.m.
	(_Jv_getFieldInternal): New function.

2007-07-11  Andrew Haley  <aph@redhat.com>

	* configure.host (arm*-linux-gnu): New.
	* sysdep/arm/locks.h: New.

From-SVN: r126622
2007-07-13 14:07:16 +00:00
Roger Sayle 2b2271f8f0 natPosixProcess.cc: Include <sys/time.h> before <sys/resource.h> to restore bootstrap on...
* java/lang/natPosixProcess.cc: Include <sys/time.h> before
	<sys/resource.h> to restore bootstrap on powerpc-apple-darwin7.9.0.

From-SVN: r126621
2007-07-13 13:53:43 +00:00
Andreas Tobler f6cdc43257 natPosixProcess.cc: Reorder includes to fix compilation on hppa2.0w-hp-hpux11.11.
2007-07-05  Andreas Tobler  <a.tobler@schweiz.org>

	* java/lang/natPosixProcess.cc: Reorder includes to fix compilation
	on hppa2.0w-hp-hpux11.11.
	Remove include of <gcj/cni.h>.

From-SVN: r126388
2007-07-05 22:44:25 +02:00
Andreas Tobler bd28f224b1 Class.h: Remove redundant 'class java::*::* declarations.
2007-07-03  Andreas Tobler  <a.tobler@schweiz.org>

	* java/lang/Class.h: Remove redundant 'class java::*::* declarations.

From-SVN: r126274
2007-07-03 22:41:00 +02:00
Matthias Klose e1bea0c068 libjava/classpath/ChangeLog.gcj:
2007-05-31  Matthias Klose  <doko@ubuntu.com>

        * javax/management/NotificationBroadcasterSupport.java
        (getNotificationInfo): Add cast.
        * native/jni/qt-peer/Makefile.am (AM_CXXFLAGS): Add libstdc++ include
        directories.
        * native/jni/qt-peer/Makefile.in: Regenerate.

libjava/ChangeLog:

2007-06-03  Matthias Klose  <doko@ubuntu.com>

        * java/io/natFileWin32.cc (setFilePermissions): New (stub only).
        _access: Handle EXEC query, stub only.

2007-06-03  Matthias Klose  <doko@ubuntu.com>

        Merged from classpath:
        * gnu/java/nio/SelectorProviderImpl.java: Whitespace merge.
        * java/lang/System.java(inheritedChannel): New.
        * java/lang/Character.java: Remove stray`;'.
        * java/net/MulticastSocket.java: Merged.
        * java/text/DateFormatSymbols.java(getInstance): New, comment updates.
        * java/text/Collator.java(getInstance): Merged.
        * java/util/Calendar.java: New attributes ALL_STYLES, SHORT, LONG.
        getDisplayName, getDisplayNames: New.
        * java/util/logging/Logger.java: Merged.
        * Regenerate .class and .h files.

2007-06-03  Matthias Klose  <doko@ubuntu.com>

        * java/io/File.java: Merge with classpath-0.95, new method
        setFilePermissions, new attribute EXEC.
        * java/io/natFilePosix.cc (setFilePermissions): New.
        _access: Handle EXEC query.
        * classpath/lib/java/io/File.class, java/io/File.h: Regenerate.

2007-06-03  Matthias Klose  <doko@ubuntu.com>

        Imported GNU Classpath 0.95.

        * classpath/Makefile.in,
        classpath/native/jni/midi-dssi/Makefile.in,
        classpath/native/jni/classpath/Makefile.in,
        classpath/native/jni/Makefile.in,
        classpath/native/jni/gconf-peer/Makefile.in,
        classpath/native/jni/java-io/Makefile.in,
        classpath/native/jni/native-lib/Makefile.in,
        classpath/native/jni/java-util/Makefile.in,
        classpath/native/jni/midi-alsa/Makefile.in,
        classpath/native/jni/java-lang/Makefile.in,
        classpath/native/jni/java-nio/Makefile.in,
        classpath/native/jni/java-net/Makefile.in,
        classpath/native/jni/xmlj/Makefile.in,
        classpath/native/jni/qt-peer/Makefile.in,
        classpath/native/jni/gtk-peer/Makefile.in,
        classpath/native/Makefile.in, classpath/native/jawt/Makefile.in,
        classpath/native/fdlibm/Makefile.in,
        classpath/native/plugin/Makefile.in,
        classpath/resource/Makefile.in, classpath/scripts/Makefile.in,
        classpath/tools/Makefile.in, classpath/doc/Makefile.in,
        classpath/doc/api/Makefile.in, classpath/lib/Makefile.in,
        classpath/external/Makefile.in, classpath/external/jsr166/Makefile.in,
        classpath/external/sax/Makefile.in,
        classpath/external/w3c_dom/Makefile.in,
        classpath/external/relaxngDatatype/Makefile.in,
        classpath/include/Makefile.in,
        classpath/examples/Makefile.in: Regenerate.
        * classpath/config.guess, classpath/config.sub,
        classpath/ltmain.sh : Update.
        * classpath/configure, classpath/depcomp, classpath/missing,
        classpath/aclocal.m4, classpath/install-sh: Regenerate.

        * gnu/classpath/Configuration.java (CLASSPATH_VERSION): Now 0.95.
        * sources.am: Regenerate.
        * Makefile.in: Regenerate.

        * Update the .class files and generated CNI header files, add new
        .class and generated CNI header files.
        * Remove generated files for removed java source files:
        classpath/gnu/java/net/BASE64.java,
        classpath/gnu/java/security/util/Base64.java,
        classpath/gnu/java/awt/peer/gtk/GThreadMutex.java,
        classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java,
        classpath/gnu/java/awt/font/autofit/Scaler.java,
        classpath/gnu/classpath/jdwp/util/Value.java,
        classpath/gnu/javax/net/ssl/Base64.java.
        * Remove empty directories.

        * Makefile.am(nat_source_files): Add natVMOperatingSystemMXBeanImpl.cc.
        * java/lang/Class.java(setAccessible): Merge from classpath.
        * java/util/Locale.java: Remove.
        * gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java,
        gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc: New.
        * gcj/javaprims.h: Update class declarations.
        * scripts/classes.pl: Update usage.
        * HACKING: Mention to build all peers.

From-SVN: r125302
2007-06-03 23:18:43 +00:00
Andrew Haley 3e69b919de natClassLoader.cc (_Jv_NewClassFromInitializer): Clear INTERPRETED access modifier.
2007-05-31  Andrew Haley  <aph@redhat.com>

        * java/lang/natClassLoader.cc (_Jv_NewClassFromInitializer): Clear
        INTERPRETED access modifier.

From-SVN: r125218
2007-05-31 09:30:39 +00:00
David Daney 8c0dbf3490 re PR libgcj/29324 (add wait handling hook)
PR libgcj/29324
	* include/posix-threads.h (_Jv_BlockSigchld): Declare.
	(_Jv_UnBlockSigchld): Same.
	* posix-threads.cc: Include posix-threads.h.
	(block_sigchld) Rename to...
	(_Jv_BlockSigchld) ... this.
	(_Jv_UnBlockSigchld): New function.
	(_Jv_InitThreads): Call _Jv_BlockSigchld in place of block_sigchld.
	(_Jv_ThreadStart): Same.
	* java/lang/PosixProcess$ProcessManager.h: Regenerate.
	* java/lang/PosixProcess.java: Clean up imports.
	(ProcessManager): Make final.
	(ProcessManager.queue): Genericise and make private.
	(ProcessManager.pidToProcess): Remove.
	(ProcessManager.liveProcesses): New field.
	(ProcessManager.reaperPID): Remove.
	(ProcessManager.nativeData): New field.
	(ProcessManager.removeProcessFromMap): Remove.
	(ProcessManager.addProcessToMap):Remove.
	(ProcessManager.addToLiveProcesses): New method.
	(ProcessManager.run): Rewritten.
	(ProcessManager.reap): Change method signature,
	(getErrorStream): Correct formatting.
	(getInputStream): Same.
	(spawn): Add process to liveProcesses list.
	(pid): Make package private.
	* java/lang/PosixProcess.h: Regenerate.
	* java/lang/natPosixProcess.cc: Include posix.h and posix-threads.h.
	Add useing namespace java::lang.
	(ProcessManagerInternal): New struct.
	(sigchld_handler): Rewritten.
	(init): Rewritten.
	(waitForSignal): Same.
	(reap): Same.
	(signalReaper): Same.
	(nativeDestroy): Call kill as ::kill.
	(nativeSpawn): Correct formatting.
	* classpath/lib/java/lang/PosixProcess$EOFInputStream.class: Regenerate.
	* classpath/lib/java/lang/PosixProcess.class: Same.
	* classpath/lib/java/lang/PosixProcess$ProcessManager.class: Same.

From-SVN: r124638
2007-05-12 17:37:55 +00:00
Ian Lance Taylor decc7c8a1c re PR java/31842 (r124338 causes java Divide_1 and pr6388 to fail)
PR java/31842
	* java/lang/natString.cc (_Jv_FormatInt): Avoid undefined signed
	overflow.

From-SVN: r124530
2007-05-08 00:29:43 +00:00
Tom Tromey a74e2c64a1 natCharacter.cc (Character::getType): Handle negative code points.
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=238755
	* java/lang/natCharacter.cc (Character::getType): Handle negative
	code points.
	(Character::toLowerCase): Likewise.
	(Character::toUpperCase): Likewise.
	(Character::digit): Likewise.
	(Character::getNumericValue): Likewise.
	(Character::getDirectionality): Likewise.
	(Character::toTitleCase): Likewise.

From-SVN: r124370
2007-05-02 23:27:03 +00:00
Andrew Haley 5c12b59bd8 ObjectStreamClass.java (ensureFieldsSet): New method.
2007-04-25  Andrew Haley  <aph@redhat.com>

	* java/io/ObjectStreamClass.java (ensureFieldsSet): New method.
	(setFields): call ensureFieldsSet.
	(fieldsSet): New field.
	* java/io/ObjectOutputStream.java (writeFields): Call
	osc.ensureFieldsSet().

	* java/io/ObjectInputStream.java (parseContent): Assign the handle
	for a PROXYCLASSDESC immediately after reading the marker.

From-SVN: r124187
2007-04-26 14:31:29 +00:00
John David Anglin df80379db8 re PR libgcj/31084 (TRUE or FALSE defined)
PR libgcj/31084
	* java/lang/natVMProcess.cc: Include platform.h before jvm.h.

From-SVN: r124138
2007-04-25 01:24:47 +00:00
Tom Tromey 06a4a50762 libjava
* Regenerated headers with new gjavah.
libjava/classpath
	* tools/gnu/classpath/tools/javah/MethodHelper.java (print):
	Changed arguments.  Directly print method name.
	* tools/gnu/classpath/tools/javah/ClassWrapper.java
	(methodNameMap): New field.
	(makeVtable): Initialize it.
	(printMethods): Compute name for bridge targets.

From-SVN: r123965
2007-04-19 00:24:09 +00:00
Andrew Haley f9d6deca5b natVMProxy.cc (ncode_closure): Add method_index.
2007-04-18  Andrew Haley  <aph@redhat.com>

        * java/lang/reflect/natVMProxy.cc (ncode_closure): Add
        method_index.
        (generateProxyClass): Add field $Proxy0.m.  Store methods array in
        it.
        (run_proxy): Retrieve the method to invoke from in $Proxy0.m.
        * java/lang/Class.h: Remove _Jv_LookupProxyMethod.
        * java/lang/natClass.cc: Likewise.
        * headers.txt: Likewise.
        * java/lang/reflect/Method.h: Likewise.

From-SVN: r123954
2007-04-18 17:13:20 +00:00
Andrew Haley 0df38d45e1 natVMProxy.cc (ncode_closure): Add method_index.
2007-04-18  Andrew Haley  <aph@redhat.com>

        * java/lang/reflect/natVMProxy.cc (ncode_closure): Add
        method_index.
        (generateProxyClass): Add field $Proxy0.m.  Store methods array in
        it.
        (run_proxy): Retrieve the method to invoke from in $Proxy0.m.
        * java/lang/Class.h: Remove _Jv_LookupProxyMethod.
        * java/lang/natClass.cc: Likewise.
        * headers.txt: Likewise.

From-SVN: r123953
2007-04-18 17:10:32 +00:00
Tom Tromey 3088dc29d1 Committed up-to-date .class and .h files from an earlier commit
From-SVN: r123890
2007-04-16 20:15:00 +00:00
Andrew Haley 0e055c1cd2 BootClassLoader.java (getBootURLLoader): New method.
2007-04-16  Andrew Haley  <aph@redhat.com>

        * gnu/gcj/runtime/BootClassLoader.java (getBootURLLoader): New
        method.
        (bootGetResource): Use getBootURLLoader() to load resources.
        (bootGetResources): Likewise.

        * java/lang/reflect/natMethod.cc (Method::invoke): In invoke also
        check that the method's declaring class is accessible.

From-SVN: r123862
2007-04-16 13:44:59 +00:00
David Daney 290b7f64b5 re PR libgcj/23758 (java::lang::ConcreteProcess::nativeSpawn unsafe)
PR libgcj/23758
	* java/lang/natPosixProcess.cc (nativeSpawn): Move building of
	environment before the fork.
	* testsuite/libjava.lang/Process_7.java: New test.
	* testsuite/libjava.lang/Process_7.out: Its expected results.
	* testsuite/libjava.lang/Process_7.jar: Generated file.

From-SVN: r123676
2007-04-09 17:40:20 +00:00
Tania Bento 618bf37b05 DecimalFormatSymbols.java: Added the year 2007 to Copyright information and introduced new variable, currency.
2007-04-04  Tania Bento  <tbento@redhat.com>

	* java/text/DecimalFormatSymbols.java: Added the year 2007 to
	Copyright information and introduced new variable, currency.
	(DecimalFormatSymbols(Locale)): Define currency and intlCurrencySymbol
	to "XXX", currencySymbol to "?" and localCurrency appropriately.
	(getCurrency): Fixed documentation and return the value of currency.
	(setCurrency): Fixed documentation and update the value of currency.
	(setInternationalCurrencySymbol): Fixed documentation and update the
	value of currency.
	* java/util/Currency.java: Introduced two new variables, properties
	and fractionDigits. In the static block, a properties object is
	created and the currency resource is loaded.
	(Currency(Locale)): fractionDigits is defined.
	(Currency(String)): New method.
	(getDefaultFractionDigits): Return the value of fractionDigits.
	(getInstance(String)): Check if String is equal to "XXX".

From-SVN: r123512
2007-04-05 00:15:16 +00:00
Andrew Haley a0036853d2 natVMProxy.cc (run_proxy): Use _Jv_LookupProxyMethod to find the Method.
2007-04-02  Andrew Haley  <aph@redhat.com>

        * java/lang/reflect/natVMProxy.cc (run_proxy): Use
        _Jv_LookupProxyMethod to find the Method.
        If parameter_types->length == 0, pass a null paramameter list,
        not a zero-length parameter list.
        * java/lang/natClass.cc (_Jv_LookupProxyMethod): New function.
        * java/lang/Class.h (_Jv_LookupProxyMethod): Declare.

From-SVN: r123431
2007-04-02 16:36:52 +00:00
Tom Tromey cc5e1fab40 re PR libgcj/29869 (LogManager class loading failure with Tomcat)
libjava
	PR libgcj/29869:
	* java/util/logging/LogManager.java (readConfiguration): Handle
	comma-separated 'handlers'.  Don't try to add a non-existing
	handler.
libgcj/classpath
	PR libgcj/29869:
	* gnu/java/util/jar/JarUtils.java (log): Commented out.
	(readSFManifest): Don't log.

From-SVN: r123356
2007-03-30 04:09:35 +00:00
David Daney 46ecc2bc5c re PR libgcj/31228 (Race condition between setting close-on-exec and Runtime.exec())
PR libgcj/31228
	* configure.ac: Add checks for getrlimit and sys/resource.h.
	* include/posix.h (_Jv_platform_close_on_exec): Remove.
	* include/config.h.in: Regenerate.
	* configure: Regenerate.
	* gnu/java/nio/channels/natFileChannelPosix.cc (open): Remove call to
	_Jv_platform_close_on_exec;
	* gnu/java/net/natPlainSocketImplPosix.cc (create): Likewise.
	(accept): Likewise.
	* gnu/java/net/natPlainDatagramSocketImplPosix.cc (create):Likewise.
	* java/lang/natPosixProcess.cc: Include sys/resource.h.
	(nativeSpawn): Close all file descriptors.  Don't set FD_CLOEXEC on
	pipes.

From-SVN: r123138
2007-03-23 00:06:41 +00:00
Keith Seitz bde6c7a990 java-interp.h (_Jv_InterpClass): Declare friend function _Jv_GetInterpClassSourceFile.
* include/java-interp.h (_Jv_InterpClass): Declare
        friend function _Jv_GetInterpClassSourceFile.
        * java/lang/Class.h (Class): Likewise.
        * java/lang/natClass.cc (_Jv_GetInterpClassSourceFile):
        New function.
        * gnu/classpath/jdwp/natVMVirtualMachine.cc
        (getSourceFile): Implement.

From-SVN: r122882
2007-03-13 19:27:13 +00:00
Marco Trudel ff4b07ef6e natString.cc (getBytes (jstring enc)): Fixed the loop for multiple cycles, Code cleanup
2007-03-12  Marco Trudel  <mtrudel@gmx.ch>

	* java/lang/natString.cc (getBytes (jstring enc)):
	Fixed the loop for multiple cycles, Code cleanup

From-SVN: r122859
2007-03-12 19:48:32 +00:00
Mohan Embar 1611915067 Win32Process.java: Added nested class EOFInputStream.
* java/lang/Win32Process.java: Added nested class EOFInputStream.
	* java/lang/natWin32Process.cc (ChildProcessPipe): Added DUMMY
	enum and implementation.
	(startProcess): Use redirect flag.
	* classpath/lib/java/lang/Win32Process.class: Regenerated.
	* classpath/lib/java/lang/Win32Process$EOFInputStream.class: New.
	* gcj/javaprims.h: Regenerated.
	* java/lang/Win32Process$EOFInputStream.h: New.

From-SVN: r122668
2007-03-07 18:05:39 +00:00
Alexandre Oliva 18fa3240db ffi.h.in (ffi_closure_alloc, [...]): New.
libffi/ChangeLog:
* include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
(ffi_prep_closure_loc): New.
(ffi_prep_raw_closure_loc): New.
(ffi_prep_java_raw_closure_loc): New.
* src/closures.c: New file.
* src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
Replace sflags with exec_offset.
[FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
sub_segment_exec_offset): New macros.
(get_segment_flags, set_segment_flags, check_segment_merge): New
macros.
(is_mmapped_segment, is_extern_segment): Use get_segment_flags.
(add_segment, sys_alloc, create_mspace, create_mspace_with_base,
destroy_mspace): Use new macros.
(sys_alloc): Silence warning.
* Makefile.am (libffi_la_SOURCES): Add src/closures.c.
* Makefile.in: Rebuilt.
* src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
terms of ffi_prep_closure_loc.
* src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
from...
(ffi_prep_raw_closure): ... this.  Re-implement in terms of the
renamed version.
* src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
adjusted from...
(ffi_prep_java_raw_closure): ... this.  Re-implement in terms of
the renamed version.
* src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
(ffi_prep_closure): ... this.
* src/pa/ffi.c: Likewise.
* src/cris/ffi.c: Likewise.  Adjust.
* src/frv/ffi.c: Likewise.
* src/ia64/ffi.c: Likewise.
* src/mips/ffi.c: Likewise.
* src/powerpc/ffi_darwin.c: Likewise.
* src/s390/ffi.c: Likewise.
* src/sh/ffi.c: Likewise.
* src/sh64/ffi.c: Likewise.
* src/sparc/ffi.c: Likewise.
* src/x86/ffi64.c: Likewise.
* src/x86/ffi.c: Likewise.
(FFI_INIT_TRAMPOLINE): Adjust.
(ffi_prep_raw_closure_loc): Renamed and adjusted from...
(ffi_prep_raw_closure): ... this.
* src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
(ffi_prep_closure): ... this.
(flush_icache): Adjust.
boehm-gc/ChangeLog:
* include/gc.h (GC_REGISTER_FINALIZER_UNREACHABLE): New.
(GC_register_finalizer_unreachable): Declare.
(GC_debug_register_finalizer_unreachable): Declare.
* finalize.c (GC_unreachable_finalize_mark_proc): New.
(GC_register_finalizer_unreachable): New.
(GC_finalize): Handle it.
* dbg_mlc.c (GC_debug_register_finalizer_unreachable): New.
(GC_debug_register_finalizer_no_order): Fix whitespace.
libjava/ChangeLog:
* include/jvm.h (_Jv_ClosureListFinalizer): New.
(_Jv_Linker::create_error_method): Adjust.
* boehm.cc (_Jv_ClosureListFinalizer): New.
* nogc.cc (_Jv_ClosureListFinalizer): New.
* java/lang/Class.h (class _Jv_ClosureList): New.
(class java::lang::Class): Declare it as friend.
* java/lang/natClass.cc (_Jv_ClosureList::releaseClosures): New.
(_Jv_ClosureList::registerClousure): New.
* include/execution.h (_Jv_ExecutionEngine): Add get_closure_list.
(_Jv_CompiledEngine::do_get_closure_list): New.
(_Jv_CompiledEngine::_Jv_CompiledEngine): Use it.
(_Jv_IndirectCompiledClass): Add closures.
(_Jv_IndirectCompiledEngine::get_aux_info): New.
(_Jv_IndirectCompiledEngine::do_allocate_field_initializers): Use
it.
(_Jv_IndirectCompiledEngine::do_get_closure_list): New.
(_Jv_IndirectCompiledEngine::_Jv_IndirectCompiledEngine): Use it.
(_Jv_InterpreterEngine::do_get_closure_list): Declare.
(_Jv_InterpreterEngine::_Jv_InterpreterEngine): Use it.
* interpret.cc (FFI_PREP_RAW_CLOSURE): Use _loc variants.
(node_closure): Add closure list.
(_Jv_InterpMethod::ncode): Add jclass argument.  Use
ffi_closure_alloc and the separate code pointer.  Register the
closure for finalization.
(_Jv_JNIMethod::ncode): Likewise.
(_Jv_InterpreterEngine::do_create_ncode): Pass klass to ncode.
(_Jv_InterpreterEngine::do_get_closure_list): New.
* include/java-interp.h (_Jv_InterpMethod::ncode): Adjust.
(_Jv_InterpClass): Add closures field.
(_Jv_JNIMethod::ncode): Adjust.
* defineclass.cc (_Jv_ClassReader::handleCodeAttribute): Adjust.
(_Jv_ClassReader::handleMethodsEnd): Likewise.
* link.cc (struct method_closure): Add closure list.
(_Jv_Linker::create_error_method): Add jclass argument.  Use
ffi_closure_alloc and the separate code pointer.  Register the
closure for finalization.
(_Jv_Linker::link_symbol_table): Remove outdated comment about
sharing of otable and atable.  Adjust.
* java/lang/reflect/natVMProxy.cc (ncode_closure): Add closure
list.
(ncode): Add jclass argument.  Use ffi_closure_alloc and the
separate code pointer.  Register the closure for finalization.
(java::lang::reflect::VMProxy::generateProxyClass): Adjust.
* testsuite/libjava.jar/TestClosureGC.java: New.
* testsuite/libjava.jar/TestClosureGC.out: New.
* testsuite/libjava.jar/TestClosureGC.xfail: New.
* testsuite/libjava.jar/TestClosureGC.jar: New.

From-SVN: r122652
2007-03-07 07:27:25 +00:00
Mark Wielaard 666ff4f65d Character.java: Re-merged with Classpath.
2007-03-05  Mark Wielaard  <mark@klomp.org>

	* java/lang/Character.java: Re-merged with Classpath.
	* java/lang/natString.cc (nativeCompareTo): Renamed from
	compareTo.
	* java/lang/StringBuilder.java: Re-merged with Classpath.
	* java/lang/String.java: Re-merged with Classpath.
	(nativeCompareTo): Renamed from compareTo.
	* java/lang/StringBuffer.java: Re-merged with Classpath.
	* jni.cc (_Jv_JNI_GetAnyMethodID): Split calls to append.

From-SVN: r122560
2007-03-05 17:27:44 +00:00
Andrew Haley a29114a3be natVMProxy.cc (ncode_closure.meth): Delete.
2007-03-05  Andrew Haley  <aph@redhat.com>

	* java/lang/reflect/natVMProxy.cc (ncode_closure.meth): Delete.
	(generateProxyClass): Don't pass method to ncode.
	(run_proxy): Call _Jv_GetReflectedMethod to find the proxy method.
	* java/lang/reflect/Method.h: Rebuild.
	* java/lang/reflect/Method.java (internalGetParameterTypes,
	internalGetExceptionTypes): New methods.
	* headers.txt (class java/lang/reflect/Method): Declare
	_Jv_GetReflectedMethod.  Be its friend.
	* java/lang/natClass.cc (_Jv_GetReflectedMethod): New method.
	* java/lang/Class.h: Declare it.  Be its friend.

From-SVN: r122554
2007-03-05 16:06:27 +00:00
Tom Tromey f4a2a1deec sources.am, [...]: Rebuilt.
* sources.am, Makefile.in: Rebuilt.
	* scripts/makemake.tcl (emit_package_rule): Don't omit
	VMProcess.java.
	* Makefile.am (nat_source_files): Added natVMProcess.cc.
	(inner_nat_headers): Added ImmediateEOFInputStream.h.
	* gcj/javaprims.h: Regenerated.
	* java/lang/System.java (EnvironmentMap): Now package-private.
	(EnvironmentMap(Map)): New constructor.
	(EnvironmentMap.put): New method.
	* java/lang/natWin32Process.cc (startProcess): Update.
	* java/lang/Win32Process.java (Win32Process): Added 'redirect'
	argument.
	(startProcess): Likewise.
	* java/lang/EcosProcess.java (EcosProcess): Added 'redirect'
	argument.
	* java/lang/natPosixProcess.cc (nativeSpawn): Handle redirection.
	* java/lang/PosixProcess.java (redirect): New field.
	(PosixProcess): Added 'redirect' argument.
	* java/lang/natRuntime.cc (execInternal): Added 'redirect'
	argument to Process creation.
	* java/lang/natVMProcess.cc: New file.
	* java/lang/ProcessBuilder.java: Removed.
	* java/lang/VMProcess.java: New file.

From-SVN: r122553
2007-03-05 15:57:13 +00:00
Tom Tromey 3cf0c3c57e Updating header files. Earlier change here seems to have been in error.
From-SVN: r122550
2007-03-05 14:29:47 +00:00
Andrew Haley 39cd07dfc7 natClass.cc (parseAnnotationElement): Correct long annotations to read JV_CONSTANT_Long, not JV_CONSTANT_Double.
2007-03-03  Andrew Haley  <aph@redhat.com>

        * java/lang/natClass.cc (parseAnnotationElement): Correct long
        annotations to read JV_CONSTANT_Long, not JV_CONSTANT_Double.

From-SVN: r122545
2007-03-05 11:33:46 +00:00
Andrew Haley 386e9d408b AnnotationInvocationHandler.java: Generify in a few places.
2007-03-02  Andrew Haley  <aph@redhat.com>

        * sun/reflect/annotation/AnnotationInvocationHandler.java:
        Generify in a few places.
        (equals): Rewrite to use invoke on local proxy.
        (deepToString): Remove most of it.
        (toString): Make nonstatic.
        (arrayClone): Delete.
        (coerce): New method.
        (invoke): Rewrite to handle gcj's structures correctly.
        * java/lang/natClass.cc (getDeclaredAnnotations): Fix test for
        null loader.
        * sources.am: Regenerate.
        * Makefile.am: Likewise.

From-SVN: r122485
2007-03-02 19:34:18 +00:00
Gary Benson 19b9eb7102 2007-02-23 Gary Benson <gbenson@redhat.com>
* java/lang/VMCompiler.java
	(compileClass): Don't lose zeros from within the digest.

From-SVN: r122259
2007-02-23 15:15:58 +00:00
Jakub Jelinek b3502aa8d4 re PR libgcj/17002 (java.util.TimeZone.getDefault() is broken)
libjava/
	PR libgcj/17002
	PR classpath/28550
	* java/util/VMTimeZone.java (getDefaultTimeZoneId): To read
	/etc/localtime, use ZoneInfo.readTZFile instead of
	VMTimeZone.readtzFile.  Get better timezone name for /etc/localtime,
	either if it is a symlink or through /etc/sysconfig/clock.
	(readSysconfigClockFile): New static method.
	(readtzFile): Removed.
	* java/lang/System.java: Add gnu.java.util.zoneinfo.dir to comments.
	* posix.cc (_Jv_platform_initProperties): Set
	gnu.java.util.zoneinfo.dir.
	* sources.am (gnu_java_util_source_files): Add
	classpath/gnu/java/util/ZoneInfo.java.
	* Makefile.in: Regenerated.
	* java/util/VMTimeZone.h: Regenerated.
	* java/util/TimeZone.h: Regenerated.
	* gnu/java/util/ZoneInfo.h: Generated.
libjava/classpath/
	* java/util/Date.java (parse): Properly parse 09:01:02 as
	hours/minutes/seconds, not as hours/minutes/year.
	* java/util/SimpleTimeZone.java (SimpleTimeZone): Simplify
	{start,end}TimeMode constructor by calling shorter constructor,
	set {start,end}TimeMode fields after it returns.
	(setStartRule): Don't adjust startTime into WALL_TIME.  Set
	startTimeMode to WALL_TIME.
	(endStartRule): Similarly.
	(getOffset): Handle properly millis + dstOffset overflowing into the
	next day.  Adjust startTime resp. endTime based on startTimeMode
	resp. endTimeMode.
	* java/util/TimeZone.java (zoneinfo_dir, availableIDs, aliases0): New
	static fields.
	(timezones): Remove synchronized keyword.  Set zoneinfo_dir.
	If non-null, set up aliases0 and don't put anything into
	timezones0.
	(defaultZone): Call getTimeZone instead of timezones().get.
	(getDefaultTimeZone): Fix parsing of EST5 or EST5EDT6.  Use
	getTimeZoneInternal instead of timezones().get.
	(parseTime): Parse correctly hour:minute.
	(getTimeZoneInternal): New private method.
	(getTimeZone): Do the custom ID checking first, canonicalize
	ID for custom IDs as required by documentation.  Call
	getTimeZoneInternal to handle the rest.
	(getAvailableIDs(int)): Add locking.  Handle zoneinfo_dir != null.
	(getAvailableIDs(File,String,ArrayList)): New private method.
	(getAvailableIDs()): Add locking.  Handle zoneinfo_dir != null.
	* gnu/java/util/ZoneInfo.java: New file.

From-SVN: r122229
2007-02-22 17:04:55 +01:00
Gary Benson 71d6fc6b0b GregorianCalendar.java: Removed.
2007-02-21  Gary Benson  <gbenson@redhat.com>

	* java/util/GregorianCalendar.java: Removed.
	* sources.am, Makefile.in: Rebuilt.

From-SVN: r122198
2007-02-21 13:49:01 +00:00
Gary Benson d9f646e4b9 XEventLoop.h: Regenerated.
2007-02-20  Gary Benson  <gbenson@redhat.com>

	* gnu/awt/xlib/XEventLoop.h: Regenerated.
	* gnu/java/awt/peer/gtk/GThreadMutex.h: Likewise.
	* gnu/java/rmi/server/ConnectionRunnerPool$ConnectionRunner.h:
	Likewise.
	* gnu/java/rmi/server/UnicastConnectionManager.h: Likewise.
	* java/lang/SecurityManager.h: Likewise.
	* java/lang/Thread.h: Likewise.
	* java/security/VMSecureRandom$Spinner.h: Likewise.
	* java/util/concurrent/atomic/AtomicBoolean.h: Likewise.
	* java/util/concurrent/atomic/AtomicInteger.h: Likewise.
	* java/util/concurrent/atomic/AtomicLong.h: Likewise.
	* java/util/concurrent/atomic/AtomicReference.h: Likewise.
	* java/util/concurrent/ConcurrentHashMap$HashEntry.h: Likewise.
	* java/util/concurrent/ConcurrentHashMap$Segment.h: Likewise.
	* java/util/concurrent/ConcurrentLinkedQueue.h: Likewise.
	* java/util/concurrent/ConcurrentLinkedQueue$Node.h: Likewise.
	* java/util/concurrent/ConcurrentSkipListMap.h: Likewise.
	* java/util/concurrent/ConcurrentSkipListMap$Index.h: Likewise.
	* java/util/concurrent/ConcurrentSkipListMap$Node.h: Likewise.
	* java/util/concurrent/Exchanger.h: Likewise.
	* java/util/concurrent/Exchanger$Node.h: Likewise.
	* java/util/concurrent/FutureTask$Sync.h: Likewise.
	* java/util/concurrent/LinkedBlockingQueue$Node.h: Likewise.
	* java/util/concurrent/locks/AbstractQueuedLongSynchronizer.h:
	Likewise.
	* java/util/concurrent/locks/AbstractQueuedLongSynchronizer$Node.h: 
	Likewise.
	* java/util/concurrent/locks/AbstractQueuedSynchronizer.h: Likewise.
	* java/util/concurrent/locks/AbstractQueuedSynchronizer$Node.h:
	Likewise.
	* java/util/concurrent/ScheduledThreadPoolExecutor.h: Likewise.
	* java/util/concurrent/SynchronousQueue.h: Likewise.
	* java/util/concurrent/SynchronousQueue$TransferQueue.h: Likewise.
	* java/util/concurrent/SynchronousQueue$TransferQueue$QNode.h:
	Likewise.
	* java/util/concurrent/SynchronousQueue$TransferStack.h: Likewise.
	* java/util/concurrent/SynchronousQueue$TransferStack$SNode.h:
	Likewise.
	* java/util/concurrent/ThreadPoolExecutor.h: Likewise.
	* java/util/concurrent/ThreadPoolExecutor$Worker.h: Likewise.
	* java/util/logging/ErrorManager.h: Likewise.
	* javax/swing/plaf/basic/BasicSpinnerUI$2.h: Likewise.
	* javax/swing/plaf/basic/BasicSpinnerUI$4.h: Likewise.

From-SVN: r122161
2007-02-20 13:06:37 +00:00
David Daney 599b39ce9d Thread.java (Thread(ThreadGroup, Runnable, String)): Pass new parameter constructor.
* java/lang/Thread.java (Thread(ThreadGroup, Runnable, String)): Pass
	new parameter constructor.
	(Thread(ThreadGroup, Runnable, String, long)): Same.
	(Thread(String, boolean)): New constructor.
	(Thread(Thread, ThreadGroup, Runnable, String): Add parameter
	noInheritableThreadLocal, don't call
	InheritableThreadLocal.newChildThread if set.
	* java/lang/PosixProcess.java(ProcessManager()): Set
	noInheritableThreadLocal in super.
	* java/lang/natThread.cc (_Jv_AttachCurrentThread): Pass new
	parameter to Thread constructor.
	(_Jv_AttachCurrentThreadAsDaemon): Same.
	* java/lang/Thread.h: Regenerate.
	* classpath/lib/java/lang/Thread.class: Same.
	* classpath/lib/java/lang/PosixProcess$EOFInputStream.class: Same.
	* classpath/lib/java/lang/PosixProcess.class: Same.
	* classpath/lib/java/lang/Thread$State.class: Same.
	* classpath/lib/java/lang/PosixProcess$ProcessManager.class: Same.

From-SVN: r122054
2007-02-16 21:23:10 +00:00
Andrew Haley 24d8ce15e2 [multiple changes]
2007-02-15  Andrew Haley  <aph@redhat.com>

        * Makefile.am (nat_source_files): Remove
        java/lang/management/natVMManagementFactory.cc.
        * java/lang/Thread.java (getStackTrace): Use reflection to call
        the ManagementFactory.
        * java/lang/management/VMManagementFactory.java: Remove native
        methods.
        * java/lang/management/natVMManagementFactory.cc: Deleted.
        * sources.am: Regnerate.
        * scripts/makemake.tcl: Add new "bcheaders" type.
        Move java/lang/management and gnu/classpath/management to "bc".
        Move gnu/java/lang/management to "bcheaders".

2007-02-16  Andrew Haley  <aph@redhat.com>

        * gnu/java/lang/management/MemoryMXBeanImpl.java,
        javax/management/MBeanServerDelegate.java: Use
        gnu.javax.management.ListenerData rather than
        gnu.classpath.ListenerData.
        * gnu/javax/management/ListenerData.java: Move here from
        gnu/classpath/ListenerData.java.

From-SVN: r122041
2007-02-16 13:51:04 +00:00
David Daney 31429fbc3c PlainSocketImpl.h: Regenerate.
* gnu/java/net/PlainSocketImpl.h: Regenerate.
	* gnu/classpath/jdwp/VMVirtualMachine.h: Same.
	* gnu/classpath/jdwp/VMFrame.h: Same.
	* java/net/Socket.h: Same.
	* java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.h: Same.

From-SVN: r122006
2007-02-15 17:03:49 +00:00
Tom Tromey 40b86e5f2c Collections.java (UnmodifiableMap.toArray): Imported changes from Classpath.
libjava/classpath
	* java/util/Collections.java (UnmodifiableMap.toArray): Imported
	changes from Classpath.
libjava
	* sources.am, Makefile.in: Rebuilt.
	* java/lang/Socket.java: Removed override.
	* java/lang/DatagramSocket.java: Removed override.
	* gnu/java/net/PlainSocketImpl.java (localSocketAddress): New
	field.
	(getLocalAddress): New method.
	* gnu/java/net/PlainDatagramSocketImpl.java
	(PlainDatagramSocketImpl): Throws IOException.
	* gnu/java/net/natPlainSocketImplPosix.cc (write): Remove
	'sizeof'.
	(read): Likewise.

From-SVN: r121866
2007-02-12 23:52:39 +00:00
Jakub Jelinek cc297c1e03 VMTimeZone.java: Rewrite to handle both the old 'TZif\0' format and the new one.
2007-02-09  Jakub Jelinek  <jakub@redhat.com>

	* java/util/VMTimeZone.java: Rewrite to handle both the old
	'TZif\0' format and the new one.

From-SVN: r121845
2007-02-12 14:39:44 +00:00
Tom Tromey 60e4646493 Checking in header files missed by earlier commit
From-SVN: r121672
2007-02-06 23:59:34 +00:00
Tom Tromey 14a9874595 * java/lang/ClassLoader.java (getResources): No longer final.
From-SVN: r121475
2007-02-01 23:00:01 +00:00
Tom Tromey 4d2446d99e LogManager.java (loggers): Genericized.
* java/util/logging/LogManager.java (loggers): Genericized.
	(addLogger): Merged.
	(findAncestor): Likewise.
	(getLogger): Likewise.
	(getLoggerNames): Genericized.
	(reset): Merged.
	(getLevelProperty): Likewise.
	* java/lang/reflect/Method.java (getDeclaringClass): Genericized.
	* java/lang/reflect/Constructor.java (getParameterTypes):
	Genericized.
	(getExceptionTypes): Likewise.
	(newInstance): Likewise.
	* java/lang/reflect/Array.java (newInstance): Genericized.
	* java/lang/Object.java (getClass): Genericized.
	* java/nio/charset/spi/CharsetProvider.java (charsets):
	Genericized.
	* java/text/Collator.java: Implement Comparable<Object>.

From-SVN: r121473
2007-02-01 21:36:01 +00:00
Tom Tromey 0a32f469ac Calendar.java: Implement Comparable<Calendar>.
* java/util/Calendar.java: Implement Comparable<Calendar>.  Update
	comments.
	(clear): Call complete.
	(setTimeZone): Call computeTime, computeFields.
	(compareTo): New method.
	* java/nio/charset/Charset.java: Implement Comparable<Charset>.
	(availableCharsets): Genericized.
	(aliases): Likewise.
	(compareTo): Changed argument type.
	* java/lang/ClassLoader.java (loadClass): Genericized.
	(findClass): Likewise.
	(defineClass): Likewise.
	(resolveClass): Likewise.
	(findSystemClass): Likewise.
	(setSigners): Likewise.
	(findLoadedClass): Likewise.
	(getResources): Likewise.
	(findResources): Likewise.
	(getSystemResources): Likewise.
	(checkInitialized): New method.
	* java/lang/Class.java (getCanonicalName): New method.

From-SVN: r121471
2007-02-01 20:34:08 +00:00
Andrew Haley 5df3325225 prims.cc (_Jv_Abort): fflush (stderr).
2007-01-31  Andrew Haley  <aph@redhat.com>

        * prims.cc (_Jv_Abort): fflush (stderr).
        * java/lang/natClassLoader.cc (_Jv_CheckABIVersion): Abort.

From-SVN: r121433
2007-01-31 19:04:35 +00:00
Tom Tromey 7679f36836 re PR libgcj/30606 (natVMURLConnection.cc:21: error: 'magic_t' does not name a typet name a type)
PR libgcj/30606:
	* configure, include/config.h.in: Rebuilt.
	* configure.ac: Check for magic_t in magic.h.
	* java/net/natVMURLConnection.cc: Use HAVE_MAGIC_T.

From-SVN: r121425
2007-01-31 17:11:11 +00:00
Kyle Galloway 3927313117 java-interp.h: Added _Jv_Frame class and its two subclasses _Jv_InterpFrame and _Jv_NativeFrame.
2007-01-29  Kyle Galloway  <kgallowa@redhat.com>

	* include/java-interp.h:  Added _Jv_Frame class and its two
	subclasses _Jv_InterpFrame and _Jv_NativeFrame.  Also moved
	_Jv_FrameType from java-stack.h.
	* include/java-stack.h: Removed _Jv_FrameType.
	* java/lang/Thread.java: Added frame member to hold new
	composite frame stack.
	* java/lang/Thread.h: Regenerated.
	* java/lang/Thread.class: Rebuilt.
	* jni.cc (_Jv_JNIMethod::call): Push a frame onto the stack when
	calling a JNI method.
	* jvmti.cc (_Jv_JVMTI_GetStackTrace): New Method.
	(_Jv_JVMTI_GetFrameCount): New method.
	* stacktrace.cc (UnwindTraceFn): Modified to use new _Jv_Frame
	classes.
	* testsuite/libjava.jvmti/interp/getstacktrace.jar: New test.
	* testsuite/libjava.jvmti/interp/natgetstacktrace.cc: New test.
	* testsuite/libjava.jvmti/interp/getstacktrace.h: New test.
	* testsuite/libjava.jvmti/interp/getstacktrace.jar: New test.
	* testsuite/libjava.jvmti/interp/getstacktrace.out: Output file
	for test.

From-SVN: r121314
2007-01-29 22:05:56 +00:00
Andrew Haley 6b05e79165 natClass.cc (initializeClass): Re-throw SecurityExceptions.
2007-01-26  Andrew Haley  <aph@redhat.com>

        * java/lang/natClass.cc (initializeClass): Re-throw
        SecurityExceptions.
        * java/lang/natVMClassLoader.cc (loadClass): checkPackageAccess.
        * java/lang/ClassLoader.java: (loadClass): Likewise.

From-SVN: r121285
2007-01-29 13:14:38 +00:00
Tom Tromey 7969a3791e libjava
* Updated headers.
libjava/classpath
	* tools/gnu/classpath/tools/javah/FieldHelper.java (print): Print
	'volatile' after field type.

From-SVN: r121215
2007-01-26 23:07:08 +00:00