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 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?
Christian Thalinger wrote:
> 6996240: The BitSet.length method sometimes returns an index+1 value
> less than that of the highest bit set.
> 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