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

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Feb 23 21:32:10 UTC 2016

Code in sharedRuntime_sparc.cpp looks fine but I am worry about CCallingConventionRequiresIntsAsLongs change. You get 
additional slots on stack which is not expected on sparc:
     if (CCallingConventionRequiresIntsAsLongs && f->isa_int()) {
       fields[cnt++] = TypeLong::LONG;
       fields[cnt] = Type::HALF; // Must add an additional half for a long.

I found next text which says that integer values takes one stack slot only (but it does requires sign extension to 64 bits):


On 2/23/16 8:28 AM, Roland Westrelin wrote:
> Another webrev because using L5 is not necessary when the argument is moved from register to register:
> http://cr.openjdk.java.net/~roland/8148353/webrev.02/
> Roland.

More information about the hotspot-compiler-dev mailing list