Commit Graph

66 Commits

Author SHA1 Message Date
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
David Daney ac5205bd7d configure.host: Don't use -mxgot for MIPS builds.
2005-02-23  David Daney  <ddaney@avtrex.com>

	* configure.host: Don't use -mxgot for MIPS builds.

From-SVN: r95689
2005-02-28 17:22:30 +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
Richard Sandiford a996709e40 o32.S (ffi_call_O32, [...]): Use jalr instead of jal.
* src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
        of jal.  Use an absolute encoding for the frame information.

        * configure.host: Enable the interpreter for mips*-*-linux*.

From-SVN: r91116
2004-11-23 23:18:14 +00:00
David Daney 04efec8127 configure.host: Use -fno-use-divide-subroutine for mips*-*-linux*.
2004-09-03  David Daney  <ddaney@avtrex.com>

	* configure.host: Use -fno-use-divide-subroutine for mips*-*-linux*.
	* include/mips-signal.h: Added HANDLE_FPE support.

From-SVN: r87039
2004-09-03 17:58:52 +00:00
Ulrich Weigand 220a826e6d s390.md ("udivsi3"): Ensure trap is generated for division by zero.
gcc/ChangeLog:

	* config/s390/s390.md ("udivsi3"): Ensure trap is generated
	for division by zero.
	("umodsi3"): Likewise.

libjava/ChangeLog:

	* configure.host (DIVIDESPEC) [s390*-*-*]: Set to
	-fno-use-divide-subroutine.
	* include/s390-signal.h: Include <ucontext.h> and <limits.h>.
	(HANDLE_FPE): Define.
	(SIGNAL_HANDLER): Change third argument to ucontext_t *.
	(struct old_s390_kernel_sigaction): Likewise for k_sa_handler.
	(HANDLE_DIVIDE_OVERFLOW): Define.

From-SVN: r84683
2004-07-14 13:09:09 +00:00
Randolph Chung 8c5ac2c403 pa32-linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
* gcc/config/pa/pa32-linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
	* libjava/configure.in (SIGNAL_HANDLER): Use pa-signal.h for hppa.
	* libjava/configure: Regenerate.
	* libjava/configure.host: Set can_unwind_signal for hppa*-linux.
	* libjava/pa-signal.h: New file.

From-SVN: r84344
2004-07-09 03:39:35 +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
Geoffrey Keating f8a57be818 Index: gcc/ChangeLog
2004-06-28  Geoffrey Keating  <geoffk@apple.com>
	    Andreas Tobler  <a.tobler@schweiz.ch>

	PR 15813
	* dwarf2out.c (reg_save): Output DW_CFA_same_value when a
	register is saved in itself.
	(initial_return_save): If the return address is a register,
	it's already there, don't bother to mention it in the CFI.
	(struct queued_reg_save): Add field saved_reg.
	(struct reg_saved_in_data): New.
	(regs_saved_in_regs): New.
	(num_regs_saved_in_regs): New.
	(queue_reg_save): Add extra parameter to specify register saved
	in register.  Remove duplicate entries from queue.  Add comment
	for function.
	(flush_queued_reg_saves): Handle registers saved in registers.
	Update regs_saved_in_regs.  Add comment for function.
	(clobbers_queued_reg_save): Add comment for function.  Allow
	for regs_saved_in_regs.
	(reg_saved_in): New.
	(dwarf2out_frame_debug_expr): Handle saving registers in other
	registers.
	(dwarf2out_frame_debug): Reset regs_saved_in_regs.
	* unwind-dw2.c (execute_cfa_program): Correct handling of
	DW_CFA_same_value.  Add FIXME comment about incorrect implementation
	of DW_CFA_restore_extended.
	* config/rs6000/rs6000.c (rs6000_emit_prologue): Let
	dwarf2out_frame_debug_expr see instructions that save registers
	in other registers or save those other registers in memory.

	* unwind-dw2.c (DWARF_FRAME_REGISTERS): Move to unwind-dw2.h.
	(_Unwind_FrameState): Likewise.
	* unwind-dw2.h: New.
	* Makefile.in (LIB2ADDEHDEP): Add unwind-dw2.h.
	* config/rs6000/darwin-fallback.c: New file.
	* config/rs6000/darwin.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
	* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add darwin-fallback.o.

