< prev index next >
src/hotspot/cpu/aarch64/aarch64.ad
Print this page
@@ -9417,34 +9417,10 @@
__ ldr(d, Address(s, BrooksPointer::byte_offset()));
%}
ins_pipe(pipe_class_memory);
%}
-instruct shenandoahWB(iRegP_R0 dst, iRegP src, rFlagsReg cr) %{
- match(Set dst (ShenandoahWriteBarrier src));
- effect(KILL cr);
-
- format %{ "shenandoah_wb $dst,$src" %}
- ins_encode %{
-#if INCLUDE_SHENANDOAHGC
- Label done;
- Register s = $src$$Register;
- Register d = $dst$$Register;
- assert(d == r0, "result in r0");
- __ block_comment("Shenandoah write barrier {");
- // We need that first read barrier in order to trigger a SEGV/NPE on incoming NULL.
- // Also, it brings s into d in preparation for the call to shenandoah_write_barrier().
- __ ldr(d, Address(s, BrooksPointer::byte_offset()));
- __ shenandoah_write_barrier(d);
- __ block_comment("} Shenandoah write barrier");
-#else
- ShouldNotReachHere();
-#endif
- %}
- ins_pipe(pipe_slow);
-%}
-
// Convert oop pointer into compressed form
instruct encodeHeapOop(iRegNNoSp dst, iRegP src, rFlagsReg cr) %{
predicate(n->bottom_type()->make_ptr()->ptr() != TypePtr::NotNull);
match(Set dst (EncodeP src));
< prev index next >