RFR: JDK-8231087: Shenandoah: Self-fixing references

Aleksey Shipilev shade at redhat.com
Wed Sep 18 11:17:29 UTC 2019

On 9/17/19 7:31 PM, Roman Kennke wrote:
> Jira issue:
> https://bugs.openjdk.java.net/browse/JDK-8231087
> Webrev:
> http://cr.openjdk.java.net/~rkennke/JDK-8231087/webrev.00/

Looks cool.

We are still doing the full non-fixing LRB from assembler, because it is much harder to do there,
or? And that version still does resolve-fwdptr path, so it does not call to slowpath all that often?

*) gc/shenandoah/shenandoahRuntime.(cpp|hpp)

I think your squashed patch misses this important follow-up:

In other words, we should not extend SHR::load_reference_barrier_native without changing all the
uses too, because it wrecks up calling convention when called from assembler.

*) Should be diagnostic. Also, description: "Fix references with load reference barrier. Disabling
this might degrade performance". (It would, because we remove the resolve-fwdptr parts from everywhere):

 395   experimental(bool, ShenandoahSelfFixing, true,                            \
 396           "Load-reference-barrier also fixes references")                   \


More information about the hotspot-gc-dev mailing list