< prev index next >

src/java.base/share/classes/sun/nio/cs/StandardCharsets.java.template

Print this page
rev 49550 : 8201179: Regression due loading java.nio.charset.StandardCharsets during bootstrap
Reviewed-by: sherman

*** 81,96 **** private Map<String,Charset> cache() { Map<String,Charset> map = cache; if (map == null) { map = new Cache(); ! 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; } --- 81,96 ---- private Map<String,Charset> cache() { 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-16", UTF_16.INSTANCE); ! map.put("utf-16be", UTF_16BE.INSTANCE); ! map.put("utf-16le", UTF_16LE.INSTANCE); cache = map; } return map; }
*** 120,138 **** } private Charset lookup(String charsetName) { init(); ! // By checking these built-ins we can avoid initializing Aliases and ! // Classes eagerly during bootstrap String csn; if (charsetName.equals("UTF-8")) { ! return java.nio.charset.StandardCharsets.UTF_8; } else if (charsetName.equals("US-ASCII")) { ! return java.nio.charset.StandardCharsets.US_ASCII; } else if (charsetName.equals("ISO-8859-1")) { ! return java.nio.charset.StandardCharsets.ISO_8859_1; } else { csn = canonicalize(toLower(charsetName)); } // Check cache first --- 120,142 ---- } private Charset lookup(String charsetName) { init(); ! // By checking these built-ins we can avoid initializing Aliases, ! // Classes and Cache eagerly during bootstrap. ! // ! // Initialization of java.nio.charset.StandardCharsets should be ! // avoided here to minimize time spent in System.initPhase1, as it ! // may delay initialization of performance critical VM subsystems. String csn; if (charsetName.equals("UTF-8")) { ! return UTF_8.INSTANCE; } else if (charsetName.equals("US-ASCII")) { ! return US_ASCII.INSTANCE; } else if (charsetName.equals("ISO-8859-1")) { ! return ISO_8859_1.INSTANCE; } else { csn = canonicalize(toLower(charsetName)); } // Check cache first
< prev index next >