RFR: JDK-8213381: Hook to allow GC to inject Node::Ideal() calls
Roman Kennke
rkennke at redhat.com
Tue Nov 6 12:28:19 UTC 2018
Shenandoah injects a couple of reshapings into some implementations of
Node::Ideal() (namely CallLeafNode::Ideal() and CmpPNode::Ideal()). I
propose to provide a hook into BarrierSetC2 to better abstract this.
This might be useful for other GCs too.
The approach that I've chosen here is to call BSC2::ideal_node(..) from
the places in phaseX.cpp where we also call Node::Ideal(..). I've
introduced a helper method to do this: first call BSC2::ideal_node(..),
if that returns NULL, call into the usual Node::Ideal(..).
BarrierSetC2::ideal_node(..) must follow the same contract as
Node::Ideal(..) of course.
Bug:
https://bugs.openjdk.java.net/browse/JDK-8213381
Webrev:
http://cr.openjdk.java.net/~rkennke/JDK-8213381/webrev.00/
Testing: hotspot/jtreg:tier1 passes locally.
Can I please get reviews?
Roman
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20181106/f155d93d/signature.asc>
More information about the hotspot-compiler-dev
mailing list