< prev index next >

src/hotspot/share/utilities/copy.hpp

Print this page

144 
145   // oops,                  conjoint, atomic on each oop
146   static void conjoint_oops_atomic(const oop* from, oop* to, size_t count) {
147     assert_params_ok(from, to, BytesPerHeapOop);
148     pd_conjoint_oops_atomic(from, to, count);
149   }
150 
151   // overloaded for UseCompressedOops
152   static void conjoint_oops_atomic(const narrowOop* from, narrowOop* to, size_t count) {
153     assert(sizeof(narrowOop) == sizeof(jint), "this cast is wrong");
154     assert_params_ok(from, to, BytesPerInt);
155     pd_conjoint_jints_atomic((const jint*)from, (jint*)to, count);
156   }
157 
158   // Copy a span of memory.  If the span is an integral number of aligned
159   // longs, words, or ints, copy those units atomically.
160   // The largest atomic transfer unit is 8 bytes, or the largest power
161   // of two which divides all of from, to, and size, whichever is smaller.
162   static void conjoint_memory_atomic(const void* from, void* to, size_t size);
163 



164   // bytes,                 conjoint array, atomic on each byte (not that it matters)
165   static void arrayof_conjoint_jbytes(const HeapWord* from, HeapWord* to, size_t count) {
166     pd_arrayof_conjoint_bytes(from, to, count);
167   }
168 
169   // jshorts,               conjoint array, atomic on each jshort
170   static void arrayof_conjoint_jshorts(const HeapWord* from, HeapWord* to, size_t count) {
171     assert_params_ok(from, to, BytesPerShort);
172     pd_arrayof_conjoint_jshorts(from, to, count);
173   }
174 
175   // jints,                 conjoint array, atomic on each jint
176   static void arrayof_conjoint_jints(const HeapWord* from, HeapWord* to, size_t count) {
177     assert_params_ok(from, to, BytesPerInt);
178     pd_arrayof_conjoint_jints(from, to, count);
179   }
180 
181   // jlongs,                conjoint array, atomic on each jlong
182   static void arrayof_conjoint_jlongs(const HeapWord* from, HeapWord* to, size_t count) {
183     assert_params_ok(from, to, BytesPerLong);

144 
145   // oops,                  conjoint, atomic on each oop
146   static void conjoint_oops_atomic(const oop* from, oop* to, size_t count) {
147     assert_params_ok(from, to, BytesPerHeapOop);
148     pd_conjoint_oops_atomic(from, to, count);
149   }
150 
151   // overloaded for UseCompressedOops
152   static void conjoint_oops_atomic(const narrowOop* from, narrowOop* to, size_t count) {
153     assert(sizeof(narrowOop) == sizeof(jint), "this cast is wrong");
154     assert_params_ok(from, to, BytesPerInt);
155     pd_conjoint_jints_atomic((const jint*)from, (jint*)to, count);
156   }
157 
158   // Copy a span of memory.  If the span is an integral number of aligned
159   // longs, words, or ints, copy those units atomically.
160   // The largest atomic transfer unit is 8 bytes, or the largest power
161   // of two which divides all of from, to, and size, whichever is smaller.
162   static void conjoint_memory_atomic(const void* from, void* to, size_t size);
163 
164   static void copy_value_content(const void* from, void* to, size_t size);
165   static void clear_value_content(void* to, size_t size);
166 
167   // bytes,                 conjoint array, atomic on each byte (not that it matters)
168   static void arrayof_conjoint_jbytes(const HeapWord* from, HeapWord* to, size_t count) {
169     pd_arrayof_conjoint_bytes(from, to, count);
170   }
171 
172   // jshorts,               conjoint array, atomic on each jshort
173   static void arrayof_conjoint_jshorts(const HeapWord* from, HeapWord* to, size_t count) {
174     assert_params_ok(from, to, BytesPerShort);
175     pd_arrayof_conjoint_jshorts(from, to, count);
176   }
177 
178   // jints,                 conjoint array, atomic on each jint
179   static void arrayof_conjoint_jints(const HeapWord* from, HeapWord* to, size_t count) {
180     assert_params_ok(from, to, BytesPerInt);
181     pd_arrayof_conjoint_jints(from, to, count);
182   }
183 
184   // jlongs,                conjoint array, atomic on each jlong
185   static void arrayof_conjoint_jlongs(const HeapWord* from, HeapWord* to, size_t count) {
186     assert_params_ok(from, to, BytesPerLong);
< prev index next >