Index: gcc/testsuite/ChangeLog
2004-06-26  Geoffrey Keating  <geoffk@apple.com>
	    Andreas Tobler  <a.tobler@schweiz.ch>

	* gcc.dg/cleanup-10.c: Run on all Linux platforms and powerpc-darwin.
	Use SA_RESETHAND rather than SA_ONESHOT.  Trap SIGBUS as well
	as SIGSEGV.
	* gcc.dg/cleanup-11.c: Likewise.
	* gcc.dg/cleanup-8.c: Likewise.
	* gcc.dg/cleanup-9.c: Likewise.
	* gcc.dg/cleanup-5.c: Run on all platforms.

Index: libjava/ChangeLog
2004-06-26  Geoffrey Keating  <geoffk@apple.com>
	    Andreas Tobler  <a.tobler@schweiz.ch>

	* configure.host (powerpc-*-darwin*): New case, define
	can_unwind_signal.
	* configure.in (*-*-darwin*): New case, point to darwin-signal.h.
	* configure: Regenerate.
	* include/darwin-signal.h: New.

Co-Authored-By: Andreas Tobler <a.tobler@schweiz.ch>

From-SVN: r83953
2004-07-01 04:09:07 +00: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
Jan Hubicka 2ac87ccba9 configure.host: Pass -fno-omit-frame-pointer for i386.
* configure.host: Pass -fno-omit-frame-pointer for i386.
	* configure.in: Likewise.

From-SVN: r78764
2004-03-02 15:55:38 +00:00
Jakub Jelinek 02731d29be linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Corrected to handle kernels with changed ucontext.
* config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR)
	[!__powerpc64__]: Corrected to handle kernels with changed ucontext.

	* include/powerpc-signal.h: Add #ifndef __powerpc64__ around the
	header.  For __powerpc64__ provide the default-signal.h definitions
	for now.
	* include/x86_64-signal.h [!__x86_64__]: Include java-signal-aux.h
	instead of the dummy definitions.
	* configure.host (x86_64-*): Remove CHECKREFSPEC, add DIVIDESPEC.
	(powerpc64*-*): Remove with_libffi_default.
	Only add -mminimal-toc for 64-bit compilations.
	* configure.in: Use powerpc-signal.h on powerpc64 as well.
	(x86_64-*-linux*): Set SIGNAL_HANDLER_AUX.
	Link SIGNAL_HANDLER_AUX to include/java-signal-aux.h.
	* configure: Rebuilt.

From-SVN: r76437
2004-01-23 18:32:16 +01: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
Michael Koch 707691d877 acconfig.h (__NO_MATH_INLINES): Removed.
2003-09-10  Michael Koch  <konqueror@gmx.de>

	* acconfig.h (__NO_MATH_INLINES): Removed.
	* configure.in: Removed check for g++ math inlining bug from 2000.
	* configure.host: Removed -D__NO_MATH_INLINES in libgcj_cflags and
	libgcj_cxxflags.
	* configure: Regenerated.

From-SVN: r71276
2003-09-10 18:50:47 +00:00
Tom Tromey 2e71d80930 * configure.host: Removed erroneous comment.
From-SVN: r71077
2003-09-04 16:59:22 +00:00
Ranjit Mathew 6eb085352b configure.host: Use -fcheck-references and -fuse-divide-subroutine for MinGW until we fix...
2003-07-26  Ranjit Mathew  <rmathew@hotmail.com>

	* configure.host: Use -fcheck-references and
	-fuse-divide-subroutine for MinGW until we fix
	win32_exception_handler( ) in win32.cc w.r.t. Win32
	Structured Exception Handling (SEH).

From-SVN: r69843
2003-07-27 04:11:55 +00:00
Tom Tromey b8e61e1eb3 configure.host: Set with_libffi_default and libgcj_interpreter to "yes".
* configure.host <powerpc64*-*>: Set with_libffi_default and
	libgcj_interpreter to "yes".

