Commit Graph

526 Commits

Author SHA1 Message Date
Jeroen Frijters
b121dcb5a8 ThreadGroup.java (list): Changed print to println.
2004-03-19  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/ThreadGroup.java (list): Changed print to println.

From-SVN: r79707
2004-03-19 22:59:51 +00:00
Michael Koch
bfb0a4ad70 2004-03-09 Michael Koch <konqueror@gmx.de>
* java/lang/Thread.java
	(runnable): Moved around.
	(daemon): Renamed from daemon_flag.
	(contextClassLoader): Renamed from context_class_loader.
	(Thread): Reordered constructors.
	(activeCount): Use group directly.
	(destroy): Make it a java method. Throw NoSuchMethodError like Sun does.
	(holdsLock): Reworked javadoc.
	(setDaemon): Reworked.
	* java/lang/natThread.cc
	(destroy): Removed.

From-SVN: r79200
2004-03-09 21:02:52 +00:00
Per Bothner
dd341087ac * java/lang/natPosixProcess.cc (startProcess): Fix thinko.
From-SVN: r78725
2004-03-01 13:33:28 -08:00
Per Bothner
881ad9e405 natPosixProcess.cc (startProcess): Implement standard streams using FileChannelImpl, not FileDescriptor.
* java/lang/natPosixProcess.cc (startProcess):  Implement standard
	streams using FileChannelImpl, not FileDescriptor.
	* java/lang/natWin32Process.cc (startProcess):  Likewise.

From-SVN: r78664
2004-02-29 11:14:20 -08:00
Andrew Haley
50106e8f8d re PR libgcj/14296 (3.4 regression: Method.Invoke)
2004-02-25  Andrew Haley  <aph@redhat.com>

	PR java/14296:
	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Make sure
	we have a valid method index.

From-SVN: r78504
2004-02-26 15:22:20 +00:00
Anthony Green
b29610b3cf de-pessimization
From-SVN: r78447
2004-02-25 19:52:58 +00:00
Michael Koch
7959d59810 2004-02-05 Michael Koch <konqueror@gmx.de>
* java/lang/Thread.java
	(Thread): Reordered.
	(setContextClassLoader): Fixed javadoc comment.
	(setPriority): Reordered.
	(yield): Reordered.
	(initialize_native): Reordered.
	(gen_name): Reordered.

From-SVN: r77327
2004-02-05 18:20:46 +00:00
Michael Koch
5ad136540e Thread.java: Reordered fields...
2004-02-05  Michael Koch  <konqueror@gmx.de>

	* java/lang/Thread.java: Reordered fields, reformated much code,
	no functional changes, some variables renamed, javadoc comments
	merged.

From-SVN: r77322
2004-02-05 16:34:30 +00:00
Tom Tromey
2565abce54 natPosixProcess.cc (startProcess): Handle case where PATH or LD_LIBRARY_PATH is not set in parent environment.
* java/lang/natPosixProcess.cc (startProcess): Handle case where
	PATH or LD_LIBRARY_PATH is not set in parent environment.

From-SVN: r77203
2004-02-04 00:07:19 +00:00
Michael Koch
f79b77082f 2004-01-27 Michael Koch <konqueror@gmx.de>
* java/lang/Class.java
	(getConstructor): Removed SecurityException from throws clause.
	(_getConstructors): Likewise.
	(getConstructors): Likewise.
	(getDeclaredConstructor): Likewise.
	(getDeclaredClasses): Likewise.
	(getDeclaredConstructors): Likewise.
	(getDeclaredField): Likewise.
	(getDeclaredMethod): Likewise.
	(getDeclaredMethods): Likewise.
	(getField): Likewise.
	(getMethod): Likewise.
	(getMethods): Likewise.

