Request for review (XS): 7027232: JSR 292: wrong numeric value returned by MH on solaris-sparc
Vladimir Kozlov
vladimir.kozlov at oracle.com
Tue Mar 15 10:22:32 PDT 2011
Christian,
We don't support little-endian SPARC, why add a code which will never be executed?
On side note (RFE): we should officially drop v8 support (C2 does not support
already, only C1). There are already several places where we use stx/ldx without
check that it is v9 (yes, we still have an assert which is fine). Also std/ldd
is emulated on modern SPARC and so is very slow.
Thanks,
Vladimir
Christian Thalinger wrote:
> http://cr.openjdk.java.net/~twisti/7027232/
>
> 7027232: JSR 292: wrong numeric value returned by MH on solaris-sparc
> Reviewed-by:
>
> After 7018378 one of the tests of java/dyn/MethodHandlesTest fails on
> 32-bit SPARC. st_long uses STD on 32-bit SPARC and the LSW and MSW
> bits are not moved to the proper registers resulting in a wrong
> result.
>
> The fix is to use the correct registers for 32-bit big-endian and
> little-endian (just in case) SPARC.
>
> src/cpu/sparc/vm/methodHandles_sparc.cpp
>
More information about the hotspot-compiler-dev
mailing list