Commit Graph

637 Commits

Author SHA1 Message Date
Tom Tromey 21fae9376c VMSecurityManager.java (currentClassLoader): Use 'systemClasssLoader' directly.
* java/lang/VMSecurityManager.java (currentClassLoader): Use
	'systemClasssLoader' directly.

From-SVN: r99185
2005-05-03 22:15:01 +00:00
Tom Tromey 9d4440a547 VMSecurityManager.java (currentClassLoader): Don't call VMClassLoader.getSystemClassLoader.
* java/lang/VMSecurityManager.java (currentClassLoader): Don't
	call VMClassLoader.getSystemClassLoader.

From-SVN: r99177
2005-05-03 19:33:13 +00:00
Andrew Haley cfbb263896 Class.h (_Jv_ResolvePoolEntry): Declare as friend.
2005-04-29  Andrew Haley  <aph@redhat.com>

	* java/lang/Class.h (_Jv_ResolvePoolEntry): Declare as friend.

From-SVN: r99016
2005-04-29 20:02:47 +00:00
Michael Koch 57fc483297 2005-04-26 Michael Koch <konqueror@gmx.de>
* java/lang/System.java
	(setSecurityManager): Fixed comment.
	(getSecurityManager): Removed obsolete comment.

From-SVN: r98763
2005-04-26 05:09:35 +00:00
Michael Koch 4b30c6bda0 Runtime.java, [...]: Replaced java.lang.Runtime.securityManager by java.lang.SecurityManager.current...
2005-04-25  Michael Koch  <konqueror@gmx.de>

	* java/lang/Runtime.java,
	java/lang/SecurityManager.java,
	java/lang/System.java,
	java/lang/ThreadGroup.java:
	Replaced java.lang.Runtime.securityManager by
	java.lang.SecurityManager.current (as used in GNU classpath).

From-SVN: r98738
2005-04-25 20:35:17 +00:00
Michael Koch ee141b8822 [multiple changes]
2005-04-25  Archie Cobbs  <archie@dellroad.org>

	* java/lang/Throwable.java: simplify initializing cause in constructor

2005-04-25  Michael Koch  <konqueror@gmx.de>

	* gnu/classpath/SystemProperties.java: New file.
	* gnu/classpath/natSystemProperties.cc: New file.
	* java/lang/Runtime.java
	(defaultProperties): Removed.
	(static): Likewise.
	(): Made thrown exceptions more verbose.
	(insertSystemProperties): Removed.
	* java/lang/System.java
	(static): Likewise.
	(properties): Likewise.
	(setSecurityManager): Reordered modifiers.
	(getenv): Improved javadoc.
	(): Likewise.
	(isWordsBigEndian): Removed.
	* java/lang/natRuntime.cc
	(_Jv_SetDLLSearchPath): Likewise.
	(file_encoding): Likewise.
	(default_file_encoding): Likewise.
	(getpwuid_adaptor): Likewise.
	(insertSystemProperties): Likewise.
	* java/lang/natSystem.cc
	(isWordsBigEndian): Likewise.
	* Makefile.am
	(ordinary_java_source_files):
	Added gnu/classpath/SystemProperties.java.
	(nat_source_files): Added gnu/classpath/natSystemProperties.cc.
	* Makefile.in: Regenerated.

From-SVN: r98734
2005-04-25 19:48:35 +00:00
Anthony Green f00fac9d2f jni.cc (natrehash): Don't bother clearing memory again.
2005-04-22  Anthony Green  <green@redhat.com>

        * jni.cc (natrehash): Don't bother clearing memory again.
        * interpret.cc (do_allocate_static_fields): Ditto.
        * java/lang/natString.cc (rehash): Ditto.

From-SVN: r98583
2005-04-22 19:02:41 +00:00
Tom Tromey 36a0d3d264 * java/lang/natClass.cc (initializeClass): Link class.
From-SVN: r98540
2005-04-22 02:33:31 +00:00
Tom Tromey 8fd5bcbe95 AssertionError.java: Typo fix.
2005-04-21  Tom Tromey  <tromey@redhat.com>

	* java/lang/AssertionError.java: Typo fix.

From-SVN: r98523
2005-04-21 20:41:32 +00:00
Tom Tromey aa3241f328 VMClassLoader.java (transformException): Removed.
* java/lang/VMClassLoader.java (transformException): Removed.
	(resolveClass): No longer native.  Now does nothing.
	* java/lang/natVMClassLoader.cc (resolveClass): Removed.

From-SVN: r98516
2005-04-21 17:20:36 +00:00
Mark Wielaard 8a5691f87d natRuntime.cc (insertSystemProperties): Set java.class.path to CLASSPATH only when not empty.
* java/lang/natRuntime.cc (insertSystemProperties): Set
       java.class.path to CLASSPATH only when not empty. Fall back to
       default path "." when java.class.path is empty.

From-SVN: r98394
2005-04-19 09:29:16 +00:00
Tom Tromey 8fe0225bf8 natVMClassLoader.cc (loadClass): Call resolveClass, not _Jv_InitClass.
* java/lang/natVMClassLoader.cc (loadClass): Call resolveClass,
	not _Jv_InitClass.

From-SVN: r98388
2005-04-19 06:36:10 +00:00
Mark Wielaard f5e002ce85 natRuntime.cc (insertSystemProperties): Set java.class.path to CLASSPATH if not already set.
* java/lang/natRuntime.cc (insertSystemProperties): Set
       java.class.path to CLASSPATH if not already set.

From-SVN: r98099
2005-04-13 16:46:47 +00:00
Andrew Haley 58bf803e6c bytearray.java: New file.
2005-04-06  Andrew Haley  <aph@redhat.com>

	* testsuite/libjava.lang/bytearray.java: New file.
	* testsuite/libjava.lang/bytearray.out: New file.
	* java/lang/ClassLoader.java (loadClassFromSig): Declare
	(loadClass): Use it.
	* java/lang/natClassLoader.cc (loadClassFromSig): New method.

From-SVN: r97756
2005-04-06 22:30:01 +00:00
Thomas Fitzsimmons c33b7bf04a re PR libgcj/20750 (libgcj needs a --with-java-home configure option)
2005-04-05  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* doc/install.texi (Configuration): Document --with-java-home.

2005-04-05  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/20750
	* Makefile.am (AM_CXXFLAGS): Define JAVA_HOME.
	* Makefile.in: Regenerate.
	* configure.ac: Add --with-java-home option.
	* configure: Regenerate.
	* external/Makefile.in: Regenerate.
	* external/sax/Makefile.in: Regenerate.
	* external/w3c_dom/Makefile.in: Regenerate.
	* gcj/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.
	* java/lang/natRuntime.cc (insertSystemProperties): Set java.home
	to JAVA_HOME macro.

From-SVN: r97671
2005-04-05 23:46:09 +00:00
Tom Tromey 8b6e769053 jni.cc (_Jv_JNI_GetAnyFieldID): Throw ClassNotFoundException.
* jni.cc (_Jv_JNI_GetAnyFieldID): Throw ClassNotFoundException.
	* java/lang/reflect/natMethod.cc (_Jv_GetTypesFromSignature):
	Rewrote to use _Jv_FindClassFromSignature.
	* verify.cc (resolve): throw NoClassDefFoundError.
	* link.cc (resolve_field): Throw NoClassDefFoundError.
	(find_field): Likewise.
	* prims.cc (_Jv_FindClassFromSignature): Removed recursion.
	Handle error cases.  Added 'endp' argument.
	* include/jvm.h (_Jv_FindClassFromSignature): Updated prototype.

From-SVN: r97660
2005-04-05 22:26:26 +00:00
Tom Tromey 6a5d24d70d ClassLoader.java (loadClass): Resolve class even if it was already found.
* java/lang/ClassLoader.java (loadClass): Resolve class even if
	it was already found.

From-SVN: r97565
2005-04-04 18:40:24 +00:00
Thomas Fitzsimmons b6121641fc re PR libgcj/20090 (gij should be implemented in Java)
2005-04-01  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gcj.texi (Invoking gij): Add descriptions of new -X options.
	Mention recognized-and-ignored compatibility options.
	(Memory allocation): Add descriptions of JvMalloc, JvRealloc and
	JvFree.
	(About CNI): Add Memory allocation section.

