review (S) for 6982370: SIGBUS in jbyte_fill
tom.rodriguez at oracle.com
Fri Sep 3 12:23:57 PDT 2010
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.
More information about the hotspot-compiler-dev