RFR (S): 8217918: C2: -XX:+AggressiveUnboxing is broken
vladimir.x.ivanov at oracle.com
Fri Feb 1 17:41:48 UTC 2019
> Nice! Did you consider to update indexes in separate pass at the end of
> PhaseRenumberLive? Would it be simpler?
It already does additional pass, but only over the nodes which contain
embedded IDs (those are recorded into _delayed during the first pass).
If you are talking about full pass over the graph, then it would allow
to eliminate _delayed array.
Also, it's possible to do everything in a single pass, but it requires
eager allocation of IDs for not-yet-seen nodes (which needs
> On 1/31/19 11:10 AM, Vladimir Ivanov wrote:
>> When -XX:+AggressiveUnboxing is enabled, LoadNode::split_through_phi()
>> produces Phi nodes with non-negative _inst_mem_id & _inst_id early
>> enough, so it breaks PhaseRenumber pass which doesn't support nodes
>> with embedded IDs.
>> Proposed fix tracks nodes with embedded IDs and updates them once
>> renumbering pass over the graph is over.
>> Testing: hs-precheckin-comp, tier1-5
>> Best regards,
>> Vladimir Ivanov
More information about the hotspot-compiler-dev