Commit Graph

51 Commits

Author SHA1 Message Date
Andreas Schwab
eb7062cf84 Enable java for aarch64
* configure.ac (aarch64-*-*): Don't disable java.
	* configure: Regenerate.

libjava/:
	* configure.host: Add support for aarch64.
	* sysdep/aarch64/locks.h: New file.

libjava/classpath/:
	* native/fdlibm/ieeefp.h: Add support for aarch64.

From-SVN: r197997
2013-04-16 08:49:51 +00:00
David Edelsohn
cc7d0fab84 Fix typo.
From-SVN: r188833
2012-06-20 09:48:40 -04:00
David Edelsohn
54af9de73f locks.h (compare_and_swap): Use GCC atomic intrinsics.
2012-06-20  David Edelsohn  <dje.gcc@gmail.com>
            Alan Modra  <amodra@gmail.com>

        * sysdep/powerpc/locks.h (compare_and_swap): Use GCC atomic
        intrinsics.
        (release_set): Same.
        (compare_and_swap_release): Same.
        (read_barrier): Same.
        (write_barrier): Same.

Co-Authored-By: Alan Modra <amodra@gmail.com>

From-SVN: r188829
2012-06-20 09:02:56 -04:00
Andreas Schwab
6724292e72 locks.h (compare_and_swap): Use __sync_bool_compare_and_swap.
* sysdep/m68k/locks.h (compare_and_swap): Use
__sync_bool_compare_and_swap.
(release_set): Use write_barrier instead of inlining it.

From-SVN: r188650
2012-06-15 08:08:04 +00:00
Andreas Krebbel
6d017004b1 2012-06-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* sysdep/s390/locks.h (compare_and_swap, release_set)
	(read_barrier, write_barrier): Use the GCC atomic builtins.

From-SVN: r188649
2012-06-15 07:29:26 +00:00
Kaz Kojima
bed3fc4127 Update sysdep/sh/locks.h with atomic builtins
Update sysdep/sh/locks.h with atomic builtins
	* sysdep/sh/locks.h (__cas_lock): Remove.
	(__cas_start_atomic, __cas_end_atomic): Likewise.
	(compare_and_swap): Call __sync_bool_compare_and_swap.

