hotspot/src/cpu/sparc/vm/copy_sparc.hpp
changeset 360 21d113ecbf6a
parent 1 489c9b5090e2
child 670 ddf3e9583f2f
--- a/hotspot/src/cpu/sparc/vm/copy_sparc.hpp	Fri Apr 11 09:56:35 2008 -0400
+++ b/hotspot/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) {