Commit Graph

2314 Commits

Author SHA1 Message Date
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
Andrew Haley
9fe944471a configure, [...]: Rebuilt.
2007-01-25  Andrew Haley  <aph@redhat.com>

	* configure, Makefile.in, include/config.h.in: Rebuilt.
	* Makefile.am (libgcj_la_LIBADD): Removed $(LIBMAGIC).
	* configure.ac: Don't check for libmagic.
	* java/net/natVMURLConnection.cc (p_magic_open, p_magic_load,
	p_magic_close, p_magic_buffer): New globals.
	(init): Look up 'magic' functions.
	(guessContentTypeFromBuffer): Updated.

From-SVN: r121183
2007-01-25 19:51:33 +00:00
Keith Seitz
2b3c67882e Class.h (_Jv_GetClassStatus): Declare.
* java/lang/Class.h (_Jv_GetClassStatus): Declare.
        * java/lang/natClass.cc (_Jv_GetClassStatus): New function.
        * jvmti.cc (_Jv_JVMTI_GetClassStatus): New function.
        (_Jv_JVMTI_Interface): Define GetClassStatus.

From-SVN: r121074
2007-01-23 01:06:10 +00:00
Tom Tromey
262fa8a4b5 re PR java/29812 (env->klass value is not updated during the native calls)
PR java/29812:
	* testsuite/libjava.jni/pr29812.java: New file.
	* testsuite/libjava.jni/pr29812_injar.java: New file.
	* testsuite/libjava.jni/pr29812_injar.jar: New file.
	* testsuite/libjava.jni/pr29812.out: New file.
	* testsuite/libjava.jni/pr29812_injar.c: New file.
	* testsuite/libjava.jni/pr29812_injar.h: New file.
	* testsuite/libjava.jni/pr29812.jar: New file.
	* testsuite/libjava.jni/pr29812.c: New file.
	* testsuite/libjava.jni/pr29812.h: New file.
	* testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
	New proc.
	(gcj_jni_invocation_test_one): Use it.
	(gcj_jni_pr29812): New proc.
	(gcj_jni_run): Use it.
	* java/lang/natRuntime.cc (_load): Push a new system frame before
	calling JNI_OnLoad.
	* include/jvm.h (_Jv_JNI_PopSystemFrame): Declare.
	(_Jv_GetJNIEnvNewFrameWithLoader): Likewise.
	* jni.cc (struct _Jv_JNI_LocalFrame) <marker>: Now unsigned char.
	<allocated_p>: Now bool.
	<loader>: New field.
	(_Jv_JNI_EnsureLocalCapacity): Updated.
	(_Jv_JNI_NewLocalRef): Likewise.
	(_Jv_JNI_NewLocalRef): Likewise.
	(_Jv_JNI_PopLocalFrame): Likewise.
	(_Jv_JNI_FindClass): Likewise.
	(_Jv_GetJNIEnvNewFrame): Likewise.
	(_Jv_JNI_AttachCurrentThread): Likewise.
	(_Jv_GetJNIEnvNewFrameWithLoader): New function.
	(_Jv_GetJNIEnvNewFrame): Use it.
	* include/jni_md.h (_CLASSPATH_JNIENV_CONTENTS): Removed 'klass'.

From-SVN: r121064
2007-01-22 23:04:16 +00:00
Gary Benson
463c03f1bc natVMPipeEcos.cc: Renamed from gnu/java/nio/natPipeImplEcos.cc.
2007-01-18  Gary Benson  <gbenson@redhat.com>

	* gnu/java/nio/natVMPipeEcos.cc:
	Renamed from gnu/java/nio/natPipeImplEcos.cc.
	* gnu/java/nio/natVMPipePosix.cc:
	Renamed from gnu/java/nio/natPipeImplPosix.cc.
	* gnu/java/nio/natVMPipeWin32.cc:
	Renamed from gnu/java/nio/natPipeImplWin32.cc.
	* gnu/java/nio/natVMSelectorEcos.cc:
	Renamed from gnu/java/nio/natSelectorImplEcos.cc.
	* gnu/java/nio/natVMSelectorPosix.cc:
	Renamed from gnu/java/nio/natSelectorImplPosix.cc.
	* gnu/java/nio/natVMSelectorWin32.cc:
	Renamed from gnu/java/nio/natSelectorImplWin32.cc.
	* java/io/natVMObjectInputStream.cc:
	Renamed from java/io/natObjectInputStream.cc.
	* java/lang/natVMDouble.cc:
	Renamed from java/lang/natDouble.cc.
	* java/lang/natVMFloat.cc:
	Renamed from java/lang/natFloat.cc.	
	* Makefile.am, configure.ac: Reflect the above.
	* Makefile.in, configure: Rebuilt.

