# HG changeset patch # Parent 9cfb9387a9e865ac244266c5278a0164b86e97dd 8228364: Shenandoah: Remove unused code from ShenandoahBarrierSetC1 diff -r 9cfb9387a9e8 src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp --- a/src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp Thu Jul 18 10:25:49 2019 +0200 +++ b/src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp Thu Jul 18 07:14:36 2019 -0400 @@ -99,7 +99,7 @@ __ xchg(access.resolved_addr(), value_opr, result, tmp); if (access.is_oop()) { - result = load_reference_barrier(access.gen(), result, access.access_emit_info(), true); + result = load_reference_barrier(access.gen(), result); if (ShenandoahSATBBarrier) { pre_barrier(access.gen(), access.access_emit_info(), access.decorators(), LIR_OprFact::illegalOpr, result /* pre_val */); diff -r 9cfb9387a9e8 src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp --- a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Thu Jul 18 10:25:49 2019 +0200 +++ b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Thu Jul 18 07:14:36 2019 -0400 @@ -513,9 +513,7 @@ __ mov(res, obj); } // Check for null. - if (stub->needs_null_check()) { - __ cbz(res, done); - } + __ cbz(res, done); load_reference_barrier_not_null(ce->masm(), res, rscratch1); diff -r 9cfb9387a9e8 src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp --- a/src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp Thu Jul 18 10:25:49 2019 +0200 +++ b/src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp Thu Jul 18 07:14:36 2019 -0400 @@ -110,7 +110,7 @@ __ xchg(access.resolved_addr(), result, result, LIR_OprFact::illegalOpr); if (access.is_oop()) { - result = load_reference_barrier(access.gen(), result, access.access_emit_info(), true); + result = load_reference_barrier(access.gen(), result); if (ShenandoahSATBBarrier) { pre_barrier(access.gen(), access.access_emit_info(), access.decorators(), LIR_OprFact::illegalOpr, result /* pre_val */); diff -r 9cfb9387a9e8 src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp --- a/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp Thu Jul 18 10:25:49 2019 +0200 +++ b/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp Thu Jul 18 07:14:36 2019 -0400 @@ -880,10 +880,8 @@ } // Check for null. - if (stub->needs_null_check()) { - __ testptr(res, res); - __ jcc(Assembler::zero, done); - } + __ testptr(res, res); + __ jcc(Assembler::zero, done); load_reference_barrier_not_null(ce->masm(), res); diff -r 9cfb9387a9e8 src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp --- a/src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp Thu Jul 18 10:25:49 2019 +0200 +++ b/src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp Thu Jul 18 07:14:36 2019 -0400 @@ -101,15 +101,15 @@ __ branch_destination(slow->continuation()); } -LIR_Opr ShenandoahBarrierSetC1::load_reference_barrier(LIRGenerator* gen, LIR_Opr obj, CodeEmitInfo* info, bool need_null_check) { +LIR_Opr ShenandoahBarrierSetC1::load_reference_barrier(LIRGenerator* gen, LIR_Opr obj) { if (ShenandoahLoadRefBarrier) { - return load_reference_barrier_impl(gen, obj, info, need_null_check); + return load_reference_barrier_impl(gen, obj); } else { return obj; } } -LIR_Opr ShenandoahBarrierSetC1::load_reference_barrier_impl(LIRGenerator* gen, LIR_Opr obj, CodeEmitInfo* info, bool need_null_check) { +LIR_Opr ShenandoahBarrierSetC1::load_reference_barrier_impl(LIRGenerator* gen, LIR_Opr obj) { assert(ShenandoahLoadRefBarrier, "Should be enabled"); obj = ensure_in_register(gen, obj); @@ -140,7 +140,7 @@ } __ cmp(lir_cond_notEqual, flag_val, LIR_OprFact::intConst(0)); - CodeStub* slow = new ShenandoahLoadReferenceBarrierStub(obj, result, info ? new CodeEmitInfo(info) : NULL, need_null_check); + CodeStub* slow = new ShenandoahLoadReferenceBarrierStub(obj, result); __ branch(lir_cond_notEqual, T_INT, slow); __ branch_destination(slow->continuation()); @@ -204,7 +204,7 @@ if (ShenandoahLoadRefBarrier) { LIR_Opr tmp = gen->new_register(T_OBJECT); BarrierSetC1::load_at_resolved(access, tmp); - tmp = load_reference_barrier(access.gen(), tmp, access.access_emit_info(), true); + tmp = load_reference_barrier(access.gen(), tmp); __ move(tmp, result); } else { BarrierSetC1::load_at_resolved(access, result); diff -r 9cfb9387a9e8 src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp --- a/src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp Thu Jul 18 10:25:49 2019 +0200 +++ b/src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp Thu Jul 18 07:14:36 2019 -0400 @@ -90,12 +90,10 @@ private: LIR_Opr _obj; LIR_Opr _result; - CodeEmitInfo* _info; - bool _needs_null_check; public: - ShenandoahLoadReferenceBarrierStub(LIR_Opr obj, LIR_Opr result, CodeEmitInfo* info, bool needs_null_check) : - _obj(obj), _result(result), _info(info), _needs_null_check(needs_null_check) + ShenandoahLoadReferenceBarrierStub(LIR_Opr obj, LIR_Opr result) : + _obj(obj), _result(result) { assert(_obj->is_register(), "should be register"); assert(_result->is_register(), "should be register"); @@ -103,8 +101,6 @@ LIR_Opr obj() const { return _obj; } LIR_Opr result() const { return _result; } - CodeEmitInfo* info() const { return _info; } - bool needs_null_check() const { return _needs_null_check; } virtual void emit_code(LIR_Assembler* e); virtual void visit(LIR_OpVisitState* visitor) { @@ -181,10 +177,10 @@ void pre_barrier(LIRGenerator* gen, CodeEmitInfo* info, DecoratorSet decorators, LIR_Opr addr_opr, LIR_Opr pre_val); - LIR_Opr load_reference_barrier(LIRGenerator* gen, LIR_Opr obj, CodeEmitInfo* info, bool need_null_check); + LIR_Opr load_reference_barrier(LIRGenerator* gen, LIR_Opr obj); LIR_Opr storeval_barrier(LIRGenerator* gen, LIR_Opr obj, CodeEmitInfo* info, DecoratorSet decorators); - LIR_Opr load_reference_barrier_impl(LIRGenerator* gen, LIR_Opr obj, CodeEmitInfo* info, bool need_null_check); + LIR_Opr load_reference_barrier_impl(LIRGenerator* gen, LIR_Opr obj); LIR_Opr ensure_in_register(LIRGenerator* gen, LIR_Opr obj);