Code Review for 6982370

Prepared by:never on Fri Sep 3 13:27:12 PDT 2010
Compare against: ssh://
Summary of changes: 190 lines changed: 183 ins; 0 del; 7 mod; 3170 unchg
Patch of changes: 6982370.patch
Author comments:
6982370: SIGBUS in jbyte_fill

In the new fill routines copy less than 8 bytes long skip over the
main code and go the final cleanup stage. On sparc this isn't right
since it still hasn't accounted for alignment. The fix is to have a
special path for handling that. The code doesn't crash on 32 bit
sparc because handling of misaligned stores seems to be enabled.
Additionally I noticed a problem with the logic for clearing the high
bits of a short value. The logic I wrote works correctly for clean
ints but doesn't work for 64 bit signed extended ints resulting in
invalid fill values in some cases. Tested with failing nightly and
new test case to exercise the various alignments.

Legend: Modified file
Deleted file
New file

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/cpu/sparc/vm/stubGenerator_sparc.cpp

51 lines changed: 44 ins; 0 del; 7 mod; 3170 unchg

------ ------ ------ ------ --- New Patch Raw test/compiler/6982370/

139 lines changed: 139 ins; 0 del; 0 mod; 0 unchg

This code review page was prepared using /never/bin/webrev (vers 23.18-hg-never).