Prepared by: | never on Tue Aug 25 15:22:50 PDT 2009 |
---|---|
Workspace: | /net/smite.sfbay/export/ws/baseline |
Compare against: | ssh://hg.openjdk.java.net/jdk7/hotspot-comp-gate/hotspot |
Summary of changes: | 94 lines changed: 82 ins; 4 del; 8 mod; 6489 unchg |
Patch of changes: | 6855215.patch |
Author comments: |
This appears to be a day one bug with the handling of log and log10 when using the x86 FPU instead of SSE. The code emission for log/log10 requires an extra FPU stack slot as a temp and that wasn't being accounted for which lead to stack overflows during the calculation which caused the NaNs. The fix is to record temporaries for log and log10 in the same way it's done for tan/sin/cos. Tested with failing test case. The changes don't effect sparc since it uses a runtime call. |
Legend: |
Modified file Deleted file New file |
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/c1/c1_LIR.hpp
2 lines changed: 0 ins; 0 del; 2 mod; 2133 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/c1/c1_LIR.cpp
9 lines changed: 3 ins; 2 del; 4 mod; 1887 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/cpu/x86/vm/c1_LIRGenerator_x86.cpp
2 lines changed: 0 ins; 0 del; 2 mod; 1303 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/cpu/x86/vm/c1_LinearScan_x86.cpp
26 lines changed: 24 ins; 2 del; 0 mod; 1166 unchg
------ ------ ------
------
---
New
Patch
Raw
test/compiler/6855215/Test6855215.java
55 lines changed: 55 ins; 0 del; 0 mod; 0 unchg
This code review page was prepared using /net/smite.sfbay/never/bin/webrev (vers 23.18-hg-never).