2005-04-01  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/20090, PR libgcj/20526
	* gij.cc (nonstandard_opts_help): New function.
	(add_option): New function.
	(main): Support java options.  Set java.class.path.  Don't set
	_Jv_Jar_Class_Path.
	* prims.cc (parse_x_arg): New function.
	(parse_init_args): Call parse_x_arg for -X and _ options, when
	ignoreUnrecognized is true.
	(new _Jv_RunMain): New vm_args variant.
	(old _Jv_RunMain): Call new vm_args _Jv_RunMain.
	(_Jv_Jar_Class_Path): Remove variable.
	* include/java-props.h: Likewise.
	* include/cni.h (JvRealloc): New function.
	* include/jvm.h (_Jv_RunMain): Declare vm_args variant.
	* java/lang/natRuntime.cc (insertSystemProperties): Remove
	_Jv_Jar_Class_Path logic.  Use JV_VERSION and JV_API_VERSION
	macros.
	* configure.ac (JV_VERSION): Define.
	(JV_API_VERSION): Likewise.
	* configure: Regenerate.
	* include/config.h.in: Regenerate.

From-SVN: r97429
2005-04-02 02:26:51 +00:00
Mark Anderson 9545f3a933 natDouble.cc (parseDouble): Handle NaN, Infinity and -Infinity as parameters.
2005-04-01 Mark Anderson <mark@panonet.net>

	* java/lang/natDouble.cc (parseDouble): Handle NaN, Infinity and
	-Infinity as parameters.

From-SVN: r97424
2005-04-02 01:18:45 +00:00
Tom Tromey ef87438639 natVMClassLoader.cc (getSystemClassLoaderInternal): Updated for name change.
* java/lang/natVMClassLoader.cc (getSystemClassLoaderInternal):
	Updated for name change.
	(nativeFindClass): New method.
	(loadClass): Use nativeFindClass.
	* java/lang/natClassLoader.cc (_Jv_FindClass): Use single-argument
	form of loadClass.
	* java/lang/VMClassLoader.java (tried_libraries, lib_control,
	LIB_FULL, LIB_CACHE, LIB_NEVER): New fields from old
	VMClassLoader.
	(initialize): New method.
	(nativeFindClass): Declare.
	* gnu/gcj/runtime/natVMClassLoader.cc: Removed.
	* gnu/gcj/runtime/VMClassLoader.java: Removed.
	* gnu/gcj/runtime/ExtensionClassLoader.java: Renamed from
	VMClassLoader.java.
	(definePackageForNative): Removed.
	(tried_libraries, LIB_CACHE, LIB_FULL, LIB_NEVER, lib_control):
	Moved to VMClassLoader.java.
	* prims.cc (_Jv_CreateJavaVM): Updated for renaming.
	* Makefile.am (gnu/gcj/runtime/ExtensionClassLoader.h): Renamed.
	(ordinary_java_source_files): Added ExtensionClassLoader.java,
	removed VMClassLoader.java.
	(nat_source_files): Removed natVMClassLoader.cc.

From-SVN: r97414
2005-04-01 19:19:13 +00:00
Tom Tromey dc0a6205e6 natRuntime.cc (insertSystemProperties): Set gnu.gcj.runtime.endorsed.dirs.
libjava:
	* java/lang/natRuntime.cc (insertSystemProperties): Set
	gnu.gcj.runtime.endorsed.dirs.
	* Makefile.in: Rebuilt.
	* Makefile.am (ordinary_java_source_files): Added
	HelperClassLoader.java.
	(AM_CXXFLAGS): Define GCJ_ENDORSED_DIRS.
	* gnu/gcj/runtime/VMClassLoader.java (VMClassLoader): Extends
	HelperClassLoader.
	(init): Use addDirectoriesFromProperty.
	* gnu/gcj/runtime/BootClassLoader.java (BootClassLoader): Extends
	HelperClassLoader.  Use addDirectoriesFromProperty.  Handle
	gnu.gcj.runtime.endorsed.dirs.
	* gnu/gcj/runtime/HelperClassLoader.java: New file.
gcc/java:
	* gcj.texi (libgcj Runtime Properties): Document
	gnu.gcj.runtime.endorsed.dirs.

From-SVN: r97207
2005-03-29 21:47:03 +00:00
Tom Tromey aa893047e8 Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (AM_CXXFLAGS): Define TOOLEXECLIBDIR.
	(libgcj0_convenience_la_SOURCES): Don't include
	gnu_xml_source_files.
	(libgcj0_convenience_la_LIBADD): New variable.
	(libgcj_la_LIBADD): Don't include sax or w3c_dom.
	(all_java_source_files): javax_imageio_source_files,
	javax_xml_source_files, and gnu_java_beans_source_files.
	($(gnu_xml_source_files:.java=.lo)): Removed target.
	(gnu-xml.lo): New target.
	(javax-imageio.lo): Likewise.
	(javax-xml.lo): Likewise.
	(gnu-java-beans.lo): Likewise.
	(gnu_java_beans_source_files): New variable.
	(javax_imageio_source_files): Likewise.
	(javax_xml_source_files): Likewise.
	(javax_source_files): Moved files to other variable.
	(awt_java_source_files): Likewise.
	(ordinary_java_source_files): Added BootClassLoader.java.
	* java/lang/natVMClassLoader.cc (defineClass): Use boot loader,
	not system class loader.
	(initBootLoader): New method.
	(loadClass): Search bootLoader.
	* java/lang/natClassLoader.cc (_Jv_RegisterInitiatingLoader): Use
	boot loader, not system class loader.
	(_Jv_UnregisterInitiatingLoader): Likewise.
	(_Jv_FindClass): Likewise.  Ensure entries in
	bootstrap_class_list are unique.
	* java/lang/natClass.cc (getClassLoader): Don't special case
	system class loader.
	* java/lang/VMClassLoader.java (bootLoader): New field.
	(getResource): Use bootLoader.
	(getResources): Likewise.
	(initBootLoader): Declare.
	* gnu/gcj/runtime/BootClassLoader.java: New file.
	* external/sax/org/xml/sax/helpers/NamespaceSupport.java
	(EMPTY_ENUMERATION): Now package-private.
	* external/w3c_com/Makefile.in: Rebuilt.
	* external/w3c_com/Makefile.am (MULTIBUILDTOP): New variable.
	(w3c.jar): New target.
	(classes.stamp): Updated.
	(toolexeclib_LTLIBRARIES): Renamed from noinst_LTLIBRARIES.
	Changed name of library.
	(libw3c_gcj_la_SOURCES): New variable.
	(libw3c_gcj_la_GCJFLAGS): Likewise.
	(source_files): Renamed from lib3c_convenience_la_SOURCES.
	* external/sax/Makefile.in: Rebuilt.
	* external/sax/Makefile.am (MULTIBUILDTOP): New variable.
	(sax.jar): New target.
	(classes.stamp): Updated.
	(toolexeclib_LTLIBRARIES): Renamed from noinst_LTLIBRARIES.
	Changed name of library.
	(libsax_gcj_la_SOURCES): New variable.
	(libsax_gcj_la_GCJFLAGS): Likewise.
	(source_files): Renamed from libsax_convenience_la_SOURCES.
	* stacktrace.cc (non_system_trace_fn): Don't look at system class
	loader.
	* prims.cc (_Jv_CreateJavaVM): Initialize the bootstrap class
	loader.
	(_Jv_RunMain): Handle case where 'runtime' is NULL at exit.

From-SVN: r96960
2005-03-24 00:04:22 +00:00
Mike Stump 4148df124f posix.h: .dylib is used on all Apple MACH platforms.
* include/posix.h: .dylib is used on all Apple MACH platforms.
        * java/lang/ieeefp.h: ppc64 is also __IEEE_BIG_ENDIAN.

From-SVN: r96889
2005-03-22 20:10:16 +00:00
Tom Tromey 1ccc1c82d8 VMCompiler.java (static block): Also catch BufferUnderflowException.
* java/lang/VMCompiler.java (static block): Also catch
	BufferUnderflowException.

From-SVN: r96832
2005-03-21 20:59:18 +00:00
Andrew Haley e5a8980bb9 natVMSecurityManager.cc (getClassContext): Add new arg: klass.
2005-03-17  Andrew Haley  <aph@redhat.com>

	* java/lang/natVMSecurityManager.cc (getClassContext): Add new
	arg: klass.
	Pass klass to _Jv_StackTrace::GetClassContext().
	* java/lang/ClassLoader.java (getParent): Pass class to
	VMSecurityManager.getClassContext()
	(getSystemClassLoader): Likewise.
	* java/lang/Package.java (getPackage): Likewise.
	(getPackages): Likewise.
	* java/lang/SecurityManager.java (getClassContext): Likewise.
	(currentClassLoader): Likewise.
	* java/lang/VMSecurityManager.java: (getClassContext): Likewise.
	(currentClassLoader) Add new arg: caller.
	Pass caller to VMSecurityManager.getClassContext.

	* stacktrace.cc (GetClassContext): Correct calculation of
	jframe_count.

	* boehm.cc (_Jv_MarkObj): (_Jv_MarkObj): Mark
	im->source_file_name.

