Request for reviews (XS): 6996240: The BitSet.length method sometimes returns an index+1 value less than that of the highest bit set.

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Nov 2 12:48:55 PDT 2010


Thank you, Christian

All registers on sparc are 64 bit and all operations are 64 bit.
Which instruction produce wrong value? Did you step per instruction in debugger?

Thanks,
Vladimir

Christian Thalinger wrote:
> http://cr.openjdk.java.net/~twisti/6996240/webrev.01/
> 
> 6996240: The BitSet.length method sometimes returns an index+1 value 
> less than that of the highest bit set.
> Reviewed-by:
> 
> It's a problem with countLeadingZerosL.  dst is a iRegI but is used as
> temporary for an iRegL OR value.
> 
> The fix is to use a second temporary iRegL register for the OR value.
> 
> Tested with the failing testcase attached to the CR.


More information about the hotspot-compiler-dev mailing list