From-SVN: r76747
2004-01-27 21:00:19 +00:00
Michael Koch
135f54eb84 Class.java: Imports reworked, reformated.
2004-01-25  Michael Koch  <konqueror@gmx.de>

	* java/lang/Class.java: Imports reworked, reformated.
	(Class): Javadoc added.
	(forName): Likewise.
	(getClasses): Likewise.
	(getClassLoader): Likewise.
	(getComponentType): Likewise.
	(getConstructor): Likewise.
	(getConstructors): Likewise.
	(getDeclaredConstructor): Likewise.
	(getDeclaredClasses): Likewise.
	(getDeclaredConstructors): Likewise.
	(getDeclaredField): Likewise.
	(getDeclaredMethod): Likewise.
	(getDeclaredMethods): Likewise.
	(getDeclaringClass): Likewise.
	(getField): Likewise.
	(getInterfaces): Likewise.
	(getMethod): Likewise.
	(getMethods): Likewise.
	(getModifiers): Likewise.
	(getName): Likewise.
	(getResource): Likewise.
	(getResourceAsStream): Likewise.
	(getSigners): Likewise.
	(setSigners): Likewise.
	(getSuperclass): Likewise.
	(isArray): Likewise.
	(isAssignableFrom): Likewise.
	(isInstance): Likewise.
	(isInterface): Likewise.
	(isPrimitive): Likewise.
	(newInstance): Likewise.
	(getProtectionDomain): Likewise.
	(toString): Likewise.
	(Class): Moved.
	(initializeClass): Likewise.
	(finalize): Likewise.

From-SVN: r76554
2004-01-25 13:08:08 +00:00
Michael Koch
0791cb20bc VMClassLoader.java: Reworked imports.
2004-01-23  Michael Koch  <konqueror@gmx.de>

	* java/lang/VMClassLoader.java: Reworked imports.

From-SVN: r76426
2004-01-23 15:29:38 +00:00
Michael Koch
834d51fe49 Class.java, [...]: Merged copyright with classpath.
2004-01-23  Michael Koch  <konqueror@gmx.de>

	* java/lang/Class.java,
	java/lang/Object.java,
	java/lang/Thread.java: Merged copyright with classpath.

From-SVN: r76409
2004-01-23 11:56:48 +00:00
Tom Tromey
b54a271561 natClassLoader.cc: Moved VMClassLoader methods...
* java/lang/natClassLoader.cc: Moved VMClassLoader methods...
	* java/lang/natVMClassLoader.cc: ...here.  New file.
	* Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Added natVMClassLoader.cc.

From-SVN: r76003
2004-01-16 23:54:22 +00:00
Andrew Haley
d55d97f163 natClassLoader.cc (_Jv_PrepareCompiledClass): Resolve a Utf8Const field before looking at its class.
2004-01-09  Andrew Haley  <aph@redhat.com>

	* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Resolve
	a Utf8Const field before looking at its class.

From-SVN: r75591
2004-01-09 17:10:43 +00:00
Michael Koch
40f8ee2d8d Array.java: Merged documentation with classpath.
2004-01-07  Michael Koch  <konqueror@gmx.de>

	* java/lang/reflect/Array.java: Merged documentation with classpath.

From-SVN: r75512
2004-01-07 18:46:18 +00:00
Michael Koch
907cdc7fad 2004-01-06 Michael Koch <konqueror@gmx.de>
* java/lang/Package.java
	(getPackage): Get the current class loader directly.
	* java/lang/SecurityManager.java
	(currentLoadedClass): Dont iterate over class contexts.
	(classLoaderDepth): Don't check class loaders if everything is allowed.

