Commit Graph

542 Commits

Author SHA1 Message Date
Andrew Haley
d1238423cd natSystem.cc (getenv0): Don't assume environment variable is Latin 1 coded.
2004-06-15  Andrew Haley  <aph@redhat.com>

        * java/lang/natSystem.cc (getenv0): Don't assume environment
        variable is Latin 1 coded.

From-SVN: r83182
2004-06-15 13:43:33 +00:00
Andrew Haley
df94fa14b9 System.java: (getenv0): New method.
2004-06-14  Andrew Haley  <aph@redhat.com>

        * java/lang/System.java: (getenv0): New method.
        (getenv): Add security check.  Do the right thing.
        * java/lang/natSystem.cc (getenv0): New method.

From-SVN: r83107
2004-06-14 14:34:21 +00:00
Michael Koch
071917b066 System.java: Reordered imports.
2004-05-30  Michael Koch  <konqueror@gmx.de>

	* java/lang/System.java: Reordered imports.

From-SVN: r82450
2004-05-30 13:48:03 +00:00
Bryce McKinlay
ca60dce284 gcj.texi (Object allocation): Remove _Jv_AllocBytes.
* gcj.texi (Object allocation): Remove _Jv_AllocBytes.
	(Mixing with C++): Document JvAllocBytes and RawDataManaged.

	* gcj/cni.h (JvAllocBytes): New public CNI function. Calls
	_Jv_AllocBytes.
	* gnu/gcj/RawDataManaged.java: New file.
	* java/lang/Thread.java (data): Declare as RawDataManaged.
	* java/lang/natThread.cc (init_native): Cast natThread data to
	RawDataManaged, not jobject.
	* Makefile.am (ordinary_java_source_files): Add RawDataManaged.
	* Makefile.in: Rebuilt.

From-SVN: r82372
2004-05-28 19:53:06 +01:00
Bryce McKinlay
17abdabcf3 Layout interfaces during preparation, not initialization.
* java/lang/natClass.cc (initializeClass): Move
	_Jv_LayoutInterfaceMethods call...
	* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): to here.

From-SVN: r82101
2004-05-21 17:08:50 +01:00
Anthony Green
a6845d137a Fix typo in last commit.
From-SVN: r82037
2004-05-19 21:49:40 +00:00
Anthony Green
0f22079ec2 Makefile.am: Define JAVA_EXT_DIRS.
2004-05-19  Anthony Green  <green@redhat.com>

	* Makefile.am: Define JAVA_EXT_DIRS.
	* Makefile.in: Rebuilt.
	* java/lang/natRuntime.cc (insertSystemProperties): Set
	java.ext.dirs property.

From-SVN: r82034
2004-05-19 19:31:42 +00:00
Tom Tromey
7b68f0bf7e URLStreamHandler.java (toExternalForm): Removed unused variables.
2004-05-03  Tom Tromey  <tromey@redhat.com>

	* java/net/URLStreamHandler.java (toExternalForm): Removed
	unused variables.
	unused constructor.
	* java/math/BigDecimal.java (divide): Removed unused variable.
	* java/lang/Throwable.java: Cleaned up imports.
	* java/lang/ClassLoader.java: Cleaned up imports.
	* java/io/FilePermission.java (implies): Removed unused
	variable.
	* java/awt/TextComponent.java: Removed unused import.
	* gnu/java/util/prefs/NodeReader.java: Cleaned up imports.
	* gnu/java/util/DoubleEnumeration.java: Removed unused import.
	* gnu/java/text/WordBreakIterator.java: Removed unused import.
	* gnu/java/text/SentenceBreakIterator.java: Removed unused
	import.
	* gnu/java/text/LineBreakIterator.java: Removed unused import.
	* gnu/java/text/CharacterBreakIterator.java: Removed
	unused import.
	* gnu/java/security/provider/DSAKeyPairGenerator.java:
	Cleaned up imports.
	* gnu/java/security/der/DERWriter.java: Cleaned up imports.
	* gnu/java/nio/charset/UTF_16Decoder.java (put): Removed
	unused method.
	* gnu/java/nio/SocketChannelImpl.java: Cleaned up imports.
	* gnu/java/nio/FileLockImpl.java: Cleaned up imports.
	* gnu/java/io/Base64InputStream.java: Cleaned up imports.
	* gnu/java/beans/info/ComponentBeanInfo.java: Cleaned up imports.
	* gnu/classpath/ServiceFactory.java: Cleaned up imports.
	(lookupProviders): Removed unused variable.
	(loadNextServiceProvider): Likewise.
	* gnu/java/beans/BeanInfoEmbryo.java: Cleaned up imports.

