< prev index next >
src/hotspot/cpu/aarch64/gc/shenandoah/shenandoah_aarch64.ad
Print this page
rev 54386 : 8221766: Load-reference barriers for Shenandoah
*** 43,64 ****
ShenandoahBarrierSet::assembler()->cmpxchg_oop(&_masm, $mem$$Register, tmp, $newval$$Register,
/*acquire*/ true, /*release*/ true, /*weak*/ false, /*is_cae*/ false, $res$$Register);
%}
%}
- instruct shenandoahRB(iRegPNoSp dst, iRegP src, rFlagsReg cr) %{
- match(Set dst (ShenandoahReadBarrier src));
- format %{ "shenandoah_rb $dst,$src" %}
- ins_encode %{
- Register s = $src$$Register;
- Register d = $dst$$Register;
- __ ldr(d, Address(s, ShenandoahBrooksPointer::byte_offset()));
- %}
- ins_pipe(pipe_class_memory);
- %}
-
-
instruct compareAndSwapP_shenandoah(iRegINoSp res, indirect mem, iRegP oldval, iRegP newval, iRegPNoSp tmp, rFlagsReg cr) %{
match(Set res (ShenandoahCompareAndSwapP mem (Binary oldval newval)));
ins_cost(2 * VOLATILE_REF_COST);
--- 43,52 ----
< prev index next >