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

Nick Gasson ngasson at openjdk.java.net
Thu May 27 10:32:30 UTC 2021

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.


Commit messages:
 - 8267818: [lworld] [AArch64] Shenandoah barrier set build warnings and register conflict

Changes: https://git.openjdk.java.net/valhalla/pull/430/files
 Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=430&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8267818
  Stats: 7 lines in 3 files changed: 0 ins; 0 del; 7 mod
  Patch: https://git.openjdk.java.net/valhalla/pull/430.diff
  Fetch: git fetch https://git.openjdk.java.net/valhalla pull/430/head:pull/430

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

More information about the valhalla-dev mailing list