RFR(XS): 8148353: [linux-sparc] Crash in libawt.so on Linux SPARC

Dean Long dean.long at oracle.com
Mon Feb 22 21:53:09 UTC 2016


How does this relate to CCallingConventionRequiresIntsAsLongs?  Can you 
just set it to true for Sparc?  It seems like fixing a similar issue on 
ppc64 required a lot more changes, so I'm concerned we might be missing 
something.

dl

On 2/22/2016 2:05 AM, Roland Westrelin wrote:
> Native code is passed an int (in a 64 bit register) which has some bits set in the upper 32 bit half. The native code uses that value for an address computation. That results in a wrong memory access. From a few experiments with code generated by gcc, it seems it expects values to be clean on function entry. The fix cleans the 32 bit value before the native call.
>
> http://cr.openjdk.java.net/~roland/8148353/webrev.00/
>
> Roland.



More information about the hotspot-compiler-dev mailing list