| 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).