cacao.git
12 years agoPR149: Used wrong class loader.
Stefan Ring [Mon, 29 Aug 2011 18:32:30 +0000 (20:32 +0200)]
PR149: Used wrong class loader.
* src/vm/globals.cpp: Added two new classes: sun/reflect/MethodAccessorImpl and
sun/reflect/ConstructorAccessorImpl.
* src/vm/globals.hpp: Likewise.
* src/vm/jit/stacktrace.cpp: Skip stack frames belonging to these classes when
looking for a class loader.
* src/vm/linker.cpp: Link these classes.
* src/vm/loader.cpp: Load these classes.

12 years ago* src/vm/javaobjects.cpp (java_lang_reflect_Method::invoke): [OPENJDK] stack
Stefan Ring [Sun, 28 Aug 2011 19:36:31 +0000 (21:36 +0200)]
* src/vm/javaobjects.cpp (java_lang_reflect_Method::invoke): [OPENJDK] stack
index of caller was off by one, causing many apt (Annotation Processing Tool)
failures.

12 years agoPR159: Exception handler blocks / register mixup
Stefan Ring [Mon, 8 Aug 2011 17:44:17 +0000 (19:44 +0200)]
PR159: Exception handler blocks / register mixup
* src/vm/jit/codegen-common.cpp: Fix register allocation at exception handler
block boundaries.
The concept of a block type is flawed because an exception handler block can
also be reached via normal control flow. I guess subroutine blocks are safe
because they expect a different type on the stack (returnAddress), and any
attempt at reaching them normally would not get past the verifier, although I
don't know how this is handled in CACAO.

The conditional branches should be handled as well, but as there is a lot of
platform-specific code involved as well as lots of register clobbering
potential, I'll leave it at that for now.

12 years ago* src/threads/thread.cpp: Set thread to RUNNABLE during Thread.start.
Stefan Ring [Fri, 13 May 2011 16:01:24 +0000 (18:01 +0200)]
* src/threads/thread.cpp: Set thread to RUNNABLE during Thread.start.
* src/threads/posix/thread-posix.cpp: Removed state-setting function call that
would be done by the thread itself, creating a nasty race.

13 years agomerged threadlist & threadobject improvements
Stefan Ring [Fri, 22 Apr 2011 19:10:41 +0000 (21:10 +0200)]
merged threadlist & threadobject improvements

13 years ago* src/threads/threadlist.cpp: Fixed strategy for giving out thread indexes.
Stefan Ring [Tue, 19 Apr 2011 11:52:12 +0000 (13:52 +0200)]
* src/threads/threadlist.cpp: Fixed strategy for giving out thread indexes.
* src/threads/threadlist.hpp (_last_index): Added.

13 years ago* src/threads/thread.cpp: Break a reference cycle.
Stefan Ring [Mon, 18 Apr 2011 20:26:41 +0000 (22:26 +0200)]
* src/threads/thread.cpp: Break a reference cycle.
* src/threads/thread-classpath.cpp, src/threads/thread-classpath.hpp,
src/threads/thread-cldc11.cpp, src/threads/thread-cldc11.hpp,
src/threads/thread-openjdk.cpp, src/threads/thread-openjdk.hpp
(clear_heap_reference): Added.
* src/vm/javaobjects.cpp, src/vm/javaobjects.hpp [OpenJDK]:
Added accessors for "me" field.

13 years ago* src/threads/posix/thread-posix.cpp: Removed mutex_join. The thread list
Stefan Ring [Mon, 18 Apr 2011 20:03:04 +0000 (22:03 +0200)]
* src/threads/posix/thread-posix.cpp: Removed mutex_join. The thread list
lock serves the same purpose now.
* src/threads/thread.cpp: Likewise, adapted.
* src/threads/thread.hpp: Likewise.
* src/threads/threadlist.hpp: Likewise.

13 years ago* src/threads/thread.hpp (thread_set_object, thread_get_object): Removed.
Stefan Ring [Mon, 18 Apr 2011 19:57:47 +0000 (21:57 +0200)]
* src/threads/thread.hpp (thread_set_object, thread_get_object): Removed.
* src/native/vm/openjdk/jvm.cpp: Adapted (hand-inlined).
* src/threads/posix/thread-posix.cpp, src/threads/thread-openjdk.cpp,
src/threads/thread.cpp, src/vm/exceptions.cpp, src/vm/javaobjects.hpp:
Likewise.

