Commit Graph

115 Commits

Author SHA1 Message Date
Kai Tietz
51e16725b8 configure.ac (libgcj_ld_export_all): Set for windows native targets to export-all-symbols.
2011-04-08  Kai Tietz  <ktietz@redhat.com>

	* configure.ac (libgcj_ld_export_all): Set for windows
	native targets to export-all-symbols.
	(LIBGCJ_LD_EXPORT_ALL): Export libgcj_ld_export_all.
	* Makefile.am (libgcj_la_LDFLAGS): Add LIBGCJ_LD_EXPORT_ALL.
	* sysdep/i386/backtrace.h (MAIN_FUNC): Define for windows
	native targets to DllMain.
	* gcj/javaprims.h (JNICALL): Define it dependent
	for different windows targets.
	* include/jni_md.h: Likewise.
	* headers.txt (_Jv_JNI_ToReflectedField): Mark
	JNICALLS for friends.
	(_Jv_JNI_ToReflectedMethod): Likewise.
	* java/lang/Class.h: Regenerated.
	* java/lang/reflect/Field.h: Regenerated.
	* java/lang/reflect/Constructor.h: Regenerated.
	* java/lang/reflect/Method.h: Regenerated.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* include/Makefile.in: Regenerated.
	* testsuite/Makefile.in: Regenerated.
	* gcj/Makefile.in: Regenerated.

From-SVN: r172186
2011-04-08 16:16:38 +02:00
Andrew Haley
f0580031a7 re PR libgcj/8995 (race cases in interpreter)
2008-09-17  Andrew Haley  <aph@redhat.com>

        PR libgcj/8995:

        * defineclass.cc (_Jv_ClassReader::handleCodeAttribute):
        Initialize thread_count.
        * include/java-interp.h (_Jv_InterpMethod::thread_count): New
        field.
         (_Jv_InterpMethod::rewrite_insn_mutex): New mutex.
        (_Jv_InterpFrame:: _Jv_InterpFrame): Pass frame_type.
        * interpret.cc
        (ThreadCountAdjuster): New class.
        (_Jv_InterpMethod::thread_count): New field.
        (_Jv_InitInterpreter): Initialize rewrite_insn_mutex.
        Increment and decrement thread_count field in methods.
        * interpret-run.cc (REWRITE_INSN): Check thread_count <= 1.
        (REWRITE_INSN): Likewise.
        Declare a ThreadCountAdjuster.
        * java/lang/reflect/natVMProxy.cc (run_proxy): Initialize frame
        type as frame_proxy.

From-SVN: r140593
2008-09-23 13:51:58 +00:00
Matthias Klose
f06a83c0b2 Import GNU Classpath (libgcj-import-20070727).
libjava/

2007-08-04  Matthias Klose  <doko@ubuntu.com>

	Import GNU Classpath (libgcj-import-20070727).

	* Regenerate class and header files.
	* Regenerate auto* files.

	* include/jvm.h:
	* jni-libjvm.cc (Jv_JNI_InvokeFunctions): Rename type.
	* jni.cc (_Jv_JNIFunctions, _Jv_JNI_InvokeFunctions): Likewise.
	* jni.cc (_Jv_JNI_CallAnyMethodA, _Jv_JNI_CallAnyVoidMethodA,
	_Jv_JNI_CallMethodA, _Jv_JNI_CallVoidMethodA,
	_Jv_JNI_CallStaticMethodA, _Jv_JNI_CallStaticVoidMethodA,
	_Jv_JNI_NewObjectA, _Jv_JNI_SetPrimitiveArrayRegion): Constify
	jvalue parameter.
	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Likewise.

	* java/lang/VMFloat.java (toString, parseFloat): New.

	* gnu/awt/xlib/XToolkit.java (setAlwaysOnTop, isModalityTypeSupported,
	isModalExclusionTypeSupported): New (stub only).
	* gnu/awt/xlib/XCanvasPeer.java (requestFocus): Likewise.
	* gnu/awt/xlib/XFramePeer.java (updateMinimumSize, updateIconImages,
	updateFocusableWindowState, setModalBlocked, getBoundsPrivate,
	setAlwaysOnTop): Likewise.
	* gnu/awt/xlib/XFontPeer.java (canDisplay): Update signature.

	* scripts/makemake.tcl: Ignore gnu/javax/sound/sampled/gstreamer,
	ignore javax.sound.sampled.spi.MixerProvider, ignore .in files.

	* HACKING: Mention --enable-gstreamer-peer, removal of generated files.


