review (S) for 6982370: SIGBUS in jbyte_fill

Tom Rodriguez tom.rodriguez at
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 mailing list