From-SVN: r120895
2007-01-18 11:32:40 +00:00
Keith Seitz
6ef43f5665 natThread.cc (finish_): Add JVMTI ThreadEnd notification.
* java/lang/natThread.cc (finish_): Add JVMTI ThreadEnd notification.
        (_Jv_NotifyThreadStart): Add JVMTI ThreadStart notification.

From-SVN: r120877
2007-01-17 22:05:10 +00:00
Gary Benson
8086b65daa natVMDirectByteBufferImpl.cc: Renamed from java/nio/natDirectByteBufferImpl.cc.
2007-01-17  Gary Benson  <gbenson@redhat.com>

	* java/nio/natVMDirectByteBufferImpl.cc:
	Renamed from java/nio/natDirectByteBufferImpl.cc.
	* Makefile.am: Reflect the above.
	* Makefile.in: Rebuilt.

From-SVN: r120859
2007-01-17 17:02:48 +00:00
Gary Benson
d8203cb888 MappedByteBuffer.java: Removed.
2007-01-15  Gary Benson  <gbenson@redhat.com>

	* java/nio/MappedByteBuffer.java: Removed.
	* sources.am, Makefile.in: Rebuilt.

From-SVN: r120858
2007-01-17 16:25:10 +00:00
Tom Tromey
98685f2b44 natThread.cc (finalize_native): Remove cast.
* java/lang/natThread.cc (finalize_native): Remove cast.
	(_Jv_GetCurrentJNIEnv): Likewise.
	* include/jvm.h (struct natThread) <jni_env>: Declare as
	_Jv_JNIEnv*.

From-SVN: r120844
2007-01-17 01:36:33 +00:00
Gary Benson
0122c9e791 MappedByteBuffer.java: Removed.
2007-01-15  Gary Benson  <gbenson@redhat.com>

	* java/nio/MappedByteBuffer.java: Removed.
	* sources.am, Makefile.in: Rebuilt.

From-SVN: r120793
2007-01-15 12:45:35 +00:00
Gary Benson
a5c0f6fe87 URLClassLoader.java: Removed.
2007-01-15  Gary Benson  <gbenson@redhat.com>

	* java/net/URLClassLoader.java: Removed.
	* gnu/java/net/loader/Load_gcjlib.java: New file.
	* gnu/gcj/runtime/BootClassLoader.java: Ensure core
	URL handler is present in static executables.
	* sources.am, Makefile.in: Rebuilt.

From-SVN: r120791
2007-01-15 10:25:38 +00:00
Tom Tromey
ea517ca550 natDouble.cc (toString): Added parens.
* java/lang/natDouble.cc (toString): Added parens.
	* gnu/gcj/io/shs.h (PROTO): Define.
	* link.cc (resolve_pool_entry): Added missing braces.

From-SVN: r120652
2007-01-10 22:56:20 +00:00
Gary Benson
143f796e57 URL.java: Removed.
2007-01-10  Gary Benson  <gbenson@redhat.com>

	* java/net/URL.java: Removed.
	* sources.am, Makefile.in: Rebuilt.

From-SVN: r120644
2007-01-10 16:55:10 +00:00
Tom Tromey
97b8365caf Merged gcj-eclipse branch to trunk.
From-SVN: r120621
2007-01-09 19:58:05 +00:00
Gary Benson
7ddd83802b Security.java: Merge with classpath.
2006-11-21  Gary Benson  <gbenson@redhat.com>

	* java/security/Security.java: Merge with classpath.
	* java/lang/Package.java: Likewise.
	* java/lang/Class.java (getDeclaredAnnotations): New method.

