Stefan Ring [Wed, 2 Mar 2011 18:49:19 +0000 (19:49 +0100)]
PR156: Preparation
* src/vm/javaobjects.cpp: Added a facility for registering dynamic field
offsets.
* src/vm/javaobjects.hpp (jobjects_register_dyn_offsets,
jobjects_run_dynoffsets_hook): Added.
* src/vm/hook.cpp: Added because of non-inline function.
* src/vm/hook.hpp (class_linked): Changed signature because of exception
handling.
(class_linked_dynoffsets): Added & call it.
* src/vm/linker.cpp: Adapted to new signatures.
* src/vm/linker.hpp: Cleanup only.
* src/vm/Makefile.am: Added hook.cpp.
* src/vm/vm.cpp: Call new dynamic offset hook.
* src/toolbox/hashtable.hpp: Cleanup only.
Stefan Ring [Mon, 21 Feb 2011 23:06:28 +0000 (00:06 +0100)]
* src/vm/finalizer.cpp, src/vm/finalizer.hpp: Generalize internal finalizer
handling.
* src/threads/lock.cpp: Use the new mechanism for lock record removal finalizers.
Stefan Ring [Mon, 21 Feb 2011 22:59:12 +0000 (23:59 +0100)]
* src/threads/posix/thread-posix.cpp, src/threads/thread.cpp,
src/threads/thread.hpp: Factored out the implementation-specific bits.
* src/threads/thread-classpath.cpp, src/threads/thread-classpath.hpp
(ThreadRuntimeClasspath): GNU classpath implementation.
* src/threads/thread-cldc11.cpp, src/threads/thread-cldc11.hpp
(ThreadRuntimeCldc11): (Very) incomplete CLDC 1.1 implementation.
* src/threads/thread-openjdk.cpp, src/threads/thread-openjdk.hpp
(ThreadRuntimeOpenjdk): OpenJDK implementation.
* src/threads/Makefile.am: Added the new files.
David Flamme [Tue, 15 Feb 2011 21:40:18 +0000 (22:40 +0100)]
fprintf/vfprintf dependency fix
* src/vm/os.hpp: Added vfprintf wrapper
removed fprintf wrapper, but kept the availability check
* configure.ac: Added vfprintf linker check
* src/toolbox/logging.cpp: using os::vfprintf
* src/vm/vm.cpp: version
Due to a compatibility check of clang 2.7, the decision was made to define that fprintf is mandatory for cacao
Stefan Ring [Tue, 1 Feb 2011 20:23:59 +0000 (21:23 +0100)]
* src/threads/threadlist.cpp (get_free_thread): Actually return free threads
objects, don't leak them.
Stefan Ring [Sat, 22 Jan 2011 13:35:36 +0000 (14:35 +0100)]
* src/threads/posix/thread-posix.cpp (threads_impl_thread_free): Removed. It was
commented-out already anyway.
* src/threads/thread.hpp: Likewise.
Stefan Ring [Sun, 23 Jan 2011 21:25:22 +0000 (22:25 +0100)]
* configure.ac: Define _XOPEN_SOURCE, _DARWIN_C_SOURCE for Darwin fixing
build failures.
Stefan Ring [Sun, 23 Jan 2011 20:00:02 +0000 (21:00 +0100)]
* src/mm/boehm-gc/ChangeLog, src/mm/boehm-gc/include/private/gc_priv.h:
Applied a patch from bdwgc CVS to make it build on Darwin.
Stefan Ring [Wed, 19 Jan 2011 10:20:43 +0000 (11:20 +0100)]
PR144 (aligned patchers on x86_64)
* src/vm/jit/patcher-common.cpp,
src/vm/jit/patcher-common.h (patchref_t): Added
yet another field - patch_align.
* src/vm/jit/x86_64/codegen.c, src/vm/jit/x86_64/codegen.h:
Make all patched code instances aligned.
* src/vm/jit/x86_64/emit.c (emit_arbitrary_nop): Added.
* src/vm/jit/x86_64/emit.h: Likewise.
* src/vm/jit/x86_64/patcher.c: Adapted to new code layout,
verify alignment.
* tests/regression/bugzilla/PR144.java: Added new test case
exercising the new code paths.
* tests/regression/bugzilla/All.java: Likewise.
Stefan Ring [Wed, 29 Dec 2010 18:36:32 +0000 (19:36 +0100)]
PR143: don't hang with invalid locale
* THIRDPARTY: Documented lc-messages.m4.
* configure.ac: Added various locale checks.
* m4/lc-messages.m4: New file for detecting LC_MESSAGES.
* src/vm/properties.cpp: Validate locale names before passing them on to
classpath.
Stefan Ring [Thu, 16 Dec 2010 21:26:54 +0000 (22:26 +0100)]
PR123: LD_LIBRARY_PATH and java.library.path
* src/vm/properties.cpp: Set java.library.path for OpenJDK builds also.
Stefan Ring [Fri, 3 Dec 2010 07:03:41 +0000 (08:03 +0100)]
PR152
* src/classes/gnuclasspath/java/security/VMAccessController.java:
Ensure use of setPolicy is reflected by the default SecurityManager.
Patch taken from classpath CVS.
Stefan Ring [Mon, 29 Nov 2010 18:06:08 +0000 (19:06 +0100)]
* src/vm/jit/i386/asmpart.S: Made position independent.
* src/vm/jit/i386/Makefile.am: Forward ENABLE_PIC_ASM to asm preprocessor.
* m4/pic_asm.m4: Check for enable-pic-asm configure switch.
* configure.ac: Invoke AC_CHECK_ENABLE_PIC_ASM.
Stefan Ring [Mon, 22 Nov 2010 18:59:51 +0000 (19:59 +0100)]
Added regression test for PR148.
Stefan Ring [Mon, 22 Nov 2010 18:33:30 +0000 (19:33 +0100)]
PR148 again: don't defuse IF_LCMPxx
* src/vm/jit/stack.c: Unconditionally use BUILTIN_lcmp, as no
architecture implements it.
* src/vm/jit/builtin.cpp: Likewise
* src/vm/jit/builtintable.inc: Copied BUILTIN_lcmp entry (from
automatic table to internal table).
* src/vm/jit/alpha/arch.h: Re-enable SUPPORT_LONG_CMP.
* src/vm/jit/arm/arch.h,
* src/vm/jit/i386/arch.h,
* src/vm/jit/mips/arch.h,
* src/vm/jit/powerpc/arch.h,
* src/vm/jit/powerpc64/arch.h,
* src/vm/jit/s390/arch.h,
* src/vm/jit/x86_64/arch.h: Likewise.
Stefan Ring [Thu, 18 Nov 2010 14:35:22 +0000 (15:35 +0100)]
PR148 - support for LCMP bytecode
* src/vm/jit/alpha/arch.h: Turn off SUPPORT_LONG_CMP.
* src/vm/jit/arm/arch.h,
* src/vm/jit/i386/arch.h,
* src/vm/jit/mips/arch.h,
* src/vm/jit/powerpc/arch.h,
* src/vm/jit/powerpc64/arch.h,
* src/vm/jit/s390/arch.h,
* src/vm/jit/x86_64/arch.h: Likewise.
Stefan Ring [Thu, 11 Nov 2010 06:49:43 +0000 (07:49 +0100)]
IcedTea/PR585
* src/native/vm/sun_misc_Unsafe.cpp: Implemented missing methods
putBooleanVolatile, putByteVolatile, putShortVolatile, putCharVolatile,
putFloatVolatile, putDoubleVolatile.
Stefan Ring [Wed, 10 Nov 2010 22:54:47 +0000 (23:54 +0100)]
* configure.ac: Recognize armv7 as well.
Stefan Ring [Tue, 2 Nov 2010 11:24:14 +0000 (12:24 +0100)]
* configure.ac: Bump version, append hg revision.
* src/threads/threadlist.cpp: Use full version in user-visible strings.
* src/vm/properties.cpp: Likewise.
* src/vm/vm.cpp: Likewise.
* m4/hgrev.m4: Define AC_CHECK_WITH_HGREV.
* m4/version.m4: Append hg revision to VERSION_EXTRA.
Stefan Ring [Tue, 2 Nov 2010 11:16:53 +0000 (12:16 +0100)]
* src/mm/boehm-gc/include/private/config.h.in,
src/mm/boehm-gc/Makefile.in,
src/mm/boehm-gc/aclocal.m4,
src/mm/boehm-gc/config.guess,
src/mm/boehm-gc/config.sub,
src/mm/boehm-gc/configure,
src/mm/boehm-gc/ltmain.sh: Regenerated.
--HG--
extra : transplant_source : %F1%D7%BA%A7%23C%10X%E9%0E%CB%7D%E8%20%20H%28%A54r
Stefan Ring [Tue, 2 Nov 2010 11:27:10 +0000 (12:27 +0100)]
boehm-gc: Merged CACAO-specific modifications
Stefan Ring [Sun, 31 Oct 2010 15:22:47 +0000 (16:22 +0100)]
Upgrade Boehm GC to 7.2alpha4.
--HG--
rename : src/mm/boehm-gc/AmigaOS.c => src/mm/boehm-gc/extra/AmigaOS.c
rename : src/mm/boehm-gc/MacOS.c => src/mm/boehm-gc/extra/MacOS.c
rename : src/mm/boehm-gc/add_gc_prefix.c => src/mm/boehm-gc/extra/add_gc_prefix.c
rename : src/mm/boehm-gc/gcname.c => src/mm/boehm-gc/extra/gcname.c
rename : src/mm/boehm-gc/if_mach.c => src/mm/boehm-gc/extra/if_mach.c
rename : src/mm/boehm-gc/if_not_there.c => src/mm/boehm-gc/extra/if_not_there.c
rename : src/mm/boehm-gc/msvc_dbg.c => src/mm/boehm-gc/extra/msvc_dbg.c
rename : src/mm/boehm-gc/setjmp_t.c => src/mm/boehm-gc/extra/setjmp_t.c
rename : src/mm/boehm-gc/libatomic_ops-1.2/AUTHORS => src/mm/boehm-gc/libatomic_ops/AUTHORS
rename : src/mm/boehm-gc/libatomic_ops-1.2/COPYING => src/mm/boehm-gc/libatomic_ops/COPYING
rename : src/mm/boehm-gc/libatomic_ops-1.2/ChangeLog => src/mm/boehm-gc/libatomic_ops/ChangeLog
rename : src/mm/boehm-gc/libatomic_ops-1.2/INSTALL => src/mm/boehm-gc/libatomic_ops/INSTALL
rename : src/mm/boehm-gc/libatomic_ops-1.2/Makefile.am => src/mm/boehm-gc/libatomic_ops/Makefile.am
rename : src/mm/boehm-gc/libatomic_ops-1.2/Makefile.in => src/mm/boehm-gc/libatomic_ops/Makefile.in
rename : src/mm/boehm-gc/libatomic_ops-1.2/NEWS => src/mm/boehm-gc/libatomic_ops/NEWS
rename : src/mm/boehm-gc/libatomic_ops-1.2/README => src/mm/boehm-gc/libatomic_ops/README
rename : src/mm/boehm-gc/libatomic_ops-1.2/aclocal.m4 => src/mm/boehm-gc/libatomic_ops/aclocal.m4
rename : src/mm/boehm-gc/libatomic_ops-1.2/compile => src/mm/boehm-gc/libatomic_ops/compile
rename : src/mm/boehm-gc/libatomic_ops-1.2/config.guess => src/mm/boehm-gc/libatomic_ops/config.guess
rename : src/mm/boehm-gc/libatomic_ops-1.2/config.sub => src/mm/boehm-gc/libatomic_ops/config.sub
rename : src/mm/boehm-gc/libatomic_ops-1.2/configure => src/mm/boehm-gc/libatomic_ops/configure
rename : src/mm/boehm-gc/libatomic_ops-1.2/configure.ac => src/mm/boehm-gc/libatomic_ops/configure.ac
rename : src/mm/boehm-gc/libatomic_ops-1.2/depcomp => src/mm/boehm-gc/libatomic_ops/depcomp
rename : src/mm/boehm-gc/libatomic_ops-1.2/doc/COPYING => src/mm/boehm-gc/libatomic_ops/doc/COPYING
rename : src/mm/boehm-gc/libatomic_ops-1.2/doc/LICENSING.txt => src/mm/boehm-gc/libatomic_ops/doc/LICENSING.txt
rename : src/mm/boehm-gc/libatomic_ops-1.2/doc/Makefile.am => src/mm/boehm-gc/libatomic_ops/doc/Makefile.am
rename : src/mm/boehm-gc/libatomic_ops-1.2/doc/Makefile.in => src/mm/boehm-gc/libatomic_ops/doc/Makefile.in
rename : src/mm/boehm-gc/libatomic_ops-1.2/doc/README.txt => src/mm/boehm-gc/libatomic_ops/doc/README.txt
rename : src/mm/boehm-gc/libatomic_ops-1.2/doc/README_malloc.txt => src/mm/boehm-gc/libatomic_ops/doc/README_malloc.txt
rename : src/mm/boehm-gc/libatomic_ops-1.2/doc/README_stack.txt => src/mm/boehm-gc/libatomic_ops/doc/README_stack.txt
rename : src/mm/boehm-gc/libatomic_ops-1.2/doc/README_win32.txt => src/mm/boehm-gc/libatomic_ops/doc/README_win32.txt
rename : src/mm/boehm-gc/libatomic_ops-1.2/install-sh => src/mm/boehm-gc/libatomic_ops/install-sh
rename : src/mm/boehm-gc/libatomic_ops-1.2/missing => src/mm/boehm-gc/libatomic_ops/missing
rename : src/mm/boehm-gc/libatomic_ops-1.2/mkinstalldirs => src/mm/boehm-gc/libatomic_ops/mkinstalldirs
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/Makefile.am => src/mm/boehm-gc/libatomic_ops/src/Makefile.am
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/Makefile.in => src/mm/boehm-gc/libatomic_ops/src/Makefile.in
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/Makefile.msft => src/mm/boehm-gc/libatomic_ops/src/Makefile.msft
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops.c => src/mm/boehm-gc/libatomic_ops/src/atomic_ops.c
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/Makefile.am => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/Makefile.am
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/Makefile.in => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/Makefile.in
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/generalize-small.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/generalize-small.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/generalize-small.template => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/generalize-small.template
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/generalize.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/generalize.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/Makefile.am => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/Makefile.am
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/Makefile.in => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/Makefile.in
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/README => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/README
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/acquire_release_volatile.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/acquire_release_volatile.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/aligned_atomic_load_store.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/aligned_atomic_load_store.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/all_acquire_release_volatile.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/all_acquire_release_volatile.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/all_aligned_atomic_load_store.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/all_aligned_atomic_load_store.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/all_atomic_load_store.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/all_atomic_load_store.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/ao_t_is_int.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/ao_t_is_int.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/armcc/arm_v6.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/armcc/arm_v6.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/atomic_load_store.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/atomic_load_store.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/char_acquire_release_volatile.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/char_acquire_release_volatile.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/char_atomic_load_store.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/char_atomic_load_store.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/emul_cas.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/emul_cas.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/alpha.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/alpha.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/arm.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/arm.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/cris.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/cris.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/hppa.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/hppa.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/ia64.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/ia64.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/m68k.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/m68k.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/mips.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/mips.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/powerpc.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/powerpc.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/s390.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/s390.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/sparc.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/sparc.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/x86.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/x86.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/x86_64.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/x86_64.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/generic_pthread.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/generic_pthread.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/hpc/hppa.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/hpc/hppa.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/hpc/ia64.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/hpc/ia64.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/ibmc/powerpc.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/ibmc/powerpc.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/icc/ia64.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/icc/ia64.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/int_acquire_release_volatile.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/int_acquire_release_volatile.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/int_aligned_atomic_load_store.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/int_aligned_atomic_load_store.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/int_atomic_load_store.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/int_atomic_load_store.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/msftc/x86.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/msftc/x86.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/msftc/x86_64.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/msftc/x86_64.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/ordered.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/ordered.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/ordered_except_wr.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/ordered_except_wr.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/read_ordered.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/read_ordered.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/short_acquire_release_volatile.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/short_acquire_release_volatile.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/short_aligned_atomic_load_store.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/short_aligned_atomic_load_store.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/short_atomic_load_store.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/short_atomic_load_store.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/standard_ao_double_t.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/standard_ao_double_t.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/sunc/sparc.S => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/sunc/sparc.S
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/sunc/sparc.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/sunc/sparc.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/sunc/x86.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/sunc/x86.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/sunc/x86_64.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/sunc/x86_64.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/test_and_set_t_is_ao_t.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/test_and_set_t_is_ao_t.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/test_and_set_t_is_char.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/test_and_set_t_is_char.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops_malloc.c => src/mm/boehm-gc/libatomic_ops/src/atomic_ops_malloc.c
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops_malloc.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops_malloc.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops_stack.c => src/mm/boehm-gc/libatomic_ops/src/atomic_ops_stack.c
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops_stack.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops_stack.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops_sysdeps.S => src/mm/boehm-gc/libatomic_ops/src/atomic_ops_sysdeps.S
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/config.h.in => src/mm/boehm-gc/libatomic_ops/src/config.h.in
rename : src/mm/boehm-gc/libatomic_ops-1.2/tests/Makefile.am => src/mm/boehm-gc/libatomic_ops/tests/Makefile.am
rename : src/mm/boehm-gc/libatomic_ops-1.2/tests/Makefile.in => src/mm/boehm-gc/libatomic_ops/tests/Makefile.in
rename : src/mm/boehm-gc/libatomic_ops-1.2/tests/list_atomic.c => src/mm/boehm-gc/libatomic_ops/tests/list_atomic.c
rename : src/mm/boehm-gc/libatomic_ops-1.2/tests/list_atomic.template => src/mm/boehm-gc/libatomic_ops/tests/list_atomic.template
rename : src/mm/boehm-gc/libatomic_ops-1.2/tests/run_parallel.inc => src/mm/boehm-gc/libatomic_ops/tests/run_parallel.inc
rename : src/mm/boehm-gc/libatomic_ops-1.2/tests/test_atomic.c => src/mm/boehm-gc/libatomic_ops/tests/test_atomic.c
rename : src/mm/boehm-gc/libatomic_ops-1.2/tests/test_atomic.template => src/mm/boehm-gc/libatomic_ops/tests/test_atomic.template
rename : src/mm/boehm-gc/libatomic_ops-1.2/tests/test_atomic_include.h => src/mm/boehm-gc/libatomic_ops/tests/test_atomic_include.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/tests/test_malloc.c => src/mm/boehm-gc/libatomic_ops/tests/test_malloc.c
rename : src/mm/boehm-gc/libatomic_ops-1.2/tests/test_stack.c => src/mm/boehm-gc/libatomic_ops/tests/test_stack.c
Stefan Ring [Sun, 17 Oct 2010 09:48:37 +0000 (11:48 +0200)]
* src/mm/boehm-gc/autogen.sh: Adapted for inclusion in CACAO repository.
* src/mm/boehm-gc/Makefile.am: Don't link object files into a shared library.
This only changes the build process slightly, the code is left as-is.
Stefan Ring [Sat, 16 Oct 2010 22:23:54 +0000 (00:23 +0200)]
boehm-gc: revert all CACAO-specific modifications; this is now an exact copy of the bdwgc CVS repository as of 2009/09/09 22:31:20
Stefan Ring [Sat, 16 Oct 2010 21:10:35 +0000 (23:10 +0200)]
* autogen.sh: Make it work with unpatched Boehm GC.
* src/mm/gc-boehm.cpp: Likewise.
Stefan Ring [Sat, 16 Oct 2010 21:09:25 +0000 (23:09 +0200)]
* src/mm/gc-boehm.cpp: Define GC_SOLARIS_THREADS on Solaris.
* src/threads/posix/thread-posix.cpp: Likewise.
--HG--
extra : transplant_source : %D7%2B%60T%D4%97%FD%5E%EB%B6w%CB%95%80%1B%97%87%A1%5D%22
Stefan Ring [Wed, 29 Sep 2010 08:47:29 +0000 (10:47 +0200)]
* src/native/localref.cpp: Using free list instead of array scanning.
* src/native/localref.hpp: Adapted localref_table to use a free list.
Stefan Ring [Fri, 24 Sep 2010 08:22:02 +0000 (10:22 +0200)]
* m4/pr40134.m4: Added a configure switch for ARM linker problem.
* configure.ac, src/cacao/Makefile.am: Use it.
Stefan Ring [Tue, 21 Sep 2010 22:30:40 +0000 (00:30 +0200)]
PR137: Provide JVM_FindClassFromBootLoader
* contrib/mapfile-vers-product: Export said function.
* src/native/vm/openjdk/jvm.cpp: Implement it.
Stefan Ring [Tue, 21 Sep 2010 22:28:10 +0000 (00:28 +0200)]
* src/native/vm/sun_misc_Unsafe.cpp: Added memory barriers to compare_and_swap.
Stefan Ring [Mon, 20 Sep 2010 20:46:40 +0000 (22:46 +0200)]
PR140 - repaired icedtea7
* src/vm/field.cpp: Allocate literal strings later.
* src/vm/hook.hpp (Hook::class_linked): Call
linker_initialize_deferred_strings.
* src/vm/linker.cpp, src/vm/linker.hpp: Added linker_create_string_later,
linker_initialize_deferred_strings.
sr [Wed, 15 Sep 2010 17:25:24 +0000 (19:25 +0200)]
* src/threads/thread.cpp (thread_set_state_*): Don't take the ThreadList
lock, most of the time.
We need the lock only when changing the state to terminated. This prevents
other threads from using a stale threadobject * (they have to take the lock,
of course). This changeset removes a nasty deadlock:
Thread 1 locks ThreadList::_mutex -> waitmutex (via thread_handle_interrupt
-> threads_thread_interrupt)
Thread 2 locks waitmutex -> ThreadList::_mutex (via
threads_wait_with_timeout -> thread_set_state_runnable)
The deadlock is provoked by running tests/threads/waitAndInterrupt.java (in
the CACAO source tree). The bug was introduced in changeset
a62d7ef60606 (PR
120).
Stefan Ring [Tue, 14 Sep 2010 16:44:54 +0000 (18:44 +0200)]
* src/threads/posix/thread-posix.cpp: Eliminated some easy-to-fix or pointless compiler warnings.
* src/threads/posix/thread-posix.hpp: Likewise.
* src/vm/class.cpp: Likewise.
* src/vm/classcache.cpp: Likewise.
* src/vm/jit/arm/codegen.c: Likewise.
* src/vm/jit/arm/md.c: Likewise.
* src/vm/jit/i386/md-atomic.hpp: Likewise.
* src/vm/jit/codegen-common.cpp: Likewise.
* src/vm/jit/trap.cpp: Likewise.
* src/vm/jit/verify/typeinfo.cpp: Likewise.
* src/vm/jit/x86_64/codegen.c: Likewise.
* src/vm/jit/x86_64/patcher.c: Likewise.
* src/vm/options.c: Likewise.
* src/vm/vm.cpp: Likewise.
Stefan Ring [Mon, 13 Sep 2010 09:43:40 +0000 (11:43 +0200)]
* src/vm/global.h: Made 'lockword' member of java_object_t a plain
integer type because offsetof works only on POD structs (and gcc
complains about that).
* src/threads/lockword.hpp: Lockword references its data member now
instead of containing it.
* src/threads/lock.cpp: Adapted to new Lockword signature.
* src/vm/array.hpp: Likewise.
* src/vm/class.cpp: Likewise.
* src/vm/jit/builtin.cpp: Likewise.
* src/vm/string.cpp: Likewise.
Stefan Ring [Sat, 7 Aug 2010 20:23:45 +0000 (22:23 +0200)]
* src/vm/jit/trap.cpp: Finally switched s390 to the new trap decoding method.
* src/vm/jit/s390/md.c: Simplified signal handlers,
(md_executionstate_read, md_executionstate_write, md_trap_decode): Implemented.
* src/vm/jit/s390/md-trap.h: Added MD_TRAP_COMPILER_FIXUP.
Should fix icedtea/PR515 (s390 not building).
Stefan Ring [Sat, 7 Aug 2010 20:03:09 +0000 (22:03 +0200)]
* src/vm/jit/s390/codegen.c: Fixed build.
* src/vm/jit/s390/codegen.h: Added missing defines.
* src/vm/jit/s390/emit.c: Fixed build.
* src/vm/jit/s390/md-abi.h: Renamed REG_ITMP2_XPC and REG_ITMP1_XPTR for
consistency with the other archs. Fixed copyright header.
Stefan Ring [Sat, 7 Aug 2010 19:58:54 +0000 (21:58 +0200)]
* src/vm/jit/s390/md-atomic.hpp: Repaired.
Stefan Ring [Sat, 7 Aug 2010 19:54:50 +0000 (21:54 +0200)]
* src/vm/os.hpp (call_scandir): Rename template arguments because of a
namespace clash on s390.
Stefan Ring [Mon, 12 Jul 2010 19:06:21 +0000 (21:06 +0200)]
Fixes icedtea/PR 513.
* src/vm/jit/arm/codegen.h [ENABLE_SOFTFLOAT]: Define M_FMOV and M_DMOV.
* src/vm/jit/codegen-common.cpp [ENABLE_SOFTFLOAT]: Use only integer
registers for argument and return value passing when compiling for softfloat.
Stefan Ring [Thu, 24 Jun 2010 21:53:51 +0000 (23:53 +0200)]
* m4/version.m4: Repaired version parsing.
Patch provided by Andrew John Hughes <ahughes@redhat.com>
Stefan Ring [Wed, 23 Jun 2010 15:18:58 +0000 (17:18 +0200)]
* configure.ac: Changed version to 1.1.0pre1, enabled optimization
Stefan Ring [Wed, 19 May 2010 11:14:46 +0000 (13:14 +0200)]
* NEWS: Some maintenance.
--HG--
extra : transplant_source : %ADC%84X%97%EA%DB%C8%9Ech%A4%BB%7E%FF%F1%93WA%AE
Stefan Ring [Wed, 19 May 2010 07:59:54 +0000 (09:59 +0200)]
* configure.ac: Some maintenance for make dist.
* doc/Makefile.am: Likewise.
* doc/handbook/Makefile.am: Likewise.
* src/vm/jit/Makefile.am: Likewise.
* src/vm/jit/m68k/Makefile.am: Likewise.
* src/native/include/Makefile: Removed.
--HG--
extra : transplant_source : %5E%21%C0%8C%A00%1E%D8%06%3A%E1%AE%DAx%F7C%B3%8A%C2I
Stefan Ring [Tue, 18 May 2010 08:25:25 +0000 (10:25 +0200)]
* src/native/vm/openjdk/sun_misc_Perf.cpp: Implement just the bare minimum
required for bootstrapping OpenJDK 7 (PR 139).
David Flamme [Tue, 16 Mar 2010 15:13:20 +0000 (16:13 +0100)]
Method call frequency statistics for ARM
* src/vm/jit/arm/emit.c: Added working emit_profile_method(..) and emit_profile_basicblock(..) for ARM, so now call frequencys can be shown with -Xprof
* src/vm/jit/optimizing/profile.cpp (profile_printstats): The use of DumpList is causing problems, so std::list is used instead
sr [Tue, 17 Nov 2009 07:40:45 +0000 (08:40 +0100)]
merged volatile memory barriers
Stefan Ring [Sat, 14 Nov 2009 15:09:19 +0000 (16:09 +0100)]
* src/vm/jit/codegen-common.cpp, src/vm/jit/x86_64/codegen.c: Generate
MFENCE instructions after (potential) volatile stores, augment patcher info
for patching them out again.
* src/vm/jit/codegen-common.hpp (codegen_emit_patchable_barrier): New function.
* src/vm/jit/patcher-common.cpp (patcher_add_patch_ref): Added return value.
* src/vm/jit/patcher-common.hpp: Added disp_mb field to patchref_t.
(patcher_add_patch_ref): Added return value.
* src/vm/jit/x86_64/codegen.h: Comment.
* src/vm/jit/x86_64/patcher.c: Patch out MFENCE for non-volatile writes.
Stefan Ring [Sat, 14 Nov 2009 14:56:58 +0000 (15:56 +0100)]
* src/vm/jit/patcher-common.cpp: Conditionally restored NOP-insertion at
patcher sites that was removed in
ca65904a0c8b.
* src/vm/jit/x86_64/arch.h: Added USES_PATCHABLE_MEMORY_BARRIER.
* src/vm/jit/x86_64/patcher.c: Adjust offsets to changed code layout.
Stefan Ring [Sat, 14 Nov 2009 14:39:50 +0000 (15:39 +0100)]
* src/vm/jit/x86_64/codegen.h: Use multi-byte NOP for code alignment.
* src/vm/jit/x86_64/emit.c: Added emit_nop.
* src/vm/jit/x86_64/emit.h: Likewise.
Michael Starzinger [Wed, 11 Nov 2009 15:24:13 +0000 (16:24 +0100)]
src/vm/cycles-stats.h: Switched from asm_get_cycle_count to md_get_cycle_count.
src/vm/jit/asmpart.h (asm_get_cycle_count): Removed obsolete declaration.
src/vm/jit/i386/md.h (md_get_cycle_count): Added as inline assembler.
src/vm/jit/x86_64/md.h: Likewise.
src/vm/jit/i386/asmpart.S (asm_get_cycle_count): Removed assembler function.
src/vm/jit/i386/darwin/md-asm.h: Likewise.
src/vm/jit/x86_64/asmpart.S: Likewise.
Michael Starzinger [Mon, 9 Nov 2009 15:48:58 +0000 (16:48 +0100)]
* src/vm/jit/codegen-common.cpp (codegen_emit): Fixed temporary registers in
invocations for machines passing float arguments in integer registers.
Michael Starzinger [Mon, 9 Nov 2009 09:40:25 +0000 (10:40 +0100)]
* src/vm/jit/stubs.cpp: Removed obsolete legacy C interface.
* src/vm/jit/stubs.hpp: Likewise.
Michael Starzinger [Thu, 5 Nov 2009 15:36:15 +0000 (16:36 +0100)]
* tests/regression/base/All.java: Added test case for AbstractMethodError.
* tests/regression/base/TestAbstractMethodError.java: Likewise.
Michael Starzinger [Thu, 5 Nov 2009 10:36:55 +0000 (11:36 +0100)]
* src/vm/jit/trap.cpp (trap_handle): Activated new stack unwinding for i386.
Michael Starzinger [Thu, 5 Nov 2009 10:12:57 +0000 (11:12 +0100)]
* src/vm/jit/trap.cpp (trap_handle): Activated new stack unwinding for Alpha.
Michael Starzinger [Wed, 4 Nov 2009 17:47:29 +0000 (18:47 +0100)]
* src/vm/jit/executionstate.c (executionstate_unwind_exception): Added generic
function to perform stack unwinding on all architectures. This will become the
replacement for asm_handle_exception on all architectures soon.
* src/vm/jit/executionstate.h: Likewise.
* src/vm/jit/trap.cpp (trap_handle): Activated above function for x86_64.
Michael Starzinger [Wed, 4 Nov 2009 17:32:33 +0000 (18:32 +0100)]
* src/vm/jit/executionstate.c (executionstate_pop_stackframe): Moved here from
replacement, was previously called md_pop_stackframe. This is needed for stack
unwinding in C, so this is the right place to put it.
* src/vm/jit/executionstate.h: Added prototype for above function.
* src/vm/jit/replace.cpp: See above.
Michael Starzinger [Wed, 4 Nov 2009 12:29:38 +0000 (13:29 +0100)]
* src/vm/jit/replace.cpp: Use architectures STACKFRAME_RA_LINKAGE_AREA define.
* src/vm/jit/alpha/arch.h: Correctly set above define.
* src/vm/jit/arm/arch.h: Likewise.
* src/vm/jit/i386/arch.h: Likewise.
* src/vm/jit/m68k/arch.h: Likewise.
* src/vm/jit/mips/arch.h: Likewise.
* src/vm/jit/powerpc/arch.h: Likewise.
* src/vm/jit/powerpc64/arch.h: Likewise.
* src/vm/jit/replace.cpp: Likewise.
* src/vm/jit/s390/arch.h: Likewise.
* src/vm/jit/sparc64/arch.h: Likewise.
* src/vm/jit/x86_64/arch.h: Likewise.
Michael Starzinger [Wed, 4 Nov 2009 10:52:06 +0000 (11:52 +0100)]
* src/native/vm/nativevm.cpp (nativevm_preinit): Sanity check current time.
Michael Starzinger [Tue, 3 Nov 2009 18:31:56 +0000 (19:31 +0100)]
* configure.ac: Added check for mach/mach.h header.
* src/vm/os.hpp: Includes above header with proper checking.
* src/threads/posix/thread-posix.cpp: Don't include above header directly.
* src/native/vm/gnuclasspath/java_lang_VMRuntime.cpp: Likewise.
Michael Starzinger [Tue, 3 Nov 2009 18:15:49 +0000 (19:15 +0100)]
* src/vm/jit/powerpc/arch.h: We have leaf-method optimization in place.
* src/vm/jit/powerpc/md.c (md_patch_replacement_point): Fixed.
* src/vm/jit/replace.cpp: Fixed replacement for big-endian 32-bit machines.
Michael Starzinger [Tue, 3 Nov 2009 15:15:59 +0000 (16:15 +0100)]
* configure.ac: Added check for sys/utsname.h header.
* src/vm/os.hpp: Properly includes above header.
* src/mm/codememory.c: Removed includes of "uncommon" headers.
* src/mm/gc-none.cpp: Likewise.
* src/mm/tlh.c: Likewise.
* src/native/vm/cldc1.1/com_sun_cldc_io_ResourceInputStream.cpp: Likewise.
* src/native/vm/cldc1.1/com_sun_cldc_io_j2me_socket_Protocol.cpp: Likewise.
* src/native/vm/gnuclasspath/java_lang_VMClassLoader.cpp: Likewise.
* src/native/vm/gnuclasspath/java_lang_VMRuntime.cpp: Likewise.
* src/native/vm/openjdk/jvm.cpp: Likewise.
* src/vm/exceptions.cpp: Likewise.
* src/vm/properties.cpp: Likewise.
* src/vm/signal.cpp: Likewise.
* src/vm/zip.cpp: Likewise.
Michael Starzinger [Tue, 3 Nov 2009 15:05:18 +0000 (16:05 +0100)]
* src/vm/os.cpp: System header checks are done in os.hpp, so no need to do
them here again.
Michael Starzinger [Tue, 3 Nov 2009 14:19:34 +0000 (15:19 +0100)]
* configure.ac: Check for jvmti.h header if JVMTI is enabled.
* m4/jvmti.m4 (AC_CHECK_WITH_JVMTI_H): Added function for above task.
Michael Starzinger [Mon, 2 Nov 2009 16:39:36 +0000 (17:39 +0100)]
* src/vm/primitive.cpp (Primitive::get_type_by_primitiveclass): Implemented.
* src/vm/primitive.hpp (Primitive): Added get_type_by_primitiveclass function.
Michael Starzinger [Mon, 2 Nov 2009 16:05:14 +0000 (17:05 +0100)]
* src/vm/options.c (opt_TraceJVMTICalls): Added new -XX option.
* src/vm/options.h: Likewise.
Michael Starzinger [Mon, 2 Nov 2009 16:00:57 +0000 (17:00 +0100)]
* src/vm/method.cpp (method_load): Loads LocalVariableTable attribute.
* src/vm/method.hpp (methodinfo): Added localvarcount and localvars field.
* src/vm/utf8.c (utf_LocalVariableTable): Added global variable
* src/vm/utf8.h: Likewise.
Michael Starzinger [Mon, 2 Nov 2009 12:23:42 +0000 (13:23 +0100)]
* src/threads/posix/thread-posix.hpp: Removed public semaphore interface.
* src/threads/posix/thread-posix.cpp: Moved includes here from header.
Michael Starzinger [Mon, 2 Nov 2009 12:19:05 +0000 (13:19 +0100)]
* src/vm/hook.hpp: Use hook points for OProfile agent.
* src/vm/jit/jit.cpp: Likewise and also fire jit_generated hook.
* src/vm/jit/oprofile-agent.cpp (OprofileAgent::initialize): Fixed minor typo.
* src/vm/vm.cpp: Fire vm_preinit and vm_shutdown hooks.
Stefan Ring [Thu, 29 Oct 2009 17:43:54 +0000 (18:43 +0100)]
* src/native/vm/openjdk/jvm.cpp (JVM_GetVersionInfo): Fixing printf
argument (again).
Michael Starzinger [Thu, 29 Oct 2009 14:00:36 +0000 (15:00 +0100)]
* src/threads/posix/thread-posix.cpp: Implemented thread suspension mechanism.
* src/threads/posix/thread-posix.hpp: Likewise.
* src/threads/threadlist.cpp (ThreadList::dump_threads): Use above mechanism.
* src/native/vm/openjdk/jvm.cpp (JVM_SuspendThread, JVM_ResumeThread): Likewise.
* src/vm/signal.cpp (signal_handler_sigusr1): Added generic suspension handler.
* src/vm/signallocal.hpp (md_signal_handler_sigusr1): Removed prototype.
* src/vm/jit/alpha/linux/md-os.c: Removed implementation of above function.
* src/vm/jit/arm/linux/md-os.c: Likewise.
* src/vm/jit/i386/freebsd/md-os.c: Likewise.
* src/vm/jit/i386/linux/md-os.c: Likewise.
* src/vm/jit/i386/solaris/md-os.c: Likewise.
* src/vm/jit/m68k/linux/md-os.c: Likewise.
* src/vm/jit/powerpc/linux/md-os.c: Likewise.
* src/vm/jit/x86_64/linux/md-os.c: Likewise.
* src/vm/jit/x86_64/solaris/md-os.c: Likewise.
Stefan Ring [Tue, 22 Sep 2009 15:42:08 +0000 (17:42 +0200)]
* src/vm/jit/x86_64/codegen.h: Generate mfence instruction.
* src/vm/jit/x86_64/emit.c, src/vm/jit/x86_64/emit.h: Likewise.
(transplanted from
864ea9d2c217)
Stefan Ring [Mon, 21 Sep 2009 20:55:03 +0000 (22:55 +0200)]
* src/native/jni.cpp: Issue a memory barriers after each volatile store.
(based on
d53d813a5b09 from stefan-jmm branch)
Stefan Ring [Mon, 21 Sep 2009 20:44:10 +0000 (22:44 +0200)]
* src/native/jni.cpp: Fixed a typo.
This is already obsolete; however, I don't like making changes on top of
obviously incorrect code.
Stefan Ring [Mon, 21 Sep 2009 18:39:19 +0000 (20:39 +0200)]
* src/threads/lock.cpp: Slight memory barrier clarification.
* src/vm/jit/i386/arch.h: Define CAS_PROVIDES_FULL_BARRIER.
* src/vm/jit/x86_64/arch.h: Likewise.
Michael Starzinger [Sat, 19 Sep 2009 21:59:03 +0000 (23:59 +0200)]
* src/vm/jit/trap.cpp (trap_init): Disabled mmapping of first page by default.
* src/vm/options.c: Added -XX:+AlwaysMmapFirstPage to enable it again.
* src/vm/options.h: Likewise.
Michael Starzinger [Sat, 19 Sep 2009 21:26:25 +0000 (23:26 +0200)]
* src/vm/jit/verify/typecheck-stackbased-gen.inc: Regenerated.
* src/vm/jit/verify/typecheck-typeinferer-gen.inc: Likewise.
* src/vm/jit/verify/typecheck-variablesbased-gen.inc: Likewise.
Michael Starzinger [Sat, 19 Sep 2009 21:24:25 +0000 (23:24 +0200)]
* src/vm/jit/verify/generate.pl: Adapted to renamed source file.
Michael Starzinger [Sat, 19 Sep 2009 21:18:25 +0000 (23:18 +0200)]
* src/vm/breakpoint.hpp: Added header file for breakpoint handling.
* src/vm/Makefile.am (libvm_la_SOURCES): Added above file.
* src/vm/method.hpp (methodinfo): Added pointer to breakpoint table.
* src/vm/method.cpp (method_free): Frees breakpoint table if present.
* src/vm/jit/patcher-common.cpp (patcher_breakpoint): Added patcher method.
* src/vm/jit/patcher-common.hpp: Likewise.
* src/vm/jit/ir/icmd.hpp (ICMD_BREAKPOINT): Added.
* src/vm/jit/ir/icmdtable.inc: Adapted entry for above ICMD.
* src/vm/jit/parse.cpp (parse): Generate breakpoints if requested.
* src/vm/jit/stack.c: Correctly handles ICMD_BREAKPOINT.
* src/vm/jit/allocator/simplereg.c: Likewise.
* src/vm/jit/codegen-common.cpp (codegen_emit): Generate ICMD_BREAKPOINT code.
Stefan Ring [Sat, 19 Sep 2009 19:08:27 +0000 (21:08 +0200)]
* src/vm/initialize.cpp: Added a required memory barrier.
* src/vm/linker.cpp: Cosmetics.
Stefan Ring [Thu, 17 Sep 2009 13:49:54 +0000 (15:49 +0200)]
Merged MIPS stuff.
Stefan Ring [Thu, 17 Sep 2009 13:36:04 +0000 (15:36 +0200)]
MIPS repair work
* src/vm/jit/mips/codegen.c: Make it compile.
* src/vm/jit/mips/codegen.h: Added M_ALD_DSEG.
* src/vm/jit/mips/linux/md-os.c: Fixes.
* src/vm/jit/mips/md.c: Fixed includes.
* src/vm/jit/mips/md.h: Likewise.
Michael Starzinger [Wed, 16 Sep 2009 07:48:44 +0000 (09:48 +0200)]
* src/vm/jit/builtin.hpp (builtintable_entry): Added function pointer to
fast-path emitter. At the moment we have lock fast-path on x86_64.
* src/vm/jit/builtin.cpp: Builtin table now needs emit-common.hpp included.
* src/vm/jit/builtintable.inc: Adapted to above change.
* src/threads/lock.hpp: Moved builtin function defines to where they belong.
* src/vm/jit/codegen-common.cpp (codegen_emit): Added preliminary fast-path
generation implementation. Yet to be fully optimized.
* src/vm/jit/emit-common.hpp: Added prototypes for lock fast-path emitters.
* src/vm/jit/x86_64/emit.c: Added stubs for lock fast-path emitters.
Stefan Ring [Sun, 13 Sep 2009 12:23:10 +0000 (14:23 +0200)]
* src/vm/jit/mips/linux/md-os.c: Simplified signal handlers.
* src/vm/jit/mips/md-trap.h (MD_TRAP_COMPILER_FIXUP): Implemented.
* src/vm/jit/mips/md.c (md_trap_decode): Implemented.
(like
96f53095598b)
Stefan Ring [Sun, 13 Sep 2009 12:02:02 +0000 (14:02 +0200)]
* src/vm/jit/mips/linux/md-os.c: Further simplified signal handler.
(like
e4ed4d38a2de)
Stefan Ring [Sun, 13 Sep 2009 12:00:29 +0000 (14:00 +0200)]
* src/vm/jit/trap.cpp (trap_handle) [__MIPS__]: Use executionstate for trap
handling.
* src/vm/jit/mips/linux/md-os.c: Simplified signal handlers.
(like
1d0460714bf6)
Michael Starzinger [Mon, 7 Sep 2009 22:23:11 +0000 (00:23 +0200)]
* src/toolbox/sequence.hpp: Added new file to hold sequence builder class.
* src/toolbox/Makefile.am (libtoolbox_la_SOURCES): Added above file.
* src/native/vm/nativevm.cpp: Use new sequence builder class.
* src/native/vm/openjdk/hpi.cpp: Likewise.
* src/native/vm/gnuclasspath/gnu_classpath_VMSystemProperties.cpp: Likewise.
Michael Starzinger [Sun, 6 Sep 2009 21:58:54 +0000 (23:58 +0200)]
* src/native/native.hpp (NativeAgent, NativeAgents): Added new classes for
handling JVMTI agent loading.
* src/native/native.cpp: Implemented methods for above classes.
* src/vm/vm.hpp (VM): Added table to hold all registered agents.
* src/vm/vm.cpp (VM::VM): Agents are now correctly registered and loaded
during VM startup.
Michael Starzinger [Tue, 1 Sep 2009 00:59:25 +0000 (02:59 +0200)]
* src/toolbox/list.hpp (DumpList): Made sort function accessible.
* src/vm/jit/code.cpp (code_codeinfo_free): Release memory for profiling.
* src/vm/jit/code.hpp (codeinfo): Basicblockcount only needed for profiling.
* src/vm/jit/codegen-common.cpp (codegen_emit): Adapted CPU cycle counting.
* src/vm/jit/emit-common.hpp: Likewise.
* src/vm/jit/jit.cpp (jit_compile): This is not the place to free resources.
* src/vm/jit/optimizing/Makefile.am (PROFILE_SOURCES): Moved to C++.
* src/vm/jit/optimizing/profile.cpp: Fixed and moved to C++.
* src/vm/jit/optimizing/profile.hpp: Likewise.
* src/vm/vm.cpp: Fixed includes.
* src/vm/jit/i386/emit.c: Added dummies for CPU cycle counting.
* src/vm/jit/powerpc/emit.c: Likewise.
* src/vm/jit/s390/emit.c: Likewise.
* src/vm/jit/x86_64/emit.c: Moved CPU cycle counting here.
Michael Starzinger [Mon, 31 Aug 2009 22:59:30 +0000 (00:59 +0200)]
* src/vm/jit/codegen-common.cpp (codegen_emit): New generic version of the
code generating loop. This is the main point of this huge commit.
There are some other changes which might be interesting about this commit,
which are described in detail:
* src/vm/jit/code.hpp (codeinfo): Added runtime information to replace most
parts of the method header.
* src/vm/jit/codegen-common.cpp (codegen_finish): Sets runtime information.
(codegen_start_native_call): Use MD function to determine size of stackframe.
(codegen_finish_native_call): Likewise.
* src/vm/jit/codegen-common.hpp: Added prototypes of new MD functions.
* src/vm/jit/emit-common.hpp: Added prototypes of new MD functions.
(emit_xmove): Added generic inline functions for register moves.
* src/vm/jit/optimizing/profile.c: Disabled some broken profiling code.
* src/vm/jit/optimizing/profile.h: Moved definitions CPU cycle counting
macros to where they belong.
* src/vm/jit/replace.cpp: Uses new architecture description macros.
* src/vm/jit/stacktrace.cpp: Use MD function to determine size of stackframe.
The rest of the files were machine dependent adaptions of the different ports
with too many changes to describe here, so I just list the files:
* src/vm/jit/alpha/arch.h
* src/vm/jit/alpha/codegen.c
* src/vm/jit/alpha/codegen.h
* src/vm/jit/alpha/emit.c
* src/vm/jit/alpha/md.h
* src/vm/jit/arm/arch.h
* src/vm/jit/arm/codegen.c
* src/vm/jit/arm/codegen.h
* src/vm/jit/arm/emit.c
* src/vm/jit/arm/md.h
* src/vm/jit/i386/arch.h
* src/vm/jit/i386/codegen.c
* src/vm/jit/i386/codegen.h
* src/vm/jit/i386/emit.c
* src/vm/jit/i386/emit.h
* src/vm/jit/i386/md.h
* src/vm/jit/m68k/arch.h
* src/vm/jit/m68k/codegen.c
* src/vm/jit/m68k/codegen.h
* src/vm/jit/m68k/emit.c
* src/vm/jit/m68k/md.h
* src/vm/jit/mips/arch.h
* src/vm/jit/mips/codegen.c
* src/vm/jit/mips/codegen.h
* src/vm/jit/mips/emit.c
* src/vm/jit/mips/md.h
* src/vm/jit/powerpc/arch.h
* src/vm/jit/powerpc/codegen.c
* src/vm/jit/powerpc/codegen.h
* src/vm/jit/powerpc/emit.c
* src/vm/jit/powerpc/md.h
* src/vm/jit/powerpc64/arch.h
* src/vm/jit/powerpc64/codegen.c
* src/vm/jit/powerpc64/codegen.h
* src/vm/jit/powerpc64/emit.c
* src/vm/jit/powerpc64/md.h
* src/vm/jit/s390/arch.h
* src/vm/jit/s390/codegen.c
* src/vm/jit/s390/codegen.h
* src/vm/jit/s390/emit.c
* src/vm/jit/s390/md.h
* src/vm/jit/sparc64/arch.h
* src/vm/jit/sparc64/codegen.c
* src/vm/jit/sparc64/codegen.h
* src/vm/jit/sparc64/emit.c
* src/vm/jit/sparc64/md.h
* src/vm/jit/x86_64/arch.h
* src/vm/jit/x86_64/codegen.c
* src/vm/jit/x86_64/codegen.h
* src/vm/jit/x86_64/emit.c
* src/vm/jit/x86_64/emit.h
* src/vm/jit/x86_64/md.h
Michael Starzinger [Mon, 31 Aug 2009 14:51:17 +0000 (16:51 +0200)]
* src/vm/jit/show.cpp (show_method): Now shows patcher references as well.
* src/vm/jit/patcher-common.cpp (patcher_list_show): Supports above task.
* src/vm/jit/patcher-common.hpp: Likewise.
* src/vm/global.h (PRINTF_FORMAT_INTPTR_T): Added very useful define.
Michael Starzinger [Mon, 31 Aug 2009 14:51:16 +0000 (16:51 +0200)]
* src/vm/jit/methodtree.c (methodtree_find): Detect and avoid endless loop when
methodtree lookup fails during stacktrace creation.
Michael Starzinger [Mon, 31 Aug 2009 13:25:49 +0000 (15:25 +0200)]
* src/vm/loader.cpp (load_constantpool): Uses DumpList instead of reinvented
wheel to resolve forward references.
Michael Starzinger [Mon, 31 Aug 2009 13:22:31 +0000 (15:22 +0200)]
* src/mm/dumpmemory.hpp (DumpClass): Added new base class for dump memory.
* src/toolbox/list.hpp (DumpList): Uses above class to be allocated on dump
memory.
Michael Starzinger [Mon, 24 Aug 2009 10:02:42 +0000 (12:02 +0200)]
* src/vm/primitive.cpp: Removed obsolete legacy C interface.
* src/vm/primitive.hpp: Likewise.
Michael Starzinger [Tue, 11 Aug 2009 09:03:18 +0000 (11:03 +0200)]
* src/toolbox/hashtable.hpp: Added preliminary C++ hashtable class.
* src/threads/mutex.hpp (MutexLocker): Helper which might come in handy.
(transplanted from
aefdd2b45fcf0086266e43032ce0bda0a9f8a0f9)
--HG--
extra : transplant_source : %AE%FD%D2%B4_%CF%00%86%26nC%03%2C%E0%BD%A0%A9%F8%A0%F9
Michael Starzinger [Wed, 28 Oct 2009 11:00:41 +0000 (12:00 +0100)]
* src/native/native.cpp: Fixed bogus log_print calls. Please don't use strings
that are dynamically generated as format strings, this is dangerous.
Michael Starzinger [Wed, 28 Oct 2009 09:31:58 +0000 (10:31 +0100)]
* src/vm/vm.cpp (usage): Made function static. Also removed legacy C functions.
* src/vm/vm.hpp: Removed obsolete prototypes.
Michael Starzinger [Tue, 27 Oct 2009 00:21:42 +0000 (01:21 +0100)]
* src/native/vm/openjdk/jvm.cpp (JVM_GetVersionInfo): Fixed typo and bogus size.
Stefan Ring [Sun, 25 Oct 2009 12:29:38 +0000 (13:29 +0100)]
* src/native/vm/openjdk/jvm.cpp (JVM_GetVersionInfo): Implemented.
Parts taken from icedtea patch by Andrew John Hughes <ahughes@redhat.com>.
(transplanted from
5f6614d3497636a298267d9036fe3e13f0b637c3)