13 years ago* src/threads/thread.cpp: Use a finalizer to remove dead threads.
Stefan Ring [Mon, 18 Apr 2011 19:15:16 +0000 (21:15 +0200)]
* src/threads/thread.cpp: Use a finalizer to remove dead threads.
* src/threads/posix/thread-posix.cpp (threads_impl_clear_heap_pointers): Added.
* src/threads/thread.hpp: Likewise.
* src/threads/posix/thread-posix.hpp: Added flag is_in_active_list.
* src/threads/threadlist.cpp, src/threads/threadlist.hpp: Take thread list lock
for all thread list operations.
(deactivate_thread): Added.
* src/threads/thread-classpath.cpp: Adapted to lock change.

13 years ago* src/threads/thread.cpp: thread_new no longer adds to active list.
Stefan Ring [Mon, 18 Apr 2011 19:07:45 +0000 (21:07 +0200)]
* src/threads/thread.cpp: thread_new no longer adds to active list.
* src/threads/threadlist.hpp (add_to_active_thread_list): Take the thread list
lock when changing the thread list.

13 years ago* src/threads/posix/thread-posix.cpp, src/vm/jit/stacktrace.cpp: Sanitize
Stefan Ring [Mon, 18 Apr 2011 19:05:48 +0000 (21:05 +0200)]
* src/threads/posix/thread-posix.cpp, src/vm/jit/stacktrace.cpp: Sanitize
the usage of condition variables.

13 years ago* src/threads/posix/thread-posix.cpp: Take care not to signal threads after
Stefan Ring [Mon, 18 Apr 2011 19:03:42 +0000 (21:03 +0200)]
* src/threads/posix/thread-posix.cpp: Take care not to signal threads after
they have stopped existing.

13 years agoPR157: ARM memory barrier
Stefan Ring [Fri, 11 Mar 2011 22:35:56 +0000 (23:35 +0100)]
PR157: ARM memory barrier
* src/vm/jit/arm/md-atomic.hpp: Add memory barriers, use gcc intrinsic for CAS.
Obsoletes icedtea patches arm-arch-defines.patch and arm-memory-barrier.patch.
Thanks Xerxes Ranby.

13 years ago* src/vm/vm.cpp: Ignore all unknown options, but report them.
Stefan Ring [Fri, 11 Mar 2011 21:54:10 +0000 (22:54 +0100)]
* src/vm/vm.cpp: Ignore all unknown options, but report them.
Obsoletes icedtea6 patch ignore-unknown-options.patch.
Thanks Xerxes Ranby.

13 years ago* src/mm/boehm-gc/Makefile.am, src/mm/boehm-gc/libatomic_ops/Makefile.am:
Stefan Ring [Thu, 10 Mar 2011 13:41:43 +0000 (14:41 +0100)]
* src/mm/boehm-gc/Makefile.am, src/mm/boehm-gc/libatomic_ops/Makefile.am:
Repair make distcheck.

This is extremely fragile. It works now on my Fedora 14 box with the following build script:

CONFIGURE_ARGS="--with-java-runtime-library-prefix=$CLASSPATH_PREFIX --with-jasmin-jar=$ADDITIONAL_JARS_PATH/cup.jar:$ADDITIONAL_JARS_PATH/jasmin-sable.jar"
hg clone $SRCDIR/cacao
cd cacao
(cd src/mm/boehm-gc && sh ./autogen.sh)
(cd src/mm/boehm-gc/libatomic_ops && autoreconf)
./autogen.sh && ./configure $CONFIGURE_ARGS --enable-maintainer-mode && make -j4 || exit 1
make distcheck DISTCHECK_CONFIGURE_FLAGS="$CONFIGURE_ARGS"

13 years ago* src/mm/boehm-gc/autogen.sh: Also work with automake 1.11.
Stefan Ring [Thu, 10 Mar 2011 13:41:42 +0000 (14:41 +0100)]
* src/mm/boehm-gc/autogen.sh: Also work with automake 1.11.

13 years ago* tests/regression/bugzilla/Makefile.am: Added missing files to EXTRA_DIST.
Stefan Ring [Thu, 10 Mar 2011 13:17:53 +0000 (14:17 +0100)]
* tests/regression/bugzilla/Makefile.am: Added missing files to EXTRA_DIST.

13 years agoFixes build for newer gcc (at least 4.4), breaks older gcc. We don't care.
Roland Lezuo [Thu, 3 Mar 2011 21:49:02 +0000 (22:49 +0100)]
Fixes build for newer gcc (at least 4.4), breaks older gcc. We don't care.

13 years agoFix typo.
Roland Lezuo [Thu, 3 Mar 2011 21:41:04 +0000 (22:41 +0100)]
Fix typo.

