src/cpu/sparc/vm/sharedRuntime_sparc.cpp

changeset 8313
c66164388d38
parent 7210
318cc6fdae90
child 8604
04d83ba48607
child 8997
f8a45a60bc6b
     1.1 --- a/src/cpu/sparc/vm/sharedRuntime_sparc.cpp	Thu Feb 11 12:42:12 2016 +0100
     1.2 +++ b/src/cpu/sparc/vm/sharedRuntime_sparc.cpp	Mon Feb 29 16:08:11 2016 +0100
     1.3 @@ -1326,9 +1326,12 @@
     1.4      }
     1.5    } else if (dst.first()->is_stack()) {
     1.6      // reg to stack
     1.7 -    __ st_ptr(src.first()->as_Register(), SP, reg2offset(dst.first()) + STACK_BIAS);
     1.8 +    // Some compilers (gcc) expect a clean 32 bit value on function entry
     1.9 +    __ signx(src.first()->as_Register(), L5);
    1.10 +    __ st_ptr(L5, SP, reg2offset(dst.first()) + STACK_BIAS);
    1.11    } else {
    1.12 -    __ mov(src.first()->as_Register(), dst.first()->as_Register());
    1.13 +    // Some compilers (gcc) expect a clean 32 bit value on function entry
    1.14 +    __ signx(src.first()->as_Register(), dst.first()->as_Register());
    1.15    }
    1.16  }
    1.17  

mercurial