libjava/classpath/

2007-08-04  Matthias Klose  <doko@ubuntu.com>

	* java/util/EnumMap.java (clone): Add cast.

From-SVN: r127204
2007-08-04 10:53:49 +00:00
David Daney
86acf60c5b configure.ac (INTERPRETER): New AM_CONDITIONAL.
* configure.ac (INTERPRETER): New AM_CONDITIONAL.
	* scripts/makemake.tcl (package_map): Mark jdwp and jvmti packages
	as being for interpreter only.  Place interpreter related files in
	'if INTERPRETER' block.
	(interpreter_package_files): New list.
	(interpreter_header_vars): Ditto.
	(emit_package_rule_to_list): Renamed from emit_package_rule with
	new target list parameter.
	(emit_package_rule): Rewritten to call emit_package_rule_to_list.
	(emit_interpreter_rule): New function.
	(emit_source_var): Place interpreter related files in
	interpreter_header_vars.
	* Makefile.am (ACLOCAL_AMFLAGS): Add -I libltdl.
	(libgcj_interpret_source_files): New variable.
	(libgcj_la_SOURCES): Move jvmti.cc and  interpret.cc to
	libgcj_interpret_source_files and include
	libgcj_interpret_source_files.
	(nat_jdwp_source_files): New variable.
	(nat_jvmti_source_files): Ditto.
	(nat_source_files): Move jdwp and jvmti related files to
	nat_jdwp_source_files and nat_jvmti_source_files and include
	nat_jdwp_source_files and nat_jvmti_source_files.
	* Makefile.in: Regenerate.
	* include/Makefile.in: Ditto.
	* testsuite/Makefile.in: Ditto.
	* gcj/Makefile.in: Ditto.
	* sources.am: Ditto.
	* configure: Ditto.
	* include/config.h.in: Ditto.
	* interpret.cc: Remove #ifdef INTERPRETER block.
	* stacktrace.cc (UnwindTraceFn): Do not handle proxy frames if
	interpreter disabled.
	* include/java-interp.h (_Jv_FrameType): Move outside of
	#ifdef INTERPRETER block.
	* include/execution.h (_Jv_IndirectCompiledEngine::do_get_closure_list,
	_Jv_InterpreterEngine, _Jv_soleInterpreterEngine): Place in
	#ifdef INTERPRETER block.
	* jni.cc (jvmti.h, jvmti-int.h):  Only include if INTERPRETER is
	defined.
	(_Jv_JNI_PopSystemFrame, _Jv_JNI_GetEnv): Only do jvmti processing
	if INTERPRETER is defined.
	* prims.cc (jvmti.h, jvmti-int.h, Jdwp.h, VMVirtualMachine.h):  Only
	include if INTERPRETER is defined.
	(defaultJdwpOptions, jdwpOptions, jvmti_agent_onload_func,
	jvmti_agent_onunload_func, jvmti_agentonload, jvmti_agentonunload,
	jvmti_agent_opts, load_jvmti_agent): Only define if INTERPRETER is
	defined.
	(parse_x_arg): Only process 'runjdwp:' if INTERPRETER is defined.
	(parse_init_args): Only process jvmti related options if
	INTERPRETER is defined.
	(_Jv_CreateJavaVM): Only call _Jv_JVMTI_Init if INTERPRETER is
	defined.
	(_Jv_RunMain): Only do jvmti and jdwp processing if INTERPRETER is
	defined.
	* link.cc (jvmti.h, jvmti-int.h):  Only include if INTERPRETER is
	defined.
	(_Jv_ThrowNoClassDefFoundError, _Jv_Linker::create_error_method):
	Define if if INTERPRETER is not defined.
	(_Jv_Linker::wait_for_state): Only do jvmti proccessing if
	INTERPRETER is defined.
	* boehm.cc (closure_list_pointer, finalize_closure_list,
	_Jv_ClosureListFinalizer): Only define if INTERPRETER is
	defined.
	* java/lang/natThread.cc (jvmti.h, jvmti-int.h):  Only include if
	INTERPRETER is defined.
	(finish_, _Jv_NotifyThreadStart): Only do jvmti proccessing if
	INTERPRETER is defined.
	* java/lang/Class.h (_Jv_InterpreterEngine): Move declaration
	and friend declaration inside #ifdef INTERPRETER block.
	* java/lang/natClass.cc (_Jv_ClosureList::releaseClosures,
	_Jv_ClosureList::registerClosure, _Jv_GetInterpClassSourceFile):
	Only define if INTERPRETER is defined.
	* java/lang/reflect/natVMProxy.cc (UnsupportedOperationException.h):
	Include.
	(generateProxyClass): Throw UnsupportedOperationException unless
	INTERPRETER is defined.