From-SVN: r96803
2005-03-21 14:50:14 +00:00
Tom Tromey f37a936b56 link.cc (ensure_class_linked): Removed #ifdef.
* link.cc (ensure_class_linked): Removed #ifdef.
	(print_class_loaded): Likewise.
	(wait_for_state): Likewise.
	* java/lang/Class.h (_Jv_IsInterpretedClass): Always declare.
	* include/jvm.h (_Jv_IsInterpretedClass): Moved from...
	* include/java-interp.h: ... here.

From-SVN: r96589
2005-03-17 00:18:50 +00:00
Andreas Tobler 455d8f0605 stacktrace.cc (_Jv_StackTrace::UnwindTraceFn): Protect interpreter-specific code with #ifdef INTERPRETER.
2005-03-15  Andreas Tobler  <a.tobler@schweiz.ch>

        * stacktrace.cc (_Jv_StackTrace::UnwindTraceFn): Protect
        interpreter-specific code with #ifdef INTERPRETER.
        (_Jv_StackTrace::getLineNumberForFrame): Likewise.
        (_Jv_StackTrace::FillInFrameInfo): Likewise.
        (_Jv_StackTrace::non_system_trace_fn): Likewise.
        * include/java-stack.h (struct _Jv_InterpFrameInfo): Protect  with
        #ifdef INTERPRETER. Also protect declarations that use it.
        * java/lang/Class.h: Move _Jv_StackTrace friend declaration  outside
        #ifdef INTERPRETER block.

From-SVN: r96571
2005-03-16 18:18:59 +00:00
Tom Tromey 558b8548b4 Main.java (main): Handle '-p'.
libjava:
	* gnu/gcj/tools/gcj_dbtool/Main.java (main): Handle '-p'.
	(usage): Document '-p'.
	* Makefile.in: Rebuilt.
	* Makefile.am (dbexecdir): New variable.
	(db_name): Likewise.
	(dbexec_DATA): Likewise.
	($(db_name)): New target.
	(AM_CXXFLAGS): Define LIBGCJ_DEFAULT_DATABASE.
	* java/lang/natRuntime.cc (insertSystemProperties): Set default
	system database.
gcc/java:
	* gcj.texi (Invoking gcj-dbtool): Document 'gcj-dbtool -p'.
	(libgcj Runtime Properties): Document the default .db.

From-SVN: r96303
2005-03-11 17:35:37 +00:00
Bryce McKinlay c0cbd60130 exception.cc: Remove stray MethodRef.h include.
2005-03-10  Bryce McKinlay  <mckinlay@redhat.com>

        * exception.cc: Remove stray MethodRef.h include.
        * java/lang/natClass.cc: Likewise.
        * gnu/gcj/runtime/MethodRef.java: Removed.
        * gnu/gcj/runtime/StackTrace.java, gnu/gcj/runtime/natNameFinder.cc,
        gnu/gcj/runtime/natStackTrace.cc: Really removed.
        * java/lang/natRuntime.cc (_load): Remove unsed variable.
        * Makefile.am (ordinary_java_source_files): Remove MethodRef.java.
        * Makefile.in: Rebuilt.

From-SVN: r96288
2005-03-11 04:30:20 +00:00
Bryce McKinlay 18744d9b72 New Stack Trace infrastructure.
2005-03-10  Bryce McKinlay  <mckinlay@redhat.com>

	New Stack Trace infrastructure.
	* Makefile.am (libgcj0_convenience_la_SOURCES): Add stacktrace.cc.
	(gnu/gcj/runtime/StackTrace.lo): Removed.
	(ordinary_java_source_files): Remove obsolete files.
	(nat_source_files): Remove obsolete files. Add natVMThrowable.cc.
	* configure.host (fallback_backtrace_h): Set backtrace header
	for mingw and cygwin targets.
	* configure.ac: Make symlink for fallback backtrace headers.
	* Makefile.in, configure: Rebuilt.
	* defineclass.cc (_Jv_ClassReader::read_one_code_attribute):
	Read 'LineNumberTable' attribute.
	(_Jv_ClassReader::read_one_class_attribute): Read 'SourceFile'
	attribute.
	(_Jv_ClassReader::handleCodeAttribute): Initialize method line
	table fields.
	* exception.cc: Remove unused include.
	* interpret.cc (DIRECT_THREADED, insn_slot): Moved to java-interp.h.
	(SAVE_PC): New macro. Save current PC in the interpreter frame.
	(NULLCHECK, NULLARRAYCHECK): Use SAVE_PC.
	(_Jv_InterpMethod::compile): Translate bytecode PC values in the line
	table to direct threaded instruction values.
	(_Jv_StartOfInterpreter, _Jv_EndOfInterpreter): Removed.
	(_Jv_InterpMethod::run): No longer member function. All
	callers updated. Remove _Unwind calls. Call SAVE_PC whenever a call
	is made or where an instruction could throw.
	(_Jv_InterpMethod::get_source_line): New. Look up source line numbers
	in line_table.
	* prims.cc (catch_segv): Construct exception after MAKE_THROW_FRAME.
	(catch_fpe): Likewise.
	* stacktrace.cc: New file. Stack trace code now here.
	* gnu/gcj/runtime/MethodRef.java:
	* gnu/gcj/runtime/NameFinder.java: Mostly reimplemented. Now simply
	calls addr2line to look up PC addresses in a given binary or shared
	library.
	* gnu/gcj/runtime/StackTrace.java, gnu/gcj/runtime/natNameFinder.cc,
	gnu/gcj/runtime/natStackTrace.cc: Removed.
	* gnu/java/lang/MainThread.java (call_main): Add comment warning that
	this function name is specially recognised by the stack trace code
	and shouldn't be changed.
	* include/java-interp.h (DIRECT_THREADED, insn_slot): Moved here.
	(struct  _Jv_LineTableEntry, line_table, line_table_len): New.
	(_Jv_InterpMethod::run): Update declaration.
	(_Jv_StackTrace_): New friend. NameFinder and StackTrace no longer
	friends.
	(_Jv_InterpFrame): Renamed from _Jv_MethodChain. Add PC field.
	* include/java-stack.h: New file. Declarations for stack tracing.
	* include/jvm.h (_Jv_Frame_info): Removed.
	* java/lang/Class.h: Update friend declarations.
	* java/lang/VMClassLoader.java (getSystemClassLoader): Simplify
	exception message.
	* java/lang/VMThrowable.java (fillInStackTrace): Now native.
	(getStackTrace): Now native.
	(data): New RawDataManaged field.
	* java/lang/natClass.cc: Update includes.
	(forName): Use _Jv_StackTrace::GetCallingClass for
	calling-classloader check.
	(getClassLoader): Likewise.
	* java/lang/natRuntime.cc: Update includes.
	(_load): Use _Jv_StackTrace::GetFirstNonSystemClassLoader.
	* java/lang/natVMSecurityManager.cc: Update includes.
	(getClassContext): Use _Jv_StackTrace::GetClassContext.
	* java/lang/natVMThrowable.cc: New file. Native methods for
	VMThrowable.
	* java/lang/reflect/natArray.cc: Update includes.
	(newInstance): Use _Jv_StackTrace::GetCallingClass to implement
	accessibility check.
	* java/lang/reflect/natConstructor.cc: Update includes.
	(newInstance): Use _Jv_StackTrace::GetCallingClass to implement
	accessibility check.
	* java/lang/reflect/natField.cc: Update includes.
	(getAddr): Use _Jv_StackTrace::GetCallingClass to implement
	accessibility check.
	* java/lang/reflect/natMethod.cc: Update includes.
	(invoke): Use _Jv_StackTrace::GetCallingClass to implement
	accessibility check.
	* java/util/natResourceBundle.cc: Update includes.
	(getCallingClassLoader): Use _Jv_StackTrace::GetCallingClass.
	* java/util/logging/natLogger.cc: Update includes. Use
	_Jv_StackTrace::GetCallerInfo to get call-site info.
	* sysdep/generic/backtrace.h: Fallback backtrace code. Stub
	implementation.
	* sysdep/i386/backtrace.h: New. Fallback backtrace code. i386
	implementation.

From-SVN: r96253
2005-03-10 19:02:21 +00:00
Tom Tromey b7a29fa9f2 natVMClassLoader.cc (defineClass): Reference 'systemClassLoader' field directly.
* java/lang/natVMClassLoader.cc (defineClass): Reference
	'systemClassLoader' field directly.
	* java/lang/natRuntime.cc (_load): Reference 'systemClassLoader'
	field directly.
	* java/lang/natClassLoader.cc (_Jv_RegisterInitiatingLoader):
	Reference 'systemClassLoader' field directly.
	(_Jv_UnregisterInitiatingLoader): Likewise.
	(_Jv_FindClass): Likewise.

