Review request for 6795561
Xueming Shen
Xueming.Shen at Sun.COM
Tue Mar 31 21:16:09 UTC 2009
looks good; approved.
Alan Bateman wrote:
> 6795561: (bf) CharBuffer.subSequence() uses wrong capacity value for
> new buffer
>
> Iris, you might want to review this one.
> CharBuffer#subSequence(start,end) is specified to return a char buffer
> that has a position of position() + start, a limit of position() +
> end, and a capacity of capacity(). For buffers created via
> CharBuffer#allocate or char buffer views we've always generated code
> that return a CharBuffer with a position of 0 and a limit and capacity
> that is the length of the subsequence. To my knowledge this hasn't
> been noticed, probably because it required casting the result to a
> char buffer. In jdk7 this method has been updated to take advantage of
> covariant returns so it's more likely to be noticed now. Furthermore,
> your old adversary StringCharBuffer (used when wrapping a char
> sequence) has been returning a buffer with the incorrect capacity
> since 6546113 [1], leading to the IOOBE in the bug report. We should
> have caught this but didn't. To that end, I've added coverage to the
> unit test.
>
> The webrev is here:
> http://cr.openjdk.java.net/~alanb/6795561/webrev.00/
>
> Thanks,
> Alan.
>
> [1] http://hg.openjdk.java.net/jdk7/tl/jdk/rev/c73cb47fe250
More information about the core-libs-dev
mailing list