RFR(S): 8186716: [MVT] C2 crashes with "assert(!n->is_ValueType()) failed: value types should not be split through phis"
Tobias Hartmann
tobias.hartmann at oracle.com
Tue Sep 19 10:00:05 UTC 2017
Hi,
please review the following patch:
https://bugs.openjdk.java.net/browse/JDK-8186716
http://cr.openjdk.java.net/~thartmann/8186716/webrev.00/
C2 crashes with an assert while trying to split a value type through a PhiNode. We need to avoid this because value
types are not merged through Phis but each value input needs to be merged individually.
I fixed this by scalarizing value types in safepoints right after parsing (and incremental inlining) such that value
type nodes are only connected to allocate nodes during loop optimizations. After removing and unlinking redundant
allocations, the value type nodes are dead and no splitting is required.
All tests pass.
Thanks,
Tobias
More information about the valhalla-dev
mailing list