From-SVN: r96208
2005-03-09 20:58:17 +00:00
Andreas Tobler 9b868aff56 fdlibm.h: Merge an AIX define from GNU Classpath.
2005-03-09  Andreas Tobler  <a.tobler@schweiz.ch>

	* java/lang/fdlibm.h: Merge an AIX define from GNU Classpath.

	* java/lang/mprec.h: Remove commented headers. Fix comment to match
	the file in GNU Classpath style.

From-SVN: r96207
2005-03-09 21:57:25 +01:00
Tom Tromey 088a176274 VMCompiler.java (md5Digest): New field.
* java/lang/VMCompiler.java (md5Digest): New field.
	(compileClass): Clone md5Digest instead of looking up a new one.

From-SVN: r96039
2005-03-07 19:51:10 +00:00
Andreas Tobler 2fdedf0462 dtoa.c (_dtoa_r): Initialize variables ilim, ilim1 and spec_case.
2005-03-05  Andreas Tobler  <a.tobler@schweiz.ch>

	* java/lang/dtoa.c (_dtoa_r): Initialize variables ilim, ilim1 and
	spec_case. Initialize pointer mlo.

	* java/lang/strtod.c (_strtod_r): Initialize pointers bb, bd, ds and
	delta.

	* java/lang/e_asin.c (__ieee754_asin): Initialize variable t.

	* java/lang/e_exp.c (__ieee754_exp): Initialize variables hi, lo
	and k.

	* java/lang/e_rem_pio2.c (__ieee754_rem_pio2): Initialize
	uninitialized variable z.

	* gnu/java/net/natPlainDatagramSocketImplPosix.cc (mcastGrp): Ifdef
	possible unused variables.

	* gnu/java/nio/natPipeImplPosix.cc (init): Remove self.

	* jawt.c: Include <stdlib.h> to fix implict declaration of malloc.

From-SVN: r95925
2005-03-05 08:47:58 +01:00
Thomas Fitzsimmons bc71e4a22b re PR libgcj/16923 (-D* Options passed to JNI_CreateJavaVM are ignored)
2005-02-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/16923
	* gcj.texi (Invocation): Add descriptions of JvVMInitArgs and
	JvVMOption.

2005-02-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/16923
	* jni.cc (JNI_CreateJavaVM): Check JNI version.  Cast args to
	JvVMInitArgs.  Pass args to _Jv_CreateJavaVM and check return
	value.  Move argument parsing code to prims.cc.
	* prims.cc (no_properties): Remove.
	(_Jv_Compiler_Properties): Initialize to NULL.
	(_Jv_Properties_Count): Initialize to 0.
	(parse_verbose_args): New function.
	(parse_init_args): New function.
	(_Jv_CreateJavaVM): Call parse_init_args.
	(_Jv_RunMain): Check return value of _Jv_CreateJavaVM.
	* gcj/cni.h (JvVMOption): New struct.
	(JvVMInitArgs): Likewise.
	(JvCreateJavaVM): Declare vm_args as JvVMInitArgs* rather than
	void*.
	* libjava/gcj/javaprims.h (_Jv_VMOption): New struct.
	(_Jv_VMInitArgs): Likewise.
	* include/java-props.h (_Jv_Properties_Count): Declare.
	* java/lang/natRuntime.cc (insertSystemProperties): Use
	_Jv_Properties_Count in for loop exit condition.
	* testsuite/libjava.jni/jni.exp
	(gcj_invocation_compile_c_to_binary): New procedure.
	(gcj_invocation_test_one): Likewise.
	(gcj_jni_run): Run JNI invocation API tests.
	* testsuite/libjava.jni/invocation/PR16923.c,
	testsuite/libjava.jni/invocation/PR16923.java,
	testsuite/libjava.jni/invocation/PR16923.out: New test.

From-SVN: r95459
2005-02-23 17:36:26 +00:00
Jeroen Frijters b5abfc2344 Proxy.java, [...]: Don't catch java.lang.ThreadDeath.
2005-02-22  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/reflect/Proxy.java,
	java/net/URL.java,
	java/security/SecureRandom.java,
	java/util/Timer.java,
	java/util/prefs/AbstractPreferences.java:
	Don't catch java.lang.ThreadDeath.

From-SVN: r95415
2005-02-22 21:11:29 +00:00
Tom Tromey af43b1adeb * java/lang/Object.h (_JvObjectPrefix): Declare as extern "Java".
From-SVN: r95405
2005-02-22 18:29:43 +00:00
Bryce McKinlay f4294557b7 [multiple changes]
2005-02-21  Bryce McKinlay  <mckinlay@redhat.com>

	Merge serialization from GNU Classpath.
	* gcj/method.h: Add missing #includes.
	* java/io/ObjectInputStream.java (readClassDescriptor): Check for
	primitive class IDs on the stream here...
	(resolveClass): ...not here.
	* java/io/ObjectStreamField.java: Use VMObjectStream class calls to set
	fields.
	* java/io/VMObjectStreamClass.java (setDoubleNative, setFloatNative,
	setLongNative, setIntNative, setShortNative, setCharNative,
	setByteNative, setBooleanNative, setObjectNative): New native methods.
	* java/io/natVMObjectStreamClass.java (setDoubleNative, setFloatNative,
	setLongNative, setIntNative, setShortNative, setCharNative,
	setByteNative, setBooleanNative, setObjectNative): Implement them.
	* java/io/natObjectInputStream.cc (allocateObject): Add new parameters
	from Classpath's version. Use _Jv_FromReflectedConstructor(). Call
	the constructor here.
	(callConstructor): Removed.
	(getCallersClassLoader): Removed.
	* java/lang/reflect/Field.java (setByte, setShort, setInt, setLong,
	setFloat, setDouble, setChar, setBoolean): Add 'checkFinal' parameter
	to control whether setting final field values is permitted. Call
	getAddr() with checkFinal parameter instead of setAddr().
	* java/lang/reflect/natField.cc (getType): Lookup and resolve field
	only if not done already.
	(getAddr): Add checkFinal parameter. Do the final field check only if
	checkFinal is set.
	(setAddr): Removed.

2005-02-21  Mark Wielaard  <mark@klomp.org>

	# Fixes bug #11957
	* java/io/ObjectInputStream.java (resolveClass): Don't check "void"
	twice.

2005-02-21  Mark Wielaard  <mark@klomp.org>

	Fixes bug #11618.
	* java/io/ObjectInputStream.java (readClassDescriptor): Handle classes
	without a super class and us ObjectStreamClass.lookupForClassObject().
	(resolveClass): Check for primitive types.
	(lookupClass): Return null when argument is null.

2005-02-21  Jeroen Frijters  <jeroen@frijters.net>

	* java/io/ObjectInputStream.java
	(readObject): Fix to consume TC_ENDBLOCKDATA after readExternal.

2005-02-21  Jeroen Frijters  <jeroen@frijters.net>

	* java/io/ObjectOutputStream.java
	(writeObject, callWriteMethod): Replaced reflection with accessing
	cached info in ObjectStreamClass.
	(getMethod): Removed.
	* java/io/ObjectStreamClass.java
	(findMethod): Added check to make sure the method found has the
	right modifiers.
	(cacheMethods): Added writeReplace and writeObject methods.
	(setFlags): Look at new writeObjectMethod field instead of doing
	reflection again.
	(writeReplaceMethod): New field.
	(writeObjectMethod): New field.

2005-02-21  Guilhem Lavaux  <guilhem@kaffe.org>
	Jeroen Frijters  <jeroen@frijters.net>

	* java/io/ObjectInputStream.java
	(newObject): Changed prototype. Get a constructor reflect object
	directly.
	(callConstructor): Removed.
	(allocateObject): Changed prototype.
	(readClassDescriptor): Build the constructor reflection directly.
	(readObject): Invoke newObject using the new prototype.

	* java/io/ObjectStreamClass.java
	(firstNonSerializableParent): Removed.
	(firstNonSerializableParentConstructor): Added.

From-SVN: r95378
2005-02-22 03:13:35 +00:00
Anthony Green 95432490db natRuntime.cc (insertSystemProperties): Normalize x86 architecture names to "i386" for compatibility reasons.
2005-02-18  Anthony Green  <green@redhat.com>

        * java/lang/natRuntime.cc (insertSystemProperties): Normalize x86
        architecture names to "i386" for compatibility reasons.  Win32
        still uses "x86".

