Request for review (XS): 7027232: JSR 292: wrong numeric value returned by MH on solaris-sparc
vladimir.kozlov at oracle.com
Tue Mar 15 11:05:46 PDT 2011
Vladimir Kozlov wrote:
> We don't support little-endian SPARC, why add a code which will never be
> 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.
Actually we already dropped v8 C1 compilation:
The only problem is alignment of long values in 32 bit VM so we should be
careful how we load and store them (note, java long fields are always aligned).
> Christian Thalinger wrote:
>> 7027232: JSR 292: wrong numeric value returned by MH on solaris-sparc
>> 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
>> The fix is to use the correct registers for 32-bit big-endian and
>> little-endian (just in case) SPARC.
More information about the hotspot-compiler-dev