RFR: JDK-8209668: Explicit barriers for C1/assembler

Roman Kennke rkennke at redhat.com
Sun Aug 19 18:34:01 UTC 2018


I am x-posting this to hotspot-gc-dev and hotspot-compiler-dev because
it touches both.

In order to support GCs like Shenandoah, we need some explicit read- or
write-barriers in a few places. We already introduced them in the
runtime and interpreter, this change intends to do the same for C1 (this
time the assembly part).

The places are based on a few years of Shenandoah development experience
and are:
- arraycopy
- locking

While we could handle those in LIR too (we did that for some time), it
is *much* more cumbersome because, for example, arraycopy uses fixed
registers.

The barriers are created via the existing BarrierSetAssembler API.

Webrev:
http://cr.openjdk.java.net/~rkennke/JDK-8209668/webrev.00/
Bug:
https://bugs.openjdk.java.net/browse/JDK-8209668

Testing: hotspot/tier1 locally

Can I please get a review?
Thank you,
Roman



More information about the hotspot-gc-dev mailing list