From-SVN: r127097
2007-07-31 16:17:21 +00:00
Andrew Haley
976731ee6e [multiple changes]
2007-07-13  Andrew Haley  <aph@redhat.com>

	* libgcj.ver: Add __gcj_personality_sj0.

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

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

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

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

From-SVN: r126622
2007-07-13 14:07:16 +00:00
Andrew Haley
f9d6deca5b natVMProxy.cc (ncode_closure): Add method_index.
2007-04-18  Andrew Haley  <aph@redhat.com>

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

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

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

From-SVN: r123953
2007-04-18 17:10:32 +00:00
Andrew Haley
0e055c1cd2 BootClassLoader.java (getBootURLLoader): New method.
2007-04-16  Andrew Haley  <aph@redhat.com>

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

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

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

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

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

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

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

From-SVN: r122554
2007-03-05 16:06:27 +00:00
Tom Tromey
4d2446d99e LogManager.java (loggers): Genericized.
* java/util/logging/LogManager.java (loggers): Genericized.
	(addLogger): Merged.
	(findAncestor): Likewise.
	(getLogger): Likewise.
	(getLoggerNames): Genericized.
	(reset): Merged.
	(getLevelProperty): Likewise.
	* java/lang/reflect/Method.java (getDeclaringClass): Genericized.
	* java/lang/reflect/Constructor.java (getParameterTypes):
	Genericized.
	(getExceptionTypes): Likewise.
	(newInstance): Likewise.
	* java/lang/reflect/Array.java (newInstance): Genericized.
	* java/lang/Object.java (getClass): Genericized.
	* java/nio/charset/spi/CharsetProvider.java (charsets):
	Genericized.
	* java/text/Collator.java: Implement Comparable<Object>.

From-SVN: r121473
2007-02-01 21:36:01 +00:00
Tom Tromey
97b8365caf Merged gcj-eclipse branch to trunk.
From-SVN: r120621
2007-01-09 19:58:05 +00:00
Tom Tromey
6d82bb8521 natField.cc (getAddr): Allow setting of final field when it is accessible.
* java/lang/reflect/natField.cc (getAddr): Allow setting of final
	field when it is accessible.

From-SVN: r114896
2006-06-22 16:59:15 +00:00
Tom Tromey
5aca4c41f7 re PR libgcj/27729 (Field, Method and Constructor need isSynthetic() implemetation)
gcc/java:
	PR libgcj/27729:
	* jcf.h (ACC_INVISIBLE): Changed value.
