< prev index next > src/hotspot/share/gc/z/zBarrierSet.hpp
Print this page
static void no_keep_alive_store_barrier_heap(zpointer* p);
static void store_barrier_native_with_healing(zpointer* p);
static void store_barrier_native_without_healing(zpointer* p);
static void unsupported();
static zaddress load_barrier(narrowOop* p, zpointer o) { unsupported(); return zaddress::null; }
static zaddress load_barrier_on_unknown_oop_ref(oop base, ptrdiff_t offset, narrowOop* p, zpointer o) { unsupported(); return zaddress::null; }
static void store_barrier_heap_with_healing(narrowOop* p) { unsupported(); }
static void store_barrier_heap_without_healing(narrowOop* p) { unsupported(); }
static void no_keep_alive_store_barrier_heap(narrowOop* p) { unsupported(); }
static void store_barrier_native_with_healing(narrowOop* p) { unsupported(); }
static void store_barrier_native_without_healing(narrowOop* p) { unsupported(); }
static zaddress oop_copy_one_barriers(zpointer* dst, zpointer* src);
! static bool oop_copy_one_check_cast(zpointer* dst, zpointer* src, Klass* dst_klass);
! static void oop_copy_one(zpointer* dst, zpointer* src);
! static bool oop_arraycopy_in_heap_check_cast(zpointer* dst, zpointer* src, size_t length, Klass* dst_klass);
! static bool oop_arraycopy_in_heap_no_check_cast(zpointer* dst, zpointer* src, size_t length);
public:
//
// In heap
//
static void no_keep_alive_store_barrier_heap(zpointer* p);
static void store_barrier_native_with_healing(zpointer* p);
static void store_barrier_native_without_healing(zpointer* p);
+ [[noreturn]]
static void unsupported();
static zaddress load_barrier(narrowOop* p, zpointer o) { unsupported(); return zaddress::null; }
static zaddress load_barrier_on_unknown_oop_ref(oop base, ptrdiff_t offset, narrowOop* p, zpointer o) { unsupported(); return zaddress::null; }
static void store_barrier_heap_with_healing(narrowOop* p) { unsupported(); }
static void store_barrier_heap_without_healing(narrowOop* p) { unsupported(); }
static void no_keep_alive_store_barrier_heap(narrowOop* p) { unsupported(); }
static void store_barrier_native_with_healing(narrowOop* p) { unsupported(); }
static void store_barrier_native_without_healing(narrowOop* p) { unsupported(); }
static zaddress oop_copy_one_barriers(zpointer* dst, zpointer* src);
! static OopCopyResult oop_copy_one_check_cast(zpointer* dst, zpointer* src, Klass* dst_klass);
! static OopCopyResult oop_copy_one(zpointer* dst, zpointer* src);
! static OopCopyResult oop_arraycopy_in_heap_check_cast(zpointer* dst, zpointer* src, size_t length, Klass* dst_klass);
! static OopCopyResult oop_arraycopy_in_heap_no_check_cast(zpointer* dst, zpointer* src, size_t length);
public:
//
// In heap
//
static oop oop_atomic_xchg_in_heap(zpointer* p, oop new_value);
static oop oop_atomic_xchg_in_heap(oop* p, oop new_value) { return oop_atomic_xchg_in_heap((zpointer*)p, new_value); }
static oop oop_atomic_xchg_in_heap(narrowOop* p, oop new_value) { unsupported(); return nullptr; }
static oop oop_atomic_xchg_in_heap_at(oop base, ptrdiff_t offset, oop new_value);
! static bool oop_arraycopy_in_heap(arrayOop src_obj, size_t src_offset_in_bytes, zpointer* src_raw,
! arrayOop dst_obj, size_t dst_offset_in_bytes, zpointer* dst_raw,
! size_t length);
! static bool oop_arraycopy_in_heap(arrayOop src_obj, size_t src_offset_in_bytes, oop* src_raw,
! arrayOop dst_obj, size_t dst_offset_in_bytes, oop* dst_raw,
! size_t length) {
return oop_arraycopy_in_heap(src_obj, src_offset_in_bytes, (zpointer*)src_raw,
dst_obj, dst_offset_in_bytes, (zpointer*)dst_raw,
length);
}
! static bool oop_arraycopy_in_heap(arrayOop src_obj, size_t src_offset_in_bytes, narrowOop* src_raw,
! arrayOop dst_obj, size_t dst_offset_in_bytes, narrowOop* dst_raw,
! size_t length) { unsupported(); return false; }
static void clone_in_heap(oop src, oop dst, size_t size);
//
// Not in heap
//
static oop oop_load_not_in_heap(zpointer* p);
static oop oop_load_not_in_heap(oop* p);
static oop oop_atomic_xchg_in_heap(zpointer* p, oop new_value);
static oop oop_atomic_xchg_in_heap(oop* p, oop new_value) { return oop_atomic_xchg_in_heap((zpointer*)p, new_value); }
static oop oop_atomic_xchg_in_heap(narrowOop* p, oop new_value) { unsupported(); return nullptr; }
static oop oop_atomic_xchg_in_heap_at(oop base, ptrdiff_t offset, oop new_value);
! static OopCopyResult oop_arraycopy_in_heap(arrayOop src_obj, size_t src_offset_in_bytes, zpointer* src_raw,
! arrayOop dst_obj, size_t dst_offset_in_bytes, zpointer* dst_raw,
! size_t length);
! static OopCopyResult oop_arraycopy_in_heap(arrayOop src_obj, size_t src_offset_in_bytes, oop* src_raw,
! arrayOop dst_obj, size_t dst_offset_in_bytes, oop* dst_raw,
! size_t length) {
return oop_arraycopy_in_heap(src_obj, src_offset_in_bytes, (zpointer*)src_raw,
dst_obj, dst_offset_in_bytes, (zpointer*)dst_raw,
length);
}
! static OopCopyResult oop_arraycopy_in_heap(arrayOop src_obj, size_t src_offset_in_bytes, narrowOop* src_raw,
! arrayOop dst_obj, size_t dst_offset_in_bytes, narrowOop* dst_raw,
! size_t length) { unsupported(); }
static void clone_in_heap(oop src, oop dst, size_t size);
+ static void value_copy_in_heap(void* src, void* dst, InlineKlass* md, LayoutKind lk);
+
//
// Not in heap
//
static oop oop_load_not_in_heap(zpointer* p);
static oop oop_load_not_in_heap(oop* p);
< prev index next >