8218767: ZGC: Do not assume that r12 is a special register in C2

Reviewed-by: eosterlund, rkennke
This commit is contained in:
Per Lidén 2019-02-20 13:43:28 +01:00
parent 3df5e4fabb
commit 865c33112c
3 changed files with 3 additions and 4 deletions

View File

@ -359,7 +359,7 @@ void ZBarrierSetAssembler::generate_c1_load_barrier_runtime_stub(StubAssembler*
// 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;
}

View File

@ -26,9 +26,8 @@ source %{
#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);

View File

@ -354,7 +354,7 @@ RegMask _STACK_OR_LONG_REG_mask;
RegMask _STACK_OR_INT_REG_mask;
static bool need_r12_heapbase() {
return UseCompressedOops || UseCompressedClassPointers || UseZGC;
return UseCompressedOops || UseCompressedClassPointers;
}
void reg_mask_init() {