From-SVN: r75465
2004-01-06 08:34:58 +00:00
Michael Koch
9e129d901c re PR libgcj/13056 (import new libltdl)
2003-12-16  Michael Koch  <konqueror@gmx.de>

	Fix for PR libgcj/13056.
	* libltdl/configure.in,
	libltdl/config.h.in: Removed.
	* libltdl/configure.ac,
	libltdl/config-h.in,
	libltdl/install-sh,
	libltdl/config.guess,
	libltdl/config.sub,
	libltdl/missing,
	libltdl/mkinstalldirs,
	libltdl/ltmain.sh: New files.
	* libltdl/Makefile.am,
	libltdl/acinclude.m4,
	libltdl/aclocal.m4,
	libltdl/ltdl.c,
	libltdl/ltdl.h,
	libltdl/README: Update to versions from libtool 1.5.
	libltdl/configure,
	* libltdl/Makefile.in: Regenerated.
	* java/lang/natRuntime.cc (find_symbol):
	Use type 'lt_ptr' instead of 'lt_ptr_t'.

From-SVN: r74711
2003-12-16 21:48:25 +00:00
Michael Koch
b7e0ff4538 Class.h (hack_signers): Renamed signers to hack_signers.
2003-12-03  Michael Koch  <konqueror@gmx.de>

	* java/lang/Class.h (hack_signers): Renamed signers to hack_signers.
	* java/lang/natClass.cc (getSigners): Likewise.
	(setSigners): Likewise.

From-SVN: r74247
2003-12-03 21:26:59 +00:00
Mohan Embar
83c02e38a3 configure.in: Added new MinGW-specific configure flag --with-win32-nlsapi.
* 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
2003-12-02 22:26:50 +00:00
Tom Tromey
f627fd15aa natDouble.cc (parseDouble): Reverted patch of 2003-11-13.
* java/lang/natDouble.cc (parseDouble): Reverted patch of
	2003-11-13.

From-SVN: r73956
2003-11-26 18:02:34 +00:00
Mark Wielaard
4716418ffe * java/lang/Float.java (static): Removed.
From-SVN: r73805
2003-11-21 13:24:28 +00:00
Tom Tromey
b86ca9a2dc jni.cc (_Jv_JNI_GetStringUTFChars): Pass length of string to JvGetStringUTFRegion.
* 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-14 01:48:30 +00:00
Mohan Embar
cafa50327c re PR libgcj/12231 ([win32] Console applications spawned via Runtime.exec( ) in a GUI application flash console window)
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
2003-11-07 03:16:49 +00:00
Bryce McKinlay
99f8b2501d natClass.cc (newInstance): Throw InstantiationException if class has no null-argument constructor.
* java/lang/natClass.cc (newInstance): Throw InstantiationException
        if class has no null-argument constructor.

From-SVN: r73244
2003-11-04 05:27:10 +00:00
Bryce McKinlay
f56228e73f natMethod.cc (_Jv_CallAnyMethodA): Don't use vtable dispatch for final methods.
* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Don't use
	vtable dispatch for final methods.

From-SVN: r73101
2003-10-30 21:09:45 +00:00
Bryce McKinlay
6ac8b2b187 natClass.cc (_Jv_LayoutVTableMethods): Always assign a vtable slot for final methods.
* java/lang/natClass.cc (_Jv_LayoutVTableMethods): Always assign a
	vtable slot for final methods. Add FIXME comment.

From-SVN: r73023
2003-10-28 22:45:57 +00:00
Bryce McKinlay
e0f23fcd49 AccessibleObject.java (secureSetAccessible): Don't check for AccessibleObject.
* java/lang/reflect/AccessibleObject.java (secureSetAccessible):
	Don't check for AccessibleObject. Update javadocs.

From-SVN: r72943
2003-10-26 02:28:45 +00:00
Bryce McKinlay
b9b5672b49 Constructor.java (toString): Avoid extra whitespace on constructor with no modifiers.
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
2003-10-26 02:25:42 +00:00
Bryce McKinlay
8822f4aaf9 Method.java (toString): Avoid extra whitespace on method with no modifiers.
* java/lang/reflect/Method.java (toString): Avoid extra whitespace
	on method with no modifiers.