From-SVN: r66609
2003-05-08 18:53:44 +00:00
Jakub Jelinek ba39351eb3 configure.host (*-linux*): Don't set slow_pthread_self if primary installed libpthread is either...
* configure.host (*-linux*): Don't set slow_pthread_self if primary
	installed libpthread is either linuxthreads with floating stacks or
	NPTL.

From-SVN: r65628
2003-04-15 11:52:42 +02:00
Jeff Sturm c4ebd83df2 configure.host (alpha*-*): Default to -mieee.
* configure.host (alpha*-*): Default to -mieee.
* configure.in (IEEESPEC): New.
* libgcj.spec.in (jc1): Add IEEESPEC.
* configure: Rebuild.

From-SVN: r62815
2003-02-13 02:51:26 +00:00
Andrew Haley 7b22f8b08a configure.host (x86_64): Enable interpreter.
2003-02-03  Andrew Haley  <aph@emcee.cambridge.redhat.com>

        * configure.host (x86_64): Enable interpreter.

From-SVN: r62326
2003-02-03 17:10:16 +00:00
Andrew Haley 4b445d7cfb libgcj.spec.in (jc1): Add BACKTRACESPEC.
2003-02-03  Andrew Haley  <aph@redhat.com>

	* libgcj.spec.in (jc1): Add BACKTRACESPEC.
        * configure.host (x86_64): Default to -fno-omit-frame-pointer.
        * configure.in (BACKTRACESPEC): New.
        * configure: Regenerate.

From-SVN: r62316
2003-02-03 15:59:48 +00:00
Andreas Tobler e9e93c8b7c * libjava/configure.host: Disable can_unwind_signal on darwin.
From-SVN: r62048
2003-01-28 23:25:39 +00:00
Andrew Haley fb13499ff7 Fix misapplied patch.
From-SVN: r61601
2003-01-22 17:50:38 +00:00
Andrew Haley f8061f6ab4 x86_64-signal.h: Add simple handler for x86_64 32-bit mode.
2003-01-22  Andrew Haley  <aph@redhat.com>

        * x86_64-signal.h: Add simple handler for x86_64 32-bit mode.
        * configure.host (CHECKREFSPEC): Define for x86_64.

From-SVN: r61600
2003-01-22 17:47:04 +00:00
Andrew Haley 399df6db87 dwarf2-signal.h: Remove x86_64.
2003-01-10  Andrew Haley  <aph@redhat.com>

        * include/dwarf2-signal.h: Remove x86_64.
        * configure.host (x86_64 DIVIDESPEC): Remove.
        * include/x86_64-signal.h: New file.
        * configure.in: Regenerate.

From-SVN: r61284
2003-01-14 13:51:15 +00:00
Jeff Sturm 2eb1ea8323 * configure.host (sparc*-*): Enable bytecode interpreter.
From-SVN: r60862
2003-01-03 23:36:42 +00:00
Zack Weinberg 4977bab6ed Merge basic-improvements-branch to trunk
From-SVN: r60174
2002-12-16 18:23:00 +00: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
Richard Earnshaw 841b836041 configure.host: Handle arm*-elf, strongarm*-elf and xscale*-elf with a single configuration.
* configure.host: Handle arm*-elf, strongarm*-elf and xscale*-elf with
a single configuration.

From-SVN: r57611
2002-09-28 12:15:18 +00: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 1d49f58aff * configure.host: Add powerpc64*-* entry.
From-SVN: r55788
2002-07-27 09:24:28 +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
Bryce McKinlay 5f555088ad configure.host: Disable hash synchronization and slow_pthread_self for cygwin.
* configure.host: Disable hash synchronization and slow_pthread_self
	for cygwin.

From-SVN: r54428
2002-06-10 04:50:41 +01:00
Ulrich Weigand e793a7140e configure.host [...]: Set can_unwind_signal=yes.
* configure.host [s390*-linux*]: Set can_unwind_signal=yes.
* configure.in [s390*-*-linux*]: Do not define HAVE_BACKTRACE.
Set SIGNAL_HANDLER=include/s390-linux.h.
* configure: Regenerate.
* include/s390-linux.h: New file.

