diff --git a/src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp b/src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp index c02f93313b3..261502d5823 100644 --- a/src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp +++ b/src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp @@ -41,8 +41,6 @@ void LIR_OpShenandoahCompareAndSwap::emit_code(LIR_Assembler* masm) { Register tmp2 = _tmp2->as_register(); Register result = result_opr()->as_register(); - ShenandoahBarrierSet::assembler()->iu_barrier(masm->masm(), newval, rscratch2); - if (UseCompressedOops) { __ encode_heap_oop(tmp1, cmpval); cmpval = tmp1; @@ -102,10 +100,6 @@ LIR_Opr ShenandoahBarrierSetC1::atomic_xchg_at_resolved(LIRAccess& access, LIRIt value.load_item(); LIR_Opr value_opr = value.result(); - if (access.is_oop()) { - value_opr = iu_barrier(access.gen(), value_opr, access.access_emit_info(), access.decorators()); - } - assert(type == T_INT || is_reference_type(type) LP64_ONLY( || type == T_LONG ), "unexpected type"); LIR_Opr tmp = gen->new_register(T_INT); __ xchg(access.resolved_addr(), value_opr, result, tmp); diff --git a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp index 5db29729239..06f43820156 100644 --- a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp +++ b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp @@ -47,7 +47,7 @@ void ShenandoahBarrierSetAssembler::arraycopy_prologue(MacroAssembler* masm, Dec Register src, Register dst, Register count, RegSet saved_regs) { if (is_oop) { bool dest_uninitialized = (decorators & IS_DEST_UNINITIALIZED) != 0; - if ((ShenandoahSATBBarrier && !dest_uninitialized) || ShenandoahIUBarrier || ShenandoahLoadRefBarrier) { + if ((ShenandoahSATBBarrier && !dest_uninitialized) || ShenandoahLoadRefBarrier) { Label done; @@ -300,14 +300,6 @@ void ShenandoahBarrierSetAssembler::load_reference_barrier(MacroAssembler* masm, __ leave(); } -void ShenandoahBarrierSetAssembler::iu_barrier(MacroAssembler* masm, Register dst, Register tmp) { - if (ShenandoahIUBarrier) { - __ push_call_clobbered_registers(); - satb_write_barrier_pre(masm, noreg, dst, rthread, tmp, rscratch1, true, false); - __ pop_call_clobbered_registers(); - } -} - // // Arguments: // @@ -398,8 +390,7 @@ void ShenandoahBarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet if (val == noreg) { BarrierSetAssembler::store_at(masm, decorators, type, Address(tmp3, 0), noreg, noreg, noreg, noreg); } else { - iu_barrier(masm, val, tmp1); - // G1 barrier needs uncompressed oop for region cross check. + // Barrier needs uncompressed oop for region cross check. Register new_val = val; if (UseCompressedOops) { new_val = rscratch2; diff --git a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp index 375893702e1..ee11b2e73f7 100644 --- a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp +++ b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp @@ -60,9 +60,6 @@ private: void load_reference_barrier(MacroAssembler* masm, Register dst, Address load_addr, DecoratorSet decorators); public: - - void iu_barrier(MacroAssembler* masm, Register dst, Register tmp); - virtual NMethodPatchingType nmethod_patching_type() { return NMethodPatchingType::conc_data_patch; } #ifdef COMPILER1 diff --git a/src/hotspot/cpu/ppc/gc/shenandoah/c1/shenandoahBarrierSetC1_ppc.cpp b/src/hotspot/cpu/ppc/gc/shenandoah/c1/shenandoahBarrierSetC1_ppc.cpp index 6d9a1db1ed4..5f87281bdf9 100644 --- a/src/hotspot/cpu/ppc/gc/shenandoah/c1/shenandoahBarrierSetC1_ppc.cpp +++ b/src/hotspot/cpu/ppc/gc/shenandoah/c1/shenandoahBarrierSetC1_ppc.cpp @@ -43,11 +43,6 @@ void LIR_OpShenandoahCompareAndSwap::emit_code(LIR_Assembler *masm) { Register tmp2 = _tmp2->as_register(); Register result = result_opr()->as_register(); - if (ShenandoahIUBarrier) { - ShenandoahBarrierSet::assembler()->iu_barrier(masm->masm(), new_val, tmp1, tmp2, - MacroAssembler::PRESERVATION_FRAME_LR_GP_FP_REGS); - } - if (UseCompressedOops) { __ encode_heap_oop(cmp_val, cmp_val); __ encode_heap_oop(new_val, new_val); @@ -122,10 +117,6 @@ LIR_Opr ShenandoahBarrierSetC1::atomic_xchg_at_resolved(LIRAccess &access, LIRIt value.load_item(); LIR_Opr value_opr = value.result(); - if (access.is_oop()) { - value_opr = iu_barrier(access.gen(), value_opr, access.access_emit_info(), access.decorators()); - } - assert(type == T_INT || is_reference_type(type) LP64_ONLY( || type == T_LONG ), "unexpected type"); LIR_Opr tmp_xchg = gen->new_register(T_INT); __ xchg(access.resolved_addr(), value_opr, result, tmp_xchg); diff --git a/src/hotspot/cpu/ppc/gc/shenandoah/shenandoahBarrierSetAssembler_ppc.cpp b/src/hotspot/cpu/ppc/gc/shenandoah/shenandoahBarrierSetAssembler_ppc.cpp index 535fe88a680..62aa9a2bf59 100644 --- a/src/hotspot/cpu/ppc/gc/shenandoah/shenandoahBarrierSetAssembler_ppc.cpp +++ b/src/hotspot/cpu/ppc/gc/shenandoah/shenandoahBarrierSetAssembler_ppc.cpp @@ -61,20 +61,6 @@ void ShenandoahBarrierSetAssembler::satb_write_barrier(MacroAssembler *masm, } } -void ShenandoahBarrierSetAssembler::iu_barrier(MacroAssembler *masm, - Register val, - Register tmp1, Register tmp2, - MacroAssembler::PreservationLevel preservation_level, - DecoratorSet decorators) { - // IU barriers are also employed to avoid resurrection of weak references, - // even if Shenandoah does not operate in incremental update mode. - if (ShenandoahIUBarrier || ShenandoahSATBBarrier) { - __ block_comment("iu_barrier (shenandoahgc) {"); - satb_write_barrier_impl(masm, decorators, noreg, noreg, val, tmp1, tmp2, preservation_level); - __ block_comment("} iu_barrier (shenandoahgc)"); - } -} - void ShenandoahBarrierSetAssembler::load_reference_barrier(MacroAssembler *masm, DecoratorSet decorators, Register base, RegisterOrConstant ind_or_offs, Register dst, @@ -110,7 +96,7 @@ void ShenandoahBarrierSetAssembler::arraycopy_prologue(MacroAssembler *masm, Dec // Fast path: No barrier required if for every barrier type, it is either disabled or would not store // any useful information. - if ((!ShenandoahSATBBarrier || dest_uninitialized) && !ShenandoahIUBarrier && !ShenandoahLoadRefBarrier) { + if ((!ShenandoahSATBBarrier || dest_uninitialized) && !ShenandoahLoadRefBarrier) { return; } @@ -582,7 +568,11 @@ void ShenandoahBarrierSetAssembler::load_at( /* ==== Apply keep-alive barrier, if required (e.g., to inhibit weak reference resurrection) ==== */ if (ShenandoahBarrierSet::need_keep_alive_barrier(decorators, type)) { - iu_barrier(masm, dst, tmp1, tmp2, preservation_level); + if (ShenandoahSATBBarrier) { + __ block_comment("keep_alive_barrier (shenandoahgc) {"); + satb_write_barrier_impl(masm, 0, noreg, noreg, dst, tmp1, tmp2, preservation_level); + __ block_comment("} keep_alive_barrier (shenandoahgc)"); + } } } @@ -597,10 +587,6 @@ void ShenandoahBarrierSetAssembler::store_at(MacroAssembler *masm, DecoratorSet if (ShenandoahSATBBarrier) { satb_write_barrier(masm, base, ind_or_offs, tmp1, tmp2, tmp3, preservation_level); } - - if (ShenandoahIUBarrier && val != noreg) { - iu_barrier(masm, val, tmp1, tmp2, preservation_level, decorators); - } } BarrierSetAssembler::store_at(masm, decorators, type, diff --git a/src/hotspot/cpu/ppc/gc/shenandoah/shenandoahBarrierSetAssembler_ppc.hpp b/src/hotspot/cpu/ppc/gc/shenandoah/shenandoahBarrierSetAssembler_ppc.hpp index 4514f2540ac..2e56187c169 100644 --- a/src/hotspot/cpu/ppc/gc/shenandoah/shenandoahBarrierSetAssembler_ppc.hpp +++ b/src/hotspot/cpu/ppc/gc/shenandoah/shenandoahBarrierSetAssembler_ppc.hpp @@ -82,11 +82,6 @@ public: Register tmp1, Register tmp2, Register tmp3, MacroAssembler::PreservationLevel preservation_level); - void iu_barrier(MacroAssembler* masm, - Register val, - Register tmp1, Register tmp2, - MacroAssembler::PreservationLevel preservation_level, DecoratorSet decorators = 0); - void load_reference_barrier(MacroAssembler* masm, DecoratorSet decorators, Register base, RegisterOrConstant ind_or_offs, Register dst, diff --git a/src/hotspot/cpu/riscv/gc/shenandoah/c1/shenandoahBarrierSetC1_riscv.cpp b/src/hotspot/cpu/riscv/gc/shenandoah/c1/shenandoahBarrierSetC1_riscv.cpp index cd568cc723f..f503cb762e7 100644 --- a/src/hotspot/cpu/riscv/gc/shenandoah/c1/shenandoahBarrierSetC1_riscv.cpp +++ b/src/hotspot/cpu/riscv/gc/shenandoah/c1/shenandoahBarrierSetC1_riscv.cpp @@ -41,8 +41,6 @@ void LIR_OpShenandoahCompareAndSwap::emit_code(LIR_Assembler* masm) { Register tmp2 = _tmp2->as_register(); Register result = result_opr()->as_register(); - ShenandoahBarrierSet::assembler()->iu_barrier(masm->masm(), newval, t1); - if (UseCompressedOops) { __ encode_heap_oop(tmp1, cmpval); cmpval = tmp1; @@ -94,10 +92,6 @@ LIR_Opr ShenandoahBarrierSetC1::atomic_xchg_at_resolved(LIRAccess& access, LIRIt value.load_item(); LIR_Opr value_opr = value.result(); - if (access.is_oop()) { - value_opr = iu_barrier(access.gen(), value_opr, access.access_emit_info(), access.decorators()); - } - assert(type == T_INT || is_reference_type(type) LP64_ONLY( || type == T_LONG ), "unexpected type"); LIR_Opr tmp = gen->new_register(T_INT); __ xchg(access.resolved_addr(), value_opr, result, tmp); diff --git a/src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.cpp b/src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.cpp index 9be8259e7e8..9a79a923277 100644 --- a/src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.cpp +++ b/src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.cpp @@ -48,7 +48,7 @@ void ShenandoahBarrierSetAssembler::arraycopy_prologue(MacroAssembler* masm, Dec Register src, Register dst, Register count, RegSet saved_regs) { if (is_oop) { bool dest_uninitialized = (decorators & IS_DEST_UNINITIALIZED) != 0; - if ((ShenandoahSATBBarrier && !dest_uninitialized) || ShenandoahIUBarrier || ShenandoahLoadRefBarrier) { + if ((ShenandoahSATBBarrier && !dest_uninitialized) || ShenandoahLoadRefBarrier) { Label done; @@ -308,16 +308,6 @@ void ShenandoahBarrierSetAssembler::load_reference_barrier(MacroAssembler* masm, __ leave(); } -void ShenandoahBarrierSetAssembler::iu_barrier(MacroAssembler* masm, Register dst, Register tmp) { - if (ShenandoahIUBarrier) { - __ push_call_clobbered_registers(); - - satb_write_barrier_pre(masm, noreg, dst, xthread, tmp, t0, true, false); - - __ pop_call_clobbered_registers(); - } -} - // // Arguments: // @@ -420,8 +410,7 @@ void ShenandoahBarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet if (val == noreg) { BarrierSetAssembler::store_at(masm, decorators, type, Address(tmp3, 0), noreg, noreg, noreg, noreg); } else { - iu_barrier(masm, val, tmp1); - // G1 barrier needs uncompressed oop for region cross check. + // Barrier needs uncompressed oop for region cross check. Register new_val = val; if (UseCompressedOops) { new_val = t1; diff --git a/src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.hpp b/src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.hpp index 0ae352f325d..bfdea7f607e 100644 --- a/src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.hpp +++ b/src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.hpp @@ -63,8 +63,6 @@ private: public: - void iu_barrier(MacroAssembler* masm, Register dst, Register tmp); - virtual NMethodPatchingType nmethod_patching_type() { return NMethodPatchingType::conc_data_patch; } #ifdef COMPILER1 diff --git a/src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp b/src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp index 9995a87f5cf..032b33f40e0 100644 --- a/src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp +++ b/src/hotspot/cpu/x86/gc/shenandoah/c1/shenandoahBarrierSetC1_x86.cpp @@ -46,9 +46,6 @@ void LIR_OpShenandoahCompareAndSwap::emit_code(LIR_Assembler* masm) { assert(cmpval != addr, "cmp and addr must be in different registers"); assert(newval != addr, "new value and addr must be in different registers"); - // Apply IU barrier to newval. - ShenandoahBarrierSet::assembler()->iu_barrier(masm->masm(), newval, tmp1); - #ifdef _LP64 if (UseCompressedOops) { __ encode_heap_oop(cmpval); @@ -101,10 +98,6 @@ LIR_Opr ShenandoahBarrierSetC1::atomic_xchg_at_resolved(LIRAccess& access, LIRIt value.load_item(); LIR_Opr value_opr = value.result(); - if (access.is_oop()) { - value_opr = iu_barrier(access.gen(), value_opr, access.access_emit_info(), access.decorators()); - } - // Because we want a 2-arg form of xchg and xadd __ move(value_opr, result); diff --git a/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp b/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp index 25a2b931468..47078dff907 100644 --- a/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp +++ b/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp @@ -121,7 +121,7 @@ void ShenandoahBarrierSetAssembler::arraycopy_prologue(MacroAssembler* masm, Dec if (is_reference_type(type)) { - if ((ShenandoahSATBBarrier && !dest_uninitialized) || ShenandoahIUBarrier || ShenandoahLoadRefBarrier) { + if ((ShenandoahSATBBarrier && !dest_uninitialized) || ShenandoahLoadRefBarrier) { #ifdef _LP64 Register thread = r15_thread; #else @@ -472,40 +472,6 @@ void ShenandoahBarrierSetAssembler::load_reference_barrier(MacroAssembler* masm, #endif } -void ShenandoahBarrierSetAssembler::iu_barrier(MacroAssembler* masm, Register dst, Register tmp) { - if (ShenandoahIUBarrier) { - iu_barrier_impl(masm, dst, tmp); - } -} - -void ShenandoahBarrierSetAssembler::iu_barrier_impl(MacroAssembler* masm, Register dst, Register tmp) { - assert(ShenandoahIUBarrier, "should be enabled"); - - if (dst == noreg) return; - - if (ShenandoahIUBarrier) { - save_machine_state(masm, /* handle_gpr = */ true, /* handle_fp = */ true); - -#ifdef _LP64 - Register thread = r15_thread; -#else - Register thread = rcx; - if (thread == dst || thread == tmp) { - thread = rdi; - } - if (thread == dst || thread == tmp) { - thread = rbx; - } - __ get_thread(thread); -#endif - assert_different_registers(dst, tmp, thread); - - satb_write_barrier_pre(masm, noreg, dst, thread, tmp, true, false); - - restore_machine_state(masm, /* handle_gpr = */ true, /* handle_fp = */ true); - } -} - // // Arguments: // @@ -626,12 +592,7 @@ void ShenandoahBarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet val != noreg /* tosca_live */, false /* expand_call */); } - if (val == noreg) { - BarrierSetAssembler::store_at(masm, decorators, type, Address(tmp1, 0), val, noreg, noreg, noreg); - } else { - iu_barrier(masm, val, tmp3); - BarrierSetAssembler::store_at(masm, decorators, type, Address(tmp1, 0), val, noreg, noreg, noreg); - } + BarrierSetAssembler::store_at(masm, decorators, type, Address(tmp1, 0), val, noreg, noreg, noreg); NOT_LP64(imasm->restore_bcp()); } else { BarrierSetAssembler::store_at(masm, decorators, type, dst, val, tmp1, tmp2, tmp3); diff --git a/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp b/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp index 47dfe144928..c8140f4a76a 100644 --- a/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp +++ b/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp @@ -56,10 +56,7 @@ private: bool tosca_live, bool expand_call); - void iu_barrier_impl(MacroAssembler* masm, Register dst, Register tmp); - public: - void iu_barrier(MacroAssembler* masm, Register dst, Register tmp); #ifdef COMPILER1 void gen_pre_barrier_stub(LIR_Assembler* ce, ShenandoahPreBarrierStub* stub); void gen_load_reference_barrier_stub(LIR_Assembler* ce, ShenandoahLoadReferenceBarrierStub* stub); diff --git a/src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp b/src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp index 30bf1f7a395..6b104e7e199 100644 --- a/src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp +++ b/src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp @@ -183,20 +183,11 @@ LIR_Opr ShenandoahBarrierSetC1::ensure_in_register(LIRGenerator* gen, LIR_Opr ob return obj; } -LIR_Opr ShenandoahBarrierSetC1::iu_barrier(LIRGenerator* gen, LIR_Opr obj, CodeEmitInfo* info, DecoratorSet decorators) { - if (ShenandoahIUBarrier) { - obj = ensure_in_register(gen, obj, T_OBJECT); - pre_barrier(gen, info, decorators, LIR_OprFact::illegalOpr, obj); - } - return obj; -} - void ShenandoahBarrierSetC1::store_at_resolved(LIRAccess& access, LIR_Opr value) { if (access.is_oop()) { if (ShenandoahSATBBarrier) { pre_barrier(access.gen(), access.access_emit_info(), access.decorators(), access.resolved_addr(), LIR_OprFact::illegalOpr /* pre_val */); } - value = iu_barrier(access.gen(), value, access.access_emit_info(), access.decorators()); } BarrierSetC1::store_at_resolved(access, value); } diff --git a/src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp b/src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp index 71093300e82..98b2aad8871 100644 --- a/src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp +++ b/src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp @@ -200,7 +200,6 @@ private: 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, LIR_Opr addr, DecoratorSet decorators); - LIR_Opr iu_barrier(LIRGenerator* gen, LIR_Opr obj, CodeEmitInfo* info, DecoratorSet decorators); LIR_Opr load_reference_barrier_impl(LIRGenerator* gen, LIR_Opr obj, LIR_Opr addr, DecoratorSet decorators); diff --git a/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp b/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp index 7d1f5cc16a8..d2820f3aa26 100644 --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp @@ -48,25 +48,7 @@ ShenandoahBarrierSetC2* ShenandoahBarrierSetC2::bsc2() { } ShenandoahBarrierSetC2State::ShenandoahBarrierSetC2State(Arena* comp_arena) - : _iu_barriers(new (comp_arena) GrowableArray(comp_arena, 8, 0, nullptr)), - _load_reference_barriers(new (comp_arena) GrowableArray(comp_arena, 8, 0, nullptr)) { -} - -int ShenandoahBarrierSetC2State::iu_barriers_count() const { - return _iu_barriers->length(); -} - -ShenandoahIUBarrierNode* ShenandoahBarrierSetC2State::iu_barrier(int idx) const { - return _iu_barriers->at(idx); -} - -void ShenandoahBarrierSetC2State::add_iu_barrier(ShenandoahIUBarrierNode* n) { - assert(!_iu_barriers->contains(n), "duplicate entry in barrier list"); - _iu_barriers->append(n); -} - -void ShenandoahBarrierSetC2State::remove_iu_barrier(ShenandoahIUBarrierNode* n) { - _iu_barriers->remove_if_existing(n); + : _load_reference_barriers(new (comp_arena) GrowableArray(comp_arena, 8, 0, nullptr)) { } int ShenandoahBarrierSetC2State::load_reference_barriers_count() const { @@ -88,13 +70,6 @@ void ShenandoahBarrierSetC2State::remove_load_reference_barrier(ShenandoahLoadRe } } -Node* ShenandoahBarrierSetC2::shenandoah_iu_barrier(GraphKit* kit, Node* obj) const { - if (ShenandoahIUBarrier) { - return kit->gvn().transform(new ShenandoahIUBarrierNode(obj)); - } - return obj; -} - #define __ kit-> bool ShenandoahBarrierSetC2::satb_can_remove_pre_barrier(GraphKit* kit, PhaseValues* phase, Node* adr, @@ -508,21 +483,8 @@ Node* ShenandoahBarrierSetC2::store_at_resolved(C2Access& access, C2AccessValue& uint adr_idx = kit->C->get_alias_index(adr_type); assert(adr_idx != Compile::AliasIdxTop, "use other store_to_memory factory" ); - Node* value = val.node(); - value = shenandoah_iu_barrier(kit, value); - val.set_node(value); shenandoah_write_barrier_pre(kit, true /* do_load */, /*kit->control(),*/ access.base(), adr, adr_idx, val.node(), static_cast(val.type()), nullptr /* pre_val */, access.type()); - } else { - assert(access.is_opt_access(), "only for optimization passes"); - assert(((decorators & C2_TIGHTLY_COUPLED_ALLOC) != 0 || !ShenandoahSATBBarrier) && (decorators & C2_ARRAY_COPY) != 0, "unexpected caller of this code"); - C2OptAccess& opt_access = static_cast(access); - PhaseGVN& gvn = opt_access.gvn(); - - if (ShenandoahIUBarrier) { - Node* enqueue = gvn.transform(new ShenandoahIUBarrierNode(val.node())); - val.set_node(enqueue); - } } return BarrierSetC2::store_at_resolved(access, val); } @@ -598,7 +560,6 @@ Node* ShenandoahBarrierSetC2::atomic_cmpxchg_val_at_resolved(C2AtomicParseAccess Node* new_val, const Type* value_type) const { GraphKit* kit = access.kit(); if (access.is_oop()) { - new_val = shenandoah_iu_barrier(kit, new_val); shenandoah_write_barrier_pre(kit, false /* do_load */, nullptr, nullptr, max_juint, nullptr, nullptr, expected_val /* pre_val */, T_OBJECT); @@ -646,7 +607,6 @@ Node* ShenandoahBarrierSetC2::atomic_cmpxchg_bool_at_resolved(C2AtomicParseAcces Node* new_val, const Type* value_type) const { GraphKit* kit = access.kit(); if (access.is_oop()) { - new_val = shenandoah_iu_barrier(kit, new_val); shenandoah_write_barrier_pre(kit, false /* do_load */, nullptr, nullptr, max_juint, nullptr, nullptr, expected_val /* pre_val */, T_OBJECT); @@ -699,9 +659,6 @@ Node* ShenandoahBarrierSetC2::atomic_cmpxchg_bool_at_resolved(C2AtomicParseAcces Node* ShenandoahBarrierSetC2::atomic_xchg_at_resolved(C2AtomicParseAccess& access, Node* val, const Type* value_type) const { GraphKit* kit = access.kit(); - if (access.is_oop()) { - val = shenandoah_iu_barrier(kit, val); - } Node* result = BarrierSetC2::atomic_xchg_at_resolved(access, val, value_type); if (access.is_oop()) { result = kit->gvn().transform(new ShenandoahLoadReferenceBarrierNode(nullptr, result, access.decorators())); @@ -719,7 +676,7 @@ bool ShenandoahBarrierSetC2::is_gc_pre_barrier_node(Node* node) const { // Support for GC barriers emitted during parsing bool ShenandoahBarrierSetC2::is_gc_barrier_node(Node* node) const { - if (node->Opcode() == Op_ShenandoahLoadReferenceBarrier || node->Opcode() == Op_ShenandoahIUBarrier) return true; + if (node->Opcode() == Op_ShenandoahLoadReferenceBarrier) return true; if (node->Opcode() != Op_CallLeaf && node->Opcode() != Op_CallLeafNoFP) { return false; } @@ -740,9 +697,6 @@ Node* ShenandoahBarrierSetC2::step_over_gc_barrier(Node* c) const { if (c->Opcode() == Op_ShenandoahLoadReferenceBarrier) { return c->in(ShenandoahLoadReferenceBarrierNode::ValueIn); } - if (c->Opcode() == Op_ShenandoahIUBarrier) { - c = c->in(1); - } return c; } @@ -775,9 +729,6 @@ bool ShenandoahBarrierSetC2::array_copy_requires_gc_barriers(bool tightly_couple } return !is_clone; } - if (phase == Optimization) { - return !ShenandoahIUBarrier; - } return true; } @@ -836,11 +787,7 @@ void ShenandoahBarrierSetC2::clone_at_expansion(PhaseMacroExpand* phase, ArrayCo debug_only(gc_state_adr_type = phase->C->get_adr_type(gc_state_idx)); Node* gc_state = phase->transform_later(new LoadBNode(ctrl, mem, gc_state_addr, gc_state_adr_type, TypeInt::BYTE, MemNode::unordered)); - int flags = ShenandoahHeap::HAS_FORWARDED; - if (ShenandoahIUBarrier) { - flags |= ShenandoahHeap::MARKING; - } - Node* stable_and = phase->transform_later(new AndINode(gc_state, phase->igvn().intcon(flags))); + Node* stable_and = phase->transform_later(new AndINode(gc_state, phase->igvn().intcon(ShenandoahHeap::HAS_FORWARDED))); Node* stable_cmp = phase->transform_later(new CmpINode(stable_and, phase->igvn().zerocon(T_INT))); Node* stable_test = phase->transform_later(new BoolNode(stable_cmp, BoolTest::ne)); @@ -889,18 +836,12 @@ void ShenandoahBarrierSetC2::clone_at_expansion(PhaseMacroExpand* phase, ArrayCo // Support for macro expanded GC barriers void ShenandoahBarrierSetC2::register_potential_barrier_node(Node* node) const { - if (node->Opcode() == Op_ShenandoahIUBarrier) { - state()->add_iu_barrier((ShenandoahIUBarrierNode*) node); - } if (node->Opcode() == Op_ShenandoahLoadReferenceBarrier) { state()->add_load_reference_barrier((ShenandoahLoadReferenceBarrierNode*) node); } } void ShenandoahBarrierSetC2::unregister_potential_barrier_node(Node* node) const { - if (node->Opcode() == Op_ShenandoahIUBarrier) { - state()->remove_iu_barrier((ShenandoahIUBarrierNode*) node); - } if (node->Opcode() == Op_ShenandoahLoadReferenceBarrier) { state()->remove_load_reference_barrier((ShenandoahLoadReferenceBarrierNode*) node); } @@ -948,12 +889,7 @@ void ShenandoahBarrierSetC2::eliminate_useless_gc_barriers(Unique_Node_List &use } } } - for (int i = state()->iu_barriers_count() - 1; i >= 0; i--) { - ShenandoahIUBarrierNode* n = state()->iu_barrier(i); - if (!useful.member(n)) { - state()->remove_iu_barrier(n); - } - } + for (int i = state()->load_reference_barriers_count() - 1; i >= 0; i--) { ShenandoahLoadReferenceBarrierNode* n = state()->load_reference_barrier(i); if (!useful.member(n)) { @@ -1190,9 +1126,6 @@ bool ShenandoahBarrierSetC2::escape_add_to_con_graph(ConnectionGraph* conn_graph } return false; } - case Op_ShenandoahIUBarrier: - conn_graph->add_local_var_and_edge(n, PointsToNode::NoEscape, n->in(1), delayed_worklist); - break; case Op_ShenandoahLoadReferenceBarrier: conn_graph->add_local_var_and_edge(n, PointsToNode::NoEscape, n->in(ShenandoahLoadReferenceBarrierNode::ValueIn), delayed_worklist); return true; @@ -1216,9 +1149,6 @@ bool ShenandoahBarrierSetC2::escape_add_final_edges(ConnectionGraph* conn_graph, case Op_ShenandoahWeakCompareAndSwapP: case Op_ShenandoahWeakCompareAndSwapN: return conn_graph->add_final_edges_unsafe_access(n, opcode); - case Op_ShenandoahIUBarrier: - conn_graph->add_local_var_and_edge(n, PointsToNode::NoEscape, n->in(1), nullptr); - return true; case Op_ShenandoahLoadReferenceBarrier: conn_graph->add_local_var_and_edge(n, PointsToNode::NoEscape, n->in(ShenandoahLoadReferenceBarrierNode::ValueIn), nullptr); return true; diff --git a/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp b/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp index 9b8e30c98a1..4619b217e96 100644 --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp @@ -31,17 +31,11 @@ class ShenandoahBarrierSetC2State : public ArenaObj { private: - GrowableArray* _iu_barriers; GrowableArray* _load_reference_barriers; public: ShenandoahBarrierSetC2State(Arena* comp_arena); - int iu_barriers_count() const; - ShenandoahIUBarrierNode* iu_barrier(int idx) const; - void add_iu_barrier(ShenandoahIUBarrierNode* n); - void remove_iu_barrier(ShenandoahIUBarrierNode * n); - int load_reference_barriers_count() const; ShenandoahLoadReferenceBarrierNode* load_reference_barrier(int idx) const; void add_load_reference_barrier(ShenandoahLoadReferenceBarrierNode* n); @@ -73,8 +67,6 @@ private: Node* pre_val, BasicType bt) const; - Node* shenandoah_iu_barrier(GraphKit* kit, Node* obj) const; - void insert_pre_barrier(GraphKit* kit, Node* base_oop, Node* offset, Node* pre_val, bool need_mem_bar) const; diff --git a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp index 8cd76dd3d6b..0a51f742995 100644 --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp @@ -46,8 +46,7 @@ bool ShenandoahBarrierC2Support::expand(Compile* C, PhaseIterGVN& igvn) { ShenandoahBarrierSetC2State* state = ShenandoahBarrierSetC2::bsc2()->state(); - if ((state->iu_barriers_count() + - state->load_reference_barriers_count()) > 0) { + if (state->load_reference_barriers_count() > 0) { assert(C->post_loop_opts_phase(), "no loop opts allowed"); C->reset_post_loop_opts_phase(); // ... but we know what we are doing C->clear_major_progress(); @@ -186,28 +185,10 @@ bool ShenandoahBarrierC2Support::verify_helper(Node* in, Node_Stack& phis, Vecto } } else if (in->Opcode() == Op_ShenandoahLoadReferenceBarrier) { if (t == ShenandoahOopStore) { - uint i = 0; - for (; i < phis.size(); i++) { - Node* n = phis.node_at(i); - if (n->Opcode() == Op_ShenandoahIUBarrier) { - break; - } - } - if (i == phis.size()) { - return false; - } + return false; } barriers_used.push(in); if (trace) {tty->print("Found barrier"); in->dump();} - } else if (in->Opcode() == Op_ShenandoahIUBarrier) { - if (t != ShenandoahOopStore) { - in = in->in(1); - continue; - } - if (trace) {tty->print("Found enqueue barrier"); in->dump();} - phis.push(in, in->req()); - in = in->in(1); - continue; } else if (in->is_Proj() && in->in(0)->is_Allocate()) { if (trace) { tty->print("Found alloc"); @@ -326,7 +307,7 @@ void ShenandoahBarrierC2Support::verify(RootNode* root) { } } - if (verify && !verify_helper(n->in(MemNode::ValueIn), phis, visited, ShenandoahIUBarrier ? ShenandoahOopStore : ShenandoahValue, trace, barriers_used)) { + if (verify && !verify_helper(n->in(MemNode::ValueIn), phis, visited, ShenandoahValue, trace, barriers_used)) { report_verify_failure("Shenandoah verification: Store should have barriers", n); } } @@ -368,7 +349,7 @@ void ShenandoahBarrierC2Support::verify(RootNode* root) { } } else if (n->is_LoadStore()) { if (n->in(MemNode::ValueIn)->bottom_type()->make_ptr() && - !verify_helper(n->in(MemNode::ValueIn), phis, visited, ShenandoahIUBarrier ? ShenandoahOopStore : ShenandoahValue, trace, barriers_used)) { + !verify_helper(n->in(MemNode::ValueIn), phis, visited, ShenandoahValue, trace, barriers_used)) { report_verify_failure("Shenandoah verification: LoadStore (value) should have barriers", n); } @@ -532,7 +513,7 @@ void ShenandoahBarrierC2Support::verify(RootNode* root) { } } } - } else if (n->Opcode() == Op_ShenandoahIUBarrier || n->Opcode() == Op_ShenandoahLoadReferenceBarrier) { + } else if (n->Opcode() == Op_ShenandoahLoadReferenceBarrier) { // skip } else if (n->is_AddP() || n->is_Phi() @@ -1113,20 +1094,6 @@ void ShenandoahBarrierC2Support::pin_and_expand(PhaseIdealLoop* phase) { ShenandoahBarrierSetC2State* state = ShenandoahBarrierSetC2::bsc2()->state(); Unique_Node_List uses; - for (int i = 0; i < state->iu_barriers_count(); i++) { - Node* barrier = state->iu_barrier(i); - Node* ctrl = phase->get_ctrl(barrier); - IdealLoopTree* loop = phase->get_loop(ctrl); - Node* head = loop->head(); - if (head->is_OuterStripMinedLoop()) { - // Expanding a barrier here will break loop strip mining - // verification. Transform the loop so the loop nest doesn't - // appear as strip mined. - OuterStripMinedLoopNode* outer = head->as_OuterStripMinedLoop(); - hide_strip_mined_loop(outer, outer->unique_ctrl_out()->as_CountedLoop(), phase); - } - } - Node_Stack stack(0); Node_List clones; for (int i = state->load_reference_barriers_count() - 1; i >= 0; i--) { @@ -1459,157 +1426,6 @@ void ShenandoahBarrierC2Support::pin_and_expand(PhaseIdealLoop* phase) { } // Done expanding load-reference-barriers. assert(ShenandoahBarrierSetC2::bsc2()->state()->load_reference_barriers_count() == 0, "all load reference barrier nodes should have been replaced"); - - for (int i = state->iu_barriers_count() - 1; i >= 0; i--) { - Node* barrier = state->iu_barrier(i); - Node* pre_val = barrier->in(1); - - if (phase->igvn().type(pre_val)->higher_equal(TypePtr::NULL_PTR)) { - ShouldNotReachHere(); - continue; - } - - Node* ctrl = phase->get_ctrl(barrier); - - if (ctrl->is_Proj() && ctrl->in(0)->is_CallJava()) { - assert(is_dominator(phase->get_ctrl(pre_val), ctrl->in(0)->in(0), pre_val, ctrl->in(0), phase), "can't move"); - ctrl = ctrl->in(0)->in(0); - phase->set_ctrl(barrier, ctrl); - } else if (ctrl->is_CallRuntime()) { - assert(is_dominator(phase->get_ctrl(pre_val), ctrl->in(0), pre_val, ctrl, phase), "can't move"); - ctrl = ctrl->in(0); - phase->set_ctrl(barrier, ctrl); - } - - Node* init_ctrl = ctrl; - IdealLoopTree* loop = phase->get_loop(ctrl); - Node* raw_mem = fixer.find_mem(ctrl, barrier); - Node* init_raw_mem = raw_mem; - Node* raw_mem_for_ctrl = fixer.find_mem(ctrl, nullptr); - Node* heap_stable_ctrl = nullptr; - Node* null_ctrl = nullptr; - uint last = phase->C->unique(); - - enum { _heap_stable = 1, _heap_unstable, PATH_LIMIT }; - Node* region = new RegionNode(PATH_LIMIT); - Node* phi = PhiNode::make(region, raw_mem, Type::MEMORY, TypeRawPtr::BOTTOM); - - enum { _fast_path = 1, _slow_path, _null_path, PATH_LIMIT2 }; - Node* region2 = new RegionNode(PATH_LIMIT2); - Node* phi2 = PhiNode::make(region2, raw_mem, Type::MEMORY, TypeRawPtr::BOTTOM); - - // Stable path. - test_gc_state(ctrl, raw_mem, heap_stable_ctrl, phase, ShenandoahHeap::MARKING); - region->init_req(_heap_stable, heap_stable_ctrl); - phi->init_req(_heap_stable, raw_mem); - - // Null path - Node* reg2_ctrl = nullptr; - test_null(ctrl, pre_val, null_ctrl, phase); - if (null_ctrl != nullptr) { - reg2_ctrl = null_ctrl->in(0); - region2->init_req(_null_path, null_ctrl); - phi2->init_req(_null_path, raw_mem); - } else { - region2->del_req(_null_path); - phi2->del_req(_null_path); - } - - const int index_offset = in_bytes(ShenandoahThreadLocalData::satb_mark_queue_index_offset()); - const int buffer_offset = in_bytes(ShenandoahThreadLocalData::satb_mark_queue_buffer_offset()); - Node* thread = new ThreadLocalNode(); - phase->register_new_node(thread, ctrl); - Node* buffer_adr = new AddPNode(phase->C->top(), thread, phase->igvn().MakeConX(buffer_offset)); - phase->register_new_node(buffer_adr, ctrl); - Node* index_adr = new AddPNode(phase->C->top(), thread, phase->igvn().MakeConX(index_offset)); - phase->register_new_node(index_adr, ctrl); - - BasicType index_bt = TypeX_X->basic_type(); - assert(sizeof(size_t) == type2aelembytes(index_bt), "Loading Shenandoah SATBMarkQueue::_index with wrong size."); - const TypePtr* adr_type = TypeRawPtr::BOTTOM; - Node* index = new LoadXNode(ctrl, raw_mem, index_adr, adr_type, TypeX_X, MemNode::unordered); - phase->register_new_node(index, ctrl); - Node* index_cmp = new CmpXNode(index, phase->igvn().MakeConX(0)); - phase->register_new_node(index_cmp, ctrl); - Node* index_test = new BoolNode(index_cmp, BoolTest::ne); - phase->register_new_node(index_test, ctrl); - IfNode* queue_full_iff = new IfNode(ctrl, index_test, PROB_LIKELY(0.999), COUNT_UNKNOWN); - if (reg2_ctrl == nullptr) reg2_ctrl = queue_full_iff; - phase->register_control(queue_full_iff, loop, ctrl); - Node* not_full = new IfTrueNode(queue_full_iff); - phase->register_control(not_full, loop, queue_full_iff); - Node* full = new IfFalseNode(queue_full_iff); - phase->register_control(full, loop, queue_full_iff); - - ctrl = not_full; - - Node* next_index = new SubXNode(index, phase->igvn().MakeConX(sizeof(intptr_t))); - phase->register_new_node(next_index, ctrl); - - Node* buffer = new LoadPNode(ctrl, raw_mem, buffer_adr, adr_type, TypeRawPtr::NOTNULL, MemNode::unordered); - phase->register_new_node(buffer, ctrl); - Node *log_addr = new AddPNode(phase->C->top(), buffer, next_index); - phase->register_new_node(log_addr, ctrl); - Node* log_store = new StorePNode(ctrl, raw_mem, log_addr, adr_type, pre_val, MemNode::unordered); - phase->register_new_node(log_store, ctrl); - // update the index - Node* index_update = new StoreXNode(ctrl, log_store, index_adr, adr_type, next_index, MemNode::unordered); - phase->register_new_node(index_update, ctrl); - - // Fast-path case - region2->init_req(_fast_path, ctrl); - phi2->init_req(_fast_path, index_update); - - ctrl = full; - - Node* base = find_bottom_mem(ctrl, phase); - - MergeMemNode* mm = MergeMemNode::make(base); - mm->set_memory_at(Compile::AliasIdxRaw, raw_mem); - phase->register_new_node(mm, ctrl); - - Node* call = new CallLeafNode(ShenandoahBarrierSetC2::write_ref_field_pre_entry_Type(), CAST_FROM_FN_PTR(address, ShenandoahRuntime::write_ref_field_pre_entry), "shenandoah_wb_pre", TypeRawPtr::BOTTOM); - call->init_req(TypeFunc::Control, ctrl); - call->init_req(TypeFunc::I_O, phase->C->top()); - call->init_req(TypeFunc::Memory, mm); - call->init_req(TypeFunc::FramePtr, phase->C->top()); - call->init_req(TypeFunc::ReturnAdr, phase->C->top()); - call->init_req(TypeFunc::Parms, pre_val); - call->init_req(TypeFunc::Parms+1, thread); - phase->register_control(call, loop, ctrl); - - Node* ctrl_proj = new ProjNode(call, TypeFunc::Control); - phase->register_control(ctrl_proj, loop, call); - Node* mem_proj = new ProjNode(call, TypeFunc::Memory); - phase->register_new_node(mem_proj, call); - - // Slow-path case - region2->init_req(_slow_path, ctrl_proj); - phi2->init_req(_slow_path, mem_proj); - - phase->register_control(region2, loop, reg2_ctrl); - phase->register_new_node(phi2, region2); - - region->init_req(_heap_unstable, region2); - phi->init_req(_heap_unstable, phi2); - - phase->register_control(region, loop, heap_stable_ctrl->in(0)); - phase->register_new_node(phi, region); - - fix_ctrl(barrier, region, fixer, uses, uses_to_ignore, last, phase); - for(uint next = 0; next < uses.size(); next++ ) { - Node *n = uses.at(next); - assert(phase->get_ctrl(n) == init_ctrl, "bad control"); - assert(n != init_raw_mem, "should leave input raw mem above the barrier"); - phase->set_ctrl(n, region); - follow_barrier_uses(n, init_ctrl, uses, phase); - } - fixer.fix_mem(init_ctrl, region, init_raw_mem, raw_mem_for_ctrl, phi, uses); - - phase->igvn().replace_node(barrier, pre_val); - } - assert(state->iu_barriers_count() == 0, "all enqueue barrier nodes should have been replaced"); - } Node* ShenandoahBarrierC2Support::get_load_addr(PhaseIdealLoop* phase, VectorSet& visited, Node* in) { @@ -1662,8 +1478,6 @@ Node* ShenandoahBarrierC2Support::get_load_addr(PhaseIdealLoop* phase, VectorSet } case Op_ShenandoahLoadReferenceBarrier: return get_load_addr(phase, visited, in->in(ShenandoahLoadReferenceBarrierNode::ValueIn)); - case Op_ShenandoahIUBarrier: - return get_load_addr(phase, visited, in->in(1)); case Op_CallDynamicJava: case Op_CallLeaf: case Op_CallStaticJava: @@ -1911,126 +1725,6 @@ void ShenandoahBarrierC2Support::optimize_after_expansion(VectorSet &visited, No } } -ShenandoahIUBarrierNode::ShenandoahIUBarrierNode(Node* val) : Node(nullptr, val) { - ShenandoahBarrierSetC2::bsc2()->state()->add_iu_barrier(this); -} - -const Type* ShenandoahIUBarrierNode::bottom_type() const { - if (in(1) == nullptr || in(1)->is_top()) { - return Type::TOP; - } - const Type* t = in(1)->bottom_type(); - if (t == TypePtr::NULL_PTR) { - return t; - } - return t->is_oopptr(); -} - -const Type* ShenandoahIUBarrierNode::Value(PhaseGVN* phase) const { - if (in(1) == nullptr) { - return Type::TOP; - } - const Type* t = phase->type(in(1)); - if (t == Type::TOP) { - return Type::TOP; - } - if (t == TypePtr::NULL_PTR) { - return t; - } - return t->is_oopptr(); -} - -int ShenandoahIUBarrierNode::needed(Node* n) { - if (n == nullptr || - n->is_Allocate() || - n->Opcode() == Op_ShenandoahIUBarrier || - n->bottom_type() == TypePtr::NULL_PTR || - (n->bottom_type()->make_oopptr() != nullptr && n->bottom_type()->make_oopptr()->const_oop() != nullptr)) { - return NotNeeded; - } - if (n->is_Phi() || - n->is_CMove()) { - return MaybeNeeded; - } - return Needed; -} - -Node* ShenandoahIUBarrierNode::next(Node* n) { - for (;;) { - if (n == nullptr) { - return n; - } else if (n->bottom_type() == TypePtr::NULL_PTR) { - return n; - } else if (n->bottom_type()->make_oopptr() != nullptr && n->bottom_type()->make_oopptr()->const_oop() != nullptr) { - return n; - } else if (n->is_ConstraintCast() || - n->Opcode() == Op_DecodeN || - n->Opcode() == Op_EncodeP) { - n = n->in(1); - } else if (n->is_Proj()) { - n = n->in(0); - } else { - return n; - } - } - ShouldNotReachHere(); - return nullptr; -} - -Node* ShenandoahIUBarrierNode::Identity(PhaseGVN* phase) { - PhaseIterGVN* igvn = phase->is_IterGVN(); - - Node* n = next(in(1)); - - int cont = needed(n); - - if (cont == NotNeeded) { - return in(1); - } else if (cont == MaybeNeeded) { - if (igvn == nullptr) { - phase->record_for_igvn(this); - return this; - } else { - ResourceMark rm; - Unique_Node_List wq; - uint wq_i = 0; - - for (;;) { - if (n->is_Phi()) { - for (uint i = 1; i < n->req(); i++) { - Node* m = n->in(i); - if (m != nullptr) { - wq.push(m); - } - } - } else { - assert(n->is_CMove(), "nothing else here"); - Node* m = n->in(CMoveNode::IfFalse); - wq.push(m); - m = n->in(CMoveNode::IfTrue); - wq.push(m); - } - Node* orig_n = nullptr; - do { - if (wq_i >= wq.size()) { - return in(1); - } - n = wq.at(wq_i); - wq_i++; - orig_n = n; - n = next(n); - cont = needed(n); - if (cont == Needed) { - return this; - } - } while (cont != MaybeNeeded || (orig_n != n && wq.member(n))); - } - } - } - - return this; -} - #ifdef ASSERT static bool has_never_branch(Node* root) { for (uint i = 1; i < root->req(); i++) { @@ -3014,8 +2708,6 @@ bool ShenandoahLoadReferenceBarrierNode::needs_barrier_impl(PhaseGVN* phase, Nod case Op_CMoveP: return needs_barrier_impl(phase, n->in(2), visited) || needs_barrier_impl(phase, n->in(3), visited); - case Op_ShenandoahIUBarrier: - return needs_barrier_impl(phase, n->in(1), visited); case Op_CreateEx: return false; default: diff --git a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp index 7a6ed74f563..164502e6358 100644 --- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp +++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp @@ -87,23 +87,6 @@ public: #endif }; -class ShenandoahIUBarrierNode : public Node { -public: - ShenandoahIUBarrierNode(Node* val); - - const Type *bottom_type() const; - const Type* Value(PhaseGVN* phase) const; - Node* Identity(PhaseGVN* phase); - - int Opcode() const; - -private: - enum { Needed, NotNeeded, MaybeNeeded }; - - static int needed(Node* n); - static Node* next(Node* n); -}; - class MemoryGraphFixer : public ResourceObj { private: Node_List _memory_nodes; diff --git a/src/hotspot/share/gc/shenandoah/mode/shenandoahIUMode.cpp b/src/hotspot/share/gc/shenandoah/mode/shenandoahIUMode.cpp deleted file mode 100644 index 7a1cf1bbbdf..00000000000 --- a/src/hotspot/share/gc/shenandoah/mode/shenandoahIUMode.cpp +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (c) 2020, 2022, Red Hat, Inc. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - * - */ - -#include "precompiled.hpp" -#include "gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp" -#include "gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.hpp" -#include "gc/shenandoah/heuristics/shenandoahCompactHeuristics.hpp" -#include "gc/shenandoah/heuristics/shenandoahStaticHeuristics.hpp" -#include "gc/shenandoah/mode/shenandoahIUMode.hpp" -#include "gc/shenandoah/shenandoahHeap.inline.hpp" -#include "logging/log.hpp" -#include "logging/logTag.hpp" -#include "runtime/globals_extension.hpp" -#include "runtime/java.hpp" - -void ShenandoahIUMode::initialize_flags() const { - if (FLAG_IS_CMDLINE(ClassUnloadingWithConcurrentMark) && ClassUnloading) { - log_warning(gc)("Shenandoah I-U mode sets -XX:-ClassUnloadingWithConcurrentMark; see JDK-8261341 for details"); - } - FLAG_SET_DEFAULT(ClassUnloadingWithConcurrentMark, false); - - if (ClassUnloading) { - FLAG_SET_DEFAULT(VerifyBeforeExit, false); - } - - if (FLAG_IS_DEFAULT(ShenandoahIUBarrier)) { - FLAG_SET_DEFAULT(ShenandoahIUBarrier, true); - } - if (FLAG_IS_DEFAULT(ShenandoahSATBBarrier)) { - FLAG_SET_DEFAULT(ShenandoahSATBBarrier, false); - } - - SHENANDOAH_ERGO_ENABLE_FLAG(ExplicitGCInvokesConcurrent); - SHENANDOAH_ERGO_ENABLE_FLAG(ShenandoahImplicitGCInvokesConcurrent); - - // Final configuration checks - SHENANDOAH_CHECK_FLAG_SET(ShenandoahLoadRefBarrier); - SHENANDOAH_CHECK_FLAG_UNSET(ShenandoahSATBBarrier); - SHENANDOAH_CHECK_FLAG_SET(ShenandoahIUBarrier); - SHENANDOAH_CHECK_FLAG_SET(ShenandoahCASBarrier); - SHENANDOAH_CHECK_FLAG_SET(ShenandoahCloneBarrier); - SHENANDOAH_CHECK_FLAG_SET(ShenandoahStackWatermarkBarrier); -} - -ShenandoahHeuristics* ShenandoahIUMode::initialize_heuristics() const { - if (ShenandoahGCHeuristics == nullptr) { - vm_exit_during_initialization("Unknown -XX:ShenandoahGCHeuristics option (null)"); - } - ShenandoahHeap* heap = ShenandoahHeap::heap(); - if (strcmp(ShenandoahGCHeuristics, "aggressive") == 0) { - return new ShenandoahAggressiveHeuristics(heap); - } else if (strcmp(ShenandoahGCHeuristics, "static") == 0) { - return new ShenandoahStaticHeuristics(heap); - } else if (strcmp(ShenandoahGCHeuristics, "adaptive") == 0) { - return new ShenandoahAdaptiveHeuristics(heap); - } else if (strcmp(ShenandoahGCHeuristics, "compact") == 0) { - return new ShenandoahCompactHeuristics(heap); - } - vm_exit_during_initialization("Unknown -XX:ShenandoahGCHeuristics option"); - return nullptr; -} diff --git a/src/hotspot/share/gc/shenandoah/mode/shenandoahIUMode.hpp b/src/hotspot/share/gc/shenandoah/mode/shenandoahIUMode.hpp deleted file mode 100644 index c20c483c77d..00000000000 --- a/src/hotspot/share/gc/shenandoah/mode/shenandoahIUMode.hpp +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2020, Red Hat, Inc. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - * - */ - -#ifndef SHARE_GC_SHENANDOAH_MODE_SHENANDOAHIUMODE_HPP -#define SHARE_GC_SHENANDOAH_MODE_SHENANDOAHIUMODE_HPP - -#include "gc/shenandoah/mode/shenandoahMode.hpp" - -class ShenandoahHeuristics; - -class ShenandoahIUMode : public ShenandoahMode { -public: - virtual void initialize_flags() const; - virtual ShenandoahHeuristics* initialize_heuristics() const; - - virtual const char* name() { return "Incremental-Update (IU)"; } - virtual bool is_diagnostic() { return false; } - virtual bool is_experimental() { return true; } -}; - -#endif // SHARE_GC_SHENANDOAH_MODE_SHENANDOAHIUMODE_HPP diff --git a/src/hotspot/share/gc/shenandoah/mode/shenandoahPassiveMode.cpp b/src/hotspot/share/gc/shenandoah/mode/shenandoahPassiveMode.cpp index 39eb475a75d..9b83df5424d 100644 --- a/src/hotspot/share/gc/shenandoah/mode/shenandoahPassiveMode.cpp +++ b/src/hotspot/share/gc/shenandoah/mode/shenandoahPassiveMode.cpp @@ -47,7 +47,6 @@ void ShenandoahPassiveMode::initialize_flags() const { // Disable known barriers by default. SHENANDOAH_ERGO_DISABLE_FLAG(ShenandoahLoadRefBarrier); SHENANDOAH_ERGO_DISABLE_FLAG(ShenandoahSATBBarrier); - SHENANDOAH_ERGO_DISABLE_FLAG(ShenandoahIUBarrier); SHENANDOAH_ERGO_DISABLE_FLAG(ShenandoahCASBarrier); SHENANDOAH_ERGO_DISABLE_FLAG(ShenandoahCloneBarrier); SHENANDOAH_ERGO_DISABLE_FLAG(ShenandoahStackWatermarkBarrier); diff --git a/src/hotspot/share/gc/shenandoah/mode/shenandoahSATBMode.cpp b/src/hotspot/share/gc/shenandoah/mode/shenandoahSATBMode.cpp index 2a456012656..c3ea11cf71e 100644 --- a/src/hotspot/share/gc/shenandoah/mode/shenandoahSATBMode.cpp +++ b/src/hotspot/share/gc/shenandoah/mode/shenandoahSATBMode.cpp @@ -44,7 +44,6 @@ void ShenandoahSATBMode::initialize_flags() const { // Final configuration checks SHENANDOAH_CHECK_FLAG_SET(ShenandoahLoadRefBarrier); - SHENANDOAH_CHECK_FLAG_UNSET(ShenandoahIUBarrier); SHENANDOAH_CHECK_FLAG_SET(ShenandoahSATBBarrier); SHENANDOAH_CHECK_FLAG_SET(ShenandoahCASBarrier); SHENANDOAH_CHECK_FLAG_SET(ShenandoahCloneBarrier); diff --git a/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp b/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp index d9b28c1bb4d..bcc370eeb31 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp @@ -48,7 +48,6 @@ void ShenandoahArguments::initialize() { FLAG_SET_DEFAULT(ShenandoahSATBBarrier, false); FLAG_SET_DEFAULT(ShenandoahLoadRefBarrier, false); - FLAG_SET_DEFAULT(ShenandoahIUBarrier, false); FLAG_SET_DEFAULT(ShenandoahCASBarrier, false); FLAG_SET_DEFAULT(ShenandoahCloneBarrier, false); @@ -142,7 +141,6 @@ void ShenandoahArguments::initialize() { if (ShenandoahVerifyOptoBarriers && (!FLAG_IS_DEFAULT(ShenandoahSATBBarrier) || !FLAG_IS_DEFAULT(ShenandoahLoadRefBarrier) || - !FLAG_IS_DEFAULT(ShenandoahIUBarrier) || !FLAG_IS_DEFAULT(ShenandoahCASBarrier) || !FLAG_IS_DEFAULT(ShenandoahCloneBarrier) )) { diff --git a/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp b/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp index d2857daccf6..40b6d70ce45 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp @@ -138,7 +138,7 @@ void ShenandoahBarrierSet::on_thread_detach(Thread *thread) { } void ShenandoahBarrierSet::clone_barrier_runtime(oop src) { - if (_heap->has_forwarded_objects() || (ShenandoahIUBarrier && _heap->is_concurrent_mark_in_progress())) { + if (_heap->has_forwarded_objects()) { clone_barrier(src); } } diff --git a/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp b/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp index beb6ae492b8..e116e0225db 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp @@ -89,7 +89,6 @@ public: template inline void satb_barrier(T* field); inline void satb_enqueue(oop value); - inline void iu_barrier(oop obj); inline void keep_alive_if_weak(DecoratorSet decorators, oop value); @@ -120,7 +119,6 @@ private: template inline void arraycopy_update(T* src, size_t count); - inline void clone_marking(oop src); inline void clone_evacuation(oop src); inline void clone_update(oop src); diff --git a/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp b/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp index bfb69c38c33..80735f453c6 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp @@ -164,12 +164,6 @@ inline void ShenandoahBarrierSet::satb_enqueue(oop value) { } } -inline void ShenandoahBarrierSet::iu_barrier(oop obj) { - if (ShenandoahIUBarrier && obj != nullptr && _heap->is_concurrent_mark_in_progress()) { - enqueue(obj); - } -} - inline void ShenandoahBarrierSet::keep_alive_if_weak(DecoratorSet decorators, oop value) { assert((decorators & ON_UNKNOWN_OOP_REF) == 0, "Reference strength must be known"); const bool on_strong_oop_ref = (decorators & ON_STRONG_OOP_REF) != 0; @@ -189,7 +183,6 @@ inline oop ShenandoahBarrierSet::oop_load(DecoratorSet decorators, T* addr) { template inline oop ShenandoahBarrierSet::oop_cmpxchg(DecoratorSet decorators, T* addr, oop compare_value, oop new_value) { - iu_barrier(new_value); oop res; oop expected = compare_value; do { @@ -207,7 +200,6 @@ inline oop ShenandoahBarrierSet::oop_cmpxchg(DecoratorSet decorators, T* addr, o template inline oop ShenandoahBarrierSet::oop_xchg(DecoratorSet decorators, T* addr, oop new_value) { - iu_barrier(new_value); oop previous = RawAccess<>::oop_atomic_xchg(addr, new_value); // Note: We don't need a keep-alive-barrier here. We already enqueue any loaded reference for SATB anyway, // because it must be the previous value. @@ -245,7 +237,6 @@ inline void ShenandoahBarrierSet::AccessBarrier::oop_st shenandoah_assert_marked_if(nullptr, value, !CompressedOops::is_null(value) && ShenandoahHeap::heap()->is_evacuation_in_progress()); shenandoah_assert_not_in_cset_if(addr, value, value != nullptr && !ShenandoahHeap::heap()->cancelled_gc()); ShenandoahBarrierSet* const bs = ShenandoahBarrierSet::barrier_set(); - bs->iu_barrier(value); bs->satb_barrier(addr); Raw::oop_store(addr, value); } diff --git a/src/hotspot/share/gc/shenandoah/shenandoahBarrierSetClone.inline.hpp b/src/hotspot/share/gc/shenandoah/shenandoahBarrierSetClone.inline.hpp index 13371f5e194..3b7bf9864de 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahBarrierSetClone.inline.hpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahBarrierSetClone.inline.hpp @@ -74,15 +74,6 @@ public: virtual void do_oop(narrowOop* p) { do_oop_work(p); } }; -void ShenandoahBarrierSet::clone_marking(oop obj) { - assert(_heap->is_concurrent_mark_in_progress(), "only during marking"); - assert(ShenandoahIUBarrier, "only with incremental-update"); - if (!_heap->marking_context()->allocated_after_mark_start(obj)) { - ShenandoahUpdateRefsForOopClosure cl; - obj->oop_iterate(&cl); - } -} - void ShenandoahBarrierSet::clone_evacuation(oop obj) { assert(_heap->is_evacuation_in_progress(), "only during evacuation"); if (need_bulk_update(cast_from_oop(obj))) { @@ -105,9 +96,7 @@ void ShenandoahBarrierSet::clone_barrier(oop obj) { shenandoah_assert_correct(nullptr, obj); int gc_state = _heap->gc_state(); - if ((gc_state & ShenandoahHeap::MARKING) != 0) { - clone_marking(obj); - } else if ((gc_state & ShenandoahHeap::EVACUATION) != 0) { + if ((gc_state & ShenandoahHeap::EVACUATION) != 0) { clone_evacuation(obj); } else { clone_update(obj); diff --git a/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp b/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp index fa37fcbcfd3..31157616e0e 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp @@ -71,22 +71,14 @@ public: class ShenandoahSATBAndRemarkThreadsClosure : public ThreadClosure { private: SATBMarkQueueSet& _satb_qset; - OopClosure* const _cl; public: - ShenandoahSATBAndRemarkThreadsClosure(SATBMarkQueueSet& satb_qset, OopClosure* cl) : - _satb_qset(satb_qset), - _cl(cl) {} + explicit ShenandoahSATBAndRemarkThreadsClosure(SATBMarkQueueSet& satb_qset) : + _satb_qset(satb_qset) {} - void do_thread(Thread* thread) { + void do_thread(Thread* thread) override { // Transfer any partial buffer to the qset for completed buffer processing. _satb_qset.flush_queue(ShenandoahThreadLocalData::satb_mark_queue(thread)); - if (thread->is_Java_thread()) { - if (_cl != nullptr) { - ResourceMark rm; - thread->oops_do(_cl, nullptr); - } - } } }; @@ -118,9 +110,7 @@ public: while (satb_mq_set.apply_closure_to_completed_buffer(&cl)) {} assert(!heap->has_forwarded_objects(), "Not expected"); - ShenandoahMarkRefsClosure mark_cl(q, rp); - ShenandoahSATBAndRemarkThreadsClosure tc(satb_mq_set, - ShenandoahIUBarrier ? &mark_cl : nullptr); + ShenandoahSATBAndRemarkThreadsClosure tc(satb_mq_set); Threads::possibly_parallel_threads_do(true /* is_par */, &tc); } _cm->mark_loop(worker_id, _terminator, rp, GENERATION, false /*not cancellable*/, diff --git a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp index 6c8d1d32941..eb6de9719dc 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp @@ -66,7 +66,6 @@ #include "gc/shenandoah/shenandoahVMOperations.hpp" #include "gc/shenandoah/shenandoahWorkGroup.hpp" #include "gc/shenandoah/shenandoahWorkerPolicy.hpp" -#include "gc/shenandoah/mode/shenandoahIUMode.hpp" #include "gc/shenandoah/mode/shenandoahPassiveMode.hpp" #include "gc/shenandoah/mode/shenandoahSATBMode.hpp" #if INCLUDE_JFR @@ -446,8 +445,6 @@ void ShenandoahHeap::initialize_mode() { if (ShenandoahGCMode != nullptr) { if (strcmp(ShenandoahGCMode, "satb") == 0) { _gc_mode = new ShenandoahSATBMode(); - } else if (strcmp(ShenandoahGCMode, "iu") == 0) { - _gc_mode = new ShenandoahIUMode(); } else if (strcmp(ShenandoahGCMode, "passive") == 0) { _gc_mode = new ShenandoahPassiveMode(); } else { diff --git a/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp b/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp index 0ee77edaf3f..87702afe98e 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp +++ b/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp @@ -334,9 +334,6 @@ product(bool, ShenandoahSATBBarrier, true, DIAGNOSTIC, \ "Turn on/off SATB barriers in Shenandoah") \ \ - product(bool, ShenandoahIUBarrier, false, DIAGNOSTIC, \ - "Turn on/off I-U barriers barriers in Shenandoah") \ - \ product(bool, ShenandoahCASBarrier, true, DIAGNOSTIC, \ "Turn on/off CAS barriers in Shenandoah") \ \ diff --git a/src/hotspot/share/opto/classes.hpp b/src/hotspot/share/opto/classes.hpp index 7908f21de10..dc613776873 100644 --- a/src/hotspot/share/opto/classes.hpp +++ b/src/hotspot/share/opto/classes.hpp @@ -324,7 +324,6 @@ shmacro(ShenandoahCompareAndSwapN) shmacro(ShenandoahCompareAndSwapP) shmacro(ShenandoahWeakCompareAndSwapN) shmacro(ShenandoahWeakCompareAndSwapP) -shmacro(ShenandoahIUBarrier) shmacro(ShenandoahLoadReferenceBarrier) macro(SCMemProj) macro(CopySignD) diff --git a/test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java b/test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java index 10bc237f2be..23b9321fc35 100644 --- a/test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java +++ b/test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java @@ -39,8 +39,7 @@ * and in {G1, * Serial, * Parallel, - * Shenandoah, - * ShenandoahIU} + * Shenandoah} */ @@ -95,13 +94,6 @@ public class TestVolatiles { procArgs[argcount - 3] = "-XX:+UnlockExperimentalVMOptions"; procArgs[argcount - 2] = "-XX:+UseShenandoahGC"; break; - case "ShenandoahIU": - argcount = 11; - procArgs = new String[argcount]; - procArgs[argcount - 4] = "-XX:+UnlockExperimentalVMOptions"; - procArgs[argcount - 3] = "-XX:+UseShenandoahGC"; - procArgs[argcount - 2] = "-XX:ShenandoahGCMode=iu"; - break; default: throw new RuntimeException("unexpected test type " + testType); } @@ -286,7 +278,6 @@ public class TestVolatiles { }; break; case "Shenandoah": - case "ShenandoahIU": // Shenandoah generates normal object graphs for // volatile stores matches = new String[] { @@ -358,7 +349,6 @@ public class TestVolatiles { }; break; case "Shenandoah": - case "ShenandoahIU": // For volatile CAS, Shenanodoah generates normal // graphs with a shenandoah-specific cmpxchg matches = new String[] { @@ -445,7 +435,6 @@ public class TestVolatiles { }; break; case "Shenandoah": - case "ShenandoahIU": // For volatile CAS, Shenanodoah generates normal // graphs with a shenandoah-specific cmpxchg matches = new String[] { @@ -512,7 +501,6 @@ public class TestVolatiles { }; break; case "Shenandoah": - case "ShenandoahIU": matches = new String[] { "membar_release \\(elided\\)", useCompressedOops ? "atomic_xchgw?_acq" : "atomic_xchg_acq", diff --git a/test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesShenandoah.java b/test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesShenandoah.java index 9678c37a384..60c9cc3713e 100644 --- a/test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesShenandoah.java +++ b/test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesShenandoah.java @@ -71,33 +71,6 @@ * @run driver compiler.c2.aarch64.TestVolatilesShenandoah * TestUnsafeVolatileGAA Shenandoah * - * @run driver compiler.c2.aarch64.TestVolatilesShenandoah - * TestVolatileLoad ShenandoahIU - * - * @run driver compiler.c2.aarch64.TestVolatilesShenandoah - * TestVolatileStore ShenandoahIU - * - * @run driver compiler.c2.aarch64.TestVolatilesShenandoah - * TestUnsafeVolatileLoad ShenandoahIU - * - * @run driver compiler.c2.aarch64.TestVolatilesShenandoah - * TestUnsafeVolatileStore ShenandoahIU - * - * @run driver compiler.c2.aarch64.TestVolatilesShenandoah - * TestUnsafeVolatileCAS ShenandoahIU - * - * @run driver compiler.c2.aarch64.TestVolatilesShenandoah - * TestUnsafeVolatileWeakCAS ShenandoahIU - * - * @run driver compiler.c2.aarch64.TestVolatilesShenandoah - * TestUnsafeVolatileCAE ShenandoahIU - * - * @run driver compiler.c2.aarch64.TestVolatilesShenandoah - * TestUnsafeVolatileGAS ShenandoahIU - * - * @run driver compiler.c2.aarch64.TestVolatilesShenandoah - * TestUnsafeVolatileGAA ShenandoahIU - * */ package compiler.c2.aarch64; diff --git a/test/hotspot/jtreg/gc/TestAllocHumongousFragment.java b/test/hotspot/jtreg/gc/TestAllocHumongousFragment.java index 88b838b4bde..6498a394911 100644 --- a/test/hotspot/jtreg/gc/TestAllocHumongousFragment.java +++ b/test/hotspot/jtreg/gc/TestAllocHumongousFragment.java @@ -120,51 +120,6 @@ * TestAllocHumongousFragment */ -/* - * @test id=iu-aggressive - * @summary Make sure Shenandoah can recover from humongous allocation fragmentation - * @key randomness - * @requires vm.gc.Shenandoah - * @library /test/lib - * - * @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahOOMDuringEvacALot -XX:+ShenandoahVerify - * TestAllocHumongousFragment - * - * @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahAllocFailureALot -XX:+ShenandoahVerify - * TestAllocHumongousFragment - * - * @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahOOMDuringEvacALot - * TestAllocHumongousFragment - * - * @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahAllocFailureALot - * TestAllocHumongousFragment - */ - -/* - * @test id=iu - * @summary Make sure Shenandoah can recover from humongous allocation fragmentation - * @key randomness - * @requires vm.gc.Shenandoah - * @library /test/lib - * - * @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:+ShenandoahVerify - * TestAllocHumongousFragment - * - * @run main/othervm -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g -XX:ShenandoahTargetNumRegions=2048 - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * TestAllocHumongousFragment - */ - /* * @test id=g1 * @summary Make sure G1 can recover from humongous allocation fragmentation diff --git a/test/hotspot/jtreg/gc/shenandoah/TestAllocIntArrays.java b/test/hotspot/jtreg/gc/shenandoah/TestAllocIntArrays.java index 35b0cdfa49e..b10e90b4055 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestAllocIntArrays.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestAllocIntArrays.java @@ -135,56 +135,6 @@ * -XX:-UseTLAB -XX:+ShenandoahVerify * TestAllocIntArrays */ - -/* - * @test id=iu-aggressive - * @summary Acceptance tests: collector can withstand allocation - * @key randomness - * @requires vm.gc.Shenandoah - * @library /test/lib - * - * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahOOMDuringEvacALot -XX:+ShenandoahVerify - * TestAllocIntArrays - * - * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahAllocFailureALot -XX:+ShenandoahVerify - * TestAllocIntArrays - * - * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahOOMDuringEvacALot - * TestAllocIntArrays - * - * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahAllocFailureALot - * TestAllocIntArrays - * - * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * TestAllocIntArrays - */ - -/* - * @test id=iu - * @summary Acceptance tests: collector can withstand allocation - * @key randomness - * @requires vm.gc.Shenandoah - * @library /test/lib - * - * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:+ShenandoahVerify - * TestAllocIntArrays - * - * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * TestAllocIntArrays - */ - import java.util.Random; import jdk.test.lib.Utils; diff --git a/test/hotspot/jtreg/gc/shenandoah/TestAllocObjectArrays.java b/test/hotspot/jtreg/gc/shenandoah/TestAllocObjectArrays.java index 8eebba4a308..fa9bb7f0177 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestAllocObjectArrays.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestAllocObjectArrays.java @@ -135,56 +135,6 @@ * -XX:-UseTLAB -XX:+ShenandoahVerify * TestAllocObjectArrays */ - -/* - * @test id=iu-aggressive - * @summary Acceptance tests: collector can withstand allocation - * @key randomness - * @requires vm.gc.Shenandoah - * @library /test/lib - * - * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahOOMDuringEvacALot -XX:+ShenandoahVerify - * TestAllocObjectArrays - * - * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahAllocFailureALot -XX:+ShenandoahVerify - * TestAllocObjectArrays - * - * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahOOMDuringEvacALot - * TestAllocObjectArrays - * - * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahAllocFailureALot - * TestAllocObjectArrays - * - * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * TestAllocObjectArrays - */ - -/* - * @test id=iu - * @summary Acceptance tests: collector can withstand allocation - * @key randomness - * @requires vm.gc.Shenandoah - * @library /test/lib - * - * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:+ShenandoahVerify - * TestAllocObjectArrays - * - * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -Xmx1g -Xms1g - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * TestAllocObjectArrays - */ - import java.util.Random; import jdk.test.lib.Utils; diff --git a/test/hotspot/jtreg/gc/shenandoah/TestAllocObjects.java b/test/hotspot/jtreg/gc/shenandoah/TestAllocObjects.java index 32178555c9f..26dd98ed403 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestAllocObjects.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestAllocObjects.java @@ -112,52 +112,6 @@ * -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact * TestAllocObjects */ - -/* - * @test id=iu-aggressive - * @summary Acceptance tests: collector can withstand allocation - * @requires vm.gc.Shenandoah - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahOOMDuringEvacALot -XX:+ShenandoahVerify - * TestAllocObjects - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahAllocFailureALot -XX:+ShenandoahVerify - * TestAllocObjects - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahOOMDuringEvacALot - * TestAllocObjects - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahAllocFailureALot - * TestAllocObjects - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * TestAllocObjects - */ - -/* - * @test id=iu - * @summary Acceptance tests: collector can withstand allocation - * @requires vm.gc.Shenandoah - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:+ShenandoahVerify - * TestAllocObjects - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * TestAllocObjects - */ - public class TestAllocObjects { static final long TARGET_MB = Long.getLong("target", 10_000); // 10 Gb allocation diff --git a/test/hotspot/jtreg/gc/shenandoah/TestDynamicSoftMaxHeapSize.java b/test/hotspot/jtreg/gc/shenandoah/TestDynamicSoftMaxHeapSize.java index f34fcd8024d..b47a818694f 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestDynamicSoftMaxHeapSize.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestDynamicSoftMaxHeapSize.java @@ -84,28 +84,6 @@ * TestDynamicSoftMaxHeapSize */ -/* - * @test id=iu-aggressive - * @requires vm.gc.Shenandoah - * @library /test/lib - * - * @run main/othervm -Xms16m -Xmx512m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -Dtarget=1000 - * TestDynamicSoftMaxHeapSize - */ - -/* - * @test id=iu - * @requires vm.gc.Shenandoah - * @library /test/lib - * - * @run main/othervm -Xms16m -Xmx512m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -Dtarget=10000 - * TestDynamicSoftMaxHeapSize - */ - import java.util.Random; import jdk.test.lib.Utils; import jdk.test.lib.process.OutputAnalyzer; diff --git a/test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java b/test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java index ff1596d6833..1e8aaa32dd6 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java @@ -76,24 +76,6 @@ * TestGCThreadGroups */ -/** - * @test id=iu - * @summary Test Shenandoah GC uses concurrent/parallel threads correctly - * @requires vm.gc.Shenandoah - * - * @run main/othervm -Xmx16m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:ConcGCThreads=2 -XX:ParallelGCThreads=4 - * -Dtarget=1000 - * TestGCThreadGroups - * - * @run main/othervm -Xmx16m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:ConcGCThreads=2 -XX:ParallelGCThreads=4 - * -Dtarget=1000 - * TestGCThreadGroups -*/ - public class TestGCThreadGroups { static final long TARGET_MB = Long.getLong("target", 10_000); // 10 Gb allocation, around 1K cycles to handle diff --git a/test/hotspot/jtreg/gc/shenandoah/TestHeapUncommit.java b/test/hotspot/jtreg/gc/shenandoah/TestHeapUncommit.java index 6c54a34dae5..a57d9c7c49a 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestHeapUncommit.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestHeapUncommit.java @@ -84,27 +84,6 @@ * TestHeapUncommit */ -/* - * @test id=iu - * @summary Acceptance tests: collector can withstand allocation - * @key randomness - * @requires vm.gc.Shenandoah - * @library /test/lib - * - * @run main/othervm -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:+ShenandoahVerify - * TestHeapUncommit - * - * @run main/othervm -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * TestHeapUncommit - * - * @run main/othervm -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+ShenandoahUncommit -XX:ShenandoahUncommitDelay=0 - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * TestHeapUncommit - */ - /* * @test id=default-lp * @key randomness diff --git a/test/hotspot/jtreg/gc/shenandoah/TestJcmdHeapDump.java b/test/hotspot/jtreg/gc/shenandoah/TestJcmdHeapDump.java index 40a36d0a5ef..6d8b1cb3875 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestJcmdHeapDump.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestJcmdHeapDump.java @@ -94,38 +94,6 @@ * TestJcmdHeapDump */ -/* - * @test id=iu-aggressive - * @library /test/lib - * @modules jdk.attach/com.sun.tools.attach - * @requires vm.gc.Shenandoah - * - * @run main/othervm/timeout=480 -Xmx16m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahOOMDuringEvacALot - * TestJcmdHeapDump - * - * @run main/othervm/timeout=480 -Xmx16m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahAllocFailureALot - * TestJcmdHeapDump - * - * @run main/othervm/timeout=480 -Xmx16m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * TestJcmdHeapDump - */ - -/* - * @test id=iu - * @requires vm.gc.Shenandoah - * @library /test/lib - * @modules jdk.attach/com.sun.tools.attach - * - * @run main/othervm/timeout=480 -Xmx16m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * TestJcmdHeapDump - */ - import jdk.test.lib.JDKToolLauncher; import jdk.test.lib.process.ProcessTools; import jdk.test.lib.process.OutputAnalyzer; diff --git a/test/hotspot/jtreg/gc/shenandoah/TestLotsOfCycles.java b/test/hotspot/jtreg/gc/shenandoah/TestLotsOfCycles.java index 63d9fa08767..9d7738c25ce 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestLotsOfCycles.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestLotsOfCycles.java @@ -91,38 +91,6 @@ * TestLotsOfCycles */ -/* - * @test id=iu-aggressive - * @requires vm.gc.Shenandoah - * - * @run main/othervm/timeout=480 -Xmx16m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahOOMDuringEvacALot - * -Dtarget=1000 - * TestLotsOfCycles - * - * @run main/othervm/timeout=480 -Xmx16m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahAllocFailureALot - * -Dtarget=1000 - * TestLotsOfCycles - * - * @run main/othervm/timeout=480 -Xmx16m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -Dtarget=1000 - * TestLotsOfCycles - */ - -/* - * @test id=iu - * @requires vm.gc.Shenandoah - * - * @run main/othervm/timeout=480 -Xmx16m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -Dtarget=10000 - * TestLotsOfCycles - */ - public class TestLotsOfCycles { static final long TARGET_MB = Long.getLong("target", 10_000); // 10 Gb allocation, around 1K cycles to handle diff --git a/test/hotspot/jtreg/gc/shenandoah/TestObjItrWithHeapDump.java b/test/hotspot/jtreg/gc/shenandoah/TestObjItrWithHeapDump.java index a0612a60a9f..b30f7fd9ac4 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestObjItrWithHeapDump.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestObjItrWithHeapDump.java @@ -56,7 +56,6 @@ public class TestObjItrWithHeapDump { String[][][] modeHeuristics = new String[][][] { {{"satb"}, {"adaptive", "compact", "static", "aggressive"}}, - {{"iu"}, {"adaptive", "aggressive"}}, {{"passive"}, {"passive"}} }; diff --git a/test/hotspot/jtreg/gc/shenandoah/TestPeriodicGC.java b/test/hotspot/jtreg/gc/shenandoah/TestPeriodicGC.java index 3a5780069ef..2849b58aa94 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestPeriodicGC.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestPeriodicGC.java @@ -97,36 +97,6 @@ public class TestPeriodicGC { ); } - testWith("Zero interval with iu mode", - false, - "-Xlog:gc", - "-XX:+UnlockDiagnosticVMOptions", - "-XX:+UnlockExperimentalVMOptions", - "-XX:+UseShenandoahGC", - "-XX:ShenandoahGCMode=iu", - "-XX:ShenandoahGuaranteedGCInterval=0" - ); - - testWith("Short interval with iu mode", - true, - "-Xlog:gc", - "-XX:+UnlockDiagnosticVMOptions", - "-XX:+UnlockExperimentalVMOptions", - "-XX:+UseShenandoahGC", - "-XX:ShenandoahGCMode=iu", - "-XX:ShenandoahGuaranteedGCInterval=1000" - ); - - testWith("Long interval with iu mode", - false, - "-Xlog:gc", - "-XX:+UnlockDiagnosticVMOptions", - "-XX:+UnlockExperimentalVMOptions", - "-XX:+UseShenandoahGC", - "-XX:ShenandoahGCMode=iu", - "-XX:ShenandoahGuaranteedGCInterval=100000" // deliberately too long - ); - testWith("Short interval with aggressive", false, "-Xlog:gc", diff --git a/test/hotspot/jtreg/gc/shenandoah/TestReferenceRefersToShenandoah.java b/test/hotspot/jtreg/gc/shenandoah/TestReferenceRefersToShenandoah.java index 8bad2fdbfa4..3763a7eea87 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestReferenceRefersToShenandoah.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestReferenceRefersToShenandoah.java @@ -35,18 +35,6 @@ package gc.shenandoah; * gc.shenandoah.TestReferenceRefersToShenandoah */ -/* @test id=iu - * @requires vm.gc.Shenandoah - * @library /test/lib - * @build jdk.test.whitebox.WhiteBox - * @run driver jdk.test.lib.helpers.ClassFileInstaller jdk.test.whitebox.WhiteBox - * @run main/othervm - * -Xbootclasspath/a:. - * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI - * -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * gc.shenandoah.TestReferenceRefersToShenandoah - */ - /* @test id=satb-100 * @requires vm.gc.Shenandoah * @library /test/lib @@ -60,19 +48,6 @@ package gc.shenandoah; * gc.shenandoah.TestReferenceRefersToShenandoah */ -/* @test id=iu-100 - * @requires vm.gc.Shenandoah - * @library /test/lib - * @build jdk.test.whitebox.WhiteBox - * @modules java.base - * @run main jdk.test.lib.helpers.ClassFileInstaller jdk.test.whitebox.WhiteBox - * @run main/othervm - * -Xbootclasspath/a:. - * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI - * -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGarbageThreshold=100 -Xmx100m - * gc.shenandoah.TestReferenceRefersToShenandoah - */ - import java.lang.ref.PhantomReference; import java.lang.ref.Reference; import java.lang.ref.ReferenceQueue; @@ -200,10 +175,6 @@ public class TestReferenceRefersToShenandoah { testObject4 = null; } - private static boolean isShenandoahIUMode() { - return "iu".equals(WB.getStringVMFlag("ShenandoahGCMode")); - } - private static void testConcurrentCollection() throws Exception { progress("setup concurrent collection test"); setup(); @@ -239,14 +210,7 @@ public class TestReferenceRefersToShenandoah { expectCleared(testPhantom1, "testPhantom1"); expectCleared(testWeak2, "testWeak2"); expectValue(testWeak3, testObject3, "testWeak3"); - // This is true for all currently supported concurrent collectors, - // except Shenandoah+IU, which allows clearing refs even when - // accessed during concurrent marking. - if (isShenandoahIUMode()) { - expectCleared(testWeak4, "testWeak4"); - } else { - expectNotCleared(testWeak4, "testWeak4"); - } + expectNotCleared(testWeak4, "testWeak4"); progress("verify get returns expected values"); if (testWeak2.get() != null) { @@ -261,12 +225,10 @@ public class TestReferenceRefersToShenandoah { } TestObject obj4 = testWeak4.get(); - if (!isShenandoahIUMode()) { - if (obj4 == null) { - fail("testWeak4.get() returned null"); - } else if (obj4.value != 4) { - fail("testWeak4.get().value is " + obj4.value); - } + if (obj4 == null) { + fail("testWeak4.get() returned null"); + } else if (obj4.value != 4) { + fail("testWeak4.get().value is " + obj4.value); } progress("verify queue entries"); diff --git a/test/hotspot/jtreg/gc/shenandoah/TestReferenceShortcutCycle.java b/test/hotspot/jtreg/gc/shenandoah/TestReferenceShortcutCycle.java index 1c2c2ed5ca7..b7ae0c1c31a 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestReferenceShortcutCycle.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestReferenceShortcutCycle.java @@ -36,19 +36,6 @@ package gc.shenandoah; * gc.shenandoah.TestReferenceShortcutCycle */ -/* @test id=iu-100 - * @requires vm.gc.Shenandoah - * @library /test/lib - * @build jdk.test.whitebox.WhiteBox - * @modules java.base - * @run main jdk.test.lib.helpers.ClassFileInstaller jdk.test.whitebox.WhiteBox - * @run main/othervm - * -Xbootclasspath/a:. - * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI - * -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGarbageThreshold=100 -Xmx100m - * gc.shenandoah.TestReferenceShortcutCycle - */ - import java.lang.ref.PhantomReference; import java.lang.ref.Reference; import java.lang.ref.ReferenceQueue; diff --git a/test/hotspot/jtreg/gc/shenandoah/TestRefprocSanity.java b/test/hotspot/jtreg/gc/shenandoah/TestRefprocSanity.java index 03f008d10c3..0bf7672e7d5 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestRefprocSanity.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestRefprocSanity.java @@ -41,25 +41,6 @@ * TestRefprocSanity */ -/* - * @test id=iu - * @summary Test that null references/referents work fine - * @requires vm.gc.Shenandoah - * - * @run main/othervm -Xmx128m -Xms128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:+ShenandoahVerify - * TestRefprocSanity - * - * @run main/othervm -Xmx128m -Xms128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * TestRefprocSanity - * - * @run main/othervm -Xmx128m -Xms128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * TestRefprocSanity - */ - import java.lang.ref.*; public class TestRefprocSanity { diff --git a/test/hotspot/jtreg/gc/shenandoah/TestRegionSampling.java b/test/hotspot/jtreg/gc/shenandoah/TestRegionSampling.java index dd98585181c..dfa09a2f5ab 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestRegionSampling.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestRegionSampling.java @@ -73,25 +73,6 @@ * TestRegionSampling */ -/* - * @test id=iu-aggressive - * @requires vm.gc.Shenandoah - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+ShenandoahRegionSampling - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * TestRegionSampling - */ - -/* - * @test id=iu - * @requires vm.gc.Shenandoah - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+ShenandoahRegionSampling - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * TestRegionSampling - * - */ - public class TestRegionSampling { static final long TARGET_MB = Long.getLong("target", 2_000); // 2 Gb allocation diff --git a/test/hotspot/jtreg/gc/shenandoah/TestResizeTLAB.java b/test/hotspot/jtreg/gc/shenandoah/TestResizeTLAB.java index 095f9939569..4e3089d0862 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestResizeTLAB.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestResizeTLAB.java @@ -138,46 +138,6 @@ * TestResizeTLAB */ -/* - * @test id=iu-aggressive - * @key randomness - * @summary Test that Shenandoah is able to work with(out) resizeable TLABs - * @requires vm.gc.Shenandoah - * @library /test/lib - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahVerify - * -XX:+ResizeTLAB - * TestResizeTLAB - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahVerify - * -XX:-ResizeTLAB - * TestResizeTLAB - */ - -/* - * @test id=iu - * @key randomness - * @summary Test that Shenandoah is able to work with(out) resizeable TLABs - * @requires vm.gc.Shenandoah - * @library /test/lib - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:+ShenandoahVerify - * -XX:+ResizeTLAB - * TestResizeTLAB - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:+ShenandoahVerify - * -XX:-ResizeTLAB - * TestResizeTLAB - */ - import java.util.Random; import jdk.test.lib.Utils; diff --git a/test/hotspot/jtreg/gc/shenandoah/TestRetainObjects.java b/test/hotspot/jtreg/gc/shenandoah/TestRetainObjects.java index 7a28548f610..7be388b7945 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestRetainObjects.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestRetainObjects.java @@ -114,41 +114,6 @@ * TestRetainObjects */ -/* - * @test id=iu-aggressive - * @summary Acceptance tests: collector can deal with retained objects - * @requires vm.gc.Shenandoah - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahOOMDuringEvacALot - * TestRetainObjects - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahAllocFailureALot - * TestRetainObjects - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * TestRetainObjects - */ - -/* - * @test id=iu - * @summary Acceptance tests: collector can deal with retained objects - * @requires vm.gc.Shenandoah - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:+ShenandoahVerify - * TestRetainObjects - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * TestRetainObjects - */ - public class TestRetainObjects { static final int COUNT = 10_000_000; diff --git a/test/hotspot/jtreg/gc/shenandoah/TestSieveObjects.java b/test/hotspot/jtreg/gc/shenandoah/TestSieveObjects.java index 1b16ba4b8d2..2eaead55a6a 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestSieveObjects.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestSieveObjects.java @@ -127,45 +127,6 @@ * TestSieveObjects */ -/* - * @test id=iu-aggressive - * @summary Acceptance tests: collector can deal with retained objects - * @key randomness - * @requires vm.gc.Shenandoah - * @library /test/lib - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahOOMDuringEvacALot - * TestSieveObjects - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahAllocFailureALot - * TestSieveObjects - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * TestSieveObjects - */ - -/* - * @test id=iu - * @summary Acceptance tests: collector can deal with retained objects - * @key randomness - * @requires vm.gc.Shenandoah - * @library /test/lib - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:+ShenandoahVerify - * TestSieveObjects - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * TestSieveObjects - */ - import java.util.Random; import jdk.test.lib.Utils; diff --git a/test/hotspot/jtreg/gc/shenandoah/TestStringDedup.java b/test/hotspot/jtreg/gc/shenandoah/TestStringDedup.java index 94691432f38..9fdb822d48c 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestStringDedup.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestStringDedup.java @@ -65,24 +65,6 @@ * TestStringDedup */ -/* - * @test id=iu - * @summary Test Shenandoah string deduplication implementation - * @key randomness - * @requires vm.gc.Shenandoah - * @library /test/lib - * @modules java.base/java.lang:open - * java.management - * - * @run main/othervm -Xmx256m -Xlog:gc+stats -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:StringDeduplicationAgeThreshold=3 - * TestStringDedup - * - * @run main/othervm -Xmx256m -Xlog:gc+stats -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive -XX:StringDeduplicationAgeThreshold=3 - * TestStringDedup - */ - import java.lang.reflect.*; import java.util.*; import jdk.test.lib.Utils; diff --git a/test/hotspot/jtreg/gc/shenandoah/TestStringDedupStress.java b/test/hotspot/jtreg/gc/shenandoah/TestStringDedupStress.java index 0382d0e00dd..2d928e848ce 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestStringDedupStress.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestStringDedupStress.java @@ -72,37 +72,6 @@ * TestStringDedupStress */ - /* - * @test id=iu - * @summary Test Shenandoah string deduplication implementation - * @key randomness - * @requires vm.gc.Shenandoah - * @library /test/lib - * @modules java.base/java.lang:open - * java.management - * - * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * TestStringDedupStress - * - * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -DtargetStrings=2000000 - * TestStringDedupStress - * - * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:+ShenandoahOOMDuringEvacALot - * -DtargetStrings=2000000 - * TestStringDedupStress - * - * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahOOMDuringEvacALot - * -DtargetStrings=2000000 - * TestStringDedupStress - */ - import java.lang.management.*; import java.lang.reflect.*; import java.util.*; diff --git a/test/hotspot/jtreg/gc/shenandoah/TestStringInternCleanup.java b/test/hotspot/jtreg/gc/shenandoah/TestStringInternCleanup.java index cf663f2329c..62c9e16f777 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestStringInternCleanup.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestStringInternCleanup.java @@ -75,26 +75,6 @@ * TestStringInternCleanup */ -/* - * @test id=iu - * @summary Check that Shenandoah cleans up interned strings - * @requires vm.gc.Shenandoah - * - * @run main/othervm -Xmx64m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+ClassUnloadingWithConcurrentMark - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:+ShenandoahVerify - * TestStringInternCleanup - * - * @run main/othervm -Xmx64m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+ClassUnloadingWithConcurrentMark - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahVerify - * TestStringInternCleanup - * - * @run main/othervm -Xmx64m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+ClassUnloadingWithConcurrentMark - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * TestStringInternCleanup - */ - public class TestStringInternCleanup { static final int COUNT = 1_000_000; diff --git a/test/hotspot/jtreg/gc/shenandoah/TestVerifyJCStress.java b/test/hotspot/jtreg/gc/shenandoah/TestVerifyJCStress.java index 312ab964f5e..82bc74daddc 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestVerifyJCStress.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestVerifyJCStress.java @@ -58,33 +58,6 @@ * TestVerifyJCStress */ -/* - * @test id=iu - * @summary Tests that we pass at least one jcstress-like test with all verification turned on - * @requires vm.gc.Shenandoah - * @modules java.base/jdk.internal.misc - * java.management - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:+ShenandoahVerify - * TestVerifyJCStress - */ - -/* - * @test id=iu-c1 - * @summary Tests that we pass at least one jcstress-like test with all verification turned on - * @requires vm.gc.Shenandoah - * @modules java.base/jdk.internal.misc - * java.management - * - * @run main/othervm -Xmx1g -Xms1g -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:+ShenandoahVerify -XX:TieredStopAtLevel=1 - * TestVerifyJCStress - */ - - import java.util.*; import java.util.concurrent.*; import java.util.concurrent.locks.*; diff --git a/test/hotspot/jtreg/gc/shenandoah/TestWrongArrayMember.java b/test/hotspot/jtreg/gc/shenandoah/TestWrongArrayMember.java index 6712cb49561..6dcdf259c6c 100644 --- a/test/hotspot/jtreg/gc/shenandoah/TestWrongArrayMember.java +++ b/test/hotspot/jtreg/gc/shenandoah/TestWrongArrayMember.java @@ -26,8 +26,7 @@ * @test * @requires vm.gc.Shenandoah * - * @run main/othervm -Xmx128m -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC TestWrongArrayMember - * @run main/othervm -Xmx128m -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu TestWrongArrayMember + * @run main/othervm -Xmx128m -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC TestWrongArrayMember */ public class TestWrongArrayMember { diff --git a/test/hotspot/jtreg/gc/shenandoah/compiler/BarrierInInfiniteLoop.java b/test/hotspot/jtreg/gc/shenandoah/compiler/BarrierInInfiniteLoop.java index 8673005f96f..9054c1f470e 100644 --- a/test/hotspot/jtreg/gc/shenandoah/compiler/BarrierInInfiniteLoop.java +++ b/test/hotspot/jtreg/gc/shenandoah/compiler/BarrierInInfiniteLoop.java @@ -30,8 +30,6 @@ * * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xcomp -XX:CompileOnly=BarrierInInfiniteLoop::test1 * -XX:CompileOnly=BarrierInInfiniteLoop::test2 -XX:CompileOnly=BarrierInInfiniteLoop::test3 -XX:CompileCommand=quiet BarrierInInfiniteLoop - * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -Xcomp -XX:CompileOnly=BarrierInInfiniteLoop::test1 - * -XX:CompileOnly=BarrierInInfiniteLoop::test2 -XX:CompileOnly=BarrierInInfiniteLoop::test3 -XX:CompileCommand=quiet BarrierInInfiniteLoop * */ diff --git a/test/hotspot/jtreg/gc/shenandoah/compiler/TestUnexpectedIUBarrierEA.java b/test/hotspot/jtreg/gc/shenandoah/compiler/TestUnexpectedIUBarrierEA.java deleted file mode 100644 index 8662130c378..00000000000 --- a/test/hotspot/jtreg/gc/shenandoah/compiler/TestUnexpectedIUBarrierEA.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (c) 2022, Red Hat, Inc. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test - * bug 8280885 - * @summary Shenandoah: Some tests failed with "EA: missing allocation reference path" - * @requires vm.gc.Shenandoah - * - * @run main/othervm -XX:-BackgroundCompilation -XX:+UseShenandoahGC -XX:+UnlockExperimentalVMOptions -XX:ShenandoahGCMode=iu - * -XX:CompileCommand=dontinline,TestUnexpectedIUBarrierEA::notInlined TestUnexpectedIUBarrierEA - */ - -public class TestUnexpectedIUBarrierEA { - - private static Object field; - - public static void main(String[] args) { - for (int i = 0; i < 20_000; i++) { - test(false); - } - } - - private static void test(boolean flag) { - A a = new A(); - B b = new B(); - b.field = a; - notInlined(); - Object o = b.field; - if (!(o instanceof A)) { - - } - C c = new C(); - c.field = o; - if (flag) { - field = c.field; - } - } - - private static void notInlined() { - - } - - private static class A { - } - - private static class B { - public Object field; - } - - private static class C { - public Object field; - } -} diff --git a/test/hotspot/jtreg/gc/shenandoah/mxbeans/TestChurnNotifications.java b/test/hotspot/jtreg/gc/shenandoah/mxbeans/TestChurnNotifications.java index 96586b27f65..73743aadedc 100644 --- a/test/hotspot/jtreg/gc/shenandoah/mxbeans/TestChurnNotifications.java +++ b/test/hotspot/jtreg/gc/shenandoah/mxbeans/TestChurnNotifications.java @@ -87,23 +87,6 @@ * TestChurnNotifications */ -/* - * @test id=iu - * @summary Check that MX notifications are reported for all cycles - * @library /test/lib / - * @requires vm.gc.Shenandoah - * - * @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -Dprecise=false - * TestChurnNotifications - * - * @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -Dprecise=false - * TestChurnNotifications - */ - import java.util.*; import java.util.concurrent.atomic.*; import javax.management.*; diff --git a/test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java b/test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java index 0919a21d370..2dd9aba4c62 100644 --- a/test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java +++ b/test/hotspot/jtreg/gc/shenandoah/mxbeans/TestPauseNotifications.java @@ -83,21 +83,6 @@ * TestPauseNotifications */ -/* - * @test id=iu - * @summary Check that MX notifications are reported for all cycles - * @library /test/lib / - * @requires vm.gc.Shenandoah - * - * @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * TestPauseNotifications - * - * @run main/othervm -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * TestPauseNotifications - */ - import java.util.*; import java.util.concurrent.atomic.*; import javax.management.*; diff --git a/test/hotspot/jtreg/gc/shenandoah/oom/TestClassLoaderLeak.java b/test/hotspot/jtreg/gc/shenandoah/oom/TestClassLoaderLeak.java index 9d17e916089..1a3d07bf80d 100644 --- a/test/hotspot/jtreg/gc/shenandoah/oom/TestClassLoaderLeak.java +++ b/test/hotspot/jtreg/gc/shenandoah/oom/TestClassLoaderLeak.java @@ -124,7 +124,6 @@ public class TestClassLoaderLeak { String[][][] modeHeuristics = new String[][][] { {{"satb"}, {"adaptive", "compact", "static", "aggressive"}}, - {{"iu"}, {"adaptive", "aggressive"}}, {{"passive"}, {"passive"}} }; diff --git a/test/hotspot/jtreg/gc/shenandoah/options/TestExplicitGC.java b/test/hotspot/jtreg/gc/shenandoah/options/TestExplicitGC.java index 7fe5d56f7de..4effff7ebd5 100644 --- a/test/hotspot/jtreg/gc/shenandoah/options/TestExplicitGC.java +++ b/test/hotspot/jtreg/gc/shenandoah/options/TestExplicitGC.java @@ -125,23 +125,5 @@ public class TestExplicitGC { output.shouldNotContain(p); } } - - { - OutputAnalyzer output = ProcessTools.executeLimitedTestJava( - "-Xmx128m", - "-XX:+UnlockExperimentalVMOptions", - "-XX:+UseShenandoahGC", - "-Xlog:gc", - "-XX:+ExplicitGCInvokesConcurrent", - "-XX:ShenandoahGCMode=iu", - TestExplicitGC.class.getName(), - "test"); - for (String p : full) { - output.shouldNotContain(p); - } - for (String p : concNormal) { - output.shouldContain(p); - } - } } } diff --git a/test/hotspot/jtreg/gc/shenandoah/options/TestModeUnlock.java b/test/hotspot/jtreg/gc/shenandoah/options/TestModeUnlock.java index 802038363b5..5422a86a496 100644 --- a/test/hotspot/jtreg/gc/shenandoah/options/TestModeUnlock.java +++ b/test/hotspot/jtreg/gc/shenandoah/options/TestModeUnlock.java @@ -45,7 +45,6 @@ public class TestModeUnlock { public static void main(String[] args) throws Exception { testWith("-XX:ShenandoahGCMode=satb", Mode.PRODUCT); - testWith("-XX:ShenandoahGCMode=iu", Mode.EXPERIMENTAL); testWith("-XX:ShenandoahGCMode=passive", Mode.DIAGNOSTIC); } diff --git a/test/hotspot/jtreg/gc/shenandoah/options/TestSelectiveBarrierFlags.java b/test/hotspot/jtreg/gc/shenandoah/options/TestSelectiveBarrierFlags.java index 094e62f53f3..fe29a38c422 100644 --- a/test/hotspot/jtreg/gc/shenandoah/options/TestSelectiveBarrierFlags.java +++ b/test/hotspot/jtreg/gc/shenandoah/options/TestSelectiveBarrierFlags.java @@ -50,7 +50,7 @@ public class TestSelectiveBarrierFlags { public static void main(String[] args) throws Exception { String[][] opts = { new String[] { "ShenandoahLoadRefBarrier" }, - new String[] { "ShenandoahSATBBarrier", "ShenandoahIUBarrier" }, + new String[] { "ShenandoahSATBBarrier" }, new String[] { "ShenandoahCASBarrier" }, new String[] { "ShenandoahCloneBarrier" }, new String[] { "ShenandoahStackWatermarkBarrier" } diff --git a/test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierDisable.java b/test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierDisable.java index aa6b7935649..9bf1e745856 100644 --- a/test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierDisable.java +++ b/test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierDisable.java @@ -44,21 +44,12 @@ public class TestWrongBarrierDisable { "ShenandoahCloneBarrier", "ShenandoahStackWatermarkBarrier", }; - String[] iu = { - "ShenandoahLoadRefBarrier", - "ShenandoahIUBarrier", - "ShenandoahCASBarrier", - "ShenandoahCloneBarrier", - "ShenandoahStackWatermarkBarrier", - }; shouldFailAll("-XX:ShenandoahGCHeuristics=adaptive", concurrent); shouldFailAll("-XX:ShenandoahGCHeuristics=static", concurrent); shouldFailAll("-XX:ShenandoahGCHeuristics=compact", concurrent); shouldFailAll("-XX:ShenandoahGCHeuristics=aggressive", concurrent); - shouldFailAll("-XX:ShenandoahGCMode=iu", iu); shouldPassAll("-XX:ShenandoahGCMode=passive", concurrent); - shouldPassAll("-XX:ShenandoahGCMode=passive", iu); } private static void shouldFailAll(String h, String[] barriers) throws Exception { diff --git a/test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierEnable.java b/test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierEnable.java index 486860728ab..ea64d3ee712 100644 --- a/test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierEnable.java +++ b/test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierEnable.java @@ -23,7 +23,7 @@ */ /* @test - * @summary Test that disabling wrong barriers fails early + * @summary Test that SATB barrier may be enabled for all modes * @requires vm.gc.Shenandoah * @library /test/lib * @run driver TestWrongBarrierEnable @@ -38,19 +38,13 @@ public class TestWrongBarrierEnable { public static void main(String[] args) throws Exception { String[] concurrent = { - "ShenandoahIUBarrier", - }; - String[] iu = { "ShenandoahSATBBarrier", }; - - shouldFailAll("-XX:ShenandoahGCHeuristics=adaptive", concurrent); - shouldFailAll("-XX:ShenandoahGCHeuristics=static", concurrent); - shouldFailAll("-XX:ShenandoahGCHeuristics=compact", concurrent); - shouldFailAll("-XX:ShenandoahGCHeuristics=aggressive", concurrent); - shouldFailAll("-XX:ShenandoahGCMode=iu", iu); + shouldPassAll("-XX:ShenandoahGCHeuristics=adaptive", concurrent); + shouldPassAll("-XX:ShenandoahGCHeuristics=static", concurrent); + shouldPassAll("-XX:ShenandoahGCHeuristics=compact", concurrent); + shouldPassAll("-XX:ShenandoahGCHeuristics=aggressive", concurrent); shouldPassAll("-XX:ShenandoahGCMode=passive", concurrent); - shouldPassAll("-XX:ShenandoahGCMode=passive", iu); } private static void shouldFailAll(String h, String[] barriers) throws Exception { diff --git a/test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithShenandoah.java b/test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithShenandoah.java index 6e98f99b548..501605cd0f5 100644 --- a/test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithShenandoah.java +++ b/test/hotspot/jtreg/gc/stress/gcbasher/TestGCBasherWithShenandoah.java @@ -99,47 +99,6 @@ import java.io.IOException; * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 */ -/* - * @test id=iu-aggressive - * @key stress - * @library / - * @requires vm.gc.Shenandoah - * @requires vm.flavor == "server" & !vm.emulatedClient - * @summary Stress the Shenandoah GC by trying to make old objects more likely to be garbage than young objects. - * - * @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahOOMDuringEvacALot - * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 - * - * @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahAllocFailureALot - * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 - * - * @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 - */ - -/* - * @test id=iu - * @key stress - * @library / - * @requires vm.gc.Shenandoah - * @requires vm.flavor == "server" & !vm.emulatedClient - * @summary Stress the Shenandoah GC by trying to make old objects more likely to be garbage than young objects. - * - * @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:+ShenandoahVerify - * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 - * - * @run main/othervm/timeout=200 -Xlog:gc*=info -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 - */ - /* * @test id=passive-deopt-nmethod * @key stress @@ -221,53 +180,6 @@ import java.io.IOException; * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 */ -/* - * @test id=iu-aggressive-deopt-nmethod - * @key stress - * @library / - * @requires vm.gc.Shenandoah - * @requires vm.flavor == "server" & !vm.emulatedClient & vm.opt.ClassUnloading != false - * @summary Stress Shenandoah GC with nmethod barrier forced deoptimization enabled. - * - * @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline - * -XX:+ShenandoahOOMDuringEvacALot - * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 - * - * @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline - * -XX:+ShenandoahAllocFailureALot - * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 - * - * @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline - * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 - */ - -/* - * @test id=iu-deopt-nmethod - * @key stress - * @library / - * @requires vm.gc.Shenandoah - * @requires vm.flavor == "server" & !vm.emulatedClient & vm.opt.ClassUnloading != false - * @summary Stress Shenandoah GC with nmethod barrier forced deoptimization enabled. - * - * @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline - * -XX:+ShenandoahVerify - * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 - * - * @run main/othervm/timeout=200 -Xlog:gc*=info,nmethod+barrier=trace -Xmx1g -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:+DeoptimizeNMethodBarriersALot -XX:-Inline - * gc.stress.gcbasher.TestGCBasherWithShenandoah 120000 - */ - - public class TestGCBasherWithShenandoah { public static void main(String[] args) throws IOException { TestGCBasher.main(args); diff --git a/test/hotspot/jtreg/gc/stress/gcold/TestGCOldWithShenandoah.java b/test/hotspot/jtreg/gc/stress/gcold/TestGCOldWithShenandoah.java index f1e34bb1b0b..7b9794ec4db 100644 --- a/test/hotspot/jtreg/gc/stress/gcold/TestGCOldWithShenandoah.java +++ b/test/hotspot/jtreg/gc/stress/gcold/TestGCOldWithShenandoah.java @@ -102,45 +102,6 @@ package gc.stress.gcold; * gc.stress.gcold.TestGCOld 50 1 20 10 10000 */ -/* - * @test id=iu-aggressive - * @key stress randomness - * @library / /test/lib - * @requires vm.gc.Shenandoah - * @summary Stress the GC by trying to make old objects more likely to be garbage than young objects. - * - * @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahOOMDuringEvacALot - * gc.stress.gcold.TestGCOld 50 1 20 10 10000 - * - * @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * -XX:+ShenandoahAllocFailureALot - * gc.stress.gcold.TestGCOld 50 1 20 10 10000 - * - * @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive - * gc.stress.gcold.TestGCOld 50 1 20 10 10000 - */ - -/* - * @test id=iu - * @key stress randomness - * @library / /test/lib - * @requires vm.gc.Shenandoah - * @summary Stress the GC by trying to make old objects more likely to be garbage than young objects. - * - * @run main/othervm/timeout=600 -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:+ShenandoahVerify - * gc.stress.gcold.TestGCOld 50 1 20 10 10000 - * - * @run main/othervm -Xmx384M -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * gc.stress.gcold.TestGCOld 50 1 20 10 10000 - */ - public class TestGCOldWithShenandoah { public static void main(String[] args) { diff --git a/test/hotspot/jtreg/gc/stress/systemgc/TestSystemGCWithShenandoah.java b/test/hotspot/jtreg/gc/stress/systemgc/TestSystemGCWithShenandoah.java index 1b12e22b62f..f1b743bfc15 100644 --- a/test/hotspot/jtreg/gc/stress/systemgc/TestSystemGCWithShenandoah.java +++ b/test/hotspot/jtreg/gc/stress/systemgc/TestSystemGCWithShenandoah.java @@ -40,20 +40,6 @@ package gc.stress.systemgc; * -XX:+UseShenandoahGC * gc.stress.systemgc.TestSystemGCWithShenandoah 270 */ - -/* - * @test id=iu - * @key stress - * @library / - * @requires vm.gc.Shenandoah - * @summary Stress the Shenandoah GC full GC by allocating objects of different lifetimes concurrently with System.gc(). - * - * @run main/othervm/timeout=300 -Xlog:gc*=info -Xmx512m -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions - * -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu - * -XX:+ShenandoahVerify - * gc.stress.systemgc.TestSystemGCWithShenandoah 270 - * - */ public class TestSystemGCWithShenandoah { public static void main(String[] args) throws Exception { TestSystemGC.main(args);