| Prepared by: | Chuck Rasbold (rasbold) on Tue Apr 8 13:23:45 PDT 2008 |
|---|---|
| Workspace: | /net/escuintla/export/rasbold/hg/6684385 |
| Compare against: | /net/jano2.sfbay/export2/hotspot/hg/hotspot-comp.clean |
| Summary of changes: | 7 lines changed: 7 ins; 0 del; 0 mod; 2938 unchg |
| Patch of changes: | 6684385.patch |
| Author comments: |
6684385: Loop unswitching crashes without LoopNode
Summary: Without LoopNode, exit early from loop unswitching and partial peeling Reviewed-by: Due to the sometimes unpredictable handling of irreducible loops, a non-irreducible loop was found on the second call to build_loop_tree(), and therefore was not beautified. Without a LoopNode at the head of the loop, policy_unswitching() crashes. Fix policy_unswitching() to return false for any loop which does not have a LoopNode for a head. Do the same for partial_peel(). |
| Legend: |
Modified file Deleted file New file |
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/opto/loopUnswitch.cpp
3 lines changed: 3 ins; 0 del; 0 mod; 237 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/opto/loopopts.cpp
4 lines changed: 4 ins; 0 del; 0 mod; 2701 unchg
This code review page was prepared using /home/rasbold/bin/webrev (vers 23.13-hg).