ARM: Fix incremental GC
Xerxes Rånby
xerxes at zafena.se
Mon Feb 20 07:44:17 PST 2012
2012-02-20 13:08, Andrew Haley skrev:
> It was reported that ARM crashes with -Xincgc. It turns out that
> incremental mode is incompatible with the use of the shared Eden
> space, and we weren't checking for that.
>
> OK for trunk and 1.11 branch?
>
> While I was debugging this I noticed that thread-local allocation is
> turned off. I don't know why this is: it ought to bring a substantial
> improvement. I think there may be several flags in the ARM port that
> could easily be tweaked to provide substantial performance benefits.
> However, before the defaults are changed we'd have to do some testing.
>
> Andrew.
>
>
> 2012-02-20 Andrew Haley <aph at redhat.com>
>
> * arm_port/hotspot/src/cpu/zero/vm/asm_helper.cpp (Helper_new):
> Don't use shared Eden in incremental mode.
>
> diff -r a5c946d5f4bc -r 82c6fb23eed5 arm_port/hotspot/src/cpu/zero/vm/asm_helper.cpp
> --- a/arm_port/hotspot/src/cpu/zero/vm/asm_helper.cpp Tue Jan 31 12:36:36 2012 +0000
> +++ b/arm_port/hotspot/src/cpu/zero/vm/asm_helper.cpp Mon Feb 20 12:02:21 2012 +0000
> @@ -141,7 +141,7 @@
> if (UseTLAB) {
> result = (oop) thread->tlab().allocate(obj_size);
> }
> - if (result == NULL) {
> + if (result == NULL && !CMSIncrementalMode) {
> need_zero = true;
> // Try allocate in shared eden
> retry:
>
>
OK!
Thank you for locating the cause and creating a FIX for this bug.
I think this bug are the same as: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=584
Please commit to HEAD and 1.1 release branch.
Xerxes
More information about the distro-pkg-dev
mailing list