RFR: JDK-8209668: Explicit barriers for C1/assembler
Erik Österlund
erik.osterlund at oracle.com
Mon Aug 20 13:04:17 UTC 2018
Hi Roman,
Do I understand this right that you do not want to perform the resolve
barriers in the arraycopy prologue in the stub generator, and instead
want to put it in the C1 code that calls the arraycopy stub? I'm not
sure how I feel about that. But I suppose I am okay with that, but would
be even happier if the stub generator could deal with this in the
prologue. Are we hunting registers for the write barrier in the
arraycopy stubs? I thought there were a whole bunch of them we could use
in the prologue. Maybe I missed something.
/Erik
On 2018-08-19 20:34, Roman Kennke wrote:
> 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