RFR(S): 8174164: SafePointNode::_replaced_nodes breaks with irreducible loops
rwestrel at redhat.com
Wed Feb 15 09:40:56 UTC 2017
> Wow, so much changes.
Doesn't that make my initial change (the one that only takes newer nodes
into consideration) look more reasonable?
> Can you add _irreducible_loop field to CallGenerator instead of passing as argument?
The _irreducible_loop field only needs to be InlineCallGenerator so that
does seem better. Unfortunately, LibraryIntrinsic objects are cached so
there's no way to initialize _irreducible_loop for them (and there's a
use of replaced nodes for the array copy intrinsic).
Alternatively, we could use a coarser grain switch: make
Compile::_parsed_irreducible_loop product and use it to decide whether
to apply replaced nodes or not.
More information about the hotspot-compiler-dev