From-SVN: r95243
2005-02-18 23:29:44 +00:00
Tom Tromey 2a2c6e55e7 Class.h (_Jv_GetMethodString): Updated declaration.
* java/lang/Class.h (_Jv_GetMethodString): Updated declaration.
	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Updated.
	* java/lang/natClass.cc (_Jv_LookupInterfaceMethod): Updated.
	* link.cc (_Jv_GetMethodString): Added 'derived' argument.
	Changed type of second argument.  Rewrote.
	(make_vtable): Use it.
	(append_partial_itable): Updated.
	(layout_vtable_methods): Updated.

From-SVN: r95181
2005-02-17 19:17:08 +00:00
Michael Koch 96dd155e2c GThreadNativeMethodRunner.java, [...]: Fixed usage of @author tag...
2005-02-17  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java,
	gnu/java/awt/peer/gtk/GdkFontPeer.java,
	gnu/java/awt/peer/gtk/GdkGlyphVector.java,
	gnu/java/awt/peer/gtk/GdkGraphics.java,
	gnu/java/awt/peer/gtk/GdkGraphics2D.java,
	gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.java,
	gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java,
	gnu/java/awt/peer/gtk/GdkPixbufDecoder.java,
	gnu/java/awt/peer/gtk/GdkRobotPeer.java,
	gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java,
	gnu/java/awt/peer/gtk/GdkTextLayout.java,
	gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java,
	gnu/java/awt/peer/gtk/GtkChoicePeer.java,
	gnu/java/awt/peer/gtk/GtkClipboard.java,
	gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkFileDialogPeer.java,
	gnu/java/awt/peer/gtk/GtkFontPeer.java,
	gnu/java/awt/peer/gtk/GtkLabelPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuBarPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuItemPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuPeer.java,
	gnu/java/awt/peer/gtk/GtkScrollPanePeer.java,
	gnu/java/awt/peer/gtk/GtkScrollbarPeer.java,
	gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/GtkWindowPeer.java,
	java/applet/Applet.java,
	java/awt/AWTError.java,
	java/awt/AWTEvent.java,
	java/awt/AWTEventMulticaster.java,
	java/awt/AWTException.java,
	java/awt/AWTKeyStroke.java,
	java/awt/AWTPermission.java,
	java/awt/ActiveEvent.java,
	java/awt/Adjustable.java,
	java/awt/AlphaComposite.java,
	java/awt/AttributeValue.java,
	java/awt/BorderLayout.java,
	java/awt/BufferCapabilities.java,
	java/awt/Button.java,
	java/awt/Canvas.java,
	java/awt/CheckboxGroup.java,
	java/awt/CheckboxMenuItem.java,
	java/awt/Color.java,
	java/awt/ColorPaintContext.java,
	java/awt/Component.java,
	java/awt/ComponentOrientation.java,
	java/awt/Composite.java,
	java/awt/CompositeContext.java,
	java/awt/Container.java,
	java/awt/ContainerOrderFocusTraversalPolicy.java,
	java/awt/DefaultFocusTraversalPolicy.java,
	java/awt/Dialog.java,
	java/awt/Dimension.java,
	java/awt/DisplayMode.java,
	java/awt/EventQueue.java,
	java/awt/FileDialog.java,
	java/awt/FontFormatException.java,
	java/awt/Graphics.java,
	java/awt/Graphics2D.java,
	java/awt/GraphicsConfigTemplate.java,
	java/awt/GraphicsConfiguration.java,
	java/awt/GraphicsDevice.java,
	java/awt/GridBagLayout.java,
	java/awt/GridBagLayoutInfo.java,
	java/awt/GridLayout.java,
	java/awt/HeadlessException.java,
	java/awt/IllegalComponentStateException.java,
	java/awt/Image.java,
	java/awt/Insets.java,
	java/awt/ItemSelectable.java,
	java/awt/JobAttributes.java,
	java/awt/KeyEventDispatcher.java,
	java/awt/KeyEventPostProcessor.java,
	java/awt/KeyboardFocusManager.java,
	java/awt/Label.java,
	java/awt/LayoutManager.java,
	java/awt/MenuBar.java,
	java/awt/MenuComponent.java,
	java/awt/MenuContainer.java,
	java/awt/PageAttributes.java,
	java/awt/Paint.java,
	java/awt/PaintContext.java,
	java/awt/Panel.java,
	java/awt/Point.java,
	java/awt/Polygon.java,
	java/awt/PrintGraphics.java,
	java/awt/PrintJob.java,
	java/awt/Rectangle.java,
	java/awt/RenderingHints.java,
	java/awt/Shape.java,
	java/awt/Stroke.java,
	java/awt/SystemColor.java,
	java/awt/Toolkit.java,
	java/awt/Transparency.java,
	java/awt/Window.java,
	java/awt/color/CMMException.java,
	java/awt/color/ColorSpace.java,
	java/awt/color/ICC_ColorSpace.java,
	java/awt/color/ICC_Profile.java,
	java/awt/color/ProfileDataException.java,
	java/awt/datatransfer/FlavorTable.java,
	java/awt/datatransfer/MimeTypeParseException.java,
	java/awt/datatransfer/Transferable.java,
	java/awt/datatransfer/UnsupportedFlavorException.java,
	java/awt/dnd/Autoscroll.java,
	java/awt/dnd/DnDConstants.java,
	java/awt/dnd/DragGestureListener.java,
	java/awt/dnd/DragSourceAdapter.java,
	java/awt/dnd/DragSourceDropEvent.java,
	java/awt/dnd/DragSourceListener.java,
	java/awt/dnd/DragSourceMotionListener.java,
	java/awt/dnd/DropTargetAdapter.java,
	java/awt/dnd/DropTargetContext.java,
	java/awt/dnd/DropTargetListener.java,
	java/awt/dnd/InvalidDnDOperationException.java,
	java/awt/dnd/MouseDragGestureRecognizer.java,
	java/awt/dnd/peer/DropTargetContextPeer.java,
	java/awt/event/AWTEventListener.java,
	java/awt/event/AWTEventListenerProxy.java,
	java/awt/event/ActionEvent.java,
	java/awt/event/AdjustmentEvent.java,
	java/awt/event/AdjustmentListener.java,
	java/awt/event/ComponentAdapter.java,
	java/awt/event/ComponentEvent.java,
	java/awt/event/ComponentListener.java,
	java/awt/event/ContainerAdapter.java,
	java/awt/event/ContainerEvent.java,
	java/awt/event/ContainerListener.java,
	java/awt/event/FocusAdapter.java,
	java/awt/event/FocusEvent.java,
	java/awt/event/FocusListener.java,
	java/awt/event/InputEvent.java,
	java/awt/event/InputMethodEvent.java,
	java/awt/event/InputMethodListener.java,
	java/awt/event/InvocationEvent.java,
	java/awt/event/ItemEvent.java,
	java/awt/event/ItemListener.java,
	java/awt/event/KeyAdapter.java,
	java/awt/event/KeyEvent.java,
	java/awt/event/KeyListener.java,
	java/awt/event/MouseAdapter.java,
	java/awt/event/MouseEvent.java,
	java/awt/event/MouseListener.java,
	java/awt/event/MouseMotionAdapter.java,
	java/awt/event/MouseMotionListener.java,
	java/awt/event/MouseWheelEvent.java,
	java/awt/event/MouseWheelListener.java,
	java/awt/event/PaintEvent.java,
	java/awt/event/TextEvent.java,
	java/awt/event/TextListener.java,
	java/awt/event/WindowAdapter.java,
	java/awt/event/WindowEvent.java,
	java/awt/event/WindowFocusListener.java,
	java/awt/event/WindowListener.java,
	java/awt/event/WindowStateListener.java,
	java/awt/font/TextHitInfo.java,
	java/awt/geom/CubicCurve2D.java,
	java/awt/geom/Dimension2D.java,
	java/awt/geom/Ellipse2D.java,
	java/awt/geom/IllegalPathStateException.java,
	java/awt/geom/Line2D.java,
	java/awt/geom/NoninvertibleTransformException.java,
	java/awt/geom/PathIterator.java,
	java/awt/geom/Point2D.java,
	java/awt/geom/QuadCurve2D.java,
	java/awt/geom/RectangularShape.java,
	java/awt/geom/RoundRectangle2D.java,
	java/awt/im/InputContext.java,
	java/awt/im/InputMethodHighlight.java,
	java/awt/im/InputMethodRequests.java,
	java/awt/im/InputSubset.java,
	java/awt/im/spi/InputMethod.java,
	java/awt/im/spi/InputMethodDescriptor.java,
	java/awt/image/BandCombineOp.java,
	java/awt/image/BandedSampleModel.java,
	java/awt/image/ByteLookupTable.java,
	java/awt/image/ComponentSampleModel.java,
	java/awt/image/DataBuffer.java,
	java/awt/image/DataBufferByte.java,
	java/awt/image/DataBufferDouble.java,
	java/awt/image/DataBufferFloat.java,
	java/awt/image/DataBufferInt.java,
	java/awt/image/DataBufferShort.java,
	java/awt/image/DataBufferUShort.java,
	java/awt/image/ImagingOpException.java,
	java/awt/image/Kernel.java,
	java/awt/image/LookupTable.java,
	java/awt/image/MultiPixelPackedSampleModel.java,
	java/awt/image/PackedColorModel.java,
	java/awt/image/PixelInterleavedSampleModel.java,
	java/awt/image/RGBImageFilter.java,
	java/awt/image/Raster.java,
	java/awt/image/RasterFormatException.java,
	java/awt/image/SampleModel.java,
	java/awt/image/ShortLookupTable.java,
	java/awt/image/SinglePixelPackedSampleModel.java,
	java/awt/image/WritableRaster.java,
	java/awt/print/PrinterAbortException.java,
	java/awt/print/PrinterException.java,
	java/awt/print/PrinterIOException.java,
	java/beans/AppletInitializer.java,
	java/beans/ExceptionListener.java,
	java/beans/PropertyChangeEvent.java,
	java/beans/PropertyChangeListenerProxy.java,
	java/beans/PropertyChangeSupport.java,
	java/beans/PropertyDescriptor.java,
	java/beans/VetoableChangeListenerProxy.java,
	java/beans/VetoableChangeSupport.java,
	java/io/BufferedReader.java,
	java/io/ByteArrayInputStream.java,
	java/io/ByteArrayOutputStream.java,
	java/io/CharArrayReader.java,
	java/io/CharArrayWriter.java,
	java/io/CharConversionException.java,
	java/io/DataInput.java,
	java/io/DataInputStream.java,
	java/io/DataOutput.java,
	java/io/DataOutputStream.java,
	java/io/EOFException.java,
	java/io/FileInputStream.java,
	java/io/FileNotFoundException.java,
	java/io/FileOutputStream.java,
	java/io/FilenameFilter.java,
	java/io/FilterInputStream.java,
	java/io/FilterOutputStream.java,
	java/io/FilterReader.java,
	java/io/FilterWriter.java,
	java/io/IOException.java,
	java/io/InputStream.java,
	java/io/InterruptedIOException.java,
	java/io/LineNumberInputStream.java,
	java/io/LineNumberReader.java,
	java/io/ObjectInputStream.java,
	java/io/ObjectStreamException.java,
	java/io/OptionalDataException.java,
	java/io/OutputStream.java,
	java/io/OutputStreamWriter.java,
	java/io/PrintStream.java,
	java/io/PrintWriter.java,
	java/io/PushbackInputStream.java,
	java/io/PushbackReader.java,
	java/io/RandomAccessFile.java,
	java/io/Reader.java,
	java/io/SequenceInputStream.java,
	java/io/Serializable.java,
	java/io/StreamCorruptedException.java,
	java/io/StreamTokenizer.java,
	java/io/StringBufferInputStream.java,
	java/io/StringWriter.java,
	java/io/SyncFailedException.java,
	java/io/UTFDataFormatException.java,
	java/io/UnsupportedEncodingException.java,
	java/io/WriteAbortedException.java,
	java/io/Writer.java,
	java/lang/AbstractMethodError.java,
	java/lang/ArithmeticException.java,
	java/lang/ArrayIndexOutOfBoundsException.java,
	java/lang/ArrayStoreException.java,
	java/lang/AssertionError.java,
	java/lang/Boolean.java,
	java/lang/Byte.java,
	java/lang/Class.java,
	java/lang/ClassCastException.java,
	java/lang/ClassCircularityError.java,
	java/lang/ClassLoader.java,
	java/lang/ClassNotFoundException.java,
	java/lang/CloneNotSupportedException.java,
	java/lang/Cloneable.java,
	java/lang/Comparable.java,
	java/lang/Compiler.java,
	java/lang/Double.java,
	java/lang/Error.java,
	java/lang/Exception.java,
	java/lang/ExceptionInInitializerError.java,
	java/lang/Float.java,
	java/lang/IllegalAccessError.java,
	java/lang/IllegalAccessException.java,
	java/lang/IllegalArgumentException.java,
	java/lang/IllegalMonitorStateException.java,
	java/lang/IllegalStateException.java,
	java/lang/IllegalThreadStateException.java,
	java/lang/IncompatibleClassChangeError.java,
	java/lang/IndexOutOfBoundsException.java,
	java/lang/InheritableThreadLocal.java,
	java/lang/InstantiationError.java,
	java/lang/InstantiationException.java,
	java/lang/Integer.java,
	java/lang/InternalError.java,
	java/lang/InterruptedException.java,
	java/lang/LinkageError.java,
	java/lang/Long.java,
	java/lang/NegativeArraySizeException.java,
	java/lang/NoClassDefFoundError.java,
	java/lang/NoSuchFieldError.java,
	java/lang/NoSuchFieldException.java,
	java/lang/NoSuchMethodError.java,
	java/lang/NoSuchMethodException.java,
	java/lang/NullPointerException.java,
	java/lang/Number.java,
	java/lang/NumberFormatException.java,
	java/lang/OutOfMemoryError.java,
	java/lang/Process.java,
	java/lang/Runnable.java,
	java/lang/Runtime.java,
	java/lang/RuntimeException.java,
	java/lang/RuntimePermission.java,
	java/lang/SecurityException.java,
	java/lang/SecurityManager.java,
	java/lang/Short.java,
	java/lang/StackOverflowError.java,
	java/lang/StackTraceElement.java,
	java/lang/StringBuffer.java,
	java/lang/StringIndexOutOfBoundsException.java,
	java/lang/ThreadDeath.java,
	java/lang/ThreadGroup.java,
	java/lang/Throwable.java,
	java/lang/UnsatisfiedLinkError.java,
	java/lang/UnsupportedOperationException.java,
	java/lang/VerifyError.java,
	java/lang/VirtualMachineError.java,
	java/lang/reflect/AccessibleObject.java,
	java/lang/reflect/Array.java,
	java/lang/reflect/InvocationTargetException.java,
	java/lang/reflect/Member.java,
	java/lang/reflect/Modifier.java,
	java/lang/reflect/Proxy.java,
	java/lang/reflect/ReflectPermission.java,
	java/lang/reflect/UndeclaredThrowableException.java,
	java/math/BigInteger.java,
	java/net/NetworkInterface.java,
	java/nio/ByteBufferHelper.java,
	java/nio/ByteBufferImpl.java,
	java/nio/DirectByteBufferImpl.java,
	java/nio/DoubleBufferImpl.java,
	java/nio/FloatBufferImpl.java,
	java/nio/IntBufferImpl.java,
	java/nio/LongBufferImpl.java,
	java/nio/ShortBufferImpl.java,
	java/nio/channels/Channel.java,
	java/nio/channels/IllegalBlockingModeException.java,
	java/nio/charset/spi/CharsetProvider.java,
	java/security/AccessControlException.java,
	java/security/BasicPermission.java,
	java/security/DigestException.java,
	java/security/DigestInputStream.java,
	java/security/DigestOutputStream.java,
	java/security/GeneralSecurityException.java,
	java/security/Guard.java,
	java/security/GuardedObject.java,
	java/security/InvalidAlgorithmParameterException.java,
	java/security/InvalidKeyException.java,
	java/security/InvalidParameterException.java,
	java/security/Key.java,
	java/security/KeyException.java,
	java/security/KeyManagementException.java,
	java/security/KeyStoreException.java,
	java/security/MessageDigestSpi.java,
	java/security/NoSuchAlgorithmException.java,
	java/security/NoSuchProviderException.java,
	java/security/Permission.java,
	java/security/PermissionCollection.java,
	java/security/Permissions.java,
	java/security/Principal.java,
	java/security/PrivateKey.java,
	java/security/PrivilegedActionException.java,
	java/security/ProviderException.java,
	java/security/PublicKey.java,
	java/security/SecureRandom.java,
	java/security/SecureRandomSpi.java,
	java/security/SignatureException.java,
	java/security/SignatureSpi.java,
	java/security/SignedObject.java,
	java/security/Signer.java,
	java/security/UnrecoverableKeyException.java,
	java/security/UnresolvedPermission.java,
	java/security/acl/AclNotFoundException.java,
	java/security/acl/LastOwnerException.java,
	java/security/acl/NotOwnerException.java,
	java/security/cert/CertPath.java,
	java/security/cert/CertPathBuilderException.java,
	java/security/cert/CertPathValidatorException.java,
	java/security/cert/CertStoreException.java,
	java/text/BreakIterator.java,
	java/text/ChoiceFormat.java,
	java/text/CollationElementIterator.java,
	java/text/CollationKey.java,
	java/text/Collator.java,
	java/text/DateFormat.java,
	java/text/DateFormatSymbols.java,
	java/text/DecimalFormat.java,
	java/text/DecimalFormatSymbols.java,
	java/text/FieldPosition.java,
	java/text/Format.java,
	java/text/NumberFormat.java,
	java/text/ParseException.java,
	java/text/ParsePosition.java,
	java/text/StringCharacterIterator.java,
	java/util/AbstractCollection.java,
	java/util/AbstractList.java,
	java/util/AbstractMap.java,
	java/util/AbstractSequentialList.java,
	java/util/AbstractSet.java,
	java/util/ArrayList.java,
	java/util/Arrays.java,
	java/util/BitSet.java,
	java/util/Collection.java,
	java/util/Collections.java,
	java/util/Comparator.java,
	java/util/ConcurrentModificationException.java,
	java/util/Currency.java,
	java/util/Date.java,
	java/util/EmptyStackException.java,
	java/util/Enumeration.java,
	java/util/EventListener.java,
	java/util/EventListenerProxy.java,
	java/util/EventObject.java,
	java/util/HashMap.java,
	java/util/HashSet.java,
	java/util/Hashtable.java,
	java/util/IdentityHashMap.java,
	java/util/Iterator.java,
	java/util/LinkedHashSet.java,
	java/util/LinkedList.java,
	java/util/List.java,
	java/util/ListIterator.java,
	java/util/ListResourceBundle.java,
	java/util/Map.java,
	java/util/MissingResourceException.java,
	java/util/NoSuchElementException.java,
	java/util/Observable.java,
	java/util/Observer.java,
	java/util/Properties.java,
	java/util/PropertyPermissionCollection.java,
	java/util/RandomAccess.java,
	java/util/Set.java,
	java/util/SortedMap.java,
	java/util/SortedSet.java,
	java/util/Stack.java,
	java/util/StringTokenizer.java,
	java/util/TooManyListenersException.java,
	java/util/TreeMap.java,
	java/util/TreeSet.java,
	java/util/Vector.java,
	java/util/logging/FileHandler.java,
	java/util/logging/Level.java,
	java/util/prefs/BackingStoreException.java,
	java/util/prefs/InvalidPreferencesFormatException.java,
	java/util/prefs/Preferences.java,
	javax/accessibility/Accessible.java,
	javax/accessibility/AccessibleAction.java,
	javax/accessibility/AccessibleBundle.java,
	javax/accessibility/AccessibleComponent.java,
	javax/accessibility/AccessibleContext.java,
	javax/accessibility/AccessibleEditableText.java,
	javax/accessibility/AccessibleExtendedComponent.java,
	javax/accessibility/AccessibleExtendedTable.java,
	javax/accessibility/AccessibleHyperlink.java,
	javax/accessibility/AccessibleHypertext.java,
	javax/accessibility/AccessibleIcon.java,
	javax/accessibility/AccessibleKeyBinding.java,
	javax/accessibility/AccessibleRelation.java,
	javax/accessibility/AccessibleRelationSet.java,
	javax/accessibility/AccessibleResourceBundle.java,
	javax/accessibility/AccessibleRole.java,
	javax/accessibility/AccessibleSelection.java,
	javax/accessibility/AccessibleState.java,
	javax/accessibility/AccessibleStateSet.java,
	javax/accessibility/AccessibleTable.java,
	javax/accessibility/AccessibleTableModelChange.java,
	javax/accessibility/AccessibleText.java,
	javax/accessibility/AccessibleValue.java,
	javax/imageio/IIOException.java,
	javax/imageio/ImageIO.java,
	javax/imageio/spi/IIOServiceProvider.java,
	javax/imageio/spi/ImageInputStreamSpi.java,
	javax/imageio/spi/ImageOutputStreamSpi.java,
	javax/imageio/spi/ImageReaderWriterSpi.java,
	javax/imageio/spi/ImageTranscoderSpi.java,
	javax/imageio/spi/RegisterableService.java,
	javax/imageio/spi/ServiceRegistry.java,
	javax/imageio/stream/IIOByteBuffer.java,
	javax/imageio/stream/ImageInputStream.java,
	javax/imageio/stream/ImageOutputStream.java,
	javax/naming/Binding.java,
	javax/naming/CannotProceedException.java,
	javax/naming/CompositeName.java,
	javax/naming/CompoundName.java,
	javax/naming/LinkException.java,
	javax/naming/LinkRef.java,
	javax/naming/NameClassPair.java,
	javax/naming/Reference.java,
	javax/naming/ReferralException.java,
	javax/naming/directory/Attribute.java,
	javax/naming/directory/AttributeModificationException.java,
	javax/naming/directory/Attributes.java,
	javax/naming/directory/DirContext.java,
	javax/naming/directory/ModificationItem.java,
	javax/naming/directory/SearchControls.java,
	javax/naming/directory/SearchResult.java,
	javax/naming/event/EventContext.java,
	javax/naming/event/EventDirContext.java,
	javax/naming/event/NamespaceChangeListener.java,
	javax/naming/event/NamingExceptionEvent.java,
	javax/naming/event/NamingListener.java,
	javax/naming/event/ObjectChangeListener.java,
	javax/naming/ldap/Control.java,
	javax/naming/ldap/ExtendedResponse.java,
	javax/naming/ldap/HasControls.java,
	javax/naming/ldap/LdapContext.java,
	javax/naming/ldap/UnsolicitedNotification.java,
	javax/naming/ldap/UnsolicitedNotificationEvent.java,
	javax/naming/ldap/UnsolicitedNotificationListener.java,
	javax/naming/spi/DirectoryManager.java,
	javax/naming/spi/ResolveResult.java,
	javax/naming/spi/Resolver.java,
	javax/security/auth/callback/Callback.java,
	javax/security/auth/callback/CallbackHandler.java,
	javax/security/auth/callback/ChoiceCallback.java,
	javax/security/auth/callback/ConfirmationCallback.java,
	javax/security/auth/callback/LanguageCallback.java,
	javax/security/auth/callback/NameCallback.java,
	javax/security/auth/callback/PasswordCallback.java,
	javax/security/auth/callback/TextInputCallback.java,
	javax/security/auth/callback/TextOutputCallback.java,
	javax/security/auth/callback/UnsupportedCallbackException.java,
	javax/security/sasl/Sasl.java,
	javax/security/sasl/SaslServerFactory.java,
	javax/swing/DefaultBoundedRangeModel.java,
	javax/swing/JComponent.java,
	javax/swing/JList.java,
	javax/swing/JProgressBar.java,
	javax/swing/JRadioButton.java,
	javax/swing/JTextArea.java,
	javax/swing/JTextField.java,
	javax/swing/JToggleButton.java,
	javax/swing/JTree.java,
	javax/swing/SpinnerListModel.java,
	javax/swing/event/EventListenerList.java,
	javax/swing/text/JTextComponent.java,
	javax/swing/text/StringContent.java,
	javax/swing/text/Utilities.java,
	javax/swing/undo/UndoManager.java,
	javax/swing/undo/UndoableEditSupport.java,
	javax/transaction/HeuristicCommitException.java,
	javax/transaction/HeuristicMixedException.java,
	javax/transaction/HeuristicRollbackException.java,
	javax/transaction/InvalidTransactionException.java,
	javax/transaction/NotSupportedException.java,
	javax/transaction/RollbackException.java,
	javax/transaction/Status.java,
	javax/transaction/Synchronization.java,
	javax/transaction/SystemException.java,
	javax/transaction/Transaction.java,
	javax/transaction/TransactionManager.java,
	javax/transaction/TransactionRequiredException.java,
	javax/transaction/TransactionRolledbackException.java,
	javax/transaction/UserTransaction.java,
	javax/transaction/xa/XAException.java,
	javax/transaction/xa/XAResource.java,
	javax/transaction/xa/Xid.java,
	javax/xml/XMLConstants.java,
	javax/xml/datatype/DatatypeConfigurationException.java,
	javax/xml/datatype/DatatypeConstants.java,
	javax/xml/datatype/DatatypeFactory.java,
	javax/xml/datatype/Duration.java,
	javax/xml/datatype/XMLGregorianCalendar.java,
	javax/xml/namespace/NamespaceContext.java,
	javax/xml/namespace/QName.java,
	javax/xml/parsers/DocumentBuilder.java,
	javax/xml/parsers/DocumentBuilderFactory.java,
	javax/xml/parsers/FactoryConfigurationError.java,
	javax/xml/parsers/ParserConfigurationException.java,
	javax/xml/parsers/SAXParser.java,
	javax/xml/parsers/SAXParserFactory.java,
	javax/xml/transform/ErrorListener.java,
	javax/xml/transform/OutputKeys.java,
	javax/xml/transform/Result.java,
	javax/xml/transform/Source.java,
	javax/xml/transform/SourceLocator.java,
	javax/xml/transform/Templates.java,
	javax/xml/transform/Transformer.java,
	javax/xml/transform/TransformerConfigurationException.java,
	javax/xml/transform/TransformerException.java,
	javax/xml/transform/TransformerFactory.java,
	javax/xml/transform/TransformerFactoryConfigurationError.java,
	javax/xml/transform/URIResolver.java,
	javax/xml/transform/dom/DOMLocator.java,
	javax/xml/transform/dom/DOMResult.java,
	javax/xml/transform/dom/DOMSource.java,
	javax/xml/transform/sax/SAXResult.java,
	javax/xml/transform/sax/SAXSource.java,
	javax/xml/transform/sax/SAXTransformerFactory.java,
	javax/xml/transform/sax/TemplatesHandler.java,
	javax/xml/transform/sax/TransformerHandler.java,
	javax/xml/transform/stream/StreamResult.java,
	javax/xml/transform/stream/StreamSource.java,
	javax/xml/validation/Schema.java,
	javax/xml/validation/SchemaFactory.java,
	javax/xml/validation/TypeInfoProvider.java,
	javax/xml/validation/Validator.java,
	javax/xml/validation/ValidatorHandler.java,
	javax/xml/xpath/XPathConstants.java,
	javax/xml/xpath/XPathException.java,
	javax/xml/xpath/XPathExpression.java,
	javax/xml/xpath/XPathExpressionException.java,
	javax/xml/xpath/XPathFactory.java,
	javax/xml/xpath/XPathFactoryConfigurationException.java,
	javax/xml/xpath/XPathFunction.java,
	javax/xml/xpath/XPathFunctionException.java,
	javax/xml/xpath/XPathFunctionResolver.java:
	Fixed usage of @author tag, reworked import statements,
	removed CVS tags, changed the modifier order and fixed
	HTML usage in javadocs.

