Prepared by: | never on Thu Feb 23 20:40:44 PST 2012 |
---|---|
Workspace: | /net/smite.us.oracle.com/export/ws/ucrypt |
Compare against: | ssh://hg.openjdk.java.net/hsx/hotspot-comp-gate/hotspot |
Summary of changes: | 489 lines changed: 451 ins; 22 del; 16 mod; 3645 unchg |
Patch of changes: | 7145024.patch |
Author comments: |
7145024: Crashes in ucrypto related to C2 Reviewed-by: There are two issues here. The first issue, that resulted in the asserts was incorrect incrementing of the slots when building the oop map. Fixing that exposed the second issue which is that different signatures may require very different orders for the move to avoid clobbering other arguments. There's no simple way to order them safely so I resurrected some old C1 code for computing a safe order for issuing stores and break any cycles in those stores. The code itself is fairly general but it's not necessary on the other platforms so I kept it in the platform dependent code instead of moving it into a shared file. Tested with a new manual test that exercises all permutations of 8 arguments that mix primtives and arrays on Solaris, Linux and Windows. Also tested with failing javasoft.sqe.tests.api.java.security.Signature.updateTests test. |
Bug id: | 7145024 Crashes in ucrypto related to C2 |
Legend: |
Modified file Deleted file New file |
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/cpu/x86/vm/sharedRuntime_x86_64.cpp
233 lines changed: 195 ins; 22 del; 16 mod; 3645 unchg
------ ------ ------
------
---
New
Patch
Raw
test/compiler/7145024/Test7145024.sh
133 lines changed: 133 ins; 0 del; 0 mod; 0 unchg
------ ------ ------
------
---
New
Patch
Raw
test/compiler/7145024/Generate.java
123 lines changed: 123 ins; 0 del; 0 mod; 0 unchg
This code review page was prepared using /never/bin/webrev (vers 23.18-hg-never-dev).