6639443: Character.toCodePoint and Character.toSurrogates can be optimized
Summary: rearranging code saves 5 bytes of bytecode
Reviewed-by: sherman
## Copyright 1999-2007 Sun Microsystems, Inc. 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. Sun designates this# particular file as subject to the "Classpath" exception as provided# by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,# CA 95054 USA or visit www.sun.com if you need additional information or# have any questions.## WARNING: Make sure the OPENJDK plugs are up-to-date, see make/common/internal/BinaryPlugs.gmkBUILDDIR = ../..PACKAGE = javax.soundLIBRARY = jsoundPRODUCT = suninclude $(BUILDDIR)/common/Defs.gmk# include defines for soundinclude SoundDefs.gmk# support for different mixer provider files on different platforms#MXSP = javax.sound.sampled.spi.MixerProvider# Mixer Service Provider Additional path#MXSPP_ADD =## Add use of mapfile#FILES_m = mapfile-versinclude $(BUILDDIR)/common/Mapfile-vers.gmk## Files#include FILES_c.gmk# add java filesAUTO_FILES_JAVA_DIRS = javax/sound com/sun/media/sound## Files that just need cp.#SERVICEDIR = $(CLASSBINDIR)/META-INF/servicesFILES_copy = \ $(SERVICEDIR)/javax.sound.midi.spi.MidiDeviceProvider \ $(SERVICEDIR)/javax.sound.midi.spi.MidiFileWriter \ $(SERVICEDIR)/javax.sound.midi.spi.MidiFileReader \ $(SERVICEDIR)/javax.sound.midi.spi.SoundbankReader \ $(SERVICEDIR)/javax.sound.sampled.spi.AudioFileWriter \ $(SERVICEDIR)/javax.sound.sampled.spi.AudioFileReader \ $(SERVICEDIR)/javax.sound.sampled.spi.FormatConversionProvider \ $(SERVICEDIR)/javax.sound.sampled.spi.MixerProvider \ $(LIBDIR)/sound.propertiesFILES_mkdirs = \ $(CLASSBINDIR)/META-INF \ $(CLASSBINDIR)/META-INF/servicesFILES_copydirs = \ $(CLASSBINDIR) \ $(LIBDIR) \ $(FILES_mkdirs)FILES_c += $(FILES_$(PLATFORM))## system dependent flags#ifeq ($(PLATFORM), windows) CPPFLAGS += -DUSE_PLATFORM_MIDI_OUT=TRUE \ -DUSE_PLATFORM_MIDI_IN=TRUE \ -DUSE_PORTS=TRUE LDLIBS += winmm.lib # Windows always provides MIDI and ports INCLUDE_MIDI = TRUE INCLUDE_PORTS = TRUE # DirectSound handles directaudio (both i586 and amd64) SUBDIRS += jsoundds EXTRA_SOUND_JNI_LIBS += jsoundds #MXSPP_ADD = $(PLATFORM)-$(ARCH)/endif # PLATFORM win32ifeq ($(PLATFORM), linux) # ALSA handles directaudio, ports, and MIDI SUBDIRS += jsoundalsa EXTRA_SOUND_JNI_LIBS += jsoundalsa #MXSPP_ADD = $(PLATFORM)-$(ARCH)/endif # PLATFORM linuxifeq ($(PLATFORM), solaris) ifneq ($(ARCH), amd64) # build with ports and direct audio CPPFLAGS += -DUSE_PORTS=TRUE \ -DUSE_DAUDIO=TRUE INCLUDE_PORTS = TRUE INCLUDE_DAUDIO = TRUE INCLUDE_MIDI = TRUE else # build with empty MIDI i/o INCLUDE_MIDI = TRUE # build with empty ports INCLUDE_PORTS = TRUE # build with empty direct audio INCLUDE_DAUDIO = TRUE endifendif # PLATFORM solaris# for dynamic inclusion of extra sound libs: these# JNI libs will be loaded from Platform.javaCPPFLAGS += -DEXTRA_SOUND_JNI_LIBS="\"$(EXTRA_SOUND_JNI_LIBS)\""# integrate MIDI i/o in jsound libifeq ($(INCLUDE_MIDI),TRUE) FILES_c += $(MIDIFILES_c) FILES_export += $(MIDIFILES_export)endif# integrate port files in jsound libifeq ($(INCLUDE_PORTS),TRUE) FILES_c += $(PORTFILES_c) FILES_export += $(PORTFILES_export)endif# integrate port files in jsound libifeq ($(INCLUDE_DAUDIO),TRUE) FILES_c += $(DAUDIOFILES_c) FILES_export += $(DAUDIOFILES_export)endif## Extra cc/linker flags.#CPPFLAGS += \ -I$(SHARE_SRC)/native/com/sun/media/sound## Add to the ambient VPATH.#vpath %.c $(SHARE_SRC)/native/com/sun/media/soundvpath %.c $(PLATFORM_SRC)/native/com/sun/media/soundvpath %.cpp $(PLATFORM_SRC)/native/com/sun/media/sound## Include rules#include $(BUILDDIR)/common/Library.gmk## Rules that copy files.#build: copy-files $(SUBDIRS-loop)copy-files: $(FILES_copy)#$(SERVICEDIR)/$(MXSP): $(SHARE_SRC)/classes/com/sun/media/sound/services/$(MXSPP_ADD)$(MXSP)# $(install-file)$(SERVICEDIR)/%: $(SHARE_SRC)/classes/com/sun/media/sound/services/% $(install-file)$(LIBDIR)/audio/%: $(SHARE_SRC)/lib/audio/% $(install-file)$(LIBDIR)/%: $(SHARE_SRC)/lib/% $(install-file)## Since we build more than the javax.sound (as stated in the# PACKAGE variable), we need to nuke the extra packages explicitly.#clean clobber:: $(SUBDIRS-loop)clean clobber:: $(RM) -r $(CLASSBINDIR)/com/sun/media/sound $(LIBDIR)/audio $(RM) $(FILES_copy)## Declare extra phony targets.#.PHONY: copy-files