From-SVN: r95152
2005-02-17 07:48:58 +00:00
Andrew Haley 019dac3214 Subject.java (doAsPrivileged): If acc is null, create a new AccessControlContext.
2005-02-08  Andrew Haley  <aph@redhat.com>

        * javax/security/auth/Subject.java (doAsPrivileged): If acc is
        null, create a new AccessControlContext.
        * java/security/SecureClassLoader.java (protectionDomainCache):
        new field.
        (defineClass): Create a new protection domain and add it to our
        cache.

        * java/rmi/server/UnicastRemoteObject.java (exportObject): Call
        addStub() to keep track of the stub we've exported.
        (unexportObject): Call deleteStub().
        * java/rmi/server/RemoteObject.java (stubs): New field.
        (addStub): New method.
        (deleteStub): New method.
        (toStub): Rewrite.

        * java/lang/VMCompiler.java (loadSharedLibrary): Pass
        true to findHelper (tryParents).
        * gnu/gcj/runtime/SharedLibLoader.java (SharedLibLoader):
        Likewise.
        * java/net/URLClassLoader.java (SoURLLoader): Likewise.
        * gnu/gcj/runtime/SharedLibHelper.java (SharedLibHelper): Pass
        ProtectionDomain.
        If tryParents is false, don't scan parent class loaders.

        * java/security/Permissions.java (PermissionsHash.implies):
        Iterate over the collection and invoke implies() on each
        element.

