[13] RFR (S): 8217918: C2: -XX:+AggressiveUnboxing is broken
Vladimir Ivanov
vladimir.x.ivanov at oracle.com
Fri Feb 1 17:41:48 UTC 2019
Thanks, Vladimir.
> 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
_new2old_map).
Best regards,
Vladimir Ivanov
> On 1/31/19 11:10 AM, Vladimir Ivanov wrote:
>> https://bugs.openjdk.java.net/browse/JDK-8217918
>> http://cr.openjdk.java.net/~vlivanov/8217918/webrev.00/
>>
>> 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
mailing list