comparison 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
comparison
equal deleted inserted replaced
110:a49a647afe9a 113:ba764ed4b6f2
135 static void pd_arrayof_conjoint_oops(HeapWord* from, HeapWord* to, size_t count) { 135 static void pd_arrayof_conjoint_oops(HeapWord* from, HeapWord* to, size_t count) {
136 pd_conjoint_oops_atomic((oop*)from, (oop*)to, count); 136 pd_conjoint_oops_atomic((oop*)from, (oop*)to, count);
137 } 137 }
138 138
139 static void pd_fill_to_words(HeapWord* tohw, size_t count, juint value) { 139 static void pd_fill_to_words(HeapWord* tohw, size_t count, juint value) {
140 #if 0 140 #ifdef _LP64
141 if (HeapWordsPerLong == 1 || 141 guarantee(mask_bits((uintptr_t)tohw, right_n_bits(LogBytesPerLong)) == 0,
142 (HeapWordsPerLong == 2 && 142 "unaligned fill words");
143 mask_bits((uintptr_t)tohw, right_n_bits(LogBytesPerLong)) == 0 && 143 julong* to = (julong*)tohw;
144 ((count & 1) ? false : count >>= 1))) { 144 julong v = ((julong)value << 32) | value;
145 julong* to = (julong*)tohw; 145 while (count-- > 0) {
146 julong v = ((julong)value << 32) | value; 146 *to++ = v;
147 while (count-- > 0) { 147 }
148 *to++ = v; 148 #else // _LP64
149 } 149 juint* to = (juint*)tohw;
150 } else { 150 while (count-- > 0) {
151 #endif 151 *to++ = value;
152 juint* to = (juint*)tohw; 152 }
153 count *= HeapWordSize / BytesPerInt; 153 #endif // _LP64
154 while (count-- > 0) {
155 *to++ = value;
156 }
157 // }
158 } 154 }
159 155
160 static void pd_fill_to_aligned_words(HeapWord* tohw, size_t count, juint value) { 156 static void pd_fill_to_aligned_words(HeapWord* tohw, size_t count, juint value) {
161 assert(MinObjAlignmentInBytes == BytesPerLong, "need alternate implementation"); 157 assert(MinObjAlignmentInBytes == BytesPerLong, "need alternate implementation");
162 158