--- old/src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp 2019-02-20 11:55:34.322274001 +0100 +++ new/src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp 2019-02-20 11:55:34.129267817 +0100 @@ -359,7 +359,7 @@ // ZBarrierSetRuntime::load_barrier_on_weak_oop_field_preloaded(). static address generate_load_barrier_stub(StubCodeGenerator* cgen, Register raddr, DecoratorSet decorators) { // Don't generate stub for invalid registers - if (raddr == rsp || raddr == r12 || raddr == r15) { + if (raddr == rsp || raddr == r15) { return NULL; } --- old/src/hotspot/cpu/x86/gc/z/z_x86_64.ad 2019-02-20 11:55:34.626283742 +0100 +++ new/src/hotspot/cpu/x86/gc/z/z_x86_64.ad 2019-02-20 11:55:34.435277622 +0100 @@ -26,9 +26,8 @@ #include "gc/z/zBarrierSetAssembler.hpp" static void z_load_barrier_slow_reg(MacroAssembler& _masm, Register dst, Address src, bool weak) { - assert(dst != r12, "Invalid register"); - assert(dst != r15, "Invalid register"); assert(dst != rsp, "Invalid register"); + assert(dst != r15, "Invalid register"); const address stub = weak ? ZBarrierSet::assembler()->load_barrier_weak_slow_stub(dst) : ZBarrierSet::assembler()->load_barrier_slow_stub(dst); --- old/src/hotspot/cpu/x86/x86_64.ad 2019-02-20 11:55:34.942293868 +0100 +++ new/src/hotspot/cpu/x86/x86_64.ad 2019-02-20 11:55:34.746287587 +0100 @@ -354,7 +354,7 @@ RegMask _STACK_OR_INT_REG_mask; static bool need_r12_heapbase() { - return UseCompressedOops || UseCompressedClassPointers || UseZGC; + return UseCompressedOops || UseCompressedClassPointers; } void reg_mask_init() {