RFR(M): 8137168: Replace IfNode with a new RangeCheckNode for range checks

Vladimir Kozlov vladimir.kozlov at oracle.com
Mon Nov 9 17:49:13 UTC 2015


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