From-SVN: r188640
2012-06-14 22:58:05 +00:00
Uros Bizjak
a055ca4382 re PR libgcj/49193 (__sync_xxxx builtins aren't used in sysdep/*/locks.h)
PR libgcj/49193
	* sysdep/alpha/locks.h (compare_and_swap): Call
	__sync_bool_compare_and_swap.
	(release_set): Call __sync_synchronize.

From-SVN: r182692
2011-12-27 10:40:23 +01:00
H.J. Lu
e67e39c2b5 Revert accidental svn commit r174473
From-SVN: r174480
2011-05-31 15:02:40 +02:00
Dodji Seketeli
6e8c8b2300 Revert "Fix PR debug/49047"
This reverts commit ce20032a8ad4d9d4fa37192e2ecc73cb257094e8.

From-SVN: r174473
2011-05-31 14:17:06 +02:00
H.J. Lu
755b3b7cf7 Use __sync_bool_compare_and_swap in x86 locks.h.
2011-05-31  H.J. Lu  <hongjiu.lu@intel.com>

	PR libgcj/49193
	* configure.host (sysdeps_dir): Set to i386 for x86_64.

	* sysdep/i386/locks.h (compare_and_swap): Call
	__sync_bool_compare_and_swap.
	(release_set): Call write_barrier ().

	* sysdep/x86-64/locks.h: Removed.

From-SVN: r174471
2011-05-31 04:53:34 -07:00
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
Dave Korn
6a92b6c7aa cygming.h (TARGET_USE_JCR_SECTION): Enable.
gcc/ChangeLog

	* config/i386/cygming.h (TARGET_USE_JCR_SECTION): Enable.
	* config/i386/cygwin.h (LIBGCJ_SONAME): Define.
	* config/i386/mingw32.h (LIBGCJ_SONAME): Likewise.

libjava/ChangeLog

	* configure.host (enable_libgcj_sublibs_default): New variable,
	set for Cygwin and MinGW.
	* configure.ac (--enable-libgcj-sublibs): New command-line switch.
	(BUILD_SUBLIBS): New AM_CONDITIONAL relating to it.
	(libgcj_spec_lgcj_override): New variable, define if building sublibs.
	(libgcj_spec_lgcj_bc_override): Likewise for when USE_LIBGCJ_BC.
	(LIBGCJ_SPEC_LGCJ): New variable to abstract "-lgcj" from specs.
	(LIBGCJ_SPEC_LGCJ_BC): Likewise for when USE_LIBGCJ_BC.
	(LIBGCJ_SPEC): Use them.
	* configure: Regenerate.
	* Makefile.am (LOWER_PACKAGE_FILES_LO): New variable.
	(ALL_PACKAGE_SOURCE_FILES_LO): Likewise.
	(NONCORE_PACKAGE_SOURCE_FILES_LO): Likewise.
	(CORE_PACKAGE_SOURCE_FILES_LO): Likewise.
	(toolexeclib_LTLIBRARIES): Add libgcj-noncore.la if building sublibs.
	(libgcj_noncore_la_LIBADD_SUBOBJECTS): New variable.
	(libgcj_la_LIBADD_SUBOBJECTS): Likewise.
	(libgcj_la_LDFLAGS_NOUNDEF): Likewise.
	(libgij_la_LDFLAGS): Add DLL-related options.
	(libgcj_la_LDFLAGS): Use libgcj_la_LDFLAGS_NOUNDEF and
	libgcj_la_LIBADD_SUBOBJECTS.
	(libgcj_la_DEPENDENCIES): Adjust to match.
	(libgcj_noncore_la_SOURCES, libgcj_noncore_la_LDFLAGS,
	libgcj_noncore_la_LIBADD, libgcj_noncore_la_DEPENDENCIES,
	libgcj_noncore_la_LINK): New automake variables for sublibrary.
	(libgcj_tools_la_LDFLAGS): Add DLL-related flags.
	(libgcj_tools_la_LIBADD): New variable.
	(libjvm_la_LDFLAGS): Add DLL-related flags.
	(lib_gnu_awt_xlib_la_LDFLAGS): Likewise.
	(libgcj_bc_la_LDFLAGS): Likewise.
	(libgij_la_DEPENDENCIES): Add dependency on libgcj-noncore.la when
	building sublibs.
	(libgcj_tools_la_DEPENDENCIES, libjvm_la_DEPENDENCIES,
	lib_gnu_awt_xlib_la_DEPENDENCIES, jv_convert_DEPENDENCIES,
	gcj_dbtool_DEPENDENCIES, gc_analyze_DEPENDENCIES, ecjx_DEPENDENCIES):
	Likewise.
	* Makefile.in: Regenerate.
	* sysdep/i386/backtrace.h (MAIN_FUNC): New #define for main function,
	set appropriately for Cygwin on that platform or to "main" elsewhere.
	(fallback_backtrace): Use it to limit stack unwind.

libjava/libltdl/ChangeLog:

	* ltdl.h (LT_SCOPE): Change conditional to avoid breaking
	auto-export during libgcj DLL linking.
	* Makefile.am (libltdl_la_LDFLAGS): Remove -bindir switch.
	* Makefile.in: Regenerate.

From-SVN: r152041
2009-09-22 18:58:13 +00:00
Andrew Haley
e8e76230ed locks.h: Use atomic builtins For Linux EABI.
2009-08-12  Andrew Haley  <aph@redhat.com>

	* sysdep/arm/locks.h: Use atomic builtins For Linux EABI.
	* configure.ac: Add ATOMICSPEC.
	* libgcj.spec.in: Likewise.
	* configure.host (arm*-linux*): Add -Wno-abi to cxxflags.
	(testsuite/libjava.jvmti/jvmti-interp.exp): Likewise.
	(testsuite/libjava.jvmti/jvmti.exp): Likewise.
	(testsuite/libjava.jni/jni.exp): Likewise.
	Set ATOMICSPEC.
	Set LDFLAGS to work around libtool feature.

From-SVN: r150702
2009-08-12 16:34:00 +00:00
David Edelsohn
887e6178d4 re PR java/35485 (libjava is disabled by default)
PR target/35485
        * configure.ac: AIX threads are Posix threads.
        Set signal handler to aix-signal.h
        * configure: Regenerate.
        * classpath/native/fdlibm/fdlibm.h: Undef hz.
        * include/aix-signal.h: New file.
        * sysdep/powerpc/locks.h: Avoid GNU Assembler syntax.

From-SVN: r141335
2008-10-23 22:44:26 -04:00
David Daney
22083efc54 configure.host: Enable interpreter for mips64.
* configure.host: Enable interpreter for mips64.  Enable hash
	synchronization for all mips*-*-linux* targets.
	* sysdep/mips/locks.h (compare_and_swap, compare_and_swap_release) Use
	__sync_bool_compare_and_swap instead of in-line asm.
	(release_set, read_barrier, write_barrier): Use __sync_synchronize
	instead of in-line asm.

From-SVN: r128438
2007-09-12 15:16:23 +00:00
Roman Zippel
dbc293c8e4 boehm.c: Don't use bitmap as gc_descr if pointer is misaligned.
gcc/java/

2007-09-06  Roman Zippel  <zippel@linux-m68k.org>

        * boehm.c: Don't use bitmap as gc_descr if pointer is misaligned.

libjava/

2007-09-06  Roman Zippel  <zippel@linux-m68k.org>

        * sysdep/m68k/locks.h: New file.
        * configure.host: Set sysdeps_dir and libgcj_interpreter for m68k.
        * configure.ac: Set SIGNAL_HANDLER for m68*-*-linux*.
        * configure: Regenerate.

From-SVN: r128191
2007-09-06 16:39:58 +00:00
Andrew Haley
f202305d01 [multiple changes]
2007-09-04  Andrew Haley  <aph@redhat.com>

	PR java/27908
	* testsuite/libjava.lang/PR27908.java
	({run1,run2,run3}.isRunning): New Method.
	(main): Fix race condition.

2007-08-29  Andrew Haley  <aph@redhat.com>

	* gnu/classpath/natVMStackWalker.cc (VMStackWalker::getCallingClass):
	Make sure we're not sibcalled.
	(GET_CALLING_CLASS): Define for ARM EABI.

2007-08-22  Andrew Haley  <aph@redhat.com>

	* configure.host (BACKTRACESPEC): Add arm*-linux*.

2007-08-22  Andrew Haley  <aph@redhat.com>

	* configure.ac (LIBSTDCXXSPEC): New.
	* configure.host: Add arm*-linux* to pthread test.
	* configure.ac (LIBGCJTESTSPEC): Add path to libstdc++ for ARM
	EABI.
	* testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Use
	-fexceptions for ARM EABI.
	* testsuite/lib/libjava.exp (libjava_arguments): Add libgcj-test.spec.
	(libjava_invoke): Log the invocation.

2007-08-15  Andrew Haley  <aph@redhat.com>

	* configure.ac (extra_ldflags): Define.
	* Makefile.am: Use extra_ldflags for all executables.

2007-08-14  Andrew Haley  <aph@redhat.com>

	* sysdep/arm/backtrace.h: Remove stubs for _Unwind_GetIPInfo,
	_Unwind_GetRegionStart, and _Unwind_Backtrace.

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

	* gnu/classpath/natVMStackWalker.cc (GET_CALLING_CLASS): Stub for
	ARM EABI.
	* exception.cc (get_exception_header_from_ue): New.
	(get_ttype_entry): ARM EABI version.
	(PERSONALITY_FUNCTION): Add ARM EABI code.
	* sysdep/arm/backtrace.h: New file.
	* stacktrace.cc (_URC_NORMAL_STOP): New.
	* configure.ac (extra_ldflags_libjava): Add libsupc++.la for ARM
	EABI.
	* configure.host (BACKTRACESPEC): Add arm/backtrace.h.

From-SVN: r128098
2007-09-04 18:00:31 +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
Richard Henderson
507a4fd4a0 * sysdep/alpha/locks.h (read_barrier): New.
From-SVN: r121774
2007-02-09 12:40:56 -08:00
Andreas Tobler
4838bfc05b re PR libgcj/30513 (Bootstrap failure with libgcj on sparc-sun-solaris2.10)
2007-01-27  Andreas Tobler  <a.tobler@schweiz.org>

	PR libgcj/30513
	* configure.host: Add forgottten sysdep_dir to sparc. Add a flag to
	libgcj_flags to undefine 'sun' at compile time.
	* sysdep/sparc/locks.h (read_barrier): New functions for 32 and 64 bit
	Sparc.
	(write_barrier): Likewise.

From-SVN: r121239
2007-01-27 22:46:15 +01:00
Andrew Haley
4d8f018e30 locks.h (write_barrier): New.
2007-01-22  Andrew Haley  <aph@redhat.com>

        * sysdep/alpha/locks.h (write_barrier): New.

From-SVN: r121053
2007-01-22 12:27:48 +00:00
Kaz Kojima
228e6ac245 locks.h (read_barrier): New.
* sysdep/sh/locks.h (read_barrier): New.
	(write_barrier): Likewise.

From-SVN: r120735
2007-01-12 22:27:49 +00:00
H.J. Lu
e0ae13896e re PR libgcj/30424 (revision 120632 failed to build on ia64)
2007-01-10  H.J. Lu  <hongjiu.lu@intel.com>

	PR libgcj/30424
	* sysdep/ia64/locks.h (read_barrier): New.
	(write_barrier): New.

From-SVN: r120645
2007-01-10 09:50:40 -08:00
Mike Stump
69a4984241 locks.h: Enable use of either file on either target to support multilibs from one to the...
* sysdep/x86-64/locks.h: Enable use of either file on either
	target to support multilibs from one to the other.
	* sysdep/i386/locks.h: Likewise.

From-SVN: r119276
2006-11-28 06:05:25 +00:00
Ranjit Mathew
d58b0443ec backtrace.h (fallback_backtrace): Add "0x55 0x8B 0xEC" as another sequence that can indicate a "pushl %ebp...
* sysdep/i386/backtrace.h (fallback_backtrace): Add "0x55 0x8B 0xEC"
	as another sequence that can indicate a "pushl %ebp; movl %esp, %ebp"
	function prologue.

From-SVN: r116258
2006-08-19 15:35:11 +00:00
Ranjit Mathew
38b19a9247 stacktrace.cc (_Jv_StackTrace::GetStackTrace): Unconditionally use _Unwind_Backtrace().
* stacktrace.cc (_Jv_StackTrace::GetStackTrace): Unconditionally use
	_Unwind_Backtrace().
	(_Jv_StackTrace::GetCallerInfo): Enable even for targets using SJLJ
	EH.
	(_Jv_StackTrace::GetClassContext): Unconditionally use
	_Unwind_Backtrace().
	(_Jv_StackTrace::GetFirstNonSystemClassLoader): Likewise.
	* sysdep/i386/backtrace.h (HAVE_FALLBACK_BACKTRACE): Do not define.
	(_Unwind_GetIPInfo): Define macro if SJLJ EH is in use.
	(_Unwind_GetRegionStart): Likewise.
	(_Unwind_Backtrace): Likewise.
	(fallback_backtrace): Accept additional unwind trace function
	argument.  Call it during unwinding.  Stop when any of _Jv_RunMain(),
	_Jv_ThreadStart() or main() is seen during unwinding.
	* sysdep/generic/backtrace.h (fallback_backtrace): Accept an
	additional unwind trace function argument.

From-SVN: r115449
2006-07-14 17:14:55 +00:00
Ranjit Mathew
c6d0959c4b backtrace.h (fallback_backtrace): Scan for a function's prologue to determine its beginning.
* sysdep/i386/backtrace.h (fallback_backtrace): Scan for a function's
	prologue to determine its beginning.  Stop unwinding when we reach
	JvRunMain().

From-SVN: r115261
2006-07-07 15:40:55 +00:00
Ranjit Mathew
3379268423 javaprims.h (_Jv_uintptr_t): New typedef similar to uintptr_t in C99.
* gcj/javaprims.h (_Jv_uintptr_t): New typedef similar to uintptr_t in
	C99.
	* include/java-stack.h: Include stdlib.h.
	(_Jv_AddrInfo): New structure to hold address information.
	* include/posix.h (_Jv_platform_dladdr): Declare.
	* include/win32.h (_Jv_platform_dladdr): Declare.
	(backtrace): Remove declaration.
	* posix.cc: Include dlfcn.h if available.  Include java-stack.h.
	(_Jv_platform_dladdr): Define.
	* win32.cc: Include string.h.  Include java-stack.h.
	(backtrace): Remove.
	(_Jv_platform_dladdr): Define.
	* sysdep/i386/backtrace.h (fallback_backtrace): Check that a potential
	frame pointer value is 32-bit word-aligned.  Use operand of the CALL
	instruction calling the current function to find its starting address.
	* stacktrace.cc: Do not include dlfcn.h.  Include platform.h.
	(_Jv_StackTrace::getLineNumberForFrame): Use _Jv_platform_dladdr()
	instead of dladdr().
	(_Jv_StackTrace::GetStackTraceElements): Use nCodeMap even for Windows.
	(_Jv_StackTrace::GetClassContext): Use fallback_backtrace() for
	targets with SJLJ exceptions instead of using _Unwind_Backtrace().
	(_Jv_StackTrace::GetFirstNonSystemClassLoader): Likewise.

From-SVN: r115069
2006-06-29 14:57:39 +00:00
Andreas Tobler
68bfb94e7e configure.ac: Add the POSIX thread libs to the HP-UX PA configuration.
2006-05-20  Andreas Tobler  <a.tobler@schweiz.ch>
	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* configure.ac: Add the POSIX thread libs to the HP-UX PA
	configuration. Add signal specification for HP-UX PA.
	* configure: Rebuilt.
	* configure.host: Add defaults for the HP-UX PA architecture.
	Add descriptor files for HP-UX PA 32-bit and 64-bit.
	* include/hppa-signal.h: New file.
	* include/posix.h: Add shared library suffix for HP-UX.
	* sysdep/pa/descriptor-pa32-hpux.h: New file.
	* sysdep/pa/descriptor-pa64-hpux.h: Likewise.

Co-Authored-By: John David Anglin <dave.anglin@nrc-cnrc.gc.ca>

From-SVN: r113937
2006-05-20 23:33:07 +02:00
John David Anglin
3779973b0b locks.h (compare_and_swap): Add ldcw semaphore to make operation atomic.
* sysdep/pa/locks.h (compare_and_swap): Add ldcw semaphore to make
	operation atomic.

From-SVN: r109110
2005-12-28 17:13:56 +00:00
Bryce McKinlay
4ca6f88ae8 ia64-frame.h: Removed.
2005-11-24  Bryce McKinlay  <mckinlay@redhat.com>

	* sysdep/ia64-frame.h: Removed.
	* sysdep/ia64.c: Removed.
	* sysdep/dwarf2-backtrace.cc: Removed.
	* configure.ac: Remove references to HAVE_BACKTRACE and
	SUPPLY_BACKTRACE.
	* Makefile.am: Remove SUPPLY_BACKTRACE support.
	* configure: Rebuilt.
	* Makefile.in: Rebuilt.

From-SVN: r107486
2005-11-25 04:15:15 +00:00
Geoffrey Keating
c7d0307027 locks.h: Use 64-bit versions of primitives when __LP64__ is defined rather than...
* sysdep/powerpc/locks.h: Use 64-bit versions of primitives when
	__LP64__ is defined rather than __powerpc64__.
	(compare_and_swap): 'ret' is an obj_addr_t not just an int.
	(compare_and_swap_release): Likewise.

From-SVN: r104746
2005-09-28 22:46:48 +00:00
John David Anglin
c348be20ae re PR libgcj/21692 (unexpected java.lang.NoClassDefFoundError)
PR libgcj/21692
	* sysdep/pa/descriptor.h: New file.
	* configure.host: Use sysdep/pa/descriptor.h on hppa*-*.

From-SVN: r103306
2005-08-20 20:26:26 +00:00
Kelley Cook
917b04f492 Update FSF address
From-SVN: r101453
2005-06-30 03:22:09 +00:00
Richard Henderson
eb2925b676 re PR libgcj/21692 (unexpected java.lang.NoClassDefFoundError)
PR libgcj/21692
        * sysdep/descriptor-n.h: New file.
        * sysdep/descriptor-y.h: New file.
        * sysdep/powerpc/descriptor.h: New file.
        * configure.host: Set $descriptor_h appropriate for the host.
        * configure.ac: Link it.
        * configure: Regenerate.
        * stacktrace.cc: Include sysdep/descriptor.h.
        (_Jv_StackTrace::UpdateNCodeMap): Use UNWRAP_FUNCTION_DESCRIPTOR.

From-SVN: r100173
2005-05-25 16:24:07 -07: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
Andreas Tobler
0e497b6cf5 configure.host: Enable hash synchronization on Darwin.
2004-07-07  Andreas Tobler  <a.tobler@schweiz.ch>

	* configure.host: Enable hash synchronization on Darwin.
	* sysdep/powerpc/locks.h (compare_and_swap): Use '\n' instead of
	';', since this is a comment on Darwin.
	(compare_and_swap_release): Likewise.

From-SVN: r84214
2004-07-07 20:24:00 +02:00
Randolph Chung
f94b08878f configure.in: Build java for hppa target.
2004-02-10  Randolph Chung  <tausq@debian.org>

        * configure.in: Build java for hppa target.
        * configure: Regenerate.
        * libjava/configure.host (hppa-*): Add target.
        * libjava/sysdeps/pa/lock.h: New file.

From-SVN: r79703
2004-03-19 22:39:10 +00:00
Andrew Haley
a3fe7b56f3 locks.h: Don't use in/out memory constraints.
2004-01-16  Andrew Haley  <aph@redhat.com>

	* sysdep/x86-64/locks.h: Don't use in/out memory constraints.
	* sysdep/i386/locks.h: Likewise.

From-SVN: r75982
2004-01-16 17:25:26 +00:00
David S. Miller
afa58437b8 locks.h (__cas_start_atomic): %g0 --> %%g0.
2003-10-28  David S. Miller  <davem@redhat.com>

	* sysdep/sparc/locks.h (__cas_start_atomic): %g0 --> %%g0.

From-SVN: r73006
2003-10-28 06:19:23 -08:00
David Daney
1322946805 mips-signal.h: New file.
2003-10-22  David Daney  <ddaney@avtrex.com)

	* include/mips-signal.h: New file.
	* sysdep/dwarf2-backtrace.cc: New file.
	* sysdep/mips: New directory.
	* sysdep/mips/locks.h: New file.
	* Makefile.am(extra_cc_files): New, to allow extra c++ files to be
	added to libgcj.
	(extra_cc_source_files): Ditto.
	* configure.host(disable_dladdr):  New shell variable passed to
	configure.
	(mips*-*-linux*): sysdeps_dir=mips,
	can_unwind_signal=yes, disable_dladdr=yes, use -mxgot.
	(mipsel*-linux* | mipsisa32el*-linux*): Enable hash synchronization.
	* configure.in:(mips*-*-linux*): Use sysdep/dwarf2-backtrace.cc to
	generate backtrace, and include/mips-signal.h as SIGNAL_HANDLER
	(HAVE_DLADDR): Make it depend on setting of disable_dladdr.
	(EXTRA_CC_FILES): New, to support conditional addition of
	sysdep/dwarf2-backtrace.cc.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* gcj/Makefile.in: Regenerated.
	* include/config.h.in: Regenerated.
	* include/Makefile.in: Regenerated.
	* testsuite/Makefile.in: Regenerated.

