RFR: JDK-8213489: GC/C2 abstraction for Compile::final_graph_reshaping() (original) (raw)

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed Nov 7 20:07:08 UTC 2018


Next

could be replaced with

I don't see removal of moved ZGC code in Compile::final_graph_reshaping_impl() Why you skip only assert and not whole switch() (or return) ? Do you want to process some nodes twice: by GC first and then in main switch?

May be pass nop (opcode) to final_graph_reshaping() too to avoid virtual call Opcode() there.

Thanks, Vladimir

On 11/7/18 9:00 AM, Roman Kennke wrote:

GCs might want to do something to nodes in Compile::finalgraphreshaping(). Let's put an abstraction in this place.

The way I did it was to put a call into BSC2::finalgraphreshaping(Compile*, Node*) in front of the huge switch and let the caller know if the node was handled or not. This is subsequently checked in the default-branch: if GC handled it, the asserts are not checked. This should provide the exact same behaviour that we have now, only better and nicer. I also took the opportunity and moved the ZGC related parts there to ZBarrierSetC2. Bug: https://bugs.openjdk.java.net/browse/JDK-8213489 Webrev: http://cr.openjdk.java.net/~rkennke/JDK-8213489/webrev.00/ Testing: hotspot/jtreg:tier1 passes Thoughts? Reviews? Roman



More information about the hotspot-gc-dev mailing list