hotspot/src/share/vm/utilities/copy.hpp
changeset 360 21d113ecbf6a
parent 1 489c9b5090e2
child 670 ddf3e9583f2f
--- a/hotspot/src/share/vm/utilities/copy.hpp	Fri Apr 11 09:56:35 2008 -0400
+++ b/hotspot/src/share/vm/utilities/copy.hpp	Sun Apr 13 17:43:42 2008 -0400
@@ -148,11 +148,19 @@
 
   // oops,                  conjoint, atomic on each oop
   static void conjoint_oops_atomic(oop* from, oop* to, size_t count) {
-    assert_params_ok(from, to, LogBytesPerOop);
+    assert_params_ok(from, to, LogBytesPerHeapOop);
     assert_non_zero(count);
     pd_conjoint_oops_atomic(from, to, count);
   }
 
+  // overloaded for UseCompressedOops
+  static void conjoint_oops_atomic(narrowOop* from, narrowOop* to, size_t count) {
+    assert(sizeof(narrowOop) == sizeof(jint), "this cast is wrong");
+    assert_params_ok(from, to, LogBytesPerInt);
+    assert_non_zero(count);
+    pd_conjoint_jints_atomic((jint*)from, (jint*)to, count);
+  }
+
   // Copy a span of memory.  If the span is an integral number of aligned
   // longs, words, or ints, copy those units atomically.
   // The largest atomic transfer unit is 8 bytes, or the largest power
@@ -188,7 +196,7 @@
 
   // oops,                  conjoint array, atomic on each oop
   static void arrayof_conjoint_oops(HeapWord* from, HeapWord* to, size_t count) {
-    assert_params_ok(from, to, LogBytesPerOop);
+    assert_params_ok(from, to, LogBytesPerHeapOop);
     assert_non_zero(count);
     pd_arrayof_conjoint_oops(from, to, count);
   }