libjava:
	PR libgcj/27729:
	* java/lang/reflect/natField.cc (getAddr): Added parens.
	* java/lang/reflect/natConstructor.cc (getModifiersInternal):
	Renamed.  Don't mask flags.
	* java/lang/reflect/Constructor.java (CONSTRUCTOR_MODIFIERS): New
	constant.
	(getModifiersInternal): Renamed.
	(getModifiers): Rewrote.
	(isSynthetic, isVarArgs): New methods.
	(hashCode): Rewrote.
	(addTypeParameters, toGenericString): New methods.
	(getTypeParameters): Rewrote.
	(getSignature): New method.
	(getGenericParameterTypes, getGenericExceptionTypes): Likewise.
	* java/lang/reflect/natMethod.cc (getModifiersInternal):
	Renamed.  Don't mask flags.
	* java/lang/reflect/natField.cc (getModifiersInternal): Renamed.
	Don't mask flags.
	* java/lang/reflect/Modifier.java (BRIDGE, VARARGS, SYNTHETIC,
	ENUM): New constants.
	(INVISIBLE): Changed value.
	* java/lang/reflect/Method.java: Mostly merged with Classpath.
	(getModifiersInternal): Renamed.
	(getModifiers): Rewrote.
	(isBridge, isSynthetic, isVarArgs): New methods.
	(toGenericString): Likewise.
	(getTypeParameters): Likewise.
	(getSignature): Likewise.
	(getGenericExceptionTypes, getGenericParameterTypes,
	getGenericReturnType): Likewise.
	(METHOD_MODIFIERS): New constant.
	* java/lang/reflect/Field.java: Mostly merged with Classpath.
	Added javadoc everywhere.
	(getModifiersInternal): Renamed.
	(getModifiers, isSynthetic, isEnumConstant): Rewrote.
	(toGenericString): New method.
	(getGenericType, getSignature): Likewise.
	(FIELD_MODIFIERS): New constant.

From-SVN: r114046
2006-05-24 17:21:52 +00:00
Mark Wielaard
4f9533c772 Imported GNU Classpath 0.90
Imported GNU Classpath 0.90
       * scripts/makemake.tcl: LocaleData.java moved to gnu/java/locale.

       * sources.am: Regenerated.
       * gcj/javaprims.h: Regenerated.
       * Makefile.in: Regenerated.
       * gcj/Makefile.in: Regenerated.
       * include/Makefile.in: Regenerated.
       * testsuite/Makefile.in: Regenerated.

       * gnu/java/lang/VMInstrumentationImpl.java: New override.
       * gnu/java/net/local/LocalSocketImpl.java: Likewise.
       * gnu/classpath/jdwp/VMMethod.java: Likewise.
       * gnu/classpath/jdwp/VMVirtualMachine.java: Update to latest
       interface.
       * java/lang/Thread.java: Add UncaughtExceptionHandler.
       * java/lang/reflect/Method.java: Implements GenericDeclaration and
       isSynthetic(),
       * java/lang/reflect/Field.java: Likewise.
       * java/lang/reflect/Constructor.java
       * java/lang/Class.java: Implements Type, GenericDeclaration,
       getSimpleName() and getEnclosing*() methods.
       * java/lang/Class.h: Add new public methods.
       * java/lang/Math.java: Add signum(), ulp() and log10().
       * java/lang/natMath.cc (log10): New function.
       * java/security/VMSecureRandom.java: New override.
       * java/util/logging/Logger.java: Updated to latest classpath
       version.
       * java/util/logging/LogManager.java: New override.

