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 |