Request for reviews (M): 7018378: JSR 292: _bound_int_mh produces wrong result on 64-bit SPARC

Christian Thalinger christian.thalinger at oracle.com
Thu Feb 10 08:56:12 PST 2011


http://cr.openjdk.java.net/~twisti/7018378/webrev.01/

7018378: JSR 292: _bound_int_mh produces wrong result on 64-bit SPARC
Reviewed-by:

The bug is in the implementation of SPARC's _bound_int_direct_mh. The
current code reads a 64-bit integer value with ldx and tries to
sign-extend it properly for st_long. But that sign-extension code is
wrong.

The fix is to replace the existing code with a ld_long/st_long
sequence.

Additionally this change adds a store_sized_value method which is used
along with load_sized_value in the _bound_*_mh adapters for SPARC and
x86.

I also fixed a similar bug in _adapter_opt_i2l to move the right bits
to the right registers for st_long.


More information about the hotspot-compiler-dev mailing list