< prev index next >

src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp

Print this page
rev 55741 : 8228369: Shenandoah: Refactor LRB C1 stubs

*** 62,82 **** void storeval_barrier_impl(MacroAssembler* masm, Register dst, Register tmp); address generate_shenandoah_lrb(StubCodeGenerator* cgen); ! void save_vector_registers(MacroAssembler* masm); ! void restore_vector_registers(MacroAssembler* masm); public: static address shenandoah_lrb(); void storeval_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); void generate_c1_pre_barrier_runtime_stub(StubAssembler* sasm); #endif void load_reference_barrier(MacroAssembler* masm, Register dst); void load_reference_barrier_native(MacroAssembler* masm, Register dst); --- 62,91 ---- void storeval_barrier_impl(MacroAssembler* masm, Register dst, Register tmp); address generate_shenandoah_lrb(StubCodeGenerator* cgen); ! // Generate cset check. If obj is in cset, branch to in_cset label, otherwise fall through ! // obj: Register holding the oop, preserved ! // tmp1, tmp2: temp registers, trashed ! void gen_cset_check(MacroAssembler* masm, Register obj, Register tmp1, Register tmp2, Label& in_cset); ! ! // Generate check if object is resolved. Branch to resolved label, if not. Otherwise return resolved ! // object in obj register. ! // obj: object, resolved object on normal return ! // tmp: temp register, trashed ! void gen_resolved_check(MacroAssembler* masm, Register obj, Register tmp, Label& not_resolved); public: static address shenandoah_lrb(); void storeval_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); void generate_c1_pre_barrier_runtime_stub(StubAssembler* sasm); + void generate_c1_load_reference_barrier_runtime_stub(StubAssembler* sasm); #endif void load_reference_barrier(MacroAssembler* masm, Register dst); void load_reference_barrier_native(MacroAssembler* masm, Register dst);
< prev index next >