From fd80ad4d3ce198198977981f205acfa027d55db1 Mon Sep 17 00:00:00 2001 From: never Date: Wed, 23 Apr 2008 13:57:14 -0700 Subject: [PATCH] 6601321: Assert(j == 1 || b->_nodes[j-1]->is_Phi(),"CreateEx must be first instruction in block") Reviewed-by: kvn, rasbold, sgoldman, jrose --- src/share/vm/opto/lcm.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/share/vm/opto/lcm.cpp b/src/share/vm/opto/lcm.cpp index 7aa32b524..13c3d774c 100644 --- a/src/share/vm/opto/lcm.cpp +++ b/src/share/vm/opto/lcm.cpp @@ -629,6 +629,10 @@ bool Block::schedule_local(PhaseCFG *cfg, Matcher &matcher, int *ready_cnt, Vect // 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! } -- GitLab