RFR: Revert "macro assembler's enqueue barrier register allocation"

Aleksey Shipilev shade at redhat.com
Tue Jun 19 12:35:05 UTC 2018


This causes bad failures in testing. We would redo it after this revert:

diff -r c75a645eeb04 src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp
--- a/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp	Tue Jun 19 12:19:15
2018 +0200
+++ b/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp	Tue Jun 19 14:34:20
2018 +0200
@@ -474,11 +474,8 @@
     // __ push_callee_saved_registers();
     __ subptr(rsp, 2 * Interpreter::stackElementSize);
     __ movdbl(Address(rsp, 0), xmm0);
-    if (dst != c_rarg0) {
-      __ mov(c_rarg0, dst);
-    }

-    satb_write_barrier_pre(masm, noreg, c_rarg0, r15_thread, tmp, true, false);
+    satb_write_barrier_pre(masm, noreg, dst, r15_thread, tmp, true, false);
     __ movdbl(xmm0, Address(rsp, 0));
     __ addptr(rsp, 2 * Interpreter::stackElementSize);
     //__ pop_callee_saved_registers();

Testing x86_64 build

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list