cacao.git
8 years ago* configure.ac: New switch for disabling -O2 (--disable-optimizations). master
Stefan Ring [Wed, 29 Feb 2012 18:02:11 +0000 (19:02 +0100)]
* configure.ac: New switch for disabling -O2 (--disable-optimizations).

8 years agomerge
Stefan Ring [Wed, 29 Feb 2012 09:10:06 +0000 (10:10 +0100)]
merge

8 years agoAdd new test output reference files to EXTRA_DIST.
Roland Lezuo [Mon, 27 Feb 2012 11:51:49 +0000 (12:51 +0100)]
Add new test output reference files to EXTRA_DIST.

8 years ago* src/native/jni.cpp (GetObjectClass): Remove null pointer check.
Stefan Ring [Sat, 25 Feb 2012 09:11:36 +0000 (10:11 +0100)]
* src/native/jni.cpp (GetObjectClass): Remove null pointer check.
* tests/regression/native/checkjni.java: Adapt test.
* tests/regression/native/checkjni.output: Adapt test output.

Hotspot doesn't accept a null pointer here, so neither should we.

8 years agoAdded some missing vim modelines.
Stefan Ring [Fri, 24 Feb 2012 22:14:43 +0000 (23:14 +0100)]
Added some missing vim modelines.

8 years ago* src/vm/jit/x86_64/asmpart.S (asm_abstractmethoderror): Keep stack aligned.
Stefan Ring [Fri, 24 Feb 2012 06:48:53 +0000 (07:48 +0100)]
* src/vm/jit/x86_64/asmpart.S (asm_abstractmethoderror): Keep stack aligned.

8 years ago* tests/regression/jasmin/Makefile.am: Use JAVACMD as in other test dirs.
Stefan Ring [Wed, 22 Feb 2012 18:03:50 +0000 (19:03 +0100)]
* tests/regression/jasmin/Makefile.am: Use JAVACMD as in other test dirs.
* tests/regression/jasmin/runtest: Make JAVACMD work with prepended env vars.

8 years ago* README: Update CACAO home page.
Stefan Ring [Fri, 17 Feb 2012 18:28:16 +0000 (19:28 +0100)]
* README: Update CACAO home page.

8 years ago* m4/version.m4: Make version detection work on BSD sed (e.g. Mac OS X)
Stefan Ring [Fri, 17 Feb 2012 18:16:16 +0000 (19:16 +0100)]
* m4/version.m4: Make version detection work on BSD sed (e.g. Mac OS X)

8 years agoPR164: Get rid of mysterious 10 trailing bytes in literal strings.
Stefan Ring [Thu, 8 Dec 2011 12:40:45 +0000 (13:40 +0100)]
PR164: Get rid of mysterious 10 trailing bytes in literal strings.
This actually caused page faults in memcpy, when they happened to straddle a
page boundary and the adjacent page was not mapped.