From-SVN: r113887
2006-05-18 17:29:21 +00:00
Tom Tromey
1ea63ef8be Imported Classpath 0.18.
* sources.am, Makefile.in: Updated.
	* Makefile.am (nat_source_files): Removed natProxy.cc.
	* java/lang/reflect/natProxy.cc: Removed.
	* gnu/classpath/jdwp/VMFrame.java,
	gnu/classpath/jdwp/VMIdManager.java,
	gnu/classpath/jdwp/VMVirtualMachine.java,
	java/lang/reflect/VMProxy.java: New files.

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

	* scripts/makemake.tcl (verbose): Add gnu/java/awt/peer/qt to BC
	list.

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

	* gnu/java/net/DefaultContentHandlerFactory.java (getContent):
	Remove ClasspathToolkit references.

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

	* gnu/awt/xlib/XCanvasPeer.java: Add new peer methods.
	* gnu/awt/xlib/XFramePeer.java: Likewise.
	* gnu/awt/xlib/XGraphicsConfiguration.java: Likewise.

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

	* Makefile.am (libgcjawt_la_SOURCES): Remove jawt.c.  Add
	classpath/native/jawt/jawt.c.
	* Makefile.in: Regenerate.
	* jawt.c: Remove file.
	* include/Makefile.am (tool_include__HEADERS): Remove jawt.h and
	jawt_md.h.  Add ../classpath/include/jawt.h and
	../classpath/include/jawt_md.h.
	* include/Makefile.in: Regenerate.
	* include/jawt.h: Regenerate.
	* include/jawt_md.h: Regenerate.

From-SVN: r104586
2005-09-23 21:31:04 +00:00
Tom Tromey
852993e381 re PR libgcj/23739 (JNI: IsAssignableFrom reverses arguments)
PR libgcj/23739:
	* testsuite/libjava.jni/pr23739.c: New file.
	* testsuite/libjava.jni/pr23739.java: New file.
	* testsuite/libjava.jni/pr23739.out: New file.
	* jni.cc (_Jv_JNI_IsAssignableFrom): Reversed arguments.
	* java/lang/reflect/natMethod.cc (invoke): Updated.
	* java/lang/natClass.cc (isAssignableFrom): Updated.
	(isInstance): Likewise.
	(_Jv_IsAssignableFrom): Reversed arguments.
	(_Jv_IsInstanceOf): Updated.
	(_Jv_CheckCast): Likewise.
	(_Jv_CheckArrayStore): Likewise.
	(_Jv_IsAssignableFromSlow): Reversed arguments.
	(_Jv_InterfaceAssignableFrom): Likewise.
	* link.cc (verify_type_assertions): Updated.
	* prims.cc (_Jv_CheckAccess): Updated.

From-SVN: r103953
2005-09-06 16:01:31 +00:00
Tom Tromey
b0fa81eea9 Major merge with Classpath.
Removed many duplicate files.
	* HACKING: Updated.x
	* classpath: Imported new directory.
	* standard.omit: New file.
	* Makefile.in, aclocal.m4, configure: Rebuilt.
	* sources.am: New file.
	* configure.ac: Run Classpath configure script.  Moved code around
	to support.  Disable xlib AWT peers (temporarily).
	* Makefile.am (SUBDIRS): Added 'classpath'
	(JAVAC): Removed.
	(AM_CPPFLAGS): Added more -I options.
	(BOOTCLASSPATH): Simplified.
	Completely redid how sources are built.
	Include sources.am.
	* include/Makefile.am (tool_include__HEADERS): Removed jni.h.
	* include/jni.h: Removed (in Classpath).
	* scripts/classes.pl: Updated to look at built classes.
	* scripts/makemake.tcl: New file.
	* testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Added
	-I options.
	(gcj_jni_invocation_compile_c_to_binary): Likewise.

From-SVN: r102082
2005-07-16 01:27:14 +00:00
Kelley Cook
917b04f492 Update FSF address
From-SVN: r101453
2005-06-30 03:22: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
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
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
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
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
64d200483a re PR libgcj/15001 ([3.4 only] Using JNI with interpreter and interface methods yields SIGSEGV)
2004-12-10  Andrew Haley  <aph@redhat.com>

        PR java/15001
        * java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Look up
        abstract methods by name.

From-SVN: r92315
2004-12-17 15:13:44 +00:00
Tom Tromey
367390404d * Merged gcj-abi-2-dev-branch to trunk.
(Actual changes too large to list in the commit message;
see ChangeLog.)

From-SVN: r91270
2004-11-25 03:47:08 +00:00
Michael Koch
7b040d4c07 [multiple changes]
2004-10-18  Michael Koch  <konqueror@gmx.de>

	* java/lang/reflect/Proxy.java: Improved javadocs.

