< 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 >