Prepared by: | never on Wed Apr 15 16:09:41 PDT 2009 |
---|---|
Workspace: | /net/smite.sfbay/export/ws/c1 |
Compare against: | ssh://hg.openjdk.java.net/jdk7/hotspot-comp-gate/hotspot |
Summary of changes: | 55 lines changed: 54 ins; 1 del; 0 mod; 6989 unchg |
Patch of changes: | 6828024.patch |
Author comments: |
The handling of fixed intervals has some restrictions which should be enforced by asserts in the early passes of linear scan. The current assert is too weak and should be strengthened. Our current platforms don't currently fail this assert but problems in other ports exposed the weakness of the existing assert. The new assert basically checks that fixed intervals are not live across a safepoint. Fixed intervals should only ever by live into a potential safepoint. The reason for this restriction is that the current interval representation allow intervals to only have one type and since fixed intervals are represented by a single interval they can't be processed for oopmaps correctly. Additionally fixed intervals can't be split by the current implementation. Longer term the creation and handling of fixed intervals should be done differently but that's a larger project. Tested with ctw and nsk on sparc and intel to ensure no existing code triggers the assert. The new assert was validated in another port that tripped across the problem. |
Legend: |
Modified file Deleted file New file |
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/c1/c1_LinearScan.cpp
54 lines changed: 53 ins; 1 del; 0 mod; 6542 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/includeDB_compiler1
1 line changed: 1 ins; 0 del; 0 mod; 447 unchg
This code review page was prepared using /net/smite.sfbay/never/bin/webrev (vers 23.18-hg-never).