Hi all, I have written (together with Erik Österlund) a draft JEP for simplifying C2's handling of G1 barriers, see https://bugs.openjdk.org/browse/JDK-8322295. This is a heads-up that the implementation of this JEP requires platform-specific support from all OpenJDK ports. While interpreter G1 barrier implementations are available for all ports and can be largely reused, the JEP additionally requires 1) defining G1-specific ADL instructions and 2) implementing platform-specific logic to support runtime calls from the barrier code. For ports that already support ZGC, the effort should be smaller, as the logic for 2) can be shared between ZGC and G1.
To give a rough estimation of the required effort, the x86-64 changes in our prototype involve approximately 900 line insertions and 300 line deletions over 9 files, among which approximately 300 deleted and inserted lines correspond to logic factored out from ZGC. Thanks, Roberto Castañeda Lozano (HotSpot compiler team at Oracle)