[lworld] RFR: 8267818: [lworld] [AArch64] Shenandoah barrier set build warnings and register conflict

Frederic Parain fparain at openjdk.java.net
Thu May 27 21:08:27 UTC 2021


On Thu, 27 May 2021 10:26:03 GMT, Nick Gasson <ngasson at openjdk.org> wrote:

> I get this warning when building with Shenandoah enabled on AArch64:
> 
> [...]/barrierSetAssembler_aarch64.hpp:47:16: warning: 'virtual void BarrierSetAssembler::store_at(MacroAssembler*, DecoratorSet, BasicType, Address, Register, Register, Register, Register)' was hidden [-Woverloaded-virtual]
> 
> BarrierSetAssembler::store_at() gained an extra tmp3 argument. (The 
> same fix was already applied on x86.)
> 
> ShenahdoahBarrierSetAssembler::load_at() uses rscratch1 and rscratch2
> internally but the interpreter _fast_qgetfield implementation passes
> rscratch1 as a separate temporary via get_default_value_oop() which
> causes an assert_different_registers() failure. Instead just allocate a
> fresh temporary register and pass that.

Looks good to me.

Fred

-------------

Marked as reviewed by fparain (Committer).

PR: https://git.openjdk.java.net/valhalla/pull/430


More information about the valhalla-dev mailing list