2004-10-18  Michael Koch  <konqueror@gmx.de>

	* java/lang/reflect/AccessibleObject.java
	(checkPermission): Removed redundant final modifier.
	(secureSetAccessible): Likewise.
	* java/lang/reflect/Proxy.java:
	Reworked import statements.
	(generate): Removed redundant final modifier.
	* java/lang/reflect/ReflectPermission.java:
	Reorder package declaration and import statement.

2004-10-18  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/reflect/Proxy.java
	(count): Removed useless initializer.

From-SVN: r89201
2004-10-18 09:46:48 +00:00
Jeroen Frijters
9b2b6c0f33 Proxy.java (getPackage, [...]): Fixed handling of default package.
2004-09-25  Jeroen Frijters  <jeroen@frijters.net>

       * java/lang/reflect/Proxy.java (getPackage, ClassFactory): Fixed
       handling of default package. (generate): Removed confused comments
       and code about making Method and Field accessible.

From-SVN: r88109
2004-09-25 19:46:21 +00:00
Tom Tromey
3a3d022561 natMethod.cc (_Jv_CallAnyMethodA): Indentation fix.
* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA):
	Indentation fix.

From-SVN: r87825
2004-09-21 22:23:46 +00:00
Per Bothner
b4d49f49bf javaprims.h (_Jv_Utf8Const): Change struct to a class, with private fields and access methods.
* gcj/javaprims.h (_Jv_Utf8Const): Change struct to a class,
	with private fields and access methods.
	(_Jv_NewStringUTF, _Jv_hashUtf8String): New function declarations.
	* gcj/cni.h (_Jv_NewStringUTF): Move to javaprims.h.
	* prims.cc (_Jv_Utf8COnst::init): New method implementation.
	( _Jv_makeUtf8Const): Rewrite using new constructors.
	(hashUtf8String): Rename to +_Jv_hashUtf8String and make non-static.
	* defineclass.cc: Use new _Utf8Const access/convenience methods.
	* jni.cc: Likewise.
	* resolve.cc: Likewise.
	* gcj/field.h: Likewise.
	* include/jvm.h: Likewise.
	* java/lang/Class.h: Likewise.
	* java/lang/natClass.cc: Likwise.
	* java/lang/natClassLoader.cc: Likewise
	* java/lang/reflect/natMethod.cc: Likewise
	* verify.cc: Likewise.
	(_Jv_BytecodeVerifier::make_utf8_const):  Optimize.
	(~_Jv_BytecodeVerifier):  Don't need second _Jv_Free call.

From-SVN: r85854
2004-08-11 23:53:42 -07: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
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
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
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
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
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
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
Tom Tromey
0f56e0cc56 re PR libgcj/12058 (java.lang.reflect.Array.set(Object, int, Object) throws java.lang.IllegalArgumentException)
PR java/12058:
	* java/lang/reflect/natArray.cc (set): Allow null as argument.

From-SVN: r70813
2003-08-26 14:55:30 +00:00
Tom Tromey
6077db9114 Proxy.java (ProxyData): `pack' now a String.
* java/lang/reflect/Proxy.java (ProxyData): `pack' now a String.
	(ProxyData.getPackage): New method.
	(ProxyData.getProxyData): Use package name, not Package.
	(ClassFactory.ClassFactory): Updated.

From-SVN: r70809
2003-08-26 14:37:10 +00:00
Tom Tromey
0da021f5cc re PR libgcj/11951 (natMethod.cc (_Jv_CallAnyMethodA) should clear ffi_result before ffi_call)
PR libgcj/11951:
	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Returns
	void.  Throw VirtualMachineError if ffi fails.  Initialize return
	value.  Added is_jni_call argument; only wrap exception if not a
	JNI call.  Use descriptive message if operation not supported.
	(_Jv_GetTypesFromSignature): Use declaring class' loader to find
	array class.
	* include/jvm.h (_Jv_CallAnyMethodA): Updated declaration.
	* jni.cc (_Jv_JNI_CallAnyMethodV): Updated for new form of
	_Jv_CallAnyMethodA.
	(_Jv_JNI_CallAnyMethodA): Likewise.
	(_Jv_JNI_CallAnyVoidMethodV): Likewise.
	(_Jv_JNI_CallAnyVoidMethodA): Likewise.

