Please review: surrogate fiddle

Masayoshi Okutsu masayoshi.okutsu at oracle.com
Tue Mar 19 02:44:08 UTC 2013


Thank you for catching this bug. AbstractStringBuilder.codePointAt(int) 
should have called Character.codePointAt(char[], int, int).

As for duplicating code, I originally duplicated similar code everywhere 
for performance. But someone told me probably during code review that 
hotspot inlining was as good as C/C++ macros, and I agreed to replace 
the duplicated code with method calls.

Masayoshi

On 3/19/2013 7:13 AM, Martin Buchholz wrote:
> It does change the behavior.  The existing behavior is clearly a bug, since
> it reads a char that should be inaccessible.  I don't believe AIOOBE
> exception is thrown, with or without my fix.
>
>
> On Mon, Mar 18, 2013 at 3:08 PM, Mike Duigou <mike.duigou at oracle.com> wrote:
>
>> This change would seem to change the result when a high surrogate is the
>> last char in the String/StringBuilder/StringBuffer.
>>
>> Rather than throwing an ArrayIndexException it will return the high
>> surrogate char.
>>
>> I am going to defer to Sherman on this. I don't know that returning the
>> character is the right thing to do.
>>
>> Sherman?
>>
>> Mike
>>
>> On Mar 18 2013, at 14:28 , Martin Buchholz wrote:
>>
>> Hello Jim, Mike,
>>
>> I'd like you to do a code review:
>>
>> http://cr.openjdk.java.net/~martin/webrevs/openjdk8/surrogate-fiddle/
>>
>>
>>




More information about the core-libs-dev mailing list