From-SVN: r54012
2002-05-29 18:36:50 +00: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 605dc89b0e configure.host: Set can_unwind_signal on hosts which support it.
* configure.host: Set can_unwind_signal on hosts which support it.
	Don't set CHECKREFSPEC and DIVIDESPEC for FreeBSD.
	* configure.in: Set CHECKREFSPEC and DIVIDESPEC if not using SJLJ
	exceptions and can_unwind_signal isn't set.
	* configure: Rebuilt.

From-SVN: r52193
2002-04-12 02:14:33 +01:00
Loren J. Rittle c090488760 configure.host: Add case statement to support generic port properties.
* configure.host: Add case statement to support generic port
	properties.  Add *-*-freebsd* section.

From-SVN: r51896
2002-04-05 04:17:11 +00:00
Anthony Green 5cb27a4697 libgcj.spec.in: Add CHECKREFSPEC.
2002-03-27  Anthony Green  <green@redhat.com>

	* libgcj.spec.in: Add CHECKREFSPEC.
	* configure.in: Ditto.
	* configure.host: Ditto.  Check references for xscale-elf.
	* configure: Rebuilt.

From-SVN: r51457
2002-03-27 16:41:44 +00:00
Tom Tromey c677cd7f47 reverted erroneous checkin
From-SVN: r51235
2002-03-23 16:16:46 +00:00
Tom Tromey f5c5a4e915 name-finder.h (_Jv_name_finder::myclose): New method.
* include/name-finder.h (_Jv_name_finder::myclose): New method.
	* name-finder.cc (_Jv_name_finder): Initialize file descriptors.

From-SVN: r51234
2002-03-23 16:14:28 +00:00
Anthony Green 2d933a0bf9 Commit embedded patch approved Feb 17
From-SVN: r50860
2002-03-16 00:37:21 +00:00
Andreas Tobler 46f56f54c4 configure.host (powerpc*-darwin*): Enable interpreter.
2002-03-12  Andreas Tobler  <a.tobler@schweiz.ch>

	* configure.host (powerpc*-darwin*): Enable interpreter.

From-SVN: r50686
2002-03-12 22:29:52 +00:00
Bryce McKinlay 4559716751 Hashtable synchronization for PowerPC.
libjava:
	Hashtable synchronization for PowerPC.
	* configure.in: Define SLOW_PTHREAD_SELF if configure.host set
	slow_pthread_self. Set up symlink for sysdeps directory.
	* configure: Rebuild.
	* 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.
	* prims.cc: 64-bit align static primitive class instances.
	* 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 isenabled.

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

From-SVN: r50523
2002-03-10 03:53:16 +00:00
Anthony Green 9782d8f5aa Add xscale-elf support
From-SVN: r49616
2002-02-08 14:46:36 +00:00
Andreas Tobler c6c3221d21 configure.host: Disable the interpreter for Darwin.
2002-01-02 Andreas Tobler <a.tobler@schweiz.ch>

	* configure.host: Disable the interpreter for Darwin.

From-SVN: r48557
2002-01-05 04:00:32 +00:00
Jeff Sturm 092a1f5ab3 configure.host: Enable hash synchronization for alpha*-*.
* configure.host: Enable hash synchronization for alpha*-*.
* include/posix-threads.h (_Jv_ThreadSelf): Added inline function for alpha.
* java/lang/natObject.cc (compare_and_swap, release_set,
compare_and_swap_release): Added inline functions for alpha.

From-SVN: r44251
2001-07-23 03:51:17 +00:00
Tom Tromey 3610e0d548 [multiple changes]
2001-05-23  Tom Tromey  <tromey@redhat.com>

	* posix-threads.cc (_Jv_self_cache): Renamed from self_cache.
	* gcj/Makefile.in: Rebuilt.
	* gcj/Makefile.am (gcj_HEADERS): Added libgcj-config.h.
	* gcj/javaprims.h: Include gcj/libgcj-config.h.
	* gcj/libgcj-config.h.in: New file.
	* libgcj.spec.in (*jc1): Added @HASH_SYNC_SPEC@.
	* configure: Rebuilt.
	* configure.in: Enable hash synchronization by default on some
	platforms.
	(HASH_SYNC_SPEC): New subst.
	(AC_CONFIG_HEADER): Added gcj/libgcj-config.h.
	Correctly use `test -z' instead of `test -n' in a couple places.
	(JV_HASH_SYNCHRONIZATION): Use AC_DEFINE; don't add to
	LIBGCJ_CXXFLAGS.
	* configure.host (enable_java_net_default): Initialize.
	(enable_hash_synchronization_default): New variable.