From-SVN: r72808
2003-10-22 16:35:17 +00:00
Richard Henderson
de32716c0d locks.h: Include ia64intrin.h.
* sysdep/ia64/locks.h: Include ia64intrin.h.
        (compare_and_swap): Use __sync_bool_compare_and_swap.
        (compare_and_swap_release): Expose ar.ccv assignment.

From-SVN: r64737
2003-03-22 17:38:00 -08:00
Ulrich Weigand
5404cddbc8 configure.host [s390*-*]: Enable Java interpreter.
* configure.host [s390*-*]: Enable Java interpreter.
	Enable hash synchronization.  Add sysdeps dir.
	* sysdep/s390/locks.h: New file.

From-SVN: r57927
2002-10-08 14:57:37 +00:00
Bo Thorsen
73bff06445 locks.h (compare_and_swap): Fix multilib support.
2002-09-30  Bo Thorsen  <bo@suse.de>

	* sysdep/x86-64/locks.h (compare_and_swap): Fix multilib support.

From-SVN: r57682
2002-10-01 11:02:08 +02:00
Kaz Kojima
d8278e27fe configure.host: Add SH support.
* configure.host: Add SH support.
        * sysdep/sh/locks.h: New file.

From-SVN: r55922
2002-08-01 05:34:54 +00:00
Alan Modra
61fd68b4c3 locks.h: Formatting.
* sysdep/powerpc/locks.h: Formatting.
	(_LARX): Define.
	(_STCX): Define.
	(compare_and_swap): Use _LARX and _STCX.
	(compare_and_swap_release): Likewise.

