RFR: 8228369: Shenandoah: Refactor LRB C1 stubs

Roman Kennke rkennke at redhat.com
Mon Aug 12 16:18:54 UTC 2019


Hi Aleksey,

> *) Note stuff like:
>   623   __ blrt(lr, 1, 0, MacroAssembler::ret_type_integral);
> 
> ...would not compile after AArch64 simulator removal (JDK-8228400). The equivalent is:
>   __ blr(lr);

Right. Fixed that.

> *) In src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp,
> _load_reference_barrier_rt_code_blob would be left uninitialized with -ShenandoahLoadRefBarrier?
> 
>   if (ShenandoahLoadRefBarrier) {
>     C1ShenandoahLoadReferenceBarrierCodeGenClosure lrb_code_gen_cl;
>     _load_reference_barrier_rt_code_blob = ...
>   }

I added initialization to NULL in the ShBarrierSetC1 to the constructor,
and assert != NULL in the accessor to both stubs.

Incremental changes:
http://cr.openjdk.java.net/~rkennke/JDK-8228369/webrev.03.diff/
Full:
http://cr.openjdk.java.net/~rkennke/JDK-8228369/webrev.03/

Good now?

Roman



More information about the shenandoah-dev mailing list