RFR: Backport SFX-related changes to sh/jdk8

Roman Kennke rkennke at redhat.com
Sat May 23 20:40:33 UTC 2020


I totally forgot to include:

8238153 CTW: C2 (Shenandoah) compilation fails with "Unknown node in
get_load_addr: CreateEx"

A simple fix that applied cleanly.

Also, I made a mistake when fixing x86_32 which broke x86_64, and I
fixed it now:

http://cr.openjdk.java.net/~rkennke/sfx-jdk8/webrev.03/

Re-run tests on x86_64.

Please review webrev.03!

Roman


On Sat, 2020-05-23 at 00:10 +0200, Roman Kennke wrote:
> This backports changes related to self-fixing barriers to sh/jdk8:
> 
> - 8202976: Add C1 lea patching support for x86:
> This is non-Shenandoah change from upstream JDK11. We need support
> for
> patching lea instructions, it has been added to upstream in jdk11
> timeframe for ZGC. I modified it so that patching code is only
> generated when using Shenandoah. I also added a tiny bit of AARCH64
> support, which came in upstream with the huge ZGC Support for AARCH64
> change.
> 
> - 8231087: Shenandoah: Self-fixing load reference barriers for C1/C2
> This is the main change for C2 support. It also contains C1 support,
> but it wouldn't do anything in JDK8 until it also gets interpreter
> support, because in sh/jdk8, C1 LRB calls via interpreter LRB-asm
> (not
> via its own stub). The C1 parts are significantly different, please
> review carefully.
> 
> - 8233021: Shenandoah: SBSC2::is_shenandoah_lrb_call should match all
> LRB shapes
> A trivial bug-fix that I took 1:1 to sh/jdk8
> 
> - 8232992: Shenandoah: Implement self-fixing interpreter LRB
> Interpreter support. Pretty much a rewrite, because 1. the barrier
> interface is very different and 2. it also needs to handle C1 calls
> and
> do some slightly different register shuffling
> 
> 
> Webrev:
> http://cr.openjdk.java.net/~rkennke/sfx-jdk8/webrev.01/
> 
> Testing: hotspot_gc_shenandoah (x86_64, aarch64), specjvm (with Xint,
> C1-only and C2)
> 
> I can build x86_32, but cannot test it here because of a weird kernel
> bug. Can somebody with a stable x86_32 env please give it a try?
> 
> Can I also please get a careful review?
> 
> Thanks,
> Roman
> 
> 



More information about the shenandoah-dev mailing list