< prev index next >

src/hotspot/share/oops/accessBackend.inline.hpp

Print this page

        

@@ -27,10 +27,11 @@
 
 #include "oops/access.hpp"
 #include "oops/accessBackend.hpp"
 #include "oops/compressedOops.inline.hpp"
 #include "oops/oopsHierarchy.hpp"
+#include "oops/valueKlass.hpp"
 
 template <DecoratorSet decorators>
 template <DecoratorSet idecorators, typename T>
 inline typename EnableIf<
   AccessInternal::MustConvertCompressedOop<idecorators, T>::value, T>::type

@@ -360,6 +361,11 @@
                                             align_object_size(size) / HeapWordsPerLong);
   // Clear the header
   dst->init_mark_raw();
 }
 
+template <DecoratorSet decorators>
+inline void RawAccessBarrier<decorators>::value_copy(void* src, void* dst, ValueKlass* md) {
+  assert(is_aligned(src, md->get_alignment()) && is_aligned(dst, md->get_alignment()), "Unalign value_copy");
+  AccessInternal::arraycopy_conjoint_atomic(src, dst, static_cast<size_t>(md->get_exact_size_in_bytes()));
+}
 #endif // SHARE_OOPS_ACCESSBACKEND_INLINE_HPP
< prev index next >