Code Review for 6828024

Prepared by:never on Wed Apr 15 16:09:41 PDT 2009
Compare against: ssh://
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).