From-SVN: r81450
2004-05-03 19:52:29 +00:00
Bryce McKinlay
746ecc7813 natClass.cc (_Jv_LayoutInterfaceMethods): New method.
2004-04-21  Bryce McKinlay  <mckinlay@redhat.com>

        * java/lang/natClass.cc (_Jv_LayoutInterfaceMethods): New method.
        Set method->index values for interface methods to their itable
	index.
        (initializeClass): Call _Jv_LayoutInterfaceMethods.

From-SVN: r80978
2004-04-21 20:26:22 +01:00
Michael Koch
cf6f7d5589 Byte.java, [...]: Fixed javadocs, coding style and argument names all over.
2004-04-20  Michael Koch  <konqueror@gmx.de>

	* java/lang/Byte.java,
	java/lang/CharSequence.java,
	java/lang/ClassLoader.java,
	java/lang/Compiler.java,
	java/lang/Double.java,
	java/lang/Float.java,
	java/lang/Integer.java,
	java/lang/Long.java,
	java/lang/Math.java,
	java/lang/Number.java,
	java/lang/Package.java,
	java/lang/Runtime.java,
	java/lang/RuntimePermission.java,
	java/lang/SecurityManager.java,
	java/lang/Short.java,
	java/lang/StringBuffer.java,
	java/lang/System.java,
	java/lang/ThreadGroup.java,
	java/lang/Throwable.java,
	java/lang/reflect/InvocationHandler.java,
	java/lang/reflect/Proxy.java:
	Fixed javadocs, coding style and argument names all over.

From-SVN: r80899
2004-04-20 12:30:19 +00:00
Bryce McKinlay
f531010820 class.c (make_class_data): Add new field aux_info.
2004-04-19  Bryce McKinlay  <mckinlay@redhat.com>

	* class.c (make_class_data): Add new field aux_info.
	* decl.c (java_init_decl_processing): Push type and decl for
	`aux_info'.

2004-04-19  Bryce McKinlay  <mckinlay@redhat.com>

	* gcj/cni.h (JvAllocObject): Remove these obsolete,
	undocumented CNI calls.
	* include/java-interp.h (_Jv_InterpClass): No longer
	extends java.lang.Class.
	* java/lang/Class.h (Class): Add new field `aux_info'.
	* boehm.cc (_Jv_MarkObj): Update java.lang.Class marking.
	* defineclass.cc: Remove Class<->_Jv_InterpClass casts.
	Use Class->aux_info instead.
	* jni.cc (_Jv_JNI_AllocObject): Use _Jv_AllocObject.
	* resolve.cc: Remove Class<->_Jv_InterpClass casts.
	Use Class->aux_info instead.
	* java/io/natObjectInputStream.cc (allocateObject): Use
	_Jv_AllocObject.
	* java/lang/natClass.cc (newInstance): Likewise.
	* java/lang/natClassLoader.cc (_Jv_NewClass): Likewise.
	* java/lang/natObject.cc (clone): Likewise.
	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Likewise.
	* java/lang/natVMClassLoader.cc (defineClass): Don't use
	JvAllocObject. Allocate klass->aux_info here for interpreted
	class.