From-SVN: r55855
2002-07-30 08:56:27 +09:30
Bo Thorsen
7b20471292 ieeefp.h: Add x86-64 support.
2002-07-19  Bo Thorsen  <bo@berlioz.suse.de>

        * java/lang/ieeefp.h: Add x86-64 support.
        * configure.in: Likewise.
        * configure.host: Likewise.
        * configure: Regenerated.
        * sysdep/x86-64/locks.h: New file with x86-64 locks.

From-SVN: r55588
2002-07-19 16:41:15 +02:00
David S. Miller
714708c8b1 dwarf2-signal.h (SIGNAL_HANDLER): Name siginfo_t pointer arg.
2002-04-19  David S. Miller  <davem@redhat.com>

	* include/dwarf2-signal.h (SIGNAL_HANDLER): Name siginfo_t pointer
	arg.
	(MAKE_THROW_FRAME): Define for 32-bit and 64-bit sparc.
	(INIT_SEGV, INIT_FPE): Use direct __libc_sigaction installation
	on Sparc too.
	* include/sparc-signal.h (FLUSH_REGISTER_WINDOWS): Define properly
	for 64-bit sparc.
	(MAKE_THROW_FRAME): Use long for sp/retaddr so 64-bit works.
	* sysdeps/sparc/locks.h: New file.
	* configure.in (SIGNAL_HANDLER): Set to include/sparc-signal.h
	on all sparc Solaris configurations.  Set to
	include/dwarf2-signal.h on sparc Linux.
	* configure: Regenerate
	* configure.host (can_unwind_signal): sparc*-linux* can do it now.

