Prepared by: | never on Fri Sep 3 13:27:12 PDT 2010 |
---|---|
Workspace: | /net/smite.sfbay/export/ws/ptr |
Compare against: | ssh://hg.openjdk.java.net/jdk7/hotspot-comp-gate/hotspot |
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 Summary: Reviewed-by: 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/Test6982370.java
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).