From-SVN: r95111
2005-02-16 18:51:25 +00:00
Mark Wielaard 0008978072 Fixes bug libgcj/8170
Fixes bug libgcj/8170
       * java/lang/ClassLoader.java (loadClass): Don't rewrap
       ClassNotFoundException.
       * gnu/java/lang/MainThread.java (run): Chain NoClassDefFoundError.
       * gnu/gcj/runtime/NameFinder.java (remove_interpreter): Removed.
       (remove_internal): New field superceding remove_interpreter.
       (sanitizeStack): Remove all no-package classes starting with "_Jv_".
       Remove no-class methods starting with "_Jv_". And Replace null
       class or method names with the empty string. Stop at either the
       MainThread or a real Thread run() method.
       (newElement): Made static.
       * java/net/URLClassLoader.java (findClass): Throw
       ClassNotFoundExceptions including urls, plus parent using toString().
       (thisString): New field.
       (toString): New method.

From-SVN: r94935
2005-02-12 13:51:11 +00:00
Tom Tromey b59c0c440c natRuntime.cc (insertSystemProperties): Set sun.boot.class.path earlier.
* java/lang/natRuntime.cc (insertSystemProperties): Set
	sun.boot.class.path earlier.

From-SVN: r94740
2005-02-08 17:44:13 +00:00
Tom Tromey f55db9c2fc defineclass.cc (handleClassBegin): Use _Jv_RegisterInitiatingLoader.
* defineclass.cc (handleClassBegin): Use
	_Jv_RegisterInitiatingLoader.
	* java/lang/Class.h (_Jv_UnregisterInitiatingLoader): Declare.
	* java/lang/natVMClassLoader.cc (resolveClass): Don't register
	class.  Use _Jv_UnregisterInitiatingLoader.
	* java/lang/natClassLoader.cc (_Jv_UnregisterInitiatingLoader):
	New function.