From-SVN: r52575
2002-04-21 02:37:49 -07:00
Bryce McKinlay
1de21d0eac posix-threads.cc (_Jv_ThreadSelf_out_of_line): Use write_barrier, not release_set.
* posix-threads.cc (_Jv_ThreadSelf_out_of_line): Use write_barrier,
	not release_set.
	* sysdep/powerpc/locks.h (write_barrier): New function.
	* sysdep/i386/locks.h (write_barrier): New function.

From-SVN: r51101
2002-03-21 00:26:46 +00:00
Bryce McKinlay
aa7543832a configure.in: Define SLOW_PTHREAD_SELF if configure.host set slow_pthread_self.
libjava:
	* configure.in: Define SLOW_PTHREAD_SELF if configure.host set
	slow_pthread_self. Set up symlink for sysdeps directory.
	* configure.host: Document more shell variables. Set sysdeps_dir
	for most platforms. Set slow_pthread_self for i686. Set
	enable_hash_synchronization_default and slow_pthread_self for PowerPC.
	* posix-threads.cc (_Jv_ThreadSelf_out_of_line): Use release_set so
	that memory barrier is emitted where required.
	* include/posix-threads.h (_Jv_ThreadSelf for SLOW_PTHREAD_SELF): Add
	read_barrier() to enforce ordering of reads.
	* sysdep/powerpc/locks.h: New file. Implementation of synchronization
	primitives for PowerPC.
	* sysdep/i386/locks.h: New file. Synchronization primitives for i386
	moved from natObject.cc.
	* sysdep/alpha/locks.h: Likewise.
	* sysdep/ia64/locks.h: Likewise.
	* sysdep/generic/locks.h: Likewise.
	* java/lang/natObject.cc: Move thread synchronization primitives to
	system-dependent headers.

gcc/java:
	* decl.c (java_init_decl_processing): Make sure class_type_node
	alignment is not less than 64 bits if hash synchronization is enabled.

boehm-gc:
	* include/gc_priv.h: Define ALIGN_DOUBLE on 32 bit targets if GCJ
	support is enabled, for hash synchronization.

[[Split portion of a mixed commit.]]

From-SVN: r50518.2
2002-03-10 03:31:08 +00:00