Stefan Ring [Wed, 29 Feb 2012 18:02:11 +0000 (19:02 +0100)]
* configure.ac: New switch for disabling -O2 (--disable-optimizations).
Stefan Ring [Wed, 29 Feb 2012 09:10:06 +0000 (10:10 +0100)]
merge
Roland Lezuo [Mon, 27 Feb 2012 11:51:49 +0000 (12:51 +0100)]
Add new test output reference files to EXTRA_DIST.
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.
Stefan Ring [Fri, 24 Feb 2012 22:14:43 +0000 (23:14 +0100)]
Added some missing vim modelines.
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.
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.
Stefan Ring [Fri, 17 Feb 2012 18:28:16 +0000 (19:28 +0100)]
* README: Update CACAO home page.
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)
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.
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).
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.
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.
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.
Stefan Ring [Tue, 29 Nov 2011 23:24:30 +0000 (00:24 +0100)]
PR162: Added regression test.
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.
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
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
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
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
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.
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.
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.
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.
Stefan Ring [Fri, 14 Oct 2011 21:20:34 +0000 (23:20 +0200)]
* src/vm/jit/arm/codegen.c: Fixed use of uninitialized variable.
Stefan Ring [Fri, 14 Oct 2011 21:18:49 +0000 (23:18 +0200)]
* src/vm/jit/arm/codegen.c: removed unused ICMD_GETSTATIC branch
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.
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
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.
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.
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.
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.
Stefan Ring [Fri, 22 Apr 2011 19:10:41 +0000 (21:10 +0200)]
merged threadlist & threadobject improvements
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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"
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.
Stefan Ring [Thu, 10 Mar 2011 13:17:53 +0000 (14:17 +0100)]
* tests/regression/bugzilla/Makefile.am: Added missing files to EXTRA_DIST.
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.
Roland Lezuo [Thu, 3 Mar 2011 21:41:04 +0000 (22:41 +0100)]
Fix typo.
Roland Lezuo [Thu, 3 Mar 2011 21:40:32 +0000 (22:40 +0100)]
fix make check for out-of-srcdir builds.
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.
Stefan Ring [Wed, 2 Mar 2011 18:49:19 +0000 (19:49 +0100)]
PR156: Preparation
* src/vm/javaobjects.cpp: Added a facility for registering dynamic field
offsets.
* src/vm/javaobjects.hpp (jobjects_register_dyn_offsets,
jobjects_run_dynoffsets_hook): Added.
* src/vm/hook.cpp: Added because of non-inline function.
* src/vm/hook.hpp (class_linked): Changed signature because of exception
handling.
(class_linked_dynoffsets): Added & call it.
* src/vm/linker.cpp: Adapted to new signatures.
* src/vm/linker.hpp: Cleanup only.
* src/vm/Makefile.am: Added hook.cpp.
* src/vm/vm.cpp: Call new dynamic offset hook.
* src/toolbox/hashtable.hpp: Cleanup only.
Stefan Ring [Mon, 21 Feb 2011 23:06:28 +0000 (00:06 +0100)]
* src/vm/finalizer.cpp, src/vm/finalizer.hpp: Generalize internal finalizer
handling.
* src/threads/lock.cpp: Use the new mechanism for lock record removal finalizers.
Stefan Ring [Mon, 21 Feb 2011 22:59:12 +0000 (23:59 +0100)]
* src/threads/posix/thread-posix.cpp, src/threads/thread.cpp,
src/threads/thread.hpp: Factored out the implementation-specific bits.
* src/threads/thread-classpath.cpp, src/threads/thread-classpath.hpp
(ThreadRuntimeClasspath): GNU classpath implementation.
* src/threads/thread-cldc11.cpp, src/threads/thread-cldc11.hpp
(ThreadRuntimeCldc11): (Very) incomplete CLDC 1.1 implementation.
* src/threads/thread-openjdk.cpp, src/threads/thread-openjdk.hpp
(ThreadRuntimeOpenjdk): OpenJDK implementation.
* src/threads/Makefile.am: Added the new files.
David Flamme [Tue, 15 Feb 2011 21:40:18 +0000 (22:40 +0100)]
fprintf/vfprintf dependency fix
* src/vm/os.hpp: Added vfprintf wrapper
removed fprintf wrapper, but kept the availability check
* configure.ac: Added vfprintf linker check
* src/toolbox/logging.cpp: using os::vfprintf
* src/vm/vm.cpp: version
Due to a compatibility check of clang 2.7, the decision was made to define that fprintf is mandatory for cacao
Stefan Ring [Tue, 1 Feb 2011 20:23:59 +0000 (21:23 +0100)]
* src/threads/threadlist.cpp (get_free_thread): Actually return free threads
objects, don't leak them.
Stefan Ring [Sat, 22 Jan 2011 13:35:36 +0000 (14:35 +0100)]
* src/threads/posix/thread-posix.cpp (threads_impl_thread_free): Removed. It was
commented-out already anyway.
* src/threads/thread.hpp: Likewise.
Stefan Ring [Sun, 23 Jan 2011 21:25:22 +0000 (22:25 +0100)]
* configure.ac: Define _XOPEN_SOURCE, _DARWIN_C_SOURCE for Darwin fixing
build failures.
Stefan Ring [Sun, 23 Jan 2011 20:00:02 +0000 (21:00 +0100)]
* src/mm/boehm-gc/ChangeLog, src/mm/boehm-gc/include/private/gc_priv.h:
Applied a patch from bdwgc CVS to make it build on Darwin.
Stefan Ring [Wed, 19 Jan 2011 10:20:43 +0000 (11:20 +0100)]
PR144 (aligned patchers on x86_64)
* src/vm/jit/patcher-common.cpp,
src/vm/jit/patcher-common.h (patchref_t): Added
yet another field - patch_align.
* src/vm/jit/x86_64/codegen.c, src/vm/jit/x86_64/codegen.h:
Make all patched code instances aligned.
* src/vm/jit/x86_64/emit.c (emit_arbitrary_nop): Added.
* src/vm/jit/x86_64/emit.h: Likewise.
* src/vm/jit/x86_64/patcher.c: Adapted to new code layout,
verify alignment.
* tests/regression/bugzilla/PR144.java: Added new test case
exercising the new code paths.
* tests/regression/bugzilla/All.java: Likewise.
Stefan Ring [Wed, 29 Dec 2010 18:36:32 +0000 (19:36 +0100)]
PR143: don't hang with invalid locale
* THIRDPARTY: Documented lc-messages.m4.
* configure.ac: Added various locale checks.
* m4/lc-messages.m4: New file for detecting LC_MESSAGES.
* src/vm/properties.cpp: Validate locale names before passing them on to
classpath.
Stefan Ring [Thu, 16 Dec 2010 21:26:54 +0000 (22:26 +0100)]
PR123: LD_LIBRARY_PATH and java.library.path
* src/vm/properties.cpp: Set java.library.path for OpenJDK builds also.
Stefan Ring [Fri, 3 Dec 2010 07:03:41 +0000 (08:03 +0100)]
PR152
* src/classes/gnuclasspath/java/security/VMAccessController.java:
Ensure use of setPolicy is reflected by the default SecurityManager.
Patch taken from classpath CVS.
Stefan Ring [Mon, 29 Nov 2010 18:06:08 +0000 (19:06 +0100)]
* src/vm/jit/i386/asmpart.S: Made position independent.
* src/vm/jit/i386/Makefile.am: Forward ENABLE_PIC_ASM to asm preprocessor.
* m4/pic_asm.m4: Check for enable-pic-asm configure switch.
* configure.ac: Invoke AC_CHECK_ENABLE_PIC_ASM.
Stefan Ring [Mon, 22 Nov 2010 18:59:51 +0000 (19:59 +0100)]
Added regression test for PR148.
Stefan Ring [Mon, 22 Nov 2010 18:33:30 +0000 (19:33 +0100)]
PR148 again: don't defuse IF_LCMPxx
* src/vm/jit/stack.c: Unconditionally use BUILTIN_lcmp, as no
architecture implements it.
* src/vm/jit/builtin.cpp: Likewise
* src/vm/jit/builtintable.inc: Copied BUILTIN_lcmp entry (from
automatic table to internal table).
* src/vm/jit/alpha/arch.h: Re-enable SUPPORT_LONG_CMP.
* src/vm/jit/arm/arch.h,
* src/vm/jit/i386/arch.h,
* src/vm/jit/mips/arch.h,
* src/vm/jit/powerpc/arch.h,
* src/vm/jit/powerpc64/arch.h,
* src/vm/jit/s390/arch.h,
* src/vm/jit/x86_64/arch.h: Likewise.
Stefan Ring [Thu, 18 Nov 2010 14:35:22 +0000 (15:35 +0100)]
PR148 - support for LCMP bytecode
* src/vm/jit/alpha/arch.h: Turn off SUPPORT_LONG_CMP.
* src/vm/jit/arm/arch.h,
* src/vm/jit/i386/arch.h,
* src/vm/jit/mips/arch.h,
* src/vm/jit/powerpc/arch.h,
* src/vm/jit/powerpc64/arch.h,
* src/vm/jit/s390/arch.h,
* src/vm/jit/x86_64/arch.h: Likewise.
Stefan Ring [Thu, 11 Nov 2010 06:49:43 +0000 (07:49 +0100)]
IcedTea/PR585
* src/native/vm/sun_misc_Unsafe.cpp: Implemented missing methods
putBooleanVolatile, putByteVolatile, putShortVolatile, putCharVolatile,
putFloatVolatile, putDoubleVolatile.
Stefan Ring [Wed, 10 Nov 2010 22:54:47 +0000 (23:54 +0100)]
* configure.ac: Recognize armv7 as well.
Stefan Ring [Tue, 2 Nov 2010 11:24:14 +0000 (12:24 +0100)]
* configure.ac: Bump version, append hg revision.
* src/threads/threadlist.cpp: Use full version in user-visible strings.
* src/vm/properties.cpp: Likewise.
* src/vm/vm.cpp: Likewise.
* m4/hgrev.m4: Define AC_CHECK_WITH_HGREV.
* m4/version.m4: Append hg revision to VERSION_EXTRA.
Stefan Ring [Tue, 2 Nov 2010 11:16:53 +0000 (12:16 +0100)]
* src/mm/boehm-gc/include/private/config.h.in,
src/mm/boehm-gc/Makefile.in,
src/mm/boehm-gc/aclocal.m4,
src/mm/boehm-gc/config.guess,
src/mm/boehm-gc/config.sub,
src/mm/boehm-gc/configure,
src/mm/boehm-gc/ltmain.sh: Regenerated.
--HG--
extra : transplant_source : %F1%D7%BA%A7%23C%10X%E9%0E%CB%7D%E8%20%20H%28%A54r
Stefan Ring [Tue, 2 Nov 2010 11:27:10 +0000 (12:27 +0100)]
boehm-gc: Merged CACAO-specific modifications
Stefan Ring [Sun, 31 Oct 2010 15:22:47 +0000 (16:22 +0100)]
Upgrade Boehm GC to 7.2alpha4.
--HG--
rename : src/mm/boehm-gc/AmigaOS.c => src/mm/boehm-gc/extra/AmigaOS.c
rename : src/mm/boehm-gc/MacOS.c => src/mm/boehm-gc/extra/MacOS.c
rename : src/mm/boehm-gc/add_gc_prefix.c => src/mm/boehm-gc/extra/add_gc_prefix.c
rename : src/mm/boehm-gc/gcname.c => src/mm/boehm-gc/extra/gcname.c
rename : src/mm/boehm-gc/if_mach.c => src/mm/boehm-gc/extra/if_mach.c
rename : src/mm/boehm-gc/if_not_there.c => src/mm/boehm-gc/extra/if_not_there.c
rename : src/mm/boehm-gc/msvc_dbg.c => src/mm/boehm-gc/extra/msvc_dbg.c
rename : src/mm/boehm-gc/setjmp_t.c => src/mm/boehm-gc/extra/setjmp_t.c
rename : src/mm/boehm-gc/libatomic_ops-1.2/AUTHORS => src/mm/boehm-gc/libatomic_ops/AUTHORS
rename : src/mm/boehm-gc/libatomic_ops-1.2/COPYING => src/mm/boehm-gc/libatomic_ops/COPYING
rename : src/mm/boehm-gc/libatomic_ops-1.2/ChangeLog => src/mm/boehm-gc/libatomic_ops/ChangeLog
rename : src/mm/boehm-gc/libatomic_ops-1.2/INSTALL => src/mm/boehm-gc/libatomic_ops/INSTALL
rename : src/mm/boehm-gc/libatomic_ops-1.2/Makefile.am => src/mm/boehm-gc/libatomic_ops/Makefile.am
rename : src/mm/boehm-gc/libatomic_ops-1.2/Makefile.in => src/mm/boehm-gc/libatomic_ops/Makefile.in
rename : src/mm/boehm-gc/libatomic_ops-1.2/NEWS => src/mm/boehm-gc/libatomic_ops/NEWS
rename : src/mm/boehm-gc/libatomic_ops-1.2/README => src/mm/boehm-gc/libatomic_ops/README
rename : src/mm/boehm-gc/libatomic_ops-1.2/aclocal.m4 => src/mm/boehm-gc/libatomic_ops/aclocal.m4
rename : src/mm/boehm-gc/libatomic_ops-1.2/compile => src/mm/boehm-gc/libatomic_ops/compile
rename : src/mm/boehm-gc/libatomic_ops-1.2/config.guess => src/mm/boehm-gc/libatomic_ops/config.guess
rename : src/mm/boehm-gc/libatomic_ops-1.2/config.sub => src/mm/boehm-gc/libatomic_ops/config.sub
rename : src/mm/boehm-gc/libatomic_ops-1.2/configure => src/mm/boehm-gc/libatomic_ops/configure
rename : src/mm/boehm-gc/libatomic_ops-1.2/configure.ac => src/mm/boehm-gc/libatomic_ops/configure.ac
rename : src/mm/boehm-gc/libatomic_ops-1.2/depcomp => src/mm/boehm-gc/libatomic_ops/depcomp
rename : src/mm/boehm-gc/libatomic_ops-1.2/doc/COPYING => src/mm/boehm-gc/libatomic_ops/doc/COPYING
rename : src/mm/boehm-gc/libatomic_ops-1.2/doc/LICENSING.txt => src/mm/boehm-gc/libatomic_ops/doc/LICENSING.txt
rename : src/mm/boehm-gc/libatomic_ops-1.2/doc/Makefile.am => src/mm/boehm-gc/libatomic_ops/doc/Makefile.am
rename : src/mm/boehm-gc/libatomic_ops-1.2/doc/Makefile.in => src/mm/boehm-gc/libatomic_ops/doc/Makefile.in
rename : src/mm/boehm-gc/libatomic_ops-1.2/doc/README.txt => src/mm/boehm-gc/libatomic_ops/doc/README.txt
rename : src/mm/boehm-gc/libatomic_ops-1.2/doc/README_malloc.txt => src/mm/boehm-gc/libatomic_ops/doc/README_malloc.txt
rename : src/mm/boehm-gc/libatomic_ops-1.2/doc/README_stack.txt => src/mm/boehm-gc/libatomic_ops/doc/README_stack.txt
rename : src/mm/boehm-gc/libatomic_ops-1.2/doc/README_win32.txt => src/mm/boehm-gc/libatomic_ops/doc/README_win32.txt
rename : src/mm/boehm-gc/libatomic_ops-1.2/install-sh => src/mm/boehm-gc/libatomic_ops/install-sh
rename : src/mm/boehm-gc/libatomic_ops-1.2/missing => src/mm/boehm-gc/libatomic_ops/missing
rename : src/mm/boehm-gc/libatomic_ops-1.2/mkinstalldirs => src/mm/boehm-gc/libatomic_ops/mkinstalldirs
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/Makefile.am => src/mm/boehm-gc/libatomic_ops/src/Makefile.am
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/Makefile.in => src/mm/boehm-gc/libatomic_ops/src/Makefile.in
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/Makefile.msft => src/mm/boehm-gc/libatomic_ops/src/Makefile.msft
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops.c => src/mm/boehm-gc/libatomic_ops/src/atomic_ops.c
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/Makefile.am => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/Makefile.am
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/Makefile.in => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/Makefile.in
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/generalize-small.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/generalize-small.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/generalize-small.template => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/generalize-small.template
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/generalize.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/generalize.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/Makefile.am => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/Makefile.am
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/Makefile.in => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/Makefile.in
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/README => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/README
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/acquire_release_volatile.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/acquire_release_volatile.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/aligned_atomic_load_store.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/aligned_atomic_load_store.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/all_acquire_release_volatile.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/all_acquire_release_volatile.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/all_aligned_atomic_load_store.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/all_aligned_atomic_load_store.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/all_atomic_load_store.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/all_atomic_load_store.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/ao_t_is_int.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/ao_t_is_int.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/armcc/arm_v6.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/armcc/arm_v6.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/atomic_load_store.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/atomic_load_store.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/char_acquire_release_volatile.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/char_acquire_release_volatile.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/char_atomic_load_store.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/char_atomic_load_store.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/emul_cas.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/emul_cas.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/alpha.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/alpha.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/arm.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/arm.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/cris.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/cris.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/hppa.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/hppa.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/ia64.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/ia64.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/m68k.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/m68k.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/mips.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/mips.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/powerpc.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/powerpc.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/s390.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/s390.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/sparc.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/sparc.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/x86.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/x86.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/x86_64.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/gcc/x86_64.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/generic_pthread.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/generic_pthread.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/hpc/hppa.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/hpc/hppa.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/hpc/ia64.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/hpc/ia64.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/ibmc/powerpc.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/ibmc/powerpc.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/icc/ia64.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/icc/ia64.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/int_acquire_release_volatile.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/int_acquire_release_volatile.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/int_aligned_atomic_load_store.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/int_aligned_atomic_load_store.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/int_atomic_load_store.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/int_atomic_load_store.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/msftc/x86.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/msftc/x86.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/msftc/x86_64.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/msftc/x86_64.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/ordered.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/ordered.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/ordered_except_wr.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/ordered_except_wr.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/read_ordered.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/read_ordered.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/short_acquire_release_volatile.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/short_acquire_release_volatile.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/short_aligned_atomic_load_store.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/short_aligned_atomic_load_store.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/short_atomic_load_store.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/short_atomic_load_store.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/standard_ao_double_t.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/standard_ao_double_t.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/sunc/sparc.S => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/sunc/sparc.S
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/sunc/sparc.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/sunc/sparc.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/sunc/x86.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/sunc/x86.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/sunc/x86_64.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/sunc/x86_64.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/test_and_set_t_is_ao_t.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/test_and_set_t_is_ao_t.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/test_and_set_t_is_char.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops/sysdeps/test_and_set_t_is_char.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops_malloc.c => src/mm/boehm-gc/libatomic_ops/src/atomic_ops_malloc.c
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops_malloc.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops_malloc.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops_stack.c => src/mm/boehm-gc/libatomic_ops/src/atomic_ops_stack.c
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops_stack.h => src/mm/boehm-gc/libatomic_ops/src/atomic_ops_stack.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops_sysdeps.S => src/mm/boehm-gc/libatomic_ops/src/atomic_ops_sysdeps.S
rename : src/mm/boehm-gc/libatomic_ops-1.2/src/config.h.in => src/mm/boehm-gc/libatomic_ops/src/config.h.in
rename : src/mm/boehm-gc/libatomic_ops-1.2/tests/Makefile.am => src/mm/boehm-gc/libatomic_ops/tests/Makefile.am
rename : src/mm/boehm-gc/libatomic_ops-1.2/tests/Makefile.in => src/mm/boehm-gc/libatomic_ops/tests/Makefile.in
rename : src/mm/boehm-gc/libatomic_ops-1.2/tests/list_atomic.c => src/mm/boehm-gc/libatomic_ops/tests/list_atomic.c
rename : src/mm/boehm-gc/libatomic_ops-1.2/tests/list_atomic.template => src/mm/boehm-gc/libatomic_ops/tests/list_atomic.template
rename : src/mm/boehm-gc/libatomic_ops-1.2/tests/run_parallel.inc => src/mm/boehm-gc/libatomic_ops/tests/run_parallel.inc
rename : src/mm/boehm-gc/libatomic_ops-1.2/tests/test_atomic.c => src/mm/boehm-gc/libatomic_ops/tests/test_atomic.c
rename : src/mm/boehm-gc/libatomic_ops-1.2/tests/test_atomic.template => src/mm/boehm-gc/libatomic_ops/tests/test_atomic.template
rename : src/mm/boehm-gc/libatomic_ops-1.2/tests/test_atomic_include.h => src/mm/boehm-gc/libatomic_ops/tests/test_atomic_include.h
rename : src/mm/boehm-gc/libatomic_ops-1.2/tests/test_malloc.c => src/mm/boehm-gc/libatomic_ops/tests/test_malloc.c
rename : src/mm/boehm-gc/libatomic_ops-1.2/tests/test_stack.c => src/mm/boehm-gc/libatomic_ops/tests/test_stack.c
Stefan Ring [Sun, 17 Oct 2010 09:48:37 +0000 (11:48 +0200)]
* src/mm/boehm-gc/autogen.sh: Adapted for inclusion in CACAO repository.
* src/mm/boehm-gc/Makefile.am: Don't link object files into a shared library.
This only changes the build process slightly, the code is left as-is.
Stefan Ring [Sat, 16 Oct 2010 22:23:54 +0000 (00:23 +0200)]
boehm-gc: revert all CACAO-specific modifications; this is now an exact copy of the bdwgc CVS repository as of 2009/09/09 22:31:20
Stefan Ring [Sat, 16 Oct 2010 21:10:35 +0000 (23:10 +0200)]
* autogen.sh: Make it work with unpatched Boehm GC.
* src/mm/gc-boehm.cpp: Likewise.
Stefan Ring [Sat, 16 Oct 2010 21:09:25 +0000 (23:09 +0200)]
* src/mm/gc-boehm.cpp: Define GC_SOLARIS_THREADS on Solaris.
* src/threads/posix/thread-posix.cpp: Likewise.
--HG--
extra : transplant_source : %D7%2B%60T%D4%97%FD%5E%EB%B6w%CB%95%80%1B%97%87%A1%5D%22
Stefan Ring [Wed, 29 Sep 2010 08:47:29 +0000 (10:47 +0200)]
* src/native/localref.cpp: Using free list instead of array scanning.
* src/native/localref.hpp: Adapted localref_table to use a free list.
Stefan Ring [Fri, 24 Sep 2010 08:22:02 +0000 (10:22 +0200)]
* m4/pr40134.m4: Added a configure switch for ARM linker problem.
* configure.ac, src/cacao/Makefile.am: Use it.
Stefan Ring [Tue, 21 Sep 2010 22:30:40 +0000 (00:30 +0200)]
PR137: Provide JVM_FindClassFromBootLoader
* contrib/mapfile-vers-product: Export said function.
* src/native/vm/openjdk/jvm.cpp: Implement it.
Stefan Ring [Tue, 21 Sep 2010 22:28:10 +0000 (00:28 +0200)]
* src/native/vm/sun_misc_Unsafe.cpp: Added memory barriers to compare_and_swap.
Stefan Ring [Mon, 20 Sep 2010 20:46:40 +0000 (22:46 +0200)]
PR140 - repaired icedtea7
* src/vm/field.cpp: Allocate literal strings later.
* src/vm/hook.hpp (Hook::class_linked): Call
linker_initialize_deferred_strings.
* src/vm/linker.cpp, src/vm/linker.hpp: Added linker_create_string_later,
linker_initialize_deferred_strings.
sr [Wed, 15 Sep 2010 17:25:24 +0000 (19:25 +0200)]
* src/threads/thread.cpp (thread_set_state_*): Don't take the ThreadList
lock, most of the time.
We need the lock only when changing the state to terminated. This prevents
other threads from using a stale threadobject * (they have to take the lock,
of course). This changeset removes a nasty deadlock:
Thread 1 locks ThreadList::_mutex -> waitmutex (via thread_handle_interrupt
-> threads_thread_interrupt)
Thread 2 locks waitmutex -> ThreadList::_mutex (via
threads_wait_with_timeout -> thread_set_state_runnable)
The deadlock is provoked by running tests/threads/waitAndInterrupt.java (in
the CACAO source tree). The bug was introduced in changeset
a62d7ef60606 (PR
120).
Stefan Ring [Tue, 14 Sep 2010 16:44:54 +0000 (18:44 +0200)]
* src/threads/posix/thread-posix.cpp: Eliminated some easy-to-fix or pointless compiler warnings.
* src/threads/posix/thread-posix.hpp: Likewise.
* src/vm/class.cpp: Likewise.
* src/vm/classcache.cpp: Likewise.
* src/vm/jit/arm/codegen.c: Likewise.
* src/vm/jit/arm/md.c: Likewise.
* src/vm/jit/i386/md-atomic.hpp: Likewise.
* src/vm/jit/codegen-common.cpp: Likewise.
* src/vm/jit/trap.cpp: Likewise.
* src/vm/jit/verify/typeinfo.cpp: Likewise.
* src/vm/jit/x86_64/codegen.c: Likewise.
* src/vm/jit/x86_64/patcher.c: Likewise.
* src/vm/options.c: Likewise.
* src/vm/vm.cpp: Likewise.
Stefan Ring [Mon, 13 Sep 2010 09:43:40 +0000 (11:43 +0200)]
* src/vm/global.h: Made 'lockword' member of java_object_t a plain
integer type because offsetof works only on POD structs (and gcc
complains about that).
* src/threads/lockword.hpp: Lockword references its data member now
instead of containing it.
* src/threads/lock.cpp: Adapted to new Lockword signature.
* src/vm/array.hpp: Likewise.
* src/vm/class.cpp: Likewise.
* src/vm/jit/builtin.cpp: Likewise.
* src/vm/string.cpp: Likewise.
Stefan Ring [Sat, 7 Aug 2010 20:23:45 +0000 (22:23 +0200)]
* src/vm/jit/trap.cpp: Finally switched s390 to the new trap decoding method.
* src/vm/jit/s390/md.c: Simplified signal handlers,
(md_executionstate_read, md_executionstate_write, md_trap_decode): Implemented.
* src/vm/jit/s390/md-trap.h: Added MD_TRAP_COMPILER_FIXUP.
Should fix icedtea/PR515 (s390 not building).
Stefan Ring [Sat, 7 Aug 2010 20:03:09 +0000 (22:03 +0200)]
* src/vm/jit/s390/codegen.c: Fixed build.
* src/vm/jit/s390/codegen.h: Added missing defines.
* src/vm/jit/s390/emit.c: Fixed build.
* src/vm/jit/s390/md-abi.h: Renamed REG_ITMP2_XPC and REG_ITMP1_XPTR for
consistency with the other archs. Fixed copyright header.
Stefan Ring [Sat, 7 Aug 2010 19:58:54 +0000 (21:58 +0200)]
* src/vm/jit/s390/md-atomic.hpp: Repaired.
Stefan Ring [Sat, 7 Aug 2010 19:54:50 +0000 (21:54 +0200)]
* src/vm/os.hpp (call_scandir): Rename template arguments because of a
namespace clash on s390.
Stefan Ring [Mon, 12 Jul 2010 19:06:21 +0000 (21:06 +0200)]
Fixes icedtea/PR 513.
* src/vm/jit/arm/codegen.h [ENABLE_SOFTFLOAT]: Define M_FMOV and M_DMOV.
* src/vm/jit/codegen-common.cpp [ENABLE_SOFTFLOAT]: Use only integer
registers for argument and return value passing when compiling for softfloat.
Stefan Ring [Thu, 24 Jun 2010 21:53:51 +0000 (23:53 +0200)]
* m4/version.m4: Repaired version parsing.
Patch provided by Andrew John Hughes <ahughes@redhat.com>
Stefan Ring [Wed, 23 Jun 2010 15:18:58 +0000 (17:18 +0200)]
* configure.ac: Changed version to 1.1.0pre1, enabled optimization
Stefan Ring [Wed, 19 May 2010 11:14:46 +0000 (13:14 +0200)]
* NEWS: Some maintenance.
--HG--
extra : transplant_source : %ADC%84X%97%EA%DB%C8%9Ech%A4%BB%7E%FF%F1%93WA%AE
Stefan Ring [Wed, 19 May 2010 07:59:54 +0000 (09:59 +0200)]
* configure.ac: Some maintenance for make dist.
* doc/Makefile.am: Likewise.
* doc/handbook/Makefile.am: Likewise.
* src/vm/jit/Makefile.am: Likewise.
* src/vm/jit/m68k/Makefile.am: Likewise.
* src/native/include/Makefile: Removed.
--HG--
extra : transplant_source : %5E%21%C0%8C%A00%1E%D8%06%3A%E1%AE%DAx%F7C%B3%8A%C2I
Stefan Ring [Tue, 18 May 2010 08:25:25 +0000 (10:25 +0200)]
* src/native/vm/openjdk/sun_misc_Perf.cpp: Implement just the bare minimum
required for bootstrapping OpenJDK 7 (PR 139).
David Flamme [Tue, 16 Mar 2010 15:13:20 +0000 (16:13 +0100)]
Method call frequency statistics for ARM
* src/vm/jit/arm/emit.c: Added working emit_profile_method(..) and emit_profile_basicblock(..) for ARM, so now call frequencys can be shown with -Xprof
* src/vm/jit/optimizing/profile.cpp (profile_printstats): The use of DumpList is causing problems, so std::list is used instead
sr [Tue, 17 Nov 2009 07:40:45 +0000 (08:40 +0100)]
merged volatile memory barriers
Stefan Ring [Sat, 14 Nov 2009 15:09:19 +0000 (16:09 +0100)]
* src/vm/jit/codegen-common.cpp, src/vm/jit/x86_64/codegen.c: Generate
MFENCE instructions after (potential) volatile stores, augment patcher info
for patching them out again.
* src/vm/jit/codegen-common.hpp (codegen_emit_patchable_barrier): New function.
* src/vm/jit/patcher-common.cpp (patcher_add_patch_ref): Added return value.
* src/vm/jit/patcher-common.hpp: Added disp_mb field to patchref_t.
(patcher_add_patch_ref): Added return value.
* src/vm/jit/x86_64/codegen.h: Comment.
* src/vm/jit/x86_64/patcher.c: Patch out MFENCE for non-volatile writes.
Stefan Ring [Sat, 14 Nov 2009 14:56:58 +0000 (15:56 +0100)]
* src/vm/jit/patcher-common.cpp: Conditionally restored NOP-insertion at
patcher sites that was removed in
ca65904a0c8b.
* src/vm/jit/x86_64/arch.h: Added USES_PATCHABLE_MEMORY_BARRIER.
* src/vm/jit/x86_64/patcher.c: Adjust offsets to changed code layout.
Stefan Ring [Sat, 14 Nov 2009 14:39:50 +0000 (15:39 +0100)]
* src/vm/jit/x86_64/codegen.h: Use multi-byte NOP for code alignment.
* src/vm/jit/x86_64/emit.c: Added emit_nop.
* src/vm/jit/x86_64/emit.h: Likewise.
Michael Starzinger [Wed, 11 Nov 2009 15:24:13 +0000 (16:24 +0100)]
src/vm/cycles-stats.h: Switched from asm_get_cycle_count to md_get_cycle_count.
src/vm/jit/asmpart.h (asm_get_cycle_count): Removed obsolete declaration.
src/vm/jit/i386/md.h (md_get_cycle_count): Added as inline assembler.
src/vm/jit/x86_64/md.h: Likewise.
src/vm/jit/i386/asmpart.S (asm_get_cycle_count): Removed assembler function.
src/vm/jit/i386/darwin/md-asm.h: Likewise.
src/vm/jit/x86_64/asmpart.S: Likewise.