From-SVN: r94717
2005-02-07 21:29:04 +00:00
Tom Tromey 6d27fe75d0 re PR libgcj/19681 (extension loading currently incorrect)
PR libgcj/19681:
	* Makefile.in: Rebuilt.
	* Makefile.am (ordinary_java_source_files): Added new class.
	* java/lang/natVMClassLoader.cc (getSystemClassLoaderInternal):
	Use system_instance, not instance.
	* gnu/gcj/runtime/SystemClassLoader.java: New file.
	* gnu/gcj/runtime/VMClassLoader.java (init): Don't search
	java.class.path.
	(system_instance): New field.
	(initialize): Initialize the system loader as well.
	(VMClassLoader): Default to LIB_CACHE.

From-SVN: r94611
2005-02-02 20:59:41 +00:00
Tom Tromey 8bf0438795 Class.h (next): Updated documentation.
* java/lang/Class.h (next): Updated documentation.  Renamed to
	'next_or_version'.
	* java/lang/natClassLoader.cc (_Jv_RegisterClasses): Use
	_Jv_CheckABIVersion.
	(_Jv_RegisterClasses_Counted): Likewise.
	(_Jv_RegisterClassHookDefault): Fix starting condition of
	duplicate-checking loop.
	* include/jvm.h (GCJ_VERSION): New define.
	(GCJ_BINARYCOMPAT_ADDITION): Likewise.
	(_Jv_CheckABIVersion): New function.

From-SVN: r94173
2005-01-24 19:05:34 +00:00
Tom Tromey af84b3d056 VMCompiler.java (compileClass): Ignore UnknownError.
* java/lang/VMCompiler.java (compileClass): Ignore UnknownError.
	* gnu/gcj/runtime/natSharedLibLoader.cc (finalize): Only dlclose
	if 'handler' is valid.

From-SVN: r93927
2005-01-19 23:56:27 +00:00
Graydon Hoare 84973b27e8 jni.h (_Jv_JNIEnv::bottom_locals): New field.
2005-01-13  Graydon Hoare  <graydon@redhat.com>

	* include/jni.h (_Jv_JNIEnv::bottom_locals): New field.
	* include/jvm.h (_Jv_FreeJNIEnv): Declare.
	* java/lang/natThread.cc (finalize_native): Call _Jv_FreeJNIEnv.
	* jni.cc: Reuse bottom frame between calls, avoid clearing
	frame when no local references are made.

From-SVN: r93632
2005-01-14 07:36:27 +00:00
Michael Koch e70324625f re PR libgcj/17784 (Thread.interrupt doesn't do security checks)
2005-01-13  Michael Koch  <konqueror@gmx.de>

	PR libgcj/17784
	* java/lang/Thread.java
	(Thread): Call checkAccess().
	(stop): Fixed argument name to match javadoc.
	* java/lang/natThread.cc
	(interrupt): Call checkAccess().
	(stop): Likewise.

From-SVN: r93611
2005-01-13 20:26:38 +00:00