From-SVN: r80875
2004-04-20 02:38:46 +01:00
Bryce McKinlay
245c3c04af prims.cc (_Jv_AllocObject): Remove `size' argument.
libjava:
2004-04-15  Bryce McKinlay  <mckinlay@redhat.com>

	* prims.cc (_Jv_AllocObject): Remove `size' argument.
	(_Jv_AllocObjectNoFinalizer): Likewise.
	(_Jv_AllocObjectNoInitNoFinalizer): Likewise.
	(_Jv_AllocPtrFreeObject): Likewise.
	(_Jv_AllocString): Moved from natString.cc. Call collector interface
	directly even in the JVMPI case.
	* gcj/cni.h (JvAllocObject): Remove `size' argument from
	_Jv_AllocObject calls.
	* gcj/javaprims.h: Update prototypes.
	* gnu/gcj/natCore.cc (_Jv_create_core): Use `new', not
	_Jv_AllocObject.
	* java/lang/Class.h: Update _Jv_AllocObject friend prototype.
	* java/lang/natString.cc (_Jv_AllocString): Move to prims.cc.

gcc/cp:
2004-04-15  Bryce McKinlay  <mckinlay@redhat.com>

	* init.c (build_new_1): Don't use type size argument for Java
	_Jv_AllocObject call.

gcc/java:
2004-04-15  Bryce McKinlay  <mckinlay@redhat.com>

	* expr.c (expand_java_NEW): Don't use size argument for
	_Jv_AllocObject calls.
	* parse.y (patch_invoke): Likewise.

From-SVN: r80754
2004-04-16 17:27:19 +01:00
Bryce McKinlay
d7afe286b3 [multiple changes]
2004-04-14  Andrew Haley  <aph@redhat.com>
            Bryce McKinlay  <mckinlay@redhat.com>

	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Use
	_Jv_LookupInterfaceMethodIdx for calls to interfaces.
	* include/jvm.h (_Jv_CallAnyMethodA): Add new 	face' arg.

	* testsuite/libjava.lang/InvokeInterface.java: New file.
	* testsuite/libjava.lang/InvokeInterface.out: New file.

2004-04-14  Bryce McKinlay  <mckinlay@redhat.com>

	* class.c (get_interface_method_index): New function. Return
	dispatch index for interface method.
	(make_method_value): For interface methods, set index field to
	iface dispatch index, not DECL_VINDEX.
	* expr.c (build_invokeinterface): Use get_interface_method_index.

From-SVN: r80684
2004-04-14 18:45:20 +01:00
Ranjit Mathew
84264cb69e VMThrowable.java (getStackTrace): Pass trace as-is to modified lookup().
* java/lang/VMThrowable.java (getStackTrace): Pass trace as-is to
	modified lookup().
	* gnu/gcj/runtime/NameFinder.java (lookup): Change to take in a
	StackTraceElement directly.
	(newElement): New native helper method to create StackTraceElement
	bypassing Java access control.
	(createStackTraceElement): Use newElement() instead of directly
	calling StackTraceElement's constructor.
	* gnu/gcj/runtime/natNameFinder.cc (newElement): New method.

From-SVN: r80541
2004-04-09 04:39:24 +00:00
Michael Koch
2b6b5c35ce 2004-04-01 Michael Koch <konqueror@gmx.de>
* java/lang/SecurityManager.java
	(checkAwtEventQueueAccess): Implemented.

From-SVN: r80314
2004-04-01 19:15:05 +00:00
Anthony Green
95e59f1ada natClass.cc (getClassLoader): Circumvent infinite recursion when searching for the system ClassLoader.
2004-03-21  Anthony Green  <green@redhat.com>

        * java/lang/natClass.cc (getClassLoader): Circumvent infinite
        recursion when searching for the system ClassLoader.

From-SVN: r79871
2004-03-23 19:24:07 +00:00
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