From-SVN: r70544
2003-08-18 14:36:07 +00:00
Tom Tromey
0196f4e0a5 re PR libgcj/11779 (Field reflection incorrectly throws IllegalAccessException)
Fix for PR libgcj/11779:
	* java/lang/reflect/natField.cc (getAddr): Skip frames in Field
	class.

From-SVN: r70185
2003-08-05 20:06:57 +00:00
Tom Tromey
0d4d227907 Method.java: Updated status comment.
* java/lang/reflect/Method.java: Updated status comment.
	Imported javadoc from Classpath and re-ordered methods.
	* java/lang/reflect/Constructor.java: Reindented.  Updated
	status comment.  Imported javadoc from Classpath and re-ordered
	methods.

From-SVN: r70184
2003-08-05 19:50:54 +00:00
Tom Tromey
ffd94572f4 Runtime.java: Comment fix.
* java/lang/Runtime.java: Comment fix.
	* java/lang/ClassLoader.java (isAncestorOf): New method.
	(getParent): Uncommented security check.  Use isAncestorOf.
	* include/jvm.h (_Jv_CheckAccess): Declare.
	* java/lang/reflect/natConstructor.cc (newInstance): Perform
	access check.
	Include IllegalAccessException.h, ArrayIndexOutOfBoundsException.h.
	* java/lang/reflect/natArray.cc (newInstance): Pass caller's
	class loader to _Jv_GetArrayClass.
	Include ArrayIndexOutOfBoundsException.h.
	* java/lang/reflect/Field.java: Update comment to reflect status.
	(equals): Fixed indentation.
	* java/lang/Class.h (Class): Declare memberAccessCheck, not
	checkMemberAccess.  Make _Jv_CheckAccess a friend.
	* java/lang/Class.java (memberAccessCheck): New method from
	Classpath.
	(checkMemberAccess): Removed.
	(getDeclaredMethod): Use memberAccessCheck.
	(getField): Likewise.
	(getMethod): Likewise.
	* resolve.cc (_Jv_ResolvePoolEntry): Use _Jv_CheckAccess.
	(_Jv_SearchMethodInClass): Likewise.
	* prims.cc (_Jv_CheckAccess): New function.
	* jni.cc (_Jv_JNI_FindClass): Use getClassLoaderInternal.
	(_Jv_JNI_GetAnyFieldID): Likewise.
	* java/lang/natClass.cc (forName): Use getClassLoaderInternal.
	(getClassLoader): Added security check.
	(getConstructor): Call memberAccessCheck.
	(getDeclaredClasses): Likewise.
	(getDeclaredField): Likewise.
	(getDeclaredFields): Likewise.
	(_getConstructors): Likewise.
	(getDeclaredConstructor): Likewise.
	(getDeclaredMethods): Likewise.
	(getFields): Likewise.
	(getMethods): Likewise.
	(newInstance): Likewise.
	(_Jv_MakeVTable): Put method name in exception.
	* java/lang/reflect/natMethod.cc (getType): Use
	getClassLoaderInternal.
	(_Jv_GetTypesFromSignature): Likewise.
	(invoke): Perform access check.
	(_Jv_CallAnyMethodA): Removed old FIXME comments.
	Include ArrayIndexOutOfBoundsException.h.
	* java/lang/reflect/natField.cc (getType): Use
	getClassLoaderInternal.
	(_Jv_CheckFieldAccessibility): Removed.
	(getAddr): Use _Jv_CheckAccess; find caller.
	Include ArrayIndexOutOfBoundsException.h.

From-SVN: r69621
2003-07-21 01:54:06 +00:00