< prev index next >

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

Print this page
rev 56811 : 8233500: Shenandoah: Shenandoah load barrier should save registers before calling keep alive barrier on x86

*** 491,500 **** --- 491,501 ---- dst = result_dst; } if (ShenandoahKeepAliveBarrier && on_reference && keep_alive) { + __ push_IU_state(); const Register thread = NOT_LP64(tmp_thread) LP64_ONLY(r15_thread); assert_different_registers(dst, tmp1, tmp_thread); NOT_LP64(__ get_thread(thread)); // Generate the SATB pre-barrier code to log the value of // the referent field in an SATB buffer.
*** 503,512 **** --- 504,514 ---- dst /* pre_val */, thread /* thread */, tmp1 /* tmp */, true /* tosca_live */, true /* expand_call */); + __ pop_IU_state(); } } } void ShenandoahBarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
< prev index next >