13 years agofix make check for out-of-srcdir builds.
Roland Lezuo [Thu, 3 Mar 2011 21:40:32 +0000 (22:40 +0100)]
fix make check for out-of-srcdir builds.

13 years agoPR156: uncaughtExceptionHandler doesn't work with OpenJDK 6 b21
Stefan Ring [Wed, 2 Mar 2011 18:51:25 +0000 (19:51 +0100)]
PR156: uncaughtExceptionHandler doesn't work with OpenJDK 6 b21
* src/vm/javaobjects.cpp, src/vm/javaobjects.hpp: Set field offsets for
java.lang.Thread dynamically.

13 years agoPR156: Preparation
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.

13 years ago* src/vm/finalizer.cpp, src/vm/finalizer.hpp: Generalize internal finalizer
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.

13 years ago* src/threads/posix/thread-posix.cpp, src/threads/thread.cpp,
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.

13 years agofprintf/vfprintf dependency fix
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

13 years ago* src/threads/threadlist.cpp (get_free_thread): Actually return free threads
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.

13 years ago* src/threads/posix/thread-posix.cpp (threads_impl_thread_free): Removed. It was
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.

13 years ago* configure.ac: Define _XOPEN_SOURCE, _DARWIN_C_SOURCE for Darwin fixing
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.

13 years ago* src/mm/boehm-gc/ChangeLog, src/mm/boehm-gc/include/private/gc_priv.h:
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.

13 years agoPR144 (aligned patchers on x86_64)
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.

13 years agoPR143: don't hang with invalid locale
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.

13 years agoPR123: LD_LIBRARY_PATH and java.library.path
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.

13 years agoPR152
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.

13 years ago* src/vm/jit/i386/asmpart.S: Made position independent.
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.

13 years agoAdded regression test for PR148.
Stefan Ring [Mon, 22 Nov 2010 18:59:51 +0000 (19:59 +0100)]
Added regression test for PR148.

13 years agoPR148 again: don't defuse IF_LCMPxx
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.

13 years agoPR148 - support for LCMP bytecode
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.

13 years agoIcedTea/PR585
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.

13 years ago* configure.ac: Recognize armv7 as well.
Stefan Ring [Wed, 10 Nov 2010 22:54:47 +0000 (23:54 +0100)]
* configure.ac: Recognize armv7 as well.

13 years ago* configure.ac: Bump version, append hg revision.
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.

13 years ago* src/mm/boehm-gc/include/private/config.h.in,
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

13 years agoboehm-gc: Merged CACAO-specific modifications
Stefan Ring [Tue, 2 Nov 2010 11:27:10 +0000 (12:27 +0100)]
boehm-gc: Merged CACAO-specific modifications

13 years agoUpgrade Boehm GC to 7.2alpha4.
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

13 years ago* src/mm/boehm-gc/autogen.sh: Adapted for inclusion in CACAO repository.
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.

13 years agoboehm-gc: revert all CACAO-specific modifications; this is now an exact copy of the...
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

13 years ago* autogen.sh: Make it work with unpatched Boehm GC.
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.

13 years ago* src/mm/gc-boehm.cpp: Define GC_SOLARIS_THREADS on Solaris.
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

13 years ago* src/native/localref.cpp: Using free list instead of array scanning.
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.

13 years ago* m4/pr40134.m4: Added a configure switch for ARM linker problem.
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.

13 years agoPR137: Provide JVM_FindClassFromBootLoader
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.

13 years ago* src/native/vm/sun_misc_Unsafe.cpp: Added memory barriers to compare_and_swap.
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.

13 years agoPR140 - repaired icedtea7
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.

13 years ago* src/threads/thread.cpp (thread_set_state_*): Don't take the ThreadList
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).

13 years ago* src/threads/posix/thread-posix.cpp: Eliminated some easy-to-fix or pointless compil...
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.

13 years ago* src/vm/global.h: Made 'lockword' member of java_object_t a plain
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.

13 years ago* src/vm/jit/trap.cpp: Finally switched s390 to the new trap decoding method.
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).

13 years ago* src/vm/jit/s390/codegen.c: Fixed build.
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.

13 years ago* src/vm/jit/s390/md-atomic.hpp: Repaired.
Stefan Ring [Sat, 7 Aug 2010 19:58:54 +0000 (21:58 +0200)]
* src/vm/jit/s390/md-atomic.hpp: Repaired.

13 years ago* src/vm/os.hpp (call_scandir): Rename template arguments because of a
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.

