1.1 --- a/src/share/vm/opto/lcm.cpp Thu Jun 14 14:59:52 2012 -0700 1.2 +++ b/src/share/vm/opto/lcm.cpp Fri Jun 15 01:25:19 2012 -0700 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. 1.6 + * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 1.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.8 * 1.9 * This code is free software; you can redistribute it and/or modify it 1.10 @@ -139,6 +139,7 @@ 1.11 int iop = mach->ideal_Opcode(); 1.12 switch( iop ) { 1.13 case Op_LoadB: 1.14 + case Op_LoadUB: 1.15 case Op_LoadUS: 1.16 case Op_LoadD: 1.17 case Op_LoadF: 1.18 @@ -445,6 +446,11 @@ 1.19 if( e->is_MachNullCheck() && e->in(1) == n ) 1.20 continue; 1.21 1.22 + // Schedule IV increment last. 1.23 + if (e->is_Mach() && e->as_Mach()->ideal_Opcode() == Op_CountedLoopEnd && 1.24 + e->in(1)->in(1) == n && n->is_iteratively_computed()) 1.25 + continue; 1.26 + 1.27 uint n_choice = 2; 1.28 1.29 // See if this instruction is consumed by a branch. If so, then (as the