RFR: 8236181: C2: Remove useless step_over_gc_barrier() in int->bool conversion

Tobias Hartmann tobias.hartmann at oracle.com
Tue Jan 7 07:44:33 UTC 2020


Hi Roman,

this looks good to me.

Best regards,
Tobias

On 18.12.19 13:40, Roman Kennke wrote:
> In cfgnode.cpp, in is_x2logic() that converts a diamond-shape if/else to simple bool patterns, we
> have a step_over_gc_barrier() at the end. This has been introduced by Shenandoah. I believe the
> intention was to convert obj vs null check to a simple boolean expression and eliminate the barrier
> on the unneeded path. However, it is not needed because Shenandoah we already eliminate barriers
> when the only user is a null-check, and it might actually be counter-productive if the barrier is
> needed on other paths, because it keeps the input of the barrier alive. This is probably a left-over
> from pre-LRB.
> 
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8236181
> Webrev:
> http://cr.openjdk.java.net/~rkennke/JDK-8236181/webrev.00/
> 
> Testing: hotspot_gc_shenandoah, submit-repo (in-progress)
> 
> Can I please get a review?
> 
> Thanks,
> Roman
> 


More information about the hotspot-compiler-dev mailing list