RFR(M): 8137168: Replace IfNode with a new RangeCheckNode for range checks
Roland Westrelin
roland.westrelin at oracle.com
Tue Nov 10 11:22:19 UTC 2015
Thanks Vladimir & Tobias for the re-review.
Roland.
> On Nov 9, 2015, at 6:49 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>
> Looks good.
>
> Thanks,
> Vladimir
>
> On 11/9/15 3:05 AM, Roland Westrelin wrote:
>> I noticed the following change:
>>
>> --- a/src/share/vm/opto/loopTransform.cpp
>> +++ b/src/share/vm/opto/loopTransform.cpp
>> @@ -2036,8 +2036,8 @@
>> // loop-invariant.
>> for( uint i = 0; i < loop->_body.size(); i++ ) {
>> Node *iff = loop->_body[i];
>> - if( iff->Opcode() == Op_If ) { // Test?
>> -
>> + if (iff->Opcode() == Op_If ||
>> + iff->Opcode() == Op_RangeCheck) { // Test?
>> // Test is an IfNode, has 2 projections. If BOTH are in the loop
>> // we need loop unswitching instead of iteration splitting.
>> Node *exit = loop->is_loop_exit(iff);
>>
>> was missing from the webrev so I intend to push it with the rest of the change. Full webrev:
>>
>> http://cr.openjdk.java.net/~roland/8137168/webrev.01/
>>
>> Roland.
>>
More information about the hotspot-compiler-dev
mailing list