Code Review for 7145024

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).