From-SVN: r119057
2006-11-21 16:18:08 +00:00
Gary Benson
adefdaca2d InetAddress.java: Removed.
2006-11-03  Gary Benson  <gbenson@redhat.com>

	* java/net/InetAddress.java: Removed.
	* java/net/natInetAddressNoNet.cc: Likewise.
	* java/net/natInetAddressPosix.cc: Likewise.
	* java/net/natInetAddressWin32.cc: Likewise.
	* java/net/VMInetAddress.java (getLocalHostname,
	lookupInaddrAny, getHostByAddr, getHostByName,
	aton): Replace glue methods with native ones.
	* java/net/natVMInetAddressNoNet.cc: New file.
	* java/net/natVMInetAddressPosix.cc: Likewise.
	* java/net/natVMInetAddressWin32.cc: Likewise.
	* Makefile.am, configure.ac: Reflect the above.
	* sources.am, Makefile.in, configure: Rebuilt.

	* java/net/natVMNetworkInterfaceWin32.cc
	(winsock2GetRealNetworkInterfaces): Create InetAddress
	objects using InetAddress.getByAddress.
	* gnu/java/net/natPlainSocketImplWin32.cc
	(accept, getOption): Likewise.
	* gnu/java/net/natPlainDatagramSocketImplWin32.cc
	(peekData, receive, getOption): Likewise.

From-SVN: r118451
2006-11-03 10:16:04 +00:00
Keith Seitz
f356a436f0 java-stack.h (ncodeMap): Declare.
* include/java-stack.h (ncodeMap): Declare.
        (_Jv_StackTrace): Make _Jv_GetMethodDeclaringClass friend.
        * java/lang/Class.h (_Jv_GetMethodDeclaringClass): Declare.
        * java/lang/natClass.cc (_Jv_GetMethodDeclaringClass): New
        function.
        * stacktrace.cc (ncodeMap): Redefine from file global to global
        for class _Jv_StackTrace.
        (_Jv_StackTrace::UpdateNCodeMap): Add interpreted classes, too,
        so that _Jv_GetMethodDeclaringClass can find them all.
        (_Jv_StackTrace::ClassForFrame): Exclude interpreted classes.
        * jvmti.cc (_Jv_JVMTI_GetMethodDeclaringClass): New function.
        (_Jv_JVMTI_Interface): Define GetMethodDeclaringClass function.

From-SVN: r118100
2006-10-28 02:15:12 +00:00
Tom Tromey
e7f7d23387 register2.java: New file.
* testsuite/libjava.jni/register2.java: New file.
	* testsuite/libjava.jni/register2.out: New file.
	* testsuite/libjava.jni/register2.c: New file.
	* java/lang/natClass.cc (_Jv_GetClassNameUtf8): New function.
	* java/lang/Class.h (_Jv_GetClassNameUtf8): Declare.
	* jni.cc (struct NativeMethodCacheEntry): New struct.
	(nathash): Changed type.
	(hash): Updated.
	(nathash_find_slot): Likewise.
	(nathash_find): Likewise.
	(natrehash): Likewise.
	(nathash_add): Likewise.
	(_Jv_JNI_RegisterNatives): Likewise.
	(_Jv_LookupJNIMethod): Likewise.
	Idea from Juerg Lehni <juerg@scratchdisk.com>

Co-Authored-By: Bryce McKinlay <mckinlay@redhat.com>

From-SVN: r117867
2006-10-18 23:17:04 +00:00
Gary Benson
704312e738 2006-10-03 Gary Benson <gbenson@redhat.com>
* java/net/InetAddress.java
	(<clinit>): Reorder the static initializers.

From-SVN: r117394
2006-10-03 10:27:28 +00:00
Gary Benson
93a8f49bfa 2006-10-02 Gary Benson <gbenson@redhat.com>
* java/net/InetAddress.java
	(checkConnect): Reinstated.
	(loopbackAddress): Ensure initialized from non-null object.

From-SVN: r117370
2006-10-02 10:54:43 +00:00
Tom Tromey
d79d57fa02 Locale.java (hashcode): No longer transient.
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=201712
	* java/util/Locale.java (hashcode): No longer transient.
	(writeObject): Use ObjectOutputStream.PutField and
	defaultWriteObject.
	(readObject): Use defaultReadObject.

From-SVN: r117248
2006-09-27 07:58:11 +00:00
Gary Benson
aac8697859 InetAddress.java: Mostly merged with Classpath.
2006-09-20  Gary Benson  <gbenson@redhat.com>

	* java/net/InetAddress.java: Mostly merged with Classpath.
	* java/net/VMInetAddress.java: New file.
	* sources.am, Makefile.in: Rebuilt.

	* java/net/natVMNetworkInterfacePosix.cc
	(getInterfaces): Create InetAddress objects using
	InetAddress.getByAddress.
	* gnu/java/net/natPlainSocketImplPosix.cc
	(accept, getOption): Likewise.
	* gnu/java/net/natPlainDatagramSocketImplPosix.cc
	(peekData, receive, getLocalAddress): Likewise.

From-SVN: r117075
2006-09-20 07:55:26 +00:00