8200310: Avoid charset lookup machinery in java.nio.charset.StandardCharsets

Reviewed-by: sherman, ulfzibis
This commit is contained in:
Martin Buchholz 2018-03-28 21:14:06 -07:00
parent 08adfe31b3
commit 4546512c19
11 changed files with 31 additions and 30 deletions

View file

@ -39,9 +39,6 @@ public class ISO_8859_1
extends Charset
implements HistoricallyNamedCharset
{
public static final ISO_8859_1 INSTANCE = new ISO_8859_1();
public ISO_8859_1() {
super("ISO-8859-1", StandardCharsets.aliases_ISO_8859_1());
}

View file

@ -83,9 +83,12 @@ public class StandardCharsets extends CharsetProvider {
Map<String,Charset> map = cache;
if (map == null) {
map = new Cache();
map.put("utf-8", UTF_8.INSTANCE);
map.put("iso-8859-1", ISO_8859_1.INSTANCE);
map.put("us-ascii", US_ASCII.INSTANCE);
map.put("utf-8", java.nio.charset.StandardCharsets.UTF_8);
map.put("iso-8859-1", java.nio.charset.StandardCharsets.ISO_8859_1);
map.put("us-ascii", java.nio.charset.StandardCharsets.US_ASCII);
map.put("utf-16", java.nio.charset.StandardCharsets.UTF_16);
map.put("utf-16be", java.nio.charset.StandardCharsets.UTF_16BE);
map.put("utf-16le", java.nio.charset.StandardCharsets.UTF_16LE);
cache = map;
}
return map;
@ -123,11 +126,11 @@ public class StandardCharsets extends CharsetProvider {
// Classes eagerly during bootstrap
String csn;
if (charsetName.equals("UTF-8")) {
return UTF_8.INSTANCE;
return java.nio.charset.StandardCharsets.UTF_8;
} else if (charsetName.equals("US-ASCII")) {
return US_ASCII.INSTANCE;
return java.nio.charset.StandardCharsets.US_ASCII;
} else if (charsetName.equals("ISO-8859-1")) {
return ISO_8859_1.INSTANCE;
return java.nio.charset.StandardCharsets.ISO_8859_1;
} else {
csn = canonicalize(toLower(charsetName));
}

View file

@ -36,8 +36,6 @@ public class US_ASCII
extends Charset
implements HistoricallyNamedCharset
{
public static final US_ASCII INSTANCE = new US_ASCII();
public US_ASCII() {
super("US-ASCII", StandardCharsets.aliases_US_ASCII());
}

View file

@ -29,7 +29,7 @@ import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CharsetEncoder;
class UTF_16 extends Unicode
public class UTF_16 extends Unicode
{
public UTF_16() {

View file

@ -29,7 +29,7 @@ import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CharsetEncoder;
class UTF_16BE extends Unicode
public class UTF_16BE extends Unicode
{
public UTF_16BE() {

View file

@ -29,7 +29,7 @@ import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CharsetEncoder;
class UTF_16LE extends Unicode
public class UTF_16LE extends Unicode
{
public UTF_16LE() {

View file

@ -55,9 +55,6 @@ import java.nio.charset.CodingErrorAction;
*/
public final class UTF_8 extends Unicode {
public static final UTF_8 INSTANCE = new UTF_8();
public UTF_8() {
super("UTF-8", StandardCharsets.aliases_UTF_8());
}