< prev index next >
src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp
Print this page
rev 58671 : 8242130: Shenandoah: Simplify arraycopy-barrier dispatching
*** 29,56 ****
#include "gc/shenandoah/shenandoahThreadLocalData.hpp"
#include "runtime/interfaceSupport.inline.hpp"
#include "oops/oop.inline.hpp"
#include "utilities/copy.hpp"
! void ShenandoahRuntime::write_ref_array_pre_oop_entry(oop* src, oop* dst, size_t length) {
ShenandoahBarrierSet *bs = ShenandoahBarrierSet::barrier_set();
! bs->arraycopy_pre(src, dst, length);
}
! void ShenandoahRuntime::write_ref_array_pre_narrow_oop_entry(narrowOop* src, narrowOop* dst, size_t length) {
ShenandoahBarrierSet *bs = ShenandoahBarrierSet::barrier_set();
! bs->arraycopy_pre(src, dst, length);
! }
!
! void ShenandoahRuntime::write_ref_array_pre_duinit_oop_entry(oop* src, oop* dst, size_t length) {
! ShenandoahBarrierSet *bs = ShenandoahBarrierSet::barrier_set();
! bs->arraycopy_update(src, length);
! }
!
! void ShenandoahRuntime::write_ref_array_pre_duinit_narrow_oop_entry(narrowOop* src, narrowOop* dst, size_t length) {
! ShenandoahBarrierSet *bs = ShenandoahBarrierSet::barrier_set();
! bs->arraycopy_update(src, length);
}
// Shenandoah pre write barrier slowpath
JRT_LEAF(void, ShenandoahRuntime::write_ref_field_pre_entry(oopDesc* orig, JavaThread *thread))
if (orig == NULL) {
--- 29,46 ----
#include "gc/shenandoah/shenandoahThreadLocalData.hpp"
#include "runtime/interfaceSupport.inline.hpp"
#include "oops/oop.inline.hpp"
#include "utilities/copy.hpp"
! void ShenandoahRuntime::arraycopy_barrier_oop_entry(oop* src, oop* dst, size_t length) {
ShenandoahBarrierSet *bs = ShenandoahBarrierSet::barrier_set();
! bs->arraycopy_barrier(src, dst, length);
}
! void ShenandoahRuntime::arraycopy_barrier_narrow_oop_entry(narrowOop* src, narrowOop* dst, size_t length) {
ShenandoahBarrierSet *bs = ShenandoahBarrierSet::barrier_set();
! bs->arraycopy_barrier(src, dst, length);
}
// Shenandoah pre write barrier slowpath
JRT_LEAF(void, ShenandoahRuntime::write_ref_field_pre_entry(oopDesc* orig, JavaThread *thread))
if (orig == NULL) {
< prev index next >