8141132: JEP 254: Compact Strings
Summary: Adopt a more space-efficient internal representation for strings.
Reviewed-by: alanb, bdelsart, coleenp, iklam, jiangli, jrose, kevinw, naoto, pliden, roland, smarks, twisti
Contributed-by: Brent Christian <brent.christian@oracle.com>, Vivek Deshpande <vivek.r.deshpande@intel.com>, Tobias Hartmann <tobias.hartmann@oracle.com>, Charlie Hunt <charlie.hunt@oracle.com>, Vladimir Kozlov <vladimir.kozlov@oracle.com>, Roger Riggs <roger.riggs@oracle.com>, Xueming Shen <xueming.shen@oracle.com>, Aleksey Shipilev <aleksey.shipilev@oracle.com>, Sandhya Viswanathan <sandhya.viswanathan@intel.com>
## Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.## This code is free software; you can redistribute it and/or modify it# under the terms of the GNU General Public License version 2 only, as# published by the Free Software Foundation. Oracle designates this# particular file as subject to the "Classpath" exception as provided# by Oracle in the LICENSE file that accompanied this code.## This code is distributed in the hope that it will be useful, but WITHOUT# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License# version 2 for more details (a copy is included in the LICENSE file that# accompanied this code).## You should have received a copy of the GNU General Public License version# 2 along with this work; if not, write to the Free Software Foundation,# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.## Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA# or visit www.oracle.com if you need additional information or have any# questions.#GENSRC_CHARSETCODER :=GENSRC_CHARSETCODER_DST := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/java/nio/charsetGENSRC_CHARSETCODER_SRC := $(JDK_TOPDIR)/src/java.base/share/classes/java/nioGENSRC_CHARSETCODER_TEMPLATE := $(GENSRC_CHARSETCODER_SRC)/charset/Charset-X-Coder.java.template################################################################################$(GENSRC_CHARSETCODER_DST)/CharsetDecoder.java: $(GENSRC_CHARSETCODER_TEMPLATE) $(MKDIR) -p $(@D) -$(RM) $@.tmp $(TOOL_SPP) < $< >$@.tmp \ -Kdecoder \ -DA='A' \ -Da='a' \ -DCode='Decode' \ -Dcode='decode' \ -DitypesPhrase='bytes in a specific charset' \ -DotypesPhrase='sixteen-bit Unicode characters' \ -Ditype='byte' \ -Dotype='character' \ -DItype='Byte' \ -DOtype='Char' \ -Dcoder='decoder' \ -DCoder='Decoder' \ -Dcoding='decoding' \ -DOtherCoder='Encoder' \ -DreplTypeName='string' \ -DdefaultRepl='"\\uFFFD"' \ -DdefaultReplName='<tt>"\\uFFFD"<\/tt>' \ -DreplType='String' \ -DreplFQType='java.lang.String' \ -DreplLength='length()' \ -DItypesPerOtype='CharsPerByte' \ -DnotLegal='not legal for this charset' \ -Dotypes-per-itype='chars-per-byte' \ -DoutSequence='Unicode character' $(MV) $@.tmp $@GENSRC_CHARSETCODER += $(GENSRC_CHARSETCODER_DST)/CharsetDecoder.java################################################################################$(GENSRC_CHARSETCODER_DST)/CharsetEncoder.java: $(GENSRC_CHARSETCODER_TEMPLATE) $(MKDIR) -p $(@D) -$(RM) $@.tmp $(TOOL_SPP) < $< >$@.tmp \ -Kencoder \ -DA='An' \ -Da='an' \ -DCode='Encode' \ -Dcode='encode' \ -DitypesPhrase='sixteen-bit Unicode characters' \ -DotypesPhrase='bytes in a specific charset' \ -Ditype='character' \ -Dotype='byte' \ -DItype='Char' \ -DOtype='Byte' \ -Dcoder='encoder' \ -DCoder='Encoder' \ -Dcoding='encoding' \ -DOtherCoder='Decoder' \ -DreplTypeName='byte array' \ -DdefaultRepl='new byte[] { (byte)'"'"\\?"'"' }' \ -DdefaultReplName='<tt>{<\/tt>\ <tt>(byte)'"'"\\?"'"'<\/tt>\ <tt>}<\/tt>' \ -DreplType='byte[]' \ -DreplFQType='byte[]' \ -DreplLength='length' \ -DItypesPerOtype='BytesPerChar' \ -DnotLegal='not a legal sixteen-bit Unicode sequence' \ -Dotypes-per-itype='bytes-per-char' \ -DoutSequence='byte sequence in the given charset' $(MV) $@.tmp $@GENSRC_CHARSETCODER += $(GENSRC_CHARSETCODER_DST)/CharsetEncoder.javaGENSRC_JAVA_BASE += $(GENSRC_CHARSETCODER)################################################################################$(GENSRC_CHARSETCODER): $(BUILD_TOOLS_JDK)