From-SVN: r72919
2003-10-25 07:55:21 +01:00
Bryce McKinlay
a10fd35601 re PR libgcj/11780 (Method.invoke() is slow)
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-25 07:49:20 +01:00
Anthony Green
fe8738988d Obvious fix for systems with no interpreter.
From-SVN: r72903
2003-10-24 18:27:29 +00:00
Andrew Haley
904715853c lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): New.
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-24 09:29:43 +00:00
Rainer Orth
59407b8361 natObject.cc (_Jv_ObjectCheckMonitor): Use _Jv_MutexCheckMonitor instead of accessing mutex.owner directly.
* java/lang/natObject.cc (_Jv_ObjectCheckMonitor): Use
	_Jv_MutexCheckMonitor instead of accessing mutex.owner directly.

From-SVN: r72872
2003-10-23 21:48:36 +00:00
Tom Tromey
eab09cdf1a re PR libgcj/12416 (java.lang.Class.getFields returns duplicate entries.)
PR libgcj/12416:
	* java/lang/Class.h: Updated.
	* java/lang/natClass.cc (_getFields): Removed.
	(getFields): Likewise.
	(getDeclaredFields): Added `public_only' parameter.
	* java/lang/Class.java (getFields): Now implemented in java; from
	Classpath.
	(getDeclaredFields): Likewise.
	(getDeclaredFields(boolean)): Declare.
	(_getFields): Removed.
	(internalGetFields): New method, from Classpath.

From-SVN: r72818
2003-10-22 19:29:27 +00:00
Jerry Quinn
16a10fb6fc posix-threads.cc (_Jv_CondNotify,_Jv_CondNotifyAll): Rename _Jv_PthreadCheckMonitor to _Jv_MutexCheckMonitor.
2003-10-21  Jerry Quinn  <jlquinn@optonline.net>

        * posix-threads.cc (_Jv_CondNotify,_Jv_CondNotifyAll): Rename
        _Jv_PthreadCheckMonitor to _Jv_MutexCheckMonitor.
	* include/no-threads.h (_Jv_MutexCheckMonitor): New.
	* include/posix-threads.h (_Jv_MutexCheckMonitor): Rename from
        _Jv_PthreadCheckMonitor.  Simplify code.
	(_Jv_MutexUnlock): Use _Jv_MutexCheckMonitor.
	* include/win32-threads.h (_Jv_MutexCheckMonitor): New.
	* java/lang/Object.h (_Jv_ObjectCheckMonitor): Declare.
	* java/lang/Thread.java (holdsLock): New.
	* java/lang/natObject.cc (_Jv_ObjectCheckMonitor): New, with and
        without JV_HASH_SYNCHRONIZATION.
	* java/lang/natThread.cc (java::lang::Thread::holdsLock): New.

From-SVN: r72741
2003-10-21 04:46:19 +00:00
Ralph Loader
35e1369c77 StringBuffer.java (getChars): Fix array index checks.
* java/lang/StringBuffer.java (getChars): Fix array index checks.
	(append, substring, insert): Likewise.
	* testsuite/libjava.lang/StringBuffer_overflow.java: New file.
	* testsuite/libjava.lang/StringBuffer_overflow.out: New file.

From-SVN: r72579
2003-10-16 21:35:42 +00:00
Ralph Loader
2488a51e82 natString.cc (getChars): Fix validation of array indexes.
* java/lang/natString.cc (getChars):
	Fix validation of array indexes.
	(getBytes, regionMatches, startsWith, valueOf): Likewise.
	* testsuite/libjava.lang/String_overflow.java: New file.
	* testsuite/libjava.lang/String_overflow.out: New file.

From-SVN: r72578
2003-10-16 21:28:23 +00:00
Tom Tromey
b71d486c40 natClassLoader.cc (_Jv_InitNewClassFields): Removed.
* java/lang/natClassLoader.cc (_Jv_InitNewClassFields): Removed.
	(defineClass): Updated.
	(_Jv_NewClass): Likewise.
	* prims.cc (_Jv_InitPrimClass): Don't call
	_Jv_InitNewClassFields.

From-SVN: r72444
2003-10-13 22:08:51 +00:00
Tom Tromey
b379e7b0e9 ClassLoader.java (setSigners): Implemented.
* java/lang/ClassLoader.java (setSigners): Implemented.
	* boehm.cc (_Jv_MarkObj): Mark `signers' field.
	* java/lang/natClassLoader.cc (_Jv_InitNewClassFields):
	Initialize new fields.
	* java/lang/Class.java (getSigners): Now native.
	(setSigners): Declare.
	* java/lang/natClass.cc (getSigners): New method.
	(getSigners): Likewise.
	* java/lang/Class.h (Class::signers): New field.
	(Class::setSigners): New method.