8 years agoPR163: descriptor_params_from_paramtypes is protected by a mutex now (per descriptor...
Stefan Ring [Thu, 1 Dec 2011 11:45:42 +0000 (12:45 +0100)]
PR163: descriptor_params_from_paramtypes is protected by a mutex now (per descriptor pool).
By careful use of StoreStore and ReadRead memory barriers, we could also use a
kind of double-checked locking on the params field, but the potential
performance gain is definitely not worth the trouble (and risk).

8 years agoRemoved return value from descriptor_params_from_paramtypes.
Stefan Ring [Thu, 1 Dec 2011 12:20:59 +0000 (13:20 +0100)]
Removed return value from descriptor_params_from_paramtypes.
It always returned true. Propagated change along all call paths.

* src/native/vm/reflection.cpp: Propagated conditional removal.
* src/vm/descriptor.cpp: Removed return value.
* src/vm/descriptor.hpp: Likewise.
* src/vm/jit/optimizing/bytecode_escape.c: Propagated conditional removal.
* src/vm/jit/parse.cpp: Likewise.
* src/vm/jit/verify/typecheck-common.cpp: Likewise.
* src/vm/jit/verify/typecheck-invoke.inc: Likewise.
* src/vm/jit/verify/typecheck-stackbased.cpp: Likewise.
* src/vm/loader.cpp: Likewise.
* src/vm/method.cpp (method_get_parametercount): Propagated return value
handling.
* src/vm/resolve.cpp: Likewise.

8 years agoRemoved fields from classinfo and related functions from descriptor pool.
Stefan Ring [Wed, 30 Nov 2011 17:30:44 +0000 (18:30 +0100)]
Removed fields from classinfo and related functions from descriptor pool.
They were not used anywhere.
* src/vm/class.hpp: Removed parseddescsize, parseddescs.
* src/vm/descriptor.cpp: Removed descriptor_pool_get_parsed_descriptors.
* src/vm/descriptor.hpp: Likewise.
* src/vm/loader.cpp: Removed use of removed fields/methods.

8 years agoPR162: Make class init protection aware of multiple threads.
Stefan Ring [Mon, 28 Nov 2011 20:21:32 +0000 (21:21 +0100)]
PR162: Make class init protection aware of multiple threads.
* src/vm/initialize.cpp: Store the initializing thread into a new field for
discrimination of recursive calls versus concurrent calls.
* src/vm/class.cpp, src/vm/class.hpp: Added the new field, adapted test macros.

8 years agoPR162: Added regression test.
Stefan Ring [Tue, 29 Nov 2011 23:24:30 +0000 (00:24 +0100)]
PR162: Added regression test.

8 years ago* src/vm/jit/jit.cpp: Eliminate one instance of useless cache flushing.
Stefan Ring [Mon, 28 Nov 2011 20:17:20 +0000 (21:17 +0100)]
* src/vm/jit/jit.cpp: Eliminate one instance of useless cache flushing.

8 years agoabc_optimization: Fixed the most obvious typos;
Stefan Ring [Fri, 18 Nov 2011 13:37:18 +0000 (14:37 +0100)]
abc_optimization: Fixed the most obvious typos;
I refrained from fixing most of the grammar errors though

8 years agoMakes --disable-gc work again
David Flamme [Fri, 4 Nov 2011 14:27:46 +0000 (15:27 +0100)]
Makes --disable-gc work again

* src/threads/thread.cpp : attach_custom_finalizer(..) depends on an enabled boehm gc

8 years agoDocumentation for the ABC Analysis
David Flamme [Wed, 2 Nov 2011 11:57:23 +0000 (12:57 +0100)]
Documentation for the ABC Analysis

* doc/abc_optimization/* : Detailed elaboration on abc analysis in the cacaovm written by Klaus Braeutigam

8 years agoRegression test driver now can read different expected output files
Roland Lezuo [Thu, 27 Oct 2011 15:32:45 +0000 (17:32 +0200)]
Regression test driver now can read different expected output files
depending on classlibrary used (classpath vs. openjdk).

Provided expected results for openjdk builds (to be discussed).

Small fix in extest.java preventing an NegativeArrayIndexException to be thrown.

--HG--
rename : tests/regression/extest.2output => tests/regression/extest.2output.cp
rename : tests/regression/fp.output => tests/regression/fp.output.cp
rename : tests/regression/fptest.output => tests/regression/fptest.output.cp

8 years ago* src/native/jni.cpp: [OPENJDK] Fix FindClass called from JNI_OnLoad.
Stefan Ring [Sun, 23 Oct 2011 21:16:39 +0000 (23:16 +0200)]
* src/native/jni.cpp: [OPENJDK] Fix FindClass called from JNI_OnLoad.
Triggered by lwjgl.

8 years ago* src/native/jni.cpp: [OPENJDK] Implemented jni_GetDirectBufferCapacity.
Stefan Ring [Sat, 22 Oct 2011 18:42:05 +0000 (20:42 +0200)]
* src/native/jni.cpp: [OPENJDK] Implemented jni_GetDirectBufferCapacity.
* src/vm/javaobjects.hpp: Added java_nio_Buffer::get_capacity.

8 years ago* src/vm/jit/arm/emit.c (emit_verbosecall_enter): Remove broken support for
Stefan Ring [Fri, 14 Oct 2011 21:21:52 +0000 (23:21 +0200)]
* src/vm/jit/arm/emit.c (emit_verbosecall_enter): Remove broken support for
float argument passing in registers

The removed code was not prepared for handling register numbers constructed by
PACK_REGS and would produce illegal instructions.

8 years ago* src/vm/jit/arm/codegen.c: Remove hack for return value in float registers.
Stefan Ring [Fri, 14 Oct 2011 21:22:53 +0000 (23:22 +0200)]
* src/vm/jit/arm/codegen.c: Remove hack for return value in float registers.

This would only be relevant for -mfloat-abi=hard (armhf). At the moment,
support for armhf is rather pointless and can never have worked because all
arguments are passed in integer registers unconditionally. This applies to both
the internal and the system ABI.

8 years ago* src/vm/jit/arm/codegen.c: Fixed use of uninitialized variable.
Stefan Ring [Fri, 14 Oct 2011 21:20:34 +0000 (23:20 +0200)]
* src/vm/jit/arm/codegen.c: Fixed use of uninitialized variable.

8 years ago* src/vm/jit/arm/codegen.c: removed unused ICMD_GETSTATIC branch
Stefan Ring [Fri, 14 Oct 2011 21:18:49 +0000 (23:18 +0200)]
* src/vm/jit/arm/codegen.c: removed unused ICMD_GETSTATIC branch

8 years ago* src/vm/jit/arm/asmpart.S: Designate function labels as such; required for
Stefan Ring [Wed, 12 Oct 2011 22:05:41 +0000 (00:05 +0200)]
* src/vm/jit/arm/asmpart.S: Designate function labels as such; required for
thumb interworking.

8 years agoFixed some testcases
David Flamme [Tue, 4 Oct 2011 17:30:46 +0000 (19:30 +0200)]
Fixed some testcases

* tests/regression/jasmin/* : jasmin changed and couldn't handle " anymore in declarations

8 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.

8 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.

8 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.

9 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.

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

9 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.

9 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.

9 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.

9 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.

9 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.

9 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.

9 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.

9 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.

9 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.

9 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.

9 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"

9 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.

9 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.

9 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.

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

9 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.

9 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.

9 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.

9 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.

9 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.

9 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

9 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.

9 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.

9 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.

9 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.

9 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.

9 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.

9 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.

9 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.

9 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.

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

9 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.

9 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.

9 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.

9 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.

9 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.

9 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

9 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

9 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

9 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.

9 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

9 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.

9 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

9 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.

9 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.

9 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.

9 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.

9 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.

9 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).

9 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.

9 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.

9 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).

9 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.

9 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.

9 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.

9 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.

9 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>

9 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

10 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

10 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

10 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).

10 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

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

10 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.

10 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.

10 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.

10 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.