13 years agoFixes icedtea/PR 513.
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.

13 years ago* m4/version.m4: Repaired version parsing.
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>

13 years ago* configure.ac: Changed version to 1.1.0pre1, enabled optimization
Stefan Ring [Wed, 23 Jun 2010 15:18:58 +0000 (17:18 +0200)]
* configure.ac: Changed version to 1.1.0pre1, enabled optimization

13 years ago* NEWS: Some maintenance.
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

13 years ago* configure.ac: Some maintenance for make dist.
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

13 years ago* src/native/vm/openjdk/sun_misc_Perf.cpp: Implement just the bare minimum
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).

14 years agoMethod call frequency statistics for ARM
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

14 years agomerged volatile memory barriers
sr [Tue, 17 Nov 2009 07:40:45 +0000 (08:40 +0100)]
merged volatile memory barriers

14 years ago* src/vm/jit/codegen-common.cpp, src/vm/jit/x86_64/codegen.c: Generate
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.

14 years ago* src/vm/jit/patcher-common.cpp: Conditionally restored NOP-insertion at
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.

14 years ago* src/vm/jit/x86_64/codegen.h: Use multi-byte NOP for code alignment.
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.

14 years agosrc/vm/cycles-stats.h: Switched from asm_get_cycle_count to md_get_cycle_count.
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.

14 years ago* src/vm/jit/codegen-common.cpp (codegen_emit): Fixed temporary registers in
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.

14 years ago* src/vm/jit/stubs.cpp: Removed obsolete legacy C interface.
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.

14 years ago* tests/regression/base/All.java: Added test case for AbstractMethodError.
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.

14 years ago* src/vm/jit/trap.cpp (trap_handle): Activated new stack unwinding for i386.
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.

14 years ago* src/vm/jit/trap.cpp (trap_handle): Activated new stack unwinding for Alpha.
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.

14 years ago* src/vm/jit/executionstate.c (executionstate_unwind_exception): Added generic
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.

14 years ago* src/vm/jit/executionstate.c (executionstate_pop_stackframe): Moved here from
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.

14 years ago* src/vm/jit/replace.cpp: Use architectures STACKFRAME_RA_LINKAGE_AREA define.
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.

14 years ago* src/native/vm/nativevm.cpp (nativevm_preinit): Sanity check current time.
Michael Starzinger [Wed, 4 Nov 2009 10:52:06 +0000 (11:52 +0100)]
* src/native/vm/nativevm.cpp (nativevm_preinit): Sanity check current time.

14 years ago* configure.ac: Added check for mach/mach.h header.
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.

14 years ago* src/vm/jit/powerpc/arch.h: We have leaf-method optimization in place.
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.

14 years ago* configure.ac: Added check for sys/utsname.h header.
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.

14 years ago* src/vm/os.cpp: System header checks are done in os.hpp, so no need to do
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.

14 years ago* configure.ac: Check for jvmti.h header if JVMTI is enabled.
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.

14 years ago* src/vm/primitive.cpp (Primitive::get_type_by_primitiveclass): Implemented.
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.

14 years ago* src/vm/options.c (opt_TraceJVMTICalls): Added new -XX option.
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.

14 years ago* src/vm/method.cpp (method_load): Loads LocalVariableTable attribute.
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.

14 years ago* src/threads/posix/thread-posix.hpp: Removed public semaphore interface.
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.

14 years ago* src/vm/hook.hpp: Use hook points for OProfile agent.
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.

14 years ago* src/native/vm/openjdk/jvm.cpp (JVM_GetVersionInfo): Fixing printf
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).

14 years ago* src/threads/posix/thread-posix.cpp: Implemented thread suspension mechanism.
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.

14 years ago* src/vm/jit/x86_64/codegen.h: Generate mfence instruction.
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)

14 years ago* src/native/jni.cpp: Issue a memory barriers after each volatile store.
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)

14 years ago* src/native/jni.cpp: Fixed a typo.
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.

14 years ago* src/threads/lock.cpp: Slight memory barrier clarification.
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.

14 years ago* src/vm/jit/trap.cpp (trap_init): Disabled mmapping of first page by default.
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.

14 years ago* src/vm/jit/verify/typecheck-stackbased-gen.inc: Regenerated.
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.

14 years ago* src/vm/jit/verify/generate.pl: Adapted to renamed source file.
Michael Starzinger [Sat, 19 Sep 2009 21:24:25 +0000 (23:24 +0200)]
* src/vm/jit/verify/generate.pl: Adapted to renamed source file.