From-SVN: r72271
2003-10-09 16:24:55 +00:00
Tom Tromey
d791274435 StrictMath.java (toDegrees): Multiply before dividing.
* 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
2003-10-08 19:00:21 +00:00
Tom Tromey
d801e245eb VMClassLoader.java (loadClass): Now native.
* java/lang/VMClassLoader.java (loadClass): Now native.
	* java/lang/natClassLoader.cc (loadClass): Implement.
	* prims.cc (_Jv_RunMain): Initialize ClassLoader.

From-SVN: r72038
2003-10-02 15:34:28 +00:00
Andrew Haley
9dfc2ec225 jcf-parse.c (java_parse_file): Write otable and atable.
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
2003-10-01 16:22:13 +00:00
Tom Tromey
2cd5614273 re PR libgcj/10596 (Reference and String.intern don't work together)
PR libgcj/10596:
	* include/jvm.h (_Jv_FinalizeString,
	_Jv_RegisterStringFinalizer): Declare.
	* java/lang/natString.cc (_Jv_FinalizeString): Renamed from
	unintern.
	(intern): Updated.
	(_Jv_NewStringUtf8Const): Likewise.
	* java/lang/ref/natReference.cc (finalize_referred_to_object):
	Add special case when finalizing a String.
	(in_hash): New function.
	(_Jv_RegisterStringFinalizer): Likewise.
	(maybe_add_finalize): Likewise.

From-SVN: r71915
2003-09-29 21:13:55 +00:00
Michael Koch
73a1415eb4 2003-09-25 Michael Koch <konqueror@gmx.de>
* java/lang/reflect/Proxy.java
	(getProxyClass): Remove workaround for gcj 3.0.x.

From-SVN: r71796
2003-09-25 20:46:14 +00:00
Tom Tromey
b9f42bb060 Proxy.java (generate): Uncomment protection domain code.
* 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-25 07:46:19 +00:00
Bryce McKinlay
afa1ee5e6f StringBuffer.java (substring): Don't set `shared' on small Strings, even if buffer is already shared.
* java/lang/StringBuffer.java (substring): Don't set `shared' on
	small Strings, even if buffer is already shared.

From-SVN: r71726
2003-09-24 07:19:24 +01:00
Nathanael Nerode
d0010eed54 * java/lang/System.java: Add GCJ LOCAL note about encoding aliases.
From-SVN: r71710
2003-09-24 01:56:56 +00:00
Nathanael Nerode
da64f72ecd Float.java, [...]: Add GCJ LOCAL markers.
* java/lang/Float.java, java/lang/Double.java: Add GCJ LOCAL
	markers.

From-SVN: r71699
2003-09-23 21:42:40 +00:00
Ralph Loader
88962108fc re PR libgcj/12350 (StringBuffer.substring handles shared flag incorrected.)
2003-09-21  Ralph Loader  <suckfish@ihug.co.nz>

        PR java/12350:
        * java/lang/StringBuffer.java (substring): Fix handling of shared
        flag.

2003-09-21  Ralph Loader  <suckfish@ihug.co.nz>

        PR java/12350
        * libjava.lang/PR12350.java: New file.
        * libjava.lang/PR12350.out: New file.

From-SVN: r71651
2003-09-22 09:17:49 +01:00