Mercurial > hg > truffle
diff src/cpu/sparc/vm/copy_sparc.hpp @ 113:ba764ed4b6f2
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
Summary: Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv
Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold
author | coleenp |
---|---|
date | Sun, 13 Apr 2008 17:43:42 -0400 |
parents | a61af66fc99e |
children | d1605aabd0a1 |
line wrap: on
line diff
--- a/src/cpu/sparc/vm/copy_sparc.hpp Fri Apr 11 09:56:35 2008 -0400 +++ b/src/cpu/sparc/vm/copy_sparc.hpp Sun Apr 13 17:43:42 2008 -0400 @@ -137,24 +137,20 @@ } static void pd_fill_to_words(HeapWord* tohw, size_t count, juint value) { -#if 0 - if (HeapWordsPerLong == 1 || - (HeapWordsPerLong == 2 && - mask_bits((uintptr_t)tohw, right_n_bits(LogBytesPerLong)) == 0 && - ((count & 1) ? false : count >>= 1))) { - julong* to = (julong*)tohw; - julong v = ((julong)value << 32) | value; - while (count-- > 0) { - *to++ = v; - } - } else { -#endif - juint* to = (juint*)tohw; - count *= HeapWordSize / BytesPerInt; - while (count-- > 0) { - *to++ = value; - } - // } +#ifdef _LP64 + guarantee(mask_bits((uintptr_t)tohw, right_n_bits(LogBytesPerLong)) == 0, + "unaligned fill words"); + julong* to = (julong*)tohw; + julong v = ((julong)value << 32) | value; + while (count-- > 0) { + *to++ = v; + } +#else // _LP64 + juint* to = (juint*)tohw; + while (count-- > 0) { + *to++ = value; + } +#endif // _LP64 } static void pd_fill_to_aligned_words(HeapWord* tohw, size_t count, juint value) {