# HG changeset patch # User never # Date 1208984234 25200 # Node ID b0d8a9fd36468f81d38f0833725809ae0941c9c3 # Parent 1aacedc9db7ca7b89da8caa95b7a301a94d3e8cc 6601321: Assert(j == 1 || b->_nodes[j-1]->is_Phi(),"CreateEx must be first instruction in block") Reviewed-by: kvn, rasbold, sgoldman, jrose diff -r 1aacedc9db7c -r b0d8a9fd3646 hotspot/src/share/vm/opto/lcm.cpp --- a/hotspot/src/share/vm/opto/lcm.cpp Wed Apr 23 11:20:36 2008 -0700 +++ b/hotspot/src/share/vm/opto/lcm.cpp Wed Apr 23 13:57:14 2008 -0700 @@ -629,6 +629,10 @@ // of the phi to be scheduled first. The select() method breaks // ties in scheduling by worklist order. delay.push(m); + } else if (m->is_Mach() && m->as_Mach()->ideal_Opcode() == Op_CreateEx) { + // Force the CreateEx to the top of the list so it's processed + // first and ends up at the start of the block. + worklist.insert(0, m); } else { worklist.push(m); // Then on to worklist! }