8211123: GC Metaspace printing after full gc
Summary: Move GC printing to after usage is calculated
Reviewed-by: tschatzl, stuefe
Contributed-by: nijiaben@perfma.com, jcbeyler@google.com
#!/bin/bash## Copyright (c) 2015, 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.## This script copies part of an Xcode installer into a devkit suitable# for building OpenJDK and OracleJDK. The installation .dmg files for Xcode# and the aux tools need to be available.# erik.joelsson@oracle.comUSAGE="$0 <Xcode.dmg> <XQuartz.dmg> <gnu make binary> [<auxtools.dmg>]"if [ "$1" = "" ] || [ "$2" = "" ]; then echo $USAGE exit 1fiXCODE_DMG="$1"XQUARTZ_DMG="$2"GNU_MAKE="$3"AUXTOOLS_DMG="$4"SCRIPT_DIR="$(cd "$(dirname $0)" > /dev/null && pwd)"BUILD_DIR="${SCRIPT_DIR}/../../build/devkit"# Mount XCODE_DMGif [ -e "/Volumes/Xcode" ]; then hdiutil detach /Volumes/Xcodefihdiutil attach $XCODE_DMG# Find the version of XcodeXCODE_VERSION="$(/Volumes/Xcode/Xcode.app/Contents/Developer/usr/bin/xcodebuild -version \ | awk '/Xcode/ { print $2 }' )"SDK_VERSION="MacOSX10.9"if [ ! -e "/Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/${SDK_VERSION}.sdk" ]; then echo "Expected SDK version not found: ${SDK_VERSION}" exit 1fiDEVKIT_ROOT="${BUILD_DIR}/Xcode${XCODE_VERSION}-${SDK_VERSION}"DEVKIT_BUNDLE="${DEVKIT_ROOT}.tar.gz"echo "Xcode version: $XCODE_VERSION"echo "Creating devkit in $DEVKIT_ROOT"################################################################################# Copy files to rootmkdir -p $DEVKIT_ROOTif [ ! -d $DEVKIT_ROOT/Xcode.app ]; then echo "Copying Xcode.app..." cp -RH "/Volumes/Xcode/Xcode.app" $DEVKIT_ROOT/fi# Trim out some seemingly unneeded parts to save space.rm -rf $DEVKIT_ROOT/Xcode.app/Contents/Applicationsrm -rf $DEVKIT_ROOT/Xcode.app/Contents/Developer/Platforms/iPhone*rm -rf $DEVKIT_ROOT/Xcode.app/Contents/Developer/Documentationrm -rf $DEVKIT_ROOT/Xcode.app/Contents/Developer/usr/share/man( cd $DEVKIT_ROOT/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs \ && rm -rf `ls | grep -v ${SDK_VERSION}` )rm -rf $DEVKIT_ROOT/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/${SDK_VERSION}.sdk/usr/share/manhdiutil detach /Volumes/Xcode################################################################################# Copy Freetype into sysrootif [ -e "/Volumes/XQuartz-*" ]; then hdiutil detach /Volumes/XQuartz-*fihdiutil attach $XQUARTZ_DMGecho "Copying freetype..."rm -rf /tmp/XQuartzpkgutil --expand /Volumes/XQuartz-*/XQuartz.pkg /tmp/XQuartz/rm -rf /tmp/x11mkdir /tmp/x11cd /tmp/x11cat /tmp/XQuartz/x11.pkg/Payload | gunzip -dc | cpio -imkdir -p $DEVKIT_ROOT/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/X11/include/mkdir -p $DEVKIT_ROOT/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/X11/lib/cp -RH opt/X11/include/freetype2 \ $DEVKIT_ROOT/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/X11/include/cp -RH opt/X11/include/ft2build.h \ $DEVKIT_ROOT/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/X11/include/cp -RH opt/X11/lib/libfreetype.* \ $DEVKIT_ROOT/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/X11/lib/cd -hdiutil detach /Volumes/XQuartz-*################################################################################# Copy gnu makemkdir -p $DEVKIT_ROOT/bincp $GNU_MAKE $DEVKIT_ROOT/bin################################################################################# Optionally copy PackageMakerif [ -e "$AUXTOOLS_DMG" ]; then if [ -e "/Volumes/Auxiliary Tools" ]; then hdiutil detach "/Volumes/Auxiliary Tools" fi hdiutil attach $AUXTOOLS_DMG echo "Copying PackageMaker.app..." cp -RH "/Volumes/Auxiliary Tools/PackageMaker.app" $DEVKIT_ROOT/ hdiutil detach "/Volumes/Auxiliary Tools"fi################################################################################# Generate devkit.infoecho-info() { echo "$1" >> $DEVKIT_ROOT/devkit.info}echo "Generating devkit.info..."rm -f $DEVKIT_ROOT/devkit.infoecho-info "# This file describes to configure how to interpret the contents of this devkit"echo-info "# The parameters used to create this devkit were:"echo-info "# $*"echo-info "DEVKIT_NAME=\"Xcode $XCODE_VERSION (devkit)\""echo-info "DEVKIT_TOOLCHAIN_PATH=\"\$DEVKIT_ROOT/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:\$DEVKIT_ROOT/Xcode.app/Contents/Developer/usr/bin\""echo-info "DEVKIT_SYSROOT=\"\$DEVKIT_ROOT/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk\""echo-info "DEVKIT_EXTRA_PATH=\"\$DEVKIT_ROOT/bin:\$DEVKIT_ROOT/PackageMaker.app/Contents/MacOS:\$DEVKIT_TOOLCHAIN_PATH\""################################################################################# Copy this scriptecho "Copying this script..."cp $0 $DEVKIT_ROOT/################################################################################# Create bundleecho "Creating bundle..."(cd $DEVKIT_ROOT && tar c - . | gzip - > "$DEVKIT_BUNDLE")