Fastpath for new String(bytes...) and String.getBytes(...)

Ulf Zibis Ulf.Zibis at
Fri Mar 20 22:07:35 UTC 2009

Am 20.03.2009 23:17, Xueming Shen schrieb:
> Ulf Zibis wrote:
>> The problem with the dependencies (EUC*, ISO2022*, etc.) from the
>> jis0201 maps I've solved here:
>> So jis0201 can be constructed like all other single-byte charsets.
> nice to see that, so i will try to just take your code when i'm ready 
> to work on the db stuff
> (if we can get that copyright stuff right) or you can start work on 
> the 7 based openjdk.

I'm working on it. May be this would be my first changeset ...but I 
think, I should start with more simple changes e.g.: (see my 
comments there)
I assume, you have read my questions regarding build environment 
addressed to Alan.
If I get stuck, can I count for some help?

> took a very quick scan, no, i don't think we are going to get all of 
> them in in one shoot:-)

Yes, I'm aware of this. I think, I'm able to split my changes into 
reasonable slices.

> (1)don't try PCK and SJIS, they will have to be modified to the map 
> based implementation (i have the
> implementation ready somewhere waiting for review), since the existing 
> implementation has a
> fundamental flaw, the jis<->sjis algorithm (from the book) has the 
> assumption that all input
> bytes are legal jis or sjis...


> (2)anyway reason you do cs.getClass() == XYX.class instead of cs 
> instanceof XYZ?

cs instanceof XYZ also includes subclasses of XYZ, but this often is 
wrong, subclass of XYZ likely contains different mapping, which is not 
equal from XYZ-side of view. Refer:

> (3)some contains() methods do not seem right, they only check sjis0201.

As I said: Charset#contains() should be examined for ALL charsets. :-(

More information about the core-libs-dev mailing list