2001-05-23  Hans Boehm <Hans_Boehm@hp.com>

	* boehm.cc (_Jv_MarkObj): Don't mark sync_info when hash
	synchronization in use.
	(_Jv_MarkArray): Likewise.
	(_Jv_AllocBytes): Don't check return result.
	(handle_out_of_memory): New function.
	(_Jv_InitGC): Set GC_oom_fn.
	(trace_one_vtable): New global.
	(_Jv_AllocTraceOne): New function.
	* configure.in: Added --enable-hash-synchronization.
	* defineclass.cc, prims.cc, resolve.cc, java/lang/natString.cc,
	java/net/natInetAddress.cc: Remove _Jv_AllocBytesChecked.
	* nogc.cc (_Jv_AllocObj): Throw out-of-memory.
	(_Jv_AllocArray): Likewise.
	(_Jv_AllocBytes): Likewise.
	(_Jv_AllocPtrFreeObject): New function.
	(_Jv_AllocTraceOne): Likewise.
	* posix-threads.cc (_Jv_ThreadRegister): Handle slow
	pthread_self().
	(self_cache): New global.
	(_Jv_ThreadSelf_out_of_line): New function.
	* prims.cc (_Jv_AllocBytesChecked): Removed.
	(_Jv_ThrowNoMemory): New function.
	(_Jv_AllocObject): Don't check for null return from allocator.
	(_Jv_NewObjectArray): Likewise.
	(_Jv_AllocPtrFreeObject): New function.
	(_Jv_NewPrimArray): Allocate pointer-free object if possible.
	* include/javaprims.h (_Jv_AllocPtrFreeObject): Declare.
	(_Jv_MonitorEnter, _Jv_MonitorExit): Don't return value.
	* include/boehm-gc.h (_Jv_AllocObj): Define.
	(_Jv_AllocPtrFreeObj): Define.
	* include/jvm.h (_Jv_AllocPtrFreeObj): Declare.
	(_Jv_ThrowNoMemory): Declare.
	(_Jv_AllocTraceOne): Declare.
	(_Jv_AllocBytesChecked): Removed.
	* include/posix-threads.h (_Jv_MutexInit, _Jv_MutexLock,
	_Jv_MutexUnlock): Handle LOCK_DEBUG.
	(_Jv_ThreadSelf): Handle case where system pthread_self() is
	slow.
	* java/lang/Class.h (Class): Declare _Jv_AllocPtrFreeObj as
	friend.
	* java/lang/Object.h (sync_info): Conditional upon presence of
	hash synchronization.
	* java/lang/natObject.cc: Much new code to handle thin locks and
	hash synchronization.
	* java/lang/natString.cc (_Jv_AllocString): Allocate pointer-free
	object if possible.

From-SVN: r42519
2001-05-24 05:40:37 +00:00
Andrew Haley 01936f3a7d dwarf2-signal.h: New file.
2001-05-18  Andrew Haley  <aph@cambridge.redhat.com>

        * include/dwarf2-signal.h: New file.
        * configure.in (SYSDEP_SOURCES): Add dwarf2-signal.h for PPC.
        * configure.host (EXCEPTIONSPEC): Don't use sjlj on PPC.
        * configure: Rebuilt.

From-SVN: r42400
2001-05-21 16:59:42 +00:00
Andrew Haley e529c2c1c3 libgcj.spec.in (jc1): Add EXCEPTIONSPEC.
2001-04-30  Andrew Haley  <aph@cambridge.redhat.com>

        * libgcj.spec.in (jc1): Add EXCEPTIONSPEC.
        * configure.host (EXCEPTIONSPEC): New.
        * configure.in (EXCEPTIONSPEC): New.
        * configure: Rebuilt.

From-SVN: r41733
2001-05-01 17:45:11 +00:00
Kevin B Hendricks 23ab86e452 * configure.host: Enable interpreter for PPC.
From-SVN: r41009
2001-04-02 19:51:40 +00:00