Code Review for 6601321

Prepared by: Thomas Rodriguez (never) on Fri Apr 18 13:00:06 PDT 2008
Workspace:/export/ws/hs13
Compare against: /net/jano2.sfbay/export2/hotspot/hg/hotspot-comp.clean
Summary of changes: 4 lines changed: 4 ins; 0 del; 0 mod; 934 unchg
Patch of changes: 6601321.patch
Author comments:
6601321: Assert(j == 1 || b->_nodes[j-1]->is_Phi(),"CreateEx must be first instruction in block")
Reviewed-by:

CreateEx nodes represents the incoming exception at an exception
handler and as such must be the first node in the block so that
register lifetimes are handled correctly. The lcm select logic always
places certain nodes as soon as it sees them, incuding the CreateEx,
but this only works correctly if the CreateEx is seen before other
high priority nodes. There is no explicit logic guaranteeing this
order though it almost always works out that way. The fix is to make
this explicit in the ordering of the worklist so that CreateEx is
always processed first if it exists.

Bug id: 6601321: Assert(j == 1 || b->_nodes[j-1]->is_Phi(),"CreateEx must be first instruction in block")
Legend: Modified file
Deleted file
New file

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/opto/lcm.cpp

4 lines changed: 4 ins; 0 del; 0 mod; 934 unchg

This code review page was prepared using /net/smite.sfbay/never/bin/hgwebrev (vers 23.12-hg-never).