mirror of
https://github.com/openjdk/jdk.git
synced 2026-02-26 10:10:19 +00:00
Merge
This commit is contained in:
commit
26a709b671
3
.hgtags
3
.hgtags
@ -334,3 +334,6 @@ f61a63b7d1e52e307abc0bfc751203155d362ec4 jdk9-b83
|
||||
4a0312f2894bcbe1fd20266c8fda8d983bd2fcf6 jdk9-b89
|
||||
d131f4b8433a79408f935eff9bf92a0664229b60 jdk9-b90
|
||||
8077fd2f055d31e50b46fcf62d9c035bc385a215 jdk9-b91
|
||||
f242d4332f563648426a1b0fa02d8741beba19ef jdk9-b92
|
||||
09206c6513b300e1ac8541f3be012e1a49312104 jdk9-b93
|
||||
25a2cab05cfbe6034b71d9e72d64c65b0572ce63 jdk9-b94
|
||||
|
||||
@ -334,3 +334,6 @@ fd4f4f7561074dc0dbc1772c8489c7b902b6b8a9 jdk9-b87
|
||||
895353113f382d24e623191fdab0e29a3ce34738 jdk9-b89
|
||||
cf1dc4c035fb84693d4ae5ad818785cb4d1465d1 jdk9-b90
|
||||
122142a185381ce5cea959bf13b923d8cc333628 jdk9-b91
|
||||
106c06398f7ab330eef9e335fbd3a5a8ead23b77 jdk9-b92
|
||||
331fda57dfd323c61804ba0472776790de572937 jdk9-b93
|
||||
349488425abcaf3ff62f580007860b4b56875d10 jdk9-b94
|
||||
|
||||
@ -77,7 +77,7 @@ AC_DEFUN([BOOTJDK_DO_CHECK],
|
||||
BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1`
|
||||
|
||||
# Extra M4 quote needed to protect [] in grep expression.
|
||||
[FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'`]
|
||||
[FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"9([\.+-].*)?\"|(1\.[89]\.)'`]
|
||||
if test "x$FOUND_CORRECT_VERSION" = x; then
|
||||
AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring])
|
||||
AC_MSG_NOTICE([(Your Boot JDK must be version 8 or 9)])
|
||||
|
||||
@ -45,6 +45,7 @@ m4_include([build-performance.m4])
|
||||
m4_include([flags.m4])
|
||||
m4_include([help.m4])
|
||||
m4_include([jdk-options.m4])
|
||||
m4_include([jdk-version.m4])
|
||||
m4_include([libraries.m4])
|
||||
m4_include([platform.m4])
|
||||
m4_include([source-dirs.m4])
|
||||
@ -128,7 +129,7 @@ PLATFORM_SETUP_OPENJDK_BUILD_OS_VERSION
|
||||
|
||||
# We need build & target for this.
|
||||
JDKOPT_SETUP_JDK_OPTIONS
|
||||
JDKOPT_SETUP_JDK_VERSION_NUMBERS
|
||||
JDKVER_SETUP_JDK_VERSION_NUMBERS
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
@ -155,6 +156,9 @@ SRCDIRS_SETUP_OUTPUT_DIRS
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
# See if we are doing a complete static build or not
|
||||
JDKOPT_SETUP_STATIC_BUILD
|
||||
|
||||
# First determine the toolchain type (compiler family)
|
||||
TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE
|
||||
|
||||
|
||||
@ -191,13 +191,13 @@ AC_DEFUN_ONCE([FLAGS_SETUP_INIT_FLAGS],
|
||||
# The \$ are escaped to the shell, and the $(...) variables
|
||||
# are evaluated by make.
|
||||
RC_FLAGS="$RC_FLAGS \
|
||||
-D\"JDK_BUILD_ID=\$(FULL_VERSION)\" \
|
||||
-D\"JDK_VERSION_STRING=\$(VERSION_STRING)\" \
|
||||
-D\"JDK_COMPANY=\$(COMPANY_NAME)\" \
|
||||
-D\"JDK_COMPONENT=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) binary\" \
|
||||
-D\"JDK_VER=\$(JDK_MINOR_VERSION).\$(JDK_MICRO_VERSION).\$(if \$(JDK_UPDATE_VERSION),\$(JDK_UPDATE_VERSION),0).\$(COOKED_BUILD_NUMBER)\" \
|
||||
-D\"JDK_VER=\$(VERSION_NUMBER)\" \
|
||||
-D\"JDK_COPYRIGHT=Copyright \xA9 $COPYRIGHT_YEAR\" \
|
||||
-D\"JDK_NAME=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) \$(JDK_MINOR_VERSION) \$(JDK_UPDATE_META_TAG)\" \
|
||||
-D\"JDK_FVER=\$(JDK_MINOR_VERSION),\$(JDK_MICRO_VERSION),\$(if \$(JDK_UPDATE_VERSION),\$(JDK_UPDATE_VERSION),0),\$(COOKED_BUILD_NUMBER)\""
|
||||
-D\"JDK_NAME=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) \$(VERSION_MAJOR)\" \
|
||||
-D\"JDK_FVER=\$(subst .,\$(COMMA),\$(VERSION_NUMBER_FOUR_POSITIONS))\""
|
||||
fi
|
||||
AC_SUBST(RC_FLAGS)
|
||||
|
||||
@ -221,7 +221,11 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_LIBS],
|
||||
|
||||
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
# Linking is different on MacOSX
|
||||
SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0 $PICFLAG"
|
||||
if test "x$STATIC_BUILD" = xtrue; then
|
||||
SHARED_LIBRARY_FLAGS ='-undefined dynamic_lookup'
|
||||
else
|
||||
SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0 $PICFLAG"
|
||||
fi
|
||||
SET_EXECUTABLE_ORIGIN='-Xlinker -rpath -Xlinker @loader_path/.'
|
||||
SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
|
||||
SET_SHARED_LIBRARY_NAME='-Xlinker -install_name -Xlinker @rpath/[$]1'
|
||||
@ -662,10 +666,6 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
|
||||
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DDEBUG"
|
||||
fi
|
||||
|
||||
# Setup release name
|
||||
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DRELEASE='\"\$(RELEASE)\"'"
|
||||
|
||||
|
||||
# Set some additional per-OS defines.
|
||||
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT"
|
||||
@ -696,7 +696,9 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
|
||||
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK \
|
||||
-I${JDK_TOPDIR}/src/java.base/share/native/include \
|
||||
-I${JDK_TOPDIR}/src/java.base/$OPENJDK_TARGET_OS/native/include \
|
||||
-I${JDK_TOPDIR}/src/java.base/$OPENJDK_TARGET_OS_TYPE/native/include"
|
||||
-I${JDK_TOPDIR}/src/java.base/$OPENJDK_TARGET_OS_TYPE/native/include \
|
||||
-I${JDK_TOPDIR}/src/java.base/share/native/libjava \
|
||||
-I${JDK_TOPDIR}/src/java.base/$OPENJDK_TARGET_OS_TYPE/native/libjava"
|
||||
|
||||
# The shared libraries are compiled using the picflag.
|
||||
CFLAGS_JDKLIB="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -202,6 +202,7 @@ AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS],
|
||||
printf "* JDK variant: $JDK_VARIANT\n"
|
||||
printf "* JVM variants: $with_jvm_variants\n"
|
||||
printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n"
|
||||
printf "* Version string: $VERSION_STRING ($VERSION_SHORT)\n"
|
||||
|
||||
printf "\n"
|
||||
printf "Tools summary:\n"
|
||||
|
||||
@ -434,25 +434,6 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
|
||||
fi
|
||||
AC_SUBST(UNLIMITED_CRYPTO)
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
# Enable or disable the elliptic curve crypto implementation
|
||||
#
|
||||
AC_DEFUN_ONCE([JDKOPT_DETECT_INTREE_EC],
|
||||
[
|
||||
AC_MSG_CHECKING([if elliptic curve crypto implementation is present])
|
||||
|
||||
if test -d "${SRC_ROOT}/jdk/src/jdk.crypto.ec/share/native/libsunec/impl"; then
|
||||
ENABLE_INTREE_EC=yes
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
ENABLE_INTREE_EC=no
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
|
||||
AC_SUBST(ENABLE_INTREE_EC)
|
||||
])
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
# Compress jars
|
||||
@ -460,85 +441,8 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
|
||||
COMPRESS_JARS=false
|
||||
|
||||
AC_SUBST(COMPRESS_JARS)
|
||||
])
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
# Setup version numbers
|
||||
#
|
||||
AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_VERSION_NUMBERS],
|
||||
[
|
||||
# Source the version numbers
|
||||
. $AUTOCONF_DIR/version-numbers
|
||||
|
||||
# Get the settings from parameters
|
||||
AC_ARG_WITH(milestone, [AS_HELP_STRING([--with-milestone],
|
||||
[Set milestone value for build @<:@internal@:>@])])
|
||||
if test "x$with_milestone" = xyes; then
|
||||
AC_MSG_ERROR([Milestone must have a value])
|
||||
elif test "x$with_milestone" != x; then
|
||||
MILESTONE="$with_milestone"
|
||||
fi
|
||||
if test "x$MILESTONE" = x; then
|
||||
MILESTONE=internal
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(update-version, [AS_HELP_STRING([--with-update-version],
|
||||
[Set update version value for build @<:@b00@:>@])])
|
||||
if test "x$with_update_version" = xyes; then
|
||||
AC_MSG_ERROR([Update version must have a value])
|
||||
elif test "x$with_update_version" != x; then
|
||||
JDK_UPDATE_VERSION="$with_update_version"
|
||||
# On macosx 10.7, it's not possible to set --with-update-version=0X due
|
||||
# to a bug in expr (which reduces it to just X). To work around this, we
|
||||
# always add a 0 to one digit update versions.
|
||||
if test "${#JDK_UPDATE_VERSION}" = "1"; then
|
||||
JDK_UPDATE_VERSION="0${JDK_UPDATE_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(user-release-suffix, [AS_HELP_STRING([--with-user-release-suffix],
|
||||
[Add a custom string to the version string if build number is not set.@<:@username_builddateb00@:>@])])
|
||||
if test "x$with_user_release_suffix" = xyes; then
|
||||
AC_MSG_ERROR([Release suffix must have a value])
|
||||
elif test "x$with_user_release_suffix" != x; then
|
||||
USER_RELEASE_SUFFIX="$with_user_release_suffix"
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(build-number, [AS_HELP_STRING([--with-build-number],
|
||||
[Set build number value for build @<:@b00@:>@])])
|
||||
if test "x$with_build_number" = xyes; then
|
||||
AC_MSG_ERROR([Build number must have a value])
|
||||
elif test "x$with_build_number" != x; then
|
||||
JDK_BUILD_NUMBER="$with_build_number"
|
||||
fi
|
||||
# Define default USER_RELEASE_SUFFIX if BUILD_NUMBER and USER_RELEASE_SUFFIX are not set
|
||||
if test "x$JDK_BUILD_NUMBER" = x; then
|
||||
JDK_BUILD_NUMBER=b00
|
||||
if test "x$USER_RELEASE_SUFFIX" = x; then
|
||||
BUILD_DATE=`date '+%Y_%m_%d_%H_%M'`
|
||||
# Avoid [:alnum:] since it depends on the locale.
|
||||
CLEAN_USERNAME=`echo "$USER" | $TR -d -c 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'`
|
||||
USER_RELEASE_SUFFIX=`echo "${CLEAN_USERNAME}_${BUILD_DATE}" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
||||
fi
|
||||
fi
|
||||
|
||||
# Now set the JDK version, milestone, build number etc.
|
||||
AC_SUBST(USER_RELEASE_SUFFIX)
|
||||
AC_SUBST(JDK_MAJOR_VERSION)
|
||||
AC_SUBST(JDK_MINOR_VERSION)
|
||||
AC_SUBST(JDK_MICRO_VERSION)
|
||||
AC_SUBST(JDK_UPDATE_VERSION)
|
||||
AC_SUBST(JDK_BUILD_NUMBER)
|
||||
AC_SUBST(MILESTONE)
|
||||
AC_SUBST(LAUNCHER_NAME)
|
||||
AC_SUBST(PRODUCT_NAME)
|
||||
AC_SUBST(PRODUCT_SUFFIX)
|
||||
AC_SUBST(JDK_RC_PLATFORM_NAME)
|
||||
AC_SUBST(COMPANY_NAME)
|
||||
AC_SUBST(MACOSX_BUNDLE_NAME_BASE)
|
||||
AC_SUBST(MACOSX_BUNDLE_ID_BASE)
|
||||
|
||||
# Setup default copyright year. Mostly overridden when building close to a new year.
|
||||
AC_ARG_WITH(copyright-year, [AS_HELP_STRING([--with-copyright-year],
|
||||
[Set copyright year value for build @<:@current year@:>@])])
|
||||
if test "x$with_copyright_year" = xyes; then
|
||||
@ -549,16 +453,6 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_VERSION_NUMBERS],
|
||||
COPYRIGHT_YEAR=`date +'%Y'`
|
||||
fi
|
||||
AC_SUBST(COPYRIGHT_YEAR)
|
||||
|
||||
if test "x$JDK_UPDATE_VERSION" != x; then
|
||||
JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}_${JDK_UPDATE_VERSION}"
|
||||
else
|
||||
JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}"
|
||||
fi
|
||||
AC_SUBST(JDK_VERSION)
|
||||
|
||||
COOKED_BUILD_NUMBER=`$ECHO $JDK_BUILD_NUMBER | $SED -e 's/^b//' -e 's/^0//'`
|
||||
AC_SUBST(COOKED_BUILD_NUMBER)
|
||||
])
|
||||
|
||||
AC_DEFUN_ONCE([JDKOPT_SETUP_BUILD_TWEAKS],
|
||||
@ -574,6 +468,26 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_BUILD_TWEAKS],
|
||||
AC_SUBST(SALIB_NAME)
|
||||
])
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
# Enable or disable the elliptic curve crypto implementation
|
||||
#
|
||||
AC_DEFUN_ONCE([JDKOPT_DETECT_INTREE_EC],
|
||||
[
|
||||
AC_MSG_CHECKING([if elliptic curve crypto implementation is present])
|
||||
|
||||
if test -d "${SRC_ROOT}/jdk/src/jdk.crypto.ec/share/native/libsunec/impl"; then
|
||||
ENABLE_INTREE_EC=yes
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
ENABLE_INTREE_EC=no
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
|
||||
AC_SUBST(ENABLE_INTREE_EC)
|
||||
])
|
||||
|
||||
|
||||
AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
|
||||
[
|
||||
#
|
||||
@ -665,3 +579,37 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_CODE_COVERAGE],
|
||||
|
||||
AC_SUBST(GCOV_ENABLED)
|
||||
])
|
||||
|
||||
################################################################################
|
||||
#
|
||||
# Static build support. When enabled will generate static
|
||||
# libraries instead of shared libraries for all JDK libs.
|
||||
#
|
||||
AC_DEFUN_ONCE([JDKOPT_SETUP_STATIC_BUILD],
|
||||
[
|
||||
AC_ARG_ENABLE([static-build], [AS_HELP_STRING([--enable-static-build],
|
||||
[enable static library build @<:@disabled@:>@])])
|
||||
STATIC_BUILD=false
|
||||
if test "x$enable_static_build" = "xyes"; then
|
||||
AC_MSG_CHECKING([if static build is enabled])
|
||||
AC_MSG_RESULT([yes])
|
||||
if test "x$OPENJDK_TARGET_OS" != "xmacosx"; then
|
||||
AC_MSG_ERROR([--enable-static-build is only supported for macosx builds])
|
||||
fi
|
||||
STATIC_BUILD_CFLAGS="-DSTATIC_BUILD=1"
|
||||
LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $STATIC_BUILD_CFLAGS"
|
||||
LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $STATIC_BUILD_CFLAGS"
|
||||
CFLAGS_JDKLIB_EXTRA="$CFLAGS_JDKLIB_EXTRA $STATIC_BUILD_CFLAGS"
|
||||
CXXFLAGS_JDKLIB_EXTRA="$CXXFLAGS_JDKLIB_EXTRA $STATIC_BUILD_CFLAGS"
|
||||
STATIC_BUILD=true
|
||||
elif test "x$enable_static_build" = "xno"; then
|
||||
AC_MSG_CHECKING([if static build is enabled])
|
||||
AC_MSG_RESULT([no])
|
||||
elif test "x$enable_static_build" != "x"; then
|
||||
AC_MSG_ERROR([--enable-static-build can only be assigned "yes" or "no"])
|
||||
fi
|
||||
|
||||
AC_SUBST(STATIC_BUILD)
|
||||
])
|
||||
|
||||
|
||||
|
||||
321
common/autoconf/jdk-version.m4
Normal file
321
common/autoconf/jdk-version.m4
Normal file
@ -0,0 +1,321 @@
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
# Setup version numbers
|
||||
#
|
||||
|
||||
# Verify that a given string represents a valid version number, and assign it
|
||||
# to a variable.
|
||||
|
||||
# Argument 1: the variable to assign to
|
||||
# Argument 2: the value given by the user
|
||||
AC_DEFUN([JDKVER_CHECK_AND_SET_NUMBER],
|
||||
[
|
||||
# Additional [] needed to keep m4 from mangling shell constructs.
|
||||
if [ ! [[ "$2" =~ ^0*([1-9][0-9]*)|(0)$ ]] ] ; then
|
||||
AC_MSG_ERROR(["$2" is not a valid numerical value for $1])
|
||||
fi
|
||||
# Extract the version number without leading zeros.
|
||||
cleaned_value=${BASH_REMATCH[[1]]}
|
||||
if test "x$cleaned_value" = x; then
|
||||
# Special case for zero
|
||||
cleaned_value=${BASH_REMATCH[[2]]}
|
||||
fi
|
||||
|
||||
if test $cleaned_value -gt 255; then
|
||||
AC_MSG_ERROR([$1 is given as $2. This is greater than 255 which is not allowed.])
|
||||
fi
|
||||
if test "x$cleaned_value" != "x$2"; then
|
||||
AC_MSG_WARN([Value for $1 has been sanitized from '$2' to '$cleaned_value'])
|
||||
fi
|
||||
$1=$cleaned_value
|
||||
])
|
||||
|
||||
AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
|
||||
[
|
||||
# Warn user that old version arguments are deprecated.
|
||||
BASIC_DEPRECATED_ARG_WITH([milestone])
|
||||
BASIC_DEPRECATED_ARG_WITH([update-version])
|
||||
BASIC_DEPRECATED_ARG_WITH([user-release-suffix])
|
||||
BASIC_DEPRECATED_ARG_WITH([build-number])
|
||||
|
||||
# Source the version numbers file
|
||||
. $AUTOCONF_DIR/version-numbers
|
||||
|
||||
# Some non-version number information is set in that file
|
||||
AC_SUBST(LAUNCHER_NAME)
|
||||
AC_SUBST(PRODUCT_NAME)
|
||||
AC_SUBST(PRODUCT_SUFFIX)
|
||||
AC_SUBST(JDK_RC_PLATFORM_NAME)
|
||||
AC_SUBST(COMPANY_NAME)
|
||||
AC_SUBST(MACOSX_BUNDLE_NAME_BASE)
|
||||
AC_SUBST(MACOSX_BUNDLE_ID_BASE)
|
||||
|
||||
# Override version from arguments
|
||||
|
||||
# If --with-version-string is set, process it first. It is possible to
|
||||
# override parts with more specific flags, since these are processed later.
|
||||
AC_ARG_WITH(version-string, [AS_HELP_STRING([--with-version-string],
|
||||
[Set version string @<:@calculated@:>@])])
|
||||
if test "x$with_version_string" = xyes; then
|
||||
AC_MSG_ERROR([--with-version-string must have a value])
|
||||
elif test "x$with_version_string" != x; then
|
||||
# Additional [] needed to keep m4 from mangling shell constructs.
|
||||
if [ [[ $with_version_string =~ ^([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?(-([a-zA-Z]+))?((\+)([0-9]+)?(-([-a-zA-Z0-9.]+))?)?$ ]] ]; then
|
||||
VERSION_MAJOR=${BASH_REMATCH[[1]]}
|
||||
VERSION_MINOR=${BASH_REMATCH[[3]]}
|
||||
VERSION_SECURITY=${BASH_REMATCH[[5]]}
|
||||
VERSION_PATCH=${BASH_REMATCH[[7]]}
|
||||
VERSION_PRE=${BASH_REMATCH[[9]]}
|
||||
version_plus_separator=${BASH_REMATCH[[11]]}
|
||||
VERSION_BUILD=${BASH_REMATCH[[12]]}
|
||||
VERSION_OPT=${BASH_REMATCH[[14]]}
|
||||
# Unspecified numerical fields are interpreted as 0.
|
||||
if test "x$VERSION_MINOR" = x; then
|
||||
VERSION_MINOR=0
|
||||
fi
|
||||
if test "x$VERSION_SECURITY" = x; then
|
||||
VERSION_SECURITY=0
|
||||
fi
|
||||
if test "x$VERSION_PATCH" = x; then
|
||||
VERSION_PATCH=0
|
||||
fi
|
||||
if test "x$version_plus_separator" != x \
|
||||
&& test "x$VERSION_BUILD$VERSION_OPT" = x; then
|
||||
AC_MSG_ERROR([Version string contains + but both 'BUILD' and 'OPT' are missing])
|
||||
fi
|
||||
# Stop the version part process from setting default values.
|
||||
# We still allow them to explicitely override though.
|
||||
NO_DEFAULT_VERSION_PARTS=true
|
||||
else
|
||||
AC_MSG_ERROR([--with-version-string fails to parse as a valid version string: $with_version_string])
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(version-pre, [AS_HELP_STRING([--with-version-pre],
|
||||
[Set the base part of the version 'PRE' field (pre-release identifier) @<:@'internal'@:>@])],
|
||||
[with_version_pre_present=true], [with_version_pre_present=false])
|
||||
|
||||
if test "x$with_version_pre_present" = xtrue; then
|
||||
if test "x$with_version_pre" = xyes; then
|
||||
AC_MSG_ERROR([--with-version-pre must have a value])
|
||||
elif test "x$with_version_pre" = xno; then
|
||||
# Interpret --without-* as empty string instead of the literal "no"
|
||||
VERSION_PRE=
|
||||
else
|
||||
# Only [a-zA-Z] is allowed in the VERSION_PRE. Outer [ ] to quote m4.
|
||||
[ VERSION_PRE=`$ECHO "$with_version_pre" | $TR -c -d '[a-z][A-Z]'` ]
|
||||
if test "x$VERSION_PRE" != "x$with_version_pre"; then
|
||||
AC_MSG_WARN([--with-version-pre value has been sanitized from '$with_version_pre' to '$VERSION_PRE'])
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
|
||||
# Default is to use "internal" as pre
|
||||
VERSION_PRE="internal"
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(version-opt, [AS_HELP_STRING([--with-version-opt],
|
||||
[Set version 'OPT' field (build metadata) @<:@<timestamp>.<user>.<dirname>@:>@])],
|
||||
[with_version_opt_present=true], [with_version_opt_present=false])
|
||||
|
||||
if test "x$with_version_opt_present" = xtrue; then
|
||||
if test "x$with_version_opt" = xyes; then
|
||||
AC_MSG_ERROR([--with-version-opt must have a value])
|
||||
elif test "x$with_version_opt" = xno; then
|
||||
# Interpret --without-* as empty string instead of the literal "no"
|
||||
VERSION_OPT=
|
||||
else
|
||||
# Only [-.a-zA-Z0-9] is allowed in the VERSION_OPT. Outer [ ] to quote m4.
|
||||
[ VERSION_OPT=`$ECHO "$with_version_opt" | $TR -c -d '[a-z][A-Z][0-9].-'` ]
|
||||
if test "x$VERSION_OPT" != "x$with_version_opt"; then
|
||||
AC_MSG_WARN([--with-version-opt value has been sanitized from '$with_version_opt' to '$VERSION_OPT'])
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
|
||||
# Default is to calculate a string like this <timestamp>.<username>.<base dir name>
|
||||
timestamp=`$DATE '+%Y-%m-%d-%H%M%S'`
|
||||
# Outer [ ] to quote m4.
|
||||
[ username=`$ECHO "$USER" | $TR -d -c '[a-z][A-Z][0-9]'` ]
|
||||
[ basedirname=`$BASENAME "$TOPDIR" | $TR -d -c '[a-z][A-Z][0-9].-'` ]
|
||||
VERSION_OPT="$timestamp.$username.$basedirname"
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(version-build, [AS_HELP_STRING([--with-version-build],
|
||||
[Set version 'BUILD' field (build number) @<:@not specified@:>@])],
|
||||
[with_version_build_present=true], [with_version_build_present=false])
|
||||
|
||||
if test "x$with_version_build_present" = xtrue; then
|
||||
if test "x$with_version_build" = xyes; then
|
||||
AC_MSG_ERROR([--with-version-build must have a value])
|
||||
elif test "x$with_version_build" = xno; then
|
||||
# Interpret --without-* as empty string instead of the literal "no"
|
||||
VERSION_BUILD=
|
||||
elif test "x$with_version_build" = x; then
|
||||
VERSION_BUILD=
|
||||
else
|
||||
JDKVER_CHECK_AND_SET_NUMBER(VERSION_BUILD, $with_version_build)
|
||||
fi
|
||||
else
|
||||
if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
|
||||
# Default is to not have a build number.
|
||||
VERSION_BUILD=""
|
||||
# FIXME: Until all code can cope with an empty VERSION_BUILD, set it to 0.
|
||||
VERSION_BUILD=0
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(version-major, [AS_HELP_STRING([--with-version-major],
|
||||
[Set version 'MAJOR' field (first number) @<:@current source value@:>@])],
|
||||
[with_version_major_present=true], [with_version_major_present=false])
|
||||
|
||||
if test "x$with_version_major_present" = xtrue; then
|
||||
if test "x$with_version_major" = xyes; then
|
||||
AC_MSG_ERROR([--with-version-major must have a value])
|
||||
else
|
||||
JDKVER_CHECK_AND_SET_NUMBER(VERSION_MAJOR, $with_version_major)
|
||||
fi
|
||||
else
|
||||
if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
|
||||
# Default is to get value from version-numbers
|
||||
VERSION_MAJOR="$DEFAULT_VERSION_MAJOR"
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(version-minor, [AS_HELP_STRING([--with-version-minor],
|
||||
[Set version 'MINOR' field (second number) @<:@current source value@:>@])],
|
||||
[with_version_minor_present=true], [with_version_minor_present=false])
|
||||
|
||||
if test "x$with_version_minor_present" = xtrue; then
|
||||
if test "x$with_version_minor" = xyes; then
|
||||
AC_MSG_ERROR([--with-version-minor must have a value])
|
||||
elif test "x$with_version_minor" = xno; then
|
||||
# Interpret --without-* as empty string (i.e. 0) instead of the literal "no"
|
||||
VERSION_MINOR=0
|
||||
elif test "x$with_version_minor" = x; then
|
||||
VERSION_MINOR=0
|
||||
else
|
||||
JDKVER_CHECK_AND_SET_NUMBER(VERSION_MINOR, $with_version_minor)
|
||||
fi
|
||||
else
|
||||
if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
|
||||
# Default is 0, if unspecified
|
||||
VERSION_MINOR=0
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(version-security, [AS_HELP_STRING([--with-version-security],
|
||||
[Set version 'SECURITY' field (third number) @<:@current source value@:>@])],
|
||||
[with_version_security_present=true], [with_version_security_present=false])
|
||||
|
||||
if test "x$with_version_security_present" = xtrue; then
|
||||
if test "x$with_version_security" = xyes; then
|
||||
AC_MSG_ERROR([--with-version-security must have a value])
|
||||
elif test "x$with_version_security" = xno; then
|
||||
# Interpret --without-* as empty string (i.e. 0) instead of the literal "no"
|
||||
VERSION_SECURITY=0
|
||||
elif test "x$with_version_security" = x; then
|
||||
VERSION_SECURITY=0
|
||||
else
|
||||
JDKVER_CHECK_AND_SET_NUMBER(VERSION_SECURITY, $with_version_security)
|
||||
fi
|
||||
else
|
||||
if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
|
||||
# Default is 0, if unspecified
|
||||
VERSION_SECURITY=0
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(version-patch, [AS_HELP_STRING([--with-version-patch],
|
||||
[Set version 'PATCH' field (fourth number) @<:@not specified@:>@])],
|
||||
[with_version_patch_present=true], [with_version_patch_present=false])
|
||||
|
||||
if test "x$with_version_patch_present" = xtrue; then
|
||||
if test "x$with_version_patch" = xyes; then
|
||||
AC_MSG_ERROR([--with-version-patch must have a value])
|
||||
elif test "x$with_version_patch" = xno; then
|
||||
# Interpret --without-* as empty string (i.e. 0) instead of the literal "no"
|
||||
VERSION_PATCH=0
|
||||
elif test "x$with_version_patch" = x; then
|
||||
VERSION_PATCH=0
|
||||
else
|
||||
JDKVER_CHECK_AND_SET_NUMBER(VERSION_PATCH, $with_version_patch)
|
||||
fi
|
||||
else
|
||||
if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
|
||||
# Default is 0, if unspecified
|
||||
VERSION_PATCH=0
|
||||
fi
|
||||
fi
|
||||
|
||||
# Calculate derived version properties
|
||||
|
||||
# Set VERSION_IS_GA based on if VERSION_PRE has a value
|
||||
if test "x$VERSION_PRE" = x; then
|
||||
VERSION_IS_GA=true
|
||||
else
|
||||
VERSION_IS_GA=false
|
||||
fi
|
||||
|
||||
# VERSION_NUMBER but always with exactly 4 positions, with 0 for empty positions.
|
||||
VERSION_NUMBER_FOUR_POSITIONS=$VERSION_MAJOR.$VERSION_MINOR.$VERSION_SECURITY.$VERSION_PATCH
|
||||
|
||||
stripped_version_number=$VERSION_NUMBER_FOUR_POSITIONS
|
||||
# Strip trailing zeroes from stripped_version_number
|
||||
for i in 1 2 3 ; do stripped_version_number=${stripped_version_number%.0} ; done
|
||||
VERSION_NUMBER=$stripped_version_number
|
||||
|
||||
# The complete version string, with additional build information
|
||||
if test "x$VERSION_BUILD$VERSION_OPT" = x; then
|
||||
VERSION_STRING=$VERSION_NUMBER${VERSION_PRE:+-$VERSION_PRE}
|
||||
else
|
||||
# If either build or opt is set, we need a + separator
|
||||
VERSION_STRING=$VERSION_NUMBER${VERSION_PRE:+-$VERSION_PRE}+$VERSION_BUILD${VERSION_OPT:+-$VERSION_OPT}
|
||||
fi
|
||||
|
||||
# The short version string, just VERSION_NUMBER and PRE, if present.
|
||||
VERSION_SHORT=$VERSION_NUMBER${VERSION_PRE:+-$VERSION_PRE}
|
||||
|
||||
AC_MSG_CHECKING([for version string])
|
||||
AC_MSG_RESULT([$VERSION_STRING])
|
||||
|
||||
AC_SUBST(VERSION_MAJOR)
|
||||
AC_SUBST(VERSION_MINOR)
|
||||
AC_SUBST(VERSION_SECURITY)
|
||||
AC_SUBST(VERSION_PATCH)
|
||||
AC_SUBST(VERSION_PRE)
|
||||
AC_SUBST(VERSION_BUILD)
|
||||
AC_SUBST(VERSION_OPT)
|
||||
AC_SUBST(VERSION_NUMBER)
|
||||
AC_SUBST(VERSION_NUMBER_FOUR_POSITIONS)
|
||||
AC_SUBST(VERSION_STRING)
|
||||
AC_SUBST(VERSION_SHORT)
|
||||
AC_SUBST(VERSION_IS_GA)
|
||||
])
|
||||
@ -130,13 +130,53 @@ HOTSPOT_TOPDIR:=@HOTSPOT_TOPDIR@
|
||||
NASHORN_TOPDIR:=@NASHORN_TOPDIR@
|
||||
COPYRIGHT_YEAR:=@COPYRIGHT_YEAR@
|
||||
|
||||
# Information gathered from the version.numbers file.
|
||||
JDK_MAJOR_VERSION:=@JDK_MAJOR_VERSION@
|
||||
JDK_MINOR_VERSION:=@JDK_MINOR_VERSION@
|
||||
JDK_MICRO_VERSION:=@JDK_MICRO_VERSION@
|
||||
JDK_UPDATE_VERSION:=@JDK_UPDATE_VERSION@
|
||||
JDK_BUILD_NUMBER:=@JDK_BUILD_NUMBER@
|
||||
MILESTONE:=@MILESTONE@
|
||||
# New (JEP-223) version information
|
||||
|
||||
## Building blocks of the version string
|
||||
# First three version numbers, with well-specified meanings (numerical)
|
||||
VERSION_MAJOR := @VERSION_MAJOR@
|
||||
VERSION_MINOR := @VERSION_MINOR@
|
||||
VERSION_SECURITY := @VERSION_SECURITY@
|
||||
# Optional fourth element for use by OpenJDK consumers (numerical)
|
||||
VERSION_PATCH := @VERSION_PATCH@
|
||||
# The pre-release identifier (string)
|
||||
VERSION_PRE := @VERSION_PRE@
|
||||
# The build number (numerical)
|
||||
VERSION_BUILD := @VERSION_BUILD@
|
||||
# Optional build information (string)
|
||||
VERSION_OPT := @VERSION_OPT@
|
||||
|
||||
## Composite variables
|
||||
# The version number as a dot separated sequence of numbers, e.g. 9.0.1
|
||||
VERSION_NUMBER := @VERSION_NUMBER@
|
||||
# VERSION_NUMBER but always with exactly 4 positions, with 0 for empty positions.
|
||||
VERSION_NUMBER_FOUR_POSITIONS := @VERSION_NUMBER_FOUR_POSITIONS@
|
||||
# The complete version string, with additional build information
|
||||
VERSION_STRING := @VERSION_STRING@
|
||||
# The short version string, without trailing zeroes and just PRE, if present.
|
||||
VERSION_SHORT := @VERSION_SHORT@
|
||||
# The Java specification version. It should be equal to version number.
|
||||
VERSION_SPECIFICATION := @VERSION_NUMBER@
|
||||
# A GA version is defined by the PRE string being empty. Rather than testing for
|
||||
# that, this variable defines it with true/false.
|
||||
VERSION_IS_GA := @VERSION_IS_GA@
|
||||
|
||||
# Convenience CFLAGS settings for passing version information into native programs.
|
||||
VERSION_CFLAGS := \
|
||||
-DVERSION_MAJOR=$(VERSION_MAJOR) \
|
||||
-DVERSION_MINOR=$(VERSION_MINOR) \
|
||||
-DVERSION_SECURITY=$(VERSION_SECURITY) \
|
||||
-DVERSION_PATCH=$(VERSION_PATCH) \
|
||||
-DVERSION_PRE='"$(VERSION_PRE)"' \
|
||||
-DVERSION_BUILD=$(VERSION_BUILD) \
|
||||
-DVERSION_OPT='"$(VERSION_OPT)"' \
|
||||
-DVERSION_NUMBER='"$(VERSION_NUMBER)"' \
|
||||
-DVERSION_STRING='"$(VERSION_STRING)"' \
|
||||
-DVERSION_SHORT='"$(VERSION_SHORT)"' \
|
||||
-DVERSION_SPECIFICATION='"$(VERSION_SPECIFICATION)"' \
|
||||
#
|
||||
|
||||
# Platform naming variables
|
||||
LAUNCHER_NAME:=@LAUNCHER_NAME@
|
||||
PRODUCT_NAME:=@PRODUCT_NAME@
|
||||
PRODUCT_SUFFIX:=@PRODUCT_SUFFIX@
|
||||
@ -144,27 +184,9 @@ JDK_RC_PLATFORM_NAME:=@JDK_RC_PLATFORM_NAME@
|
||||
COMPANY_NAME:=@COMPANY_NAME@
|
||||
MACOSX_BUNDLE_NAME_BASE=@MACOSX_BUNDLE_NAME_BASE@
|
||||
MACOSX_BUNDLE_ID_BASE=@MACOSX_BUNDLE_ID_BASE@
|
||||
USER_RELEASE_SUFFIX=@USER_RELEASE_SUFFIX@
|
||||
|
||||
# Different version strings generated from the above information.
|
||||
JDK_VERSION:=@JDK_VERSION@
|
||||
# Different naming strings generated from the above information.
|
||||
RUNTIME_NAME=$(PRODUCT_NAME) $(PRODUCT_SUFFIX)
|
||||
COOKED_BUILD_NUMBER:=@COOKED_BUILD_NUMBER@
|
||||
# These variables need to be generated here so that MILESTONE and
|
||||
# JDK_BUILD_NUMBER can be overridden on the make command line.
|
||||
ifeq ($(MILESTONE), fcs)
|
||||
RELEASE=$(JDK_VERSION)$(BUILD_VARIANT_RELEASE)
|
||||
else
|
||||
RELEASE=$(JDK_VERSION)-$(MILESTONE)$(BUILD_VARIANT_RELEASE)
|
||||
endif
|
||||
|
||||
ifneq ($(USER_RELEASE_SUFFIX), )
|
||||
FULL_VERSION=$(RELEASE)-$(USER_RELEASE_SUFFIX)-$(JDK_BUILD_NUMBER)
|
||||
else
|
||||
FULL_VERSION=$(RELEASE)-$(JDK_BUILD_NUMBER)
|
||||
endif
|
||||
JRE_RELEASE_VERSION:=$(FULL_VERSION)
|
||||
JDK_VERSION_FOR_MANIFEST := $(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(if $(JDK_UPDATE_VERSION),$(JDK_UPDATE_VERSION),0).$(COOKED_BUILD_NUMBER)
|
||||
|
||||
# How to compile the code: release, fastdebug or slowdebug
|
||||
DEBUG_LEVEL:=@DEBUG_LEVEL@
|
||||
@ -417,6 +439,7 @@ SHARED_LIBRARY_SUFFIX:=@SHARED_LIBRARY_SUFFIX@
|
||||
STATIC_LIBRARY_SUFFIX:=@STATIC_LIBRARY_SUFFIX@
|
||||
EXE_SUFFIX:=@EXE_SUFFIX@
|
||||
OBJ_SUFFIX:=@OBJ_SUFFIX@
|
||||
STATIC_BUILD:=@STATIC_BUILD@
|
||||
|
||||
STRIPFLAGS:=@STRIPFLAGS@
|
||||
|
||||
@ -640,8 +663,8 @@ SYMBOLS_IMAGE_SUBDIR:=symbols
|
||||
SYMBOLS_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(SYMBOLS_IMAGE_SUBDIR)
|
||||
|
||||
# Macosx bundles directory definitions
|
||||
JDK_MACOSX_BUNDLE_SUBDIR=jdk-bundle/jdk$(JDK_VERSION).jdk/Contents
|
||||
JRE_MACOSX_BUNDLE_SUBDIR=jre-bundle/jre$(JDK_VERSION).jre/Contents
|
||||
JDK_MACOSX_BUNDLE_SUBDIR=jdk-bundle/jdk-$(VERSION_NUMBER).jdk/Contents
|
||||
JRE_MACOSX_BUNDLE_SUBDIR=jre-bundle/jre-$(VERSION_NUMBER).jre/Contents
|
||||
JDK_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_MACOSX_BUNDLE_SUBDIR)
|
||||
JRE_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_MACOSX_BUNDLE_SUBDIR)
|
||||
|
||||
|
||||
@ -72,8 +72,19 @@ AC_DEFUN([TOOLCHAIN_SETUP_FILENAME_PATTERNS],
|
||||
OBJ_SUFFIX='.o'
|
||||
EXE_SUFFIX=''
|
||||
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
SHARED_LIBRARY='lib[$]1.dylib'
|
||||
SHARED_LIBRARY_SUFFIX='.dylib'
|
||||
# For full static builds, we're overloading the SHARED_LIBRARY
|
||||
# variables in order to limit the amount of changes required.
|
||||
# It would be better to remove SHARED and just use LIBRARY and
|
||||
# LIBRARY_SUFFIX for libraries that can be built either
|
||||
# shared or static and use STATIC_* for libraries that are
|
||||
# always built statically.
|
||||
if test "x$STATIC_BUILD" = xtrue; then
|
||||
SHARED_LIBRARY='lib[$]1.a'
|
||||
SHARED_LIBRARY_SUFFIX='.a'
|
||||
else
|
||||
SHARED_LIBRARY='lib[$]1.dylib'
|
||||
SHARED_LIBRARY_SUFFIX='.dylib'
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 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
|
||||
@ -23,10 +23,10 @@
|
||||
# questions.
|
||||
#
|
||||
|
||||
JDK_MAJOR_VERSION=1
|
||||
JDK_MINOR_VERSION=9
|
||||
JDK_MICRO_VERSION=0
|
||||
JDK_UPDATE_VERSION=
|
||||
# Default version numbers to use unless overridden by configure
|
||||
|
||||
DEFAULT_VERSION_MAJOR=9
|
||||
|
||||
LAUNCHER_NAME=openjdk
|
||||
PRODUCT_NAME=OpenJDK
|
||||
PRODUCT_SUFFIX="Runtime Environment"
|
||||
|
||||
@ -1,183 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -x
|
||||
set -e
|
||||
|
||||
options="$*"
|
||||
option="$1"
|
||||
|
||||
tmp=/tmp/test_builds.$$
|
||||
rm -f -r ${tmp}
|
||||
mkdir -p ${tmp}
|
||||
|
||||
errMessages=${tmp}/error_messages.txt
|
||||
|
||||
#######
|
||||
# Error function
|
||||
error() # message
|
||||
{
|
||||
echo "ERROR: $1" | tee -a ${errMessages}
|
||||
}
|
||||
# Check errors
|
||||
checkErrors()
|
||||
{
|
||||
if [ -s ${errMessages} ] ; then
|
||||
cat ${errMessages}
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
#######
|
||||
|
||||
os="`uname -s`"
|
||||
arch="`uname -p`"
|
||||
make=make
|
||||
|
||||
if [ "${os}" = "SunOS" ] ; then
|
||||
make=gmake
|
||||
export J7="/opt/java/jdk1.7.0"
|
||||
elif [ "${os}" = "Darwin" ] ; then
|
||||
export J7="/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home"
|
||||
elif [ "${os}" = "Linux" -a "${arch}" = "x86_64" ] ; then
|
||||
export J7="/usr/lib/jvm/java-7-openjdk-amd64/"
|
||||
else
|
||||
echo "What os/arch is this: ${os}/${arch}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Must have a jdk7
|
||||
if [ ! -d ${J7} ] ; then
|
||||
echo "No JDK7 found at: ${J7}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# What sources we use
|
||||
fromroot="http://hg.openjdk.java.net/build-infra/jdk8"
|
||||
|
||||
# Where we do it
|
||||
root="testbuilds"
|
||||
mkdir -p ${root}
|
||||
|
||||
# Three areas, last three are cloned from first to insure sameness
|
||||
t0=${root}/t0
|
||||
t1=${root}/t1
|
||||
t2=${root}/t2
|
||||
t3=${root}/t3
|
||||
repolist="${t0} ${t1} ${t2} ${t3}"
|
||||
|
||||
# Optional complete clobber
|
||||
if [ "${option}" = "clobber" ] ; then
|
||||
for i in ${repolist} ; do
|
||||
rm -f -r ${i}
|
||||
done
|
||||
fi
|
||||
|
||||
# Get top repos
|
||||
if [ ! -d ${t0}/.hg ] ; then
|
||||
rm -f -r ${t0}
|
||||
hg clone ${fromroot} ${t0}
|
||||
fi
|
||||
for i in ${t1} ${t2} ${t3} ; do
|
||||
if [ ! -d ${i}/.hg ] ; then
|
||||
hg clone ${t0} ${i}
|
||||
fi
|
||||
done
|
||||
|
||||
# Get repos updated
|
||||
for i in ${repolist} ; do
|
||||
( \
|
||||
set -e \
|
||||
&& cd ${i} \
|
||||
&& sh ./get_source.sh \
|
||||
|| error "Cannot get source" \
|
||||
) 2>&1 | tee ${i}.get_source.txt
|
||||
checkErrors
|
||||
done
|
||||
|
||||
# Optional clean
|
||||
if [ "${option}" = "clean" ] ; then
|
||||
for i in ${repolist} ; do
|
||||
rm -f -r ${i}/build
|
||||
rm -f -r ${i}/*/build
|
||||
rm -f -r ${i}/*/dist
|
||||
done
|
||||
fi
|
||||
|
||||
# Check changes on working set files
|
||||
for i in ${repolist} ; do
|
||||
( \
|
||||
set -e \
|
||||
&& cd ${i} \
|
||||
&& sh ./make/scripts/hgforest.sh status \
|
||||
|| error "Cannot check status" \
|
||||
) 2>&1 | tee ${i}.hg.status.txt
|
||||
checkErrors
|
||||
done
|
||||
|
||||
# Configure for build-infra building
|
||||
for i in ${t1} ${t2} ; do
|
||||
( \
|
||||
set -e \
|
||||
&& cd ${i}/common/makefiles \
|
||||
&& sh ../autoconf/configure --with-boot-jdk=${J7} \
|
||||
|| error "Cannot configure" \
|
||||
) 2>&1 | tee ${i}.config.txt
|
||||
checkErrors
|
||||
done
|
||||
|
||||
# Do build-infra builds
|
||||
for i in ${t1} ${t2} ; do
|
||||
( \
|
||||
set -e \
|
||||
&& cd ${i}/common/makefiles \
|
||||
&& ${make} \
|
||||
FULL_VERSION:=1.8.0-internal-b00 \
|
||||
JRE_RELEASE_VERSION:=1.8.0-internal-b00 \
|
||||
USER_RELEASE_SUFFIX:=compare \
|
||||
RELEASE:=1.8.0-internal \
|
||||
VERBOSE= \
|
||||
LIBARCH= \
|
||||
all images \
|
||||
|| error "Cannot build" \
|
||||
) 2>&1 | tee ${i}.build.txt
|
||||
checkErrors
|
||||
done
|
||||
|
||||
# Compare build-infra builds
|
||||
( \
|
||||
sh ${t0}/common/bin/compareimage.sh \
|
||||
${t1}/build/*/images/j2sdk-image \
|
||||
${t2}/build/*/images/j2sdk-image \
|
||||
|| error "Cannot compare" \
|
||||
) 2>&1 | tee ${root}/build-infra-comparison.txt
|
||||
checkErrors
|
||||
|
||||
# Do old build
|
||||
unset JAVA_HOME
|
||||
export ALT_BOOTDIR="${J7}"
|
||||
( \
|
||||
cd ${t3} \
|
||||
&& ${make} FULL_VERSION='"1.8.0-internal" sanity \
|
||||
|| error "Cannot sanity" \
|
||||
) 2>&1 | tee ${t3}.sanity.txt
|
||||
checkErrors
|
||||
( \
|
||||
cd ${t3} \
|
||||
&& ${make} \
|
||||
FULL_VERSION='"1.8.0-internal" \
|
||||
JRE_RELEASE_VERSION:=1.8.0-internal-b00 \
|
||||
USER_RELEASE_SUFFIX:=compare \
|
||||
RELEASE:=1.8.0-internal \
|
||||
|| error "Cannot build old way" \
|
||||
) 2>&1 | tee ${t3}.build.txt
|
||||
checkErrors
|
||||
|
||||
# Compare old build to build-infra build
|
||||
( \
|
||||
sh ${t0}/common/bin/compareimage.sh \
|
||||
${t3}/build/*/j2sdk-image \
|
||||
${t1}/build/*/images/j2sdk-image \
|
||||
|| error "Cannot compare" \
|
||||
) 2>&1 | tee ${root}/build-comparison.txt
|
||||
checkErrors
|
||||
|
||||
exit 0
|
||||
@ -1911,15 +1911,9 @@
|
||||
<Elem>IDE_ALT_BOOTDIR</Elem>
|
||||
</envVariables>
|
||||
<transientMacros>
|
||||
<Elem>FULL_VERSION="version"</Elem>
|
||||
<Elem>HOTSPOT_BUILD_TARGET="target"</Elem>
|
||||
<Elem>HOTSPOT_BUILD_USER="user"</Elem>
|
||||
<Elem>HOTSPOT_RELEASE_VERSION="version"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>JRE_RELEASE_VERSION="version"</Elem>
|
||||
</transientMacros>
|
||||
</codeAssistance>
|
||||
<makefileType>
|
||||
@ -4534,7 +4528,6 @@
|
||||
flavor2="0">
|
||||
<ccTool>
|
||||
<preprocessorList>
|
||||
<Elem>JRE_RELEASE_VERSION="version"</Elem>
|
||||
</preprocessorList>
|
||||
</ccTool>
|
||||
</item>
|
||||
@ -4857,15 +4850,12 @@
|
||||
<preprocessorList>
|
||||
<Elem>AMD64</Elem>
|
||||
<Elem>ARCH="amd64"</Elem>
|
||||
<Elem>FULL_VERSION="version"</Elem>
|
||||
<Elem>GAMMA</Elem>
|
||||
<Elem>HOTSPOT_BUILD_TARGET="target"</Elem>
|
||||
<Elem>HOTSPOT_BUILD_USER="user"</Elem>
|
||||
<Elem>HOTSPOT_LIB_ARCH="amd64"</Elem>
|
||||
<Elem>HOTSPOT_RELEASE_VERSION="version"</Elem>
|
||||
<Elem>HOTSPOT_VM_DISTRO="OpenJDK"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>LAUNCHER_TYPE="gamma"</Elem>
|
||||
<Elem>LINK_INTO_LIBJVM</Elem>
|
||||
<Elem>PRODUCT</Elem>
|
||||
@ -5346,10 +5336,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
</folder>
|
||||
@ -5399,10 +5385,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Finalizer.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -5429,10 +5411,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Array.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -5488,10 +5466,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Bits.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -5525,10 +5499,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="AccessController.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -5569,10 +5539,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
</folder>
|
||||
@ -6141,10 +6107,6 @@
|
||||
<preprocessorList>
|
||||
<Elem>ARCH="amd64"</Elem>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>LINUX</Elem>
|
||||
<Elem>NDEBUG</Elem>
|
||||
<Elem>RELEASE=""</Elem>
|
||||
@ -6198,10 +6160,6 @@
|
||||
<preprocessorList>
|
||||
<Elem>ARCH="amd64"</Elem>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>LINUX</Elem>
|
||||
<Elem>NDEBUG</Elem>
|
||||
<Elem>RELEASE=""</Elem>
|
||||
@ -6577,10 +6535,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="jdk_util_md.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -6623,10 +6577,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
</folder>
|
||||
@ -6652,10 +6602,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="ProcessEnvironment_md.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -6711,10 +6657,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="FileSystemPreferences.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -7037,10 +6979,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="HostLocaleProviderAdapter_md.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -7135,15 +7073,9 @@
|
||||
<Elem>IDE_ALT_BOOTDIR</Elem>
|
||||
</envVariables>
|
||||
<transientMacros>
|
||||
<Elem>FULL_VERSION="version"</Elem>
|
||||
<Elem>HOTSPOT_BUILD_TARGET="target"</Elem>
|
||||
<Elem>HOTSPOT_BUILD_USER="user"</Elem>
|
||||
<Elem>HOTSPOT_RELEASE_VERSION="version"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>JRE_RELEASE_VERSION="version"</Elem>
|
||||
</transientMacros>
|
||||
</codeAssistance>
|
||||
<makefileType>
|
||||
@ -9822,7 +9754,6 @@
|
||||
flavor2="0">
|
||||
<ccTool>
|
||||
<preprocessorList>
|
||||
<Elem>JRE_RELEASE_VERSION="version"</Elem>
|
||||
</preprocessorList>
|
||||
</ccTool>
|
||||
</item>
|
||||
@ -10483,10 +10414,7 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>EXPAND_CLASSPATH_WILDCARDS</Elem>
|
||||
<Elem>FULL_VERSION="version"</Elem>
|
||||
<Elem>JAVA_ARGS={ "-J-ms8m", "com.sun.tools.javac.Main", }</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>LAUNCHER_NAME="openjdk"</Elem>
|
||||
<Elem>NEVER_ACT_AS_SERVER_CLASS_MACHINE</Elem>
|
||||
<Elem>PROGNAME="javac"</Elem>
|
||||
@ -11349,10 +11277,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="check_version.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -11382,10 +11306,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="jdk_util.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -11415,10 +11335,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="jio.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -11448,10 +11364,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="jni_util.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -11481,10 +11393,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="verify_stub.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -11569,10 +11477,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Class.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -11602,10 +11506,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="ClassLoader.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -11635,10 +11535,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Compiler.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -11668,10 +11564,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Double.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -11701,10 +11593,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Float.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -11734,10 +11622,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Object.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -11767,10 +11651,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Package.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -11800,10 +11680,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="ResourceBundle.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -11833,10 +11709,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Runtime.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -11866,10 +11738,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="SecurityManager.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -11899,10 +11767,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Shutdown.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -11932,10 +11796,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="StrictMath.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -11965,10 +11825,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="String.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -11998,10 +11854,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="System.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -12031,10 +11883,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Thread.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -12064,10 +11912,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Throwable.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -12804,10 +12648,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="TimeZone.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -20853,15 +20693,12 @@
|
||||
<preprocessorList>
|
||||
<Elem>AMD64</Elem>
|
||||
<Elem>ARCH="amd64"</Elem>
|
||||
<Elem>FULL_VERSION="version"</Elem>
|
||||
<Elem>GAMMA</Elem>
|
||||
<Elem>HOTSPOT_BUILD_TARGET="target"</Elem>
|
||||
<Elem>HOTSPOT_BUILD_USER="user"</Elem>
|
||||
<Elem>HOTSPOT_LIB_ARCH="amd64"</Elem>
|
||||
<Elem>HOTSPOT_RELEASE_VERSION="version"</Elem>
|
||||
<Elem>HOTSPOT_VM_DISTRO="OpenJDK"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>LAUNCHER_TYPE="gamma"</Elem>
|
||||
<Elem>LINK_INTO_LIBJVM</Elem>
|
||||
<Elem>LINUX</Elem>
|
||||
@ -20919,15 +20756,12 @@
|
||||
<preprocessorList>
|
||||
<Elem>AMD64</Elem>
|
||||
<Elem>ARCH="amd64"</Elem>
|
||||
<Elem>FULL_VERSION="version"</Elem>
|
||||
<Elem>GAMMA</Elem>
|
||||
<Elem>HOTSPOT_BUILD_TARGET="target"</Elem>
|
||||
<Elem>HOTSPOT_BUILD_USER="user"</Elem>
|
||||
<Elem>HOTSPOT_LIB_ARCH="amd64"</Elem>
|
||||
<Elem>HOTSPOT_RELEASE_VERSION="version"</Elem>
|
||||
<Elem>HOTSPOT_VM_DISTRO="OpenJDK"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>LAUNCHER_TYPE="gamma"</Elem>
|
||||
<Elem>LINK_INTO_LIBJVM</Elem>
|
||||
<Elem>LINUX</Elem>
|
||||
@ -21824,10 +21658,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
</folder>
|
||||
@ -21877,10 +21707,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Finalizer.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -21907,10 +21733,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Array.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -21966,10 +21788,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Bits.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -22003,10 +21821,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="AccessController.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -22047,10 +21861,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
</folder>
|
||||
@ -22619,10 +22429,6 @@
|
||||
<preprocessorList>
|
||||
<Elem>ARCH="amd64"</Elem>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>LINUX</Elem>
|
||||
<Elem>NDEBUG</Elem>
|
||||
<Elem>RELEASE=""</Elem>
|
||||
@ -22676,10 +22482,6 @@
|
||||
<preprocessorList>
|
||||
<Elem>ARCH="amd64"</Elem>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>LINUX</Elem>
|
||||
<Elem>NDEBUG</Elem>
|
||||
<Elem>RELEASE=""</Elem>
|
||||
@ -23055,10 +22857,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="jdk_util_md.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -23101,10 +22899,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
</folder>
|
||||
@ -23130,10 +22924,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="ProcessEnvironment_md.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -23189,10 +22979,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="FileSystemPreferences.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -23515,10 +23301,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="HostLocaleProviderAdapter_md.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -23613,15 +23395,9 @@
|
||||
<Elem>IDE_ALT_BOOTDIR</Elem>
|
||||
</envVariables>
|
||||
<transientMacros>
|
||||
<Elem>FULL_VERSION="version"</Elem>
|
||||
<Elem>HOTSPOT_BUILD_TARGET="target"</Elem>
|
||||
<Elem>HOTSPOT_BUILD_USER="user"</Elem>
|
||||
<Elem>HOTSPOT_RELEASE_VERSION="version"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>JRE_RELEASE_VERSION="version"</Elem>
|
||||
</transientMacros>
|
||||
</codeAssistance>
|
||||
<makefileType>
|
||||
@ -27454,7 +27230,6 @@
|
||||
flavor2="0">
|
||||
<ccTool>
|
||||
<preprocessorList>
|
||||
<Elem>JRE_RELEASE_VERSION="version"</Elem>
|
||||
</preprocessorList>
|
||||
</ccTool>
|
||||
</item>
|
||||
@ -28130,11 +27905,8 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>EXPAND_CLASSPATH_WILDCARDS</Elem>
|
||||
<Elem>FULL_VERSION="version"</Elem>
|
||||
<Elem>HAVE_GETHRTIME</Elem>
|
||||
<Elem>JAVA_ARGS={ "-J-ms8m", "com.sun.tools.javac.Main", }</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>LAUNCHER_NAME="openjdk"</Elem>
|
||||
<Elem>NEVER_ACT_AS_SERVER_CLASS_MACHINE</Elem>
|
||||
<Elem>PROGNAME="javac"</Elem>
|
||||
@ -28961,10 +28733,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="check_version.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -28994,10 +28762,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="jdk_util.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -29027,10 +28791,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="jio.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -29060,10 +28820,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="jni_util.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -29093,10 +28849,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="verify_stub.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -29181,10 +28933,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Class.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -29214,10 +28962,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="ClassLoader.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -29247,10 +28991,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Compiler.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -29280,10 +29020,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Double.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -29313,10 +29049,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Float.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -29346,10 +29078,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Object.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -29379,10 +29107,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Package.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -29412,10 +29136,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="ResourceBundle.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -29445,10 +29165,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Runtime.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -29478,10 +29194,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="SecurityManager.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -29511,10 +29223,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Shutdown.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -29544,10 +29252,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="StrictMath.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -29577,10 +29281,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="String.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -29610,10 +29310,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="System.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -29643,10 +29339,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Thread.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -29676,10 +29368,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Throwable.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -30416,10 +30104,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="TimeZone.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -38550,15 +38234,12 @@
|
||||
<preprocessorList>
|
||||
<Elem>AMD64</Elem>
|
||||
<Elem>ARCH="amd64"</Elem>
|
||||
<Elem>FULL_VERSION="version"</Elem>
|
||||
<Elem>GAMMA</Elem>
|
||||
<Elem>HOTSPOT_BUILD_TARGET="target"</Elem>
|
||||
<Elem>HOTSPOT_BUILD_USER="user"</Elem>
|
||||
<Elem>HOTSPOT_LIB_ARCH="amd64"</Elem>
|
||||
<Elem>HOTSPOT_RELEASE_VERSION="version"</Elem>
|
||||
<Elem>HOTSPOT_VM_DISTRO="OpenJDK"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>LAUNCHER_TYPE="gamma"</Elem>
|
||||
<Elem>LINK_INTO_LIBJVM</Elem>
|
||||
<Elem>PRODUCT</Elem>
|
||||
@ -38723,15 +38404,12 @@
|
||||
<preprocessorList>
|
||||
<Elem>AMD64</Elem>
|
||||
<Elem>ARCH="amd64"</Elem>
|
||||
<Elem>FULL_VERSION="version"</Elem>
|
||||
<Elem>GAMMA</Elem>
|
||||
<Elem>HOTSPOT_BUILD_TARGET="target"</Elem>
|
||||
<Elem>HOTSPOT_BUILD_USER="user"</Elem>
|
||||
<Elem>HOTSPOT_LIB_ARCH="amd64"</Elem>
|
||||
<Elem>HOTSPOT_RELEASE_VERSION="version"</Elem>
|
||||
<Elem>HOTSPOT_VM_DISTRO="OpenJDK"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>LAUNCHER_TYPE="gamma"</Elem>
|
||||
<Elem>LINK_INTO_LIBJVM</Elem>
|
||||
<Elem>PRODUCT</Elem>
|
||||
@ -39575,10 +39253,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
</folder>
|
||||
@ -39628,10 +39302,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Finalizer.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -39658,10 +39328,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Array.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -39717,10 +39383,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="Bits.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -39754,10 +39416,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="AccessController.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -39798,10 +39456,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
</folder>
|
||||
@ -40381,10 +40035,6 @@
|
||||
<Elem>ARCH="amd64"</Elem>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>BREAKPTS</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>MACRO_MEMSYS_OPS</Elem>
|
||||
<Elem>NDEBUG</Elem>
|
||||
<Elem>RELEASE=""</Elem>
|
||||
@ -40441,10 +40091,6 @@
|
||||
<Elem>ARCH="amd64"</Elem>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>BREAKPTS</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>MACRO_MEMSYS_OPS</Elem>
|
||||
<Elem>NDEBUG</Elem>
|
||||
<Elem>RELEASE=""</Elem>
|
||||
@ -40916,10 +40562,6 @@
|
||||
<Elem>ARCH="amd64"</Elem>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>BREAKPTS</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>MACRO_MEMSYS_OPS</Elem>
|
||||
<Elem>NDEBUG</Elem>
|
||||
<Elem>RELEASE=""</Elem>
|
||||
@ -40986,10 +40628,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
</folder>
|
||||
@ -41015,10 +40653,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="ProcessEnvironment_md.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -41074,10 +40708,6 @@
|
||||
</incDir>
|
||||
<preprocessorList>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>THIS_FILE="FileSystemPreferences.c"</Elem>
|
||||
</preprocessorList>
|
||||
</cTool>
|
||||
@ -41528,10 +41158,6 @@
|
||||
<Elem>ARCH="amd64"</Elem>
|
||||
<Elem>ARCHPROPNAME="amd64"</Elem>
|
||||
<Elem>BREAKPTS</Elem>
|
||||
<Elem>JDK_BUILD_NUMBER="nn"</Elem>
|
||||
<Elem>JDK_MAJOR_VERSION="version"</Elem>
|
||||
<Elem>JDK_MICRO_VERSION="version"</Elem>
|
||||
<Elem>JDK_MINOR_VERSION="minor"</Elem>
|
||||
<Elem>MACRO_MEMSYS_OPS</Elem>
|
||||
<Elem>NDEBUG</Elem>
|
||||
<Elem>RELEASE=""</Elem>
|
||||
|
||||
@ -334,3 +334,6 @@ a5c40ac9b916ff44d512ee764fa919ed2097e149 jdk9-b87
|
||||
c847a53b38d2fffb87afc483c74db05eced9b4f4 jdk9-b89
|
||||
29cc8228d62319af21cad7c90817671e0813b6bd jdk9-b90
|
||||
75843e0a9371d445a3c9b440bab85e50b5dc287c jdk9-b91
|
||||
f7d70caad89ad0c43bb057bca0aad6f17ce05a6a jdk9-b92
|
||||
27e9c8d8091e2447ea7ef3e3103e9b7dd286e03a jdk9-b93
|
||||
61e9f509be0f78f0961477960f372b0533214bb8 jdk9-b94
|
||||
|
||||
@ -65,7 +65,6 @@ import com.sun.corba.se.spi.presentation.rmi.StubAdapter;
|
||||
import com.sun.corba.se.spi.logging.CORBALogDomains;
|
||||
import com.sun.corba.se.impl.logging.ORBUtilSystemException;
|
||||
import com.sun.corba.se.impl.corba.AsynchInvoke;
|
||||
import com.sun.corba.se.impl.transport.ManagedLocalsThread;
|
||||
|
||||
public class RequestImpl
|
||||
extends Request
|
||||
@ -256,7 +255,7 @@ public class RequestImpl
|
||||
public synchronized void send_deferred()
|
||||
{
|
||||
AsynchInvoke invokeObject = new AsynchInvoke(_orb, this, false);
|
||||
new ManagedLocalsThread(invokeObject).start();
|
||||
new sun.misc.ManagedLocalsThread(invokeObject).start();
|
||||
}
|
||||
|
||||
public synchronized boolean poll_response()
|
||||
|
||||
@ -112,7 +112,6 @@ import com.sun.corba.se.impl.util.JDKBridge;
|
||||
import com.sun.corba.se.impl.logging.UtilSystemException;
|
||||
import com.sun.corba.se.spi.logging.CORBALogDomains;
|
||||
import sun.corba.SharedSecrets;
|
||||
import com.sun.corba.se.impl.transport.ManagedLocalsThread;
|
||||
|
||||
|
||||
/**
|
||||
@ -752,7 +751,7 @@ public class Util implements javax.rmi.CORBA.UtilDelegate
|
||||
}
|
||||
}
|
||||
|
||||
class KeepAlive extends ManagedLocalsThread
|
||||
class KeepAlive extends sun.misc.ManagedLocalsThread
|
||||
{
|
||||
boolean quit = false;
|
||||
|
||||
|
||||
@ -103,7 +103,6 @@ import com.sun.corba.se.impl.orbutil.concurrent.Sync ;
|
||||
import com.sun.corba.se.impl.orbutil.concurrent.SyncUtil ;
|
||||
import com.sun.corba.se.impl.orbutil.concurrent.ReentrantMutex ;
|
||||
import com.sun.corba.se.impl.orbutil.concurrent.CondVar ;
|
||||
import com.sun.corba.se.impl.transport.ManagedLocalsThread;
|
||||
|
||||
/**
|
||||
* POAImpl is the implementation of the Portable Object Adapter. It
|
||||
@ -517,7 +516,7 @@ public class POAImpl extends ObjectAdapterBase implements POA
|
||||
|
||||
// Converted from anonymous class to local class
|
||||
// so that we can call performDestroy() directly.
|
||||
static class DestroyThread extends ManagedLocalsThread {
|
||||
static class DestroyThread extends sun.misc.ManagedLocalsThread {
|
||||
private boolean wait ;
|
||||
private boolean etherealize ;
|
||||
private boolean debug ;
|
||||
|
||||
@ -48,7 +48,6 @@ import com.sun.corba.se.spi.protocol.PIHandler ;
|
||||
import com.sun.corba.se.impl.logging.POASystemException ;
|
||||
|
||||
import com.sun.corba.se.impl.orbutil.ORBUtility ;
|
||||
import com.sun.corba.se.impl.transport.ManagedLocalsThread;
|
||||
|
||||
/** POAManagerImpl is the implementation of the POAManager interface.
|
||||
* Its public methods are activate(), hold_requests(), discard_requests()
|
||||
@ -358,7 +357,7 @@ public class POAManagerImpl extends org.omg.CORBA.LocalObject implements
|
||||
if (wait_for_completion)
|
||||
deactivator.run() ;
|
||||
else {
|
||||
Thread thr = new ManagedLocalsThread(deactivator) ;
|
||||
Thread thr = new sun.misc.ManagedLocalsThread(deactivator) ;
|
||||
thr.start() ;
|
||||
}
|
||||
} finally {
|
||||
|
||||
@ -49,7 +49,6 @@ import com.sun.corba.se.impl.javax.rmi.CORBA.Util ;
|
||||
|
||||
import com.sun.corba.se.spi.oa.OAInvocationInfo ;
|
||||
import com.sun.corba.se.spi.oa.NullServant ;
|
||||
import com.sun.corba.se.impl.transport.ManagedLocalsThread;
|
||||
|
||||
/** Implementation of POARequesHandler that provides policy specific
|
||||
* operations on the POA.
|
||||
@ -303,7 +302,7 @@ public class POAPolicyMediatorImpl_R_USM extends POAPolicyMediatorBase_R {
|
||||
throw new WrongPolicy();
|
||||
}
|
||||
|
||||
class Etherealizer extends ManagedLocalsThread {
|
||||
class Etherealizer extends sun.misc.ManagedLocalsThread {
|
||||
private POAPolicyMediatorImpl_R_USM mediator ;
|
||||
private ActiveObjectMap.Key key ;
|
||||
private AOMEntry entry ;
|
||||
|
||||
@ -165,7 +165,6 @@ import com.sun.corba.se.impl.util.Utility;
|
||||
import com.sun.corba.se.impl.logging.ORBUtilSystemException;
|
||||
import com.sun.corba.se.impl.copyobject.CopierManagerImpl;
|
||||
import com.sun.corba.se.impl.presentation.rmi.PresentationManagerImpl;
|
||||
import com.sun.corba.se.impl.transport.ManagedLocalsThread;
|
||||
|
||||
/**
|
||||
* The JavaIDL ORB implementation.
|
||||
@ -692,7 +691,7 @@ public class ORBImpl extends com.sun.corba.se.spi.orb.ORB
|
||||
for (int i = 0; i < req.length; i++) {
|
||||
AsynchInvoke invokeObject = new AsynchInvoke( this,
|
||||
(com.sun.corba.se.impl.corba.RequestImpl)req[i], true);
|
||||
new ManagedLocalsThread(invokeObject).start();
|
||||
new sun.misc.ManagedLocalsThread(invokeObject).start();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -54,7 +54,6 @@ import com.sun.corba.se.spi.monitoring.LongMonitoredAttributeBase;
|
||||
import com.sun.corba.se.impl.logging.ORBUtilSystemException;
|
||||
import com.sun.corba.se.impl.orbutil.ORBConstants;
|
||||
import com.sun.corba.se.spi.logging.CORBALogDomains;
|
||||
import com.sun.corba.se.impl.transport.ManagedLocalsThread;
|
||||
|
||||
public class ThreadPoolImpl implements ThreadPool
|
||||
{
|
||||
@ -460,7 +459,7 @@ public class ThreadPoolImpl implements ThreadPool
|
||||
}
|
||||
|
||||
|
||||
private class WorkerThread extends ManagedLocalsThread implements Closeable
|
||||
private class WorkerThread extends sun.misc.ManagedLocalsThread implements Closeable
|
||||
{
|
||||
private Work currentWork;
|
||||
private int threadId = 0; // unique id for the thread
|
||||
|
||||
@ -1,116 +0,0 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
package com.sun.corba.se.impl.transport;
|
||||
|
||||
import sun.misc.Unsafe;
|
||||
import java.lang.reflect.Field;
|
||||
import java.security.AccessController;
|
||||
import java.security.PrivilegedAction;
|
||||
|
||||
/**
|
||||
* A thread that has it's thread locals, and inheritable thread
|
||||
* locals erased on construction.
|
||||
*/
|
||||
public class ManagedLocalsThread extends Thread {
|
||||
private static final Unsafe UNSAFE;
|
||||
private static final long THREAD_LOCALS;
|
||||
private static final long INHERITABLE_THREAD_LOCALS;
|
||||
|
||||
public ManagedLocalsThread () {
|
||||
super();
|
||||
}
|
||||
|
||||
public ManagedLocalsThread(String name) {
|
||||
super(name);
|
||||
eraseThreadLocals();
|
||||
}
|
||||
public ManagedLocalsThread(Runnable target) {
|
||||
super(target);
|
||||
eraseThreadLocals();
|
||||
}
|
||||
|
||||
public ManagedLocalsThread(Runnable target, String name) {
|
||||
super(target, name);
|
||||
eraseThreadLocals();
|
||||
}
|
||||
|
||||
public ManagedLocalsThread(ThreadGroup group, Runnable target, String name) {
|
||||
super(group, target, name);
|
||||
eraseThreadLocals();
|
||||
}
|
||||
|
||||
public ManagedLocalsThread(ThreadGroup group, String name) {
|
||||
super(group, name);
|
||||
eraseThreadLocals();
|
||||
}
|
||||
|
||||
/**
|
||||
* Drops all thread locals (and inherited thread locals).
|
||||
*/
|
||||
public final void eraseThreadLocals() {
|
||||
UNSAFE.putObject(this, THREAD_LOCALS, null);
|
||||
UNSAFE.putObject(this, INHERITABLE_THREAD_LOCALS, null);
|
||||
}
|
||||
|
||||
private static Unsafe getUnsafe() {
|
||||
PrivilegedAction<Unsafe> pa = () -> {
|
||||
Class<?> unsafeClass = sun.misc.Unsafe.class;
|
||||
try {
|
||||
Field f = unsafeClass.getDeclaredField("theUnsafe");
|
||||
f.setAccessible(true);
|
||||
return (Unsafe) f.get(null);
|
||||
} catch (Exception e) {
|
||||
throw new Error(e);
|
||||
}
|
||||
};
|
||||
return AccessController.doPrivileged(pa);
|
||||
}
|
||||
|
||||
private static long getThreadFieldOffset(String fieldName) {
|
||||
PrivilegedAction<Long> pa = () -> {
|
||||
Class<?> t = Thread.class;
|
||||
long fieldOffset;
|
||||
try {
|
||||
fieldOffset = UNSAFE.objectFieldOffset(t
|
||||
.getDeclaredField("inheritableThreadLocals"));
|
||||
} catch (Exception e) {
|
||||
throw new Error(e);
|
||||
}
|
||||
return fieldOffset;
|
||||
};
|
||||
return AccessController.doPrivileged(pa);
|
||||
}
|
||||
|
||||
static {
|
||||
UNSAFE = getUnsafe();
|
||||
try {
|
||||
THREAD_LOCALS = getThreadFieldOffset("threadLocals");
|
||||
INHERITABLE_THREAD_LOCALS = getThreadFieldOffset("inheritableThreadLocals");
|
||||
} catch (Exception e) {
|
||||
throw new Error(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -57,7 +57,7 @@ import com.sun.corba.se.impl.orbutil.ORBUtility;
|
||||
*/
|
||||
class SelectorImpl
|
||||
extends
|
||||
ManagedLocalsThread
|
||||
sun.misc.ManagedLocalsThread
|
||||
implements
|
||||
com.sun.corba.se.pept.transport.Selector
|
||||
{
|
||||
|
||||
@ -36,7 +36,7 @@ import java.security.AccessController;
|
||||
import java.security.Permission;
|
||||
import java.security.PrivilegedAction;
|
||||
|
||||
import sun.misc.Unsafe ;
|
||||
import jdk.internal.misc.Unsafe ;
|
||||
import sun.reflect.ReflectionFactory ;
|
||||
|
||||
/** This class provides the methods for fundamental JVM operations
|
||||
@ -120,7 +120,7 @@ public final class Bridge
|
||||
Field fld = null ;
|
||||
|
||||
try {
|
||||
Class unsafeClass = sun.misc.Unsafe.class ;
|
||||
Class unsafeClass = jdk.internal.misc.Unsafe.class ;
|
||||
fld = unsafeClass.getDeclaredField( "theUnsafe" ) ;
|
||||
fld.setAccessible( true ) ;
|
||||
return fld ;
|
||||
|
||||
@ -26,7 +26,7 @@
|
||||
package sun.corba;
|
||||
|
||||
import com.sun.corba.se.impl.io.ValueUtility;
|
||||
import sun.misc.Unsafe;
|
||||
import jdk.internal.misc.Unsafe;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.security.AccessController;
|
||||
@ -48,7 +48,7 @@ public class SharedSecrets {
|
||||
|
||||
private static Unsafe getUnsafe() {
|
||||
PrivilegedAction<Unsafe> pa = () -> {
|
||||
Class<?> unsafeClass = sun.misc.Unsafe.class ;
|
||||
Class<?> unsafeClass = jdk.internal.misc.Unsafe.class ;
|
||||
try {
|
||||
Field f = unsafeClass.getDeclaredField("theUnsafe");
|
||||
f.setAccessible(true);
|
||||
|
||||
@ -11,3 +11,12 @@
|
||||
^.hgtip
|
||||
.DS_Store
|
||||
\.class$
|
||||
^\.?mx.jvmci/
|
||||
^src/jdk.vm.ci/share/classes/\w[\w\.]*/.*\.xml
|
||||
^src/jdk.vm.ci/share/classes/\w[\w\.]*/.*\.iml
|
||||
^src/jdk.vm.ci/share/classes/\w[\w\.]*/nbproject
|
||||
^src/jdk.vm.ci/share/classes/\w[\w\.]*/\..*
|
||||
^test/compiler/jvmci/\w[\w\.]*/.*\.xml
|
||||
^test/compiler/jvmci/\w[\w\.]*/.*\.iml
|
||||
^test/compiler/jvmci/\w[\w\.]*/nbproject
|
||||
^test/compiler/jvmci/\w[\w\.]*/\..*
|
||||
|
||||
@ -494,3 +494,6 @@ bc48b669bc6610fac97e16593050c0f559cf6945 jdk9-b88
|
||||
20dff0211deda8d5877fda0e80b6d165ab93c6c2 jdk9-b89
|
||||
7fe46dc64bb3a8df554b24cde0153ffb24f39c5e jdk9-b90
|
||||
3fd5c2ca4c20c183628b6dbeb8df821a961419e3 jdk9-b91
|
||||
53cb98d68a1aeb08d29c89d6da748de60c448e37 jdk9-b92
|
||||
d8b24776484cc4dfd19f50b23eaa18a80a161371 jdk9-b93
|
||||
a22b7c80529f5f05c847e932e017456e83c46233 jdk9-b94
|
||||
|
||||
@ -38,6 +38,7 @@ int pathmap_open(const char* name) {
|
||||
int fd;
|
||||
char alt_path[PATH_MAX + 1], *alt_path_end;
|
||||
const char *s;
|
||||
int free_space;
|
||||
|
||||
if (!alt_root_initialized) {
|
||||
alt_root_initialized = -1;
|
||||
@ -48,14 +49,22 @@ int pathmap_open(const char* name) {
|
||||
return open(name, O_RDONLY);
|
||||
}
|
||||
|
||||
strcpy(alt_path, alt_root);
|
||||
alt_path_end = alt_path + strlen(alt_path);
|
||||
|
||||
// Strip path items one by one and try to open file with alt_root prepended
|
||||
if (strlen(alt_root) + strlen(name) < PATH_MAX) {
|
||||
// Buffer too small.
|
||||
return -1;
|
||||
}
|
||||
|
||||
strncpy(alt_path, alt_root, PATH_MAX);
|
||||
alt_path[PATH_MAX] = '\0';
|
||||
alt_path_end = alt_path + strlen(alt_path);
|
||||
free_space = PATH_MAX + 1 - (alt_path_end-alt_path);
|
||||
|
||||
// Strip path items one by one and try to open file with alt_root prepended.
|
||||
s = name;
|
||||
while (1) {
|
||||
strcat(alt_path, s);
|
||||
s += 1;
|
||||
strncat(alt_path, s, free_space);
|
||||
s += 1; // Skip /.
|
||||
|
||||
fd = open(alt_path, O_RDONLY);
|
||||
if (fd >= 0) {
|
||||
@ -70,7 +79,8 @@ int pathmap_open(const char* name) {
|
||||
break;
|
||||
}
|
||||
|
||||
*alt_path_end = 0;
|
||||
// Cut off what we appended above.
|
||||
*alt_path_end = '\0';
|
||||
}
|
||||
|
||||
return -1;
|
||||
|
||||
@ -774,72 +774,78 @@ err:
|
||||
|
||||
// process segments from interpreter (ld.so or ld-linux.so)
|
||||
static bool read_interp_segments(struct ps_prochandle* ph) {
|
||||
ELF_EHDR interp_ehdr;
|
||||
ELF_EHDR interp_ehdr;
|
||||
|
||||
if (read_elf_header(ph->core->interp_fd, &interp_ehdr) != true) {
|
||||
print_debug("interpreter is not a valid ELF file\n");
|
||||
return false;
|
||||
}
|
||||
if (read_elf_header(ph->core->interp_fd, &interp_ehdr) != true) {
|
||||
print_debug("interpreter is not a valid ELF file\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (read_lib_segments(ph, ph->core->interp_fd, &interp_ehdr, ph->core->ld_base_addr) != true) {
|
||||
print_debug("can't read segments of interpreter\n");
|
||||
return false;
|
||||
}
|
||||
if (read_lib_segments(ph, ph->core->interp_fd, &interp_ehdr, ph->core->ld_base_addr) != true) {
|
||||
print_debug("can't read segments of interpreter\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
|
||||
// process segments of a a.out
|
||||
static bool read_exec_segments(struct ps_prochandle* ph, ELF_EHDR* exec_ehdr) {
|
||||
int i = 0;
|
||||
ELF_PHDR* phbuf = NULL;
|
||||
ELF_PHDR* exec_php = NULL;
|
||||
int i = 0;
|
||||
ELF_PHDR* phbuf = NULL;
|
||||
ELF_PHDR* exec_php = NULL;
|
||||
|
||||
if ((phbuf = read_program_header_table(ph->core->exec_fd, exec_ehdr)) == NULL)
|
||||
return false;
|
||||
if ((phbuf = read_program_header_table(ph->core->exec_fd, exec_ehdr)) == NULL) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (exec_php = phbuf, i = 0; i < exec_ehdr->e_phnum; i++) {
|
||||
switch (exec_php->p_type) {
|
||||
for (exec_php = phbuf, i = 0; i < exec_ehdr->e_phnum; i++) {
|
||||
switch (exec_php->p_type) {
|
||||
|
||||
// add mappings for PT_LOAD segments
|
||||
case PT_LOAD: {
|
||||
// add only non-writable segments of non-zero filesz
|
||||
if (!(exec_php->p_flags & PF_W) && exec_php->p_filesz != 0) {
|
||||
if (add_map_info(ph, ph->core->exec_fd, exec_php->p_offset, exec_php->p_vaddr, exec_php->p_filesz) == NULL) goto err;
|
||||
}
|
||||
break;
|
||||
}
|
||||
// add mappings for PT_LOAD segments
|
||||
case PT_LOAD: {
|
||||
// add only non-writable segments of non-zero filesz
|
||||
if (!(exec_php->p_flags & PF_W) && exec_php->p_filesz != 0) {
|
||||
if (add_map_info(ph, ph->core->exec_fd, exec_php->p_offset, exec_php->p_vaddr, exec_php->p_filesz) == NULL) goto err;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
// read the interpreter and it's segments
|
||||
case PT_INTERP: {
|
||||
char interp_name[BUF_SIZE];
|
||||
// read the interpreter and it's segments
|
||||
case PT_INTERP: {
|
||||
char interp_name[BUF_SIZE + 1];
|
||||
|
||||
pread(ph->core->exec_fd, interp_name, MIN(exec_php->p_filesz, BUF_SIZE), exec_php->p_offset);
|
||||
print_debug("ELF interpreter %s\n", interp_name);
|
||||
// read interpreter segments as well
|
||||
if ((ph->core->interp_fd = pathmap_open(interp_name)) < 0) {
|
||||
print_debug("can't open runtime loader\n");
|
||||
goto err;
|
||||
}
|
||||
break;
|
||||
}
|
||||
// BUF_SIZE is PATH_MAX + NAME_MAX + 1.
|
||||
if (exec_php->p_filesz > BUF_SIZE) {
|
||||
goto err;
|
||||
}
|
||||
pread(ph->core->exec_fd, interp_name, exec_php->p_filesz, exec_php->p_offset);
|
||||
interp_name[exec_php->p_filesz] = '\0';
|
||||
print_debug("ELF interpreter %s\n", interp_name);
|
||||
// read interpreter segments as well
|
||||
if ((ph->core->interp_fd = pathmap_open(interp_name)) < 0) {
|
||||
print_debug("can't open runtime loader\n");
|
||||
goto err;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
// from PT_DYNAMIC we want to read address of first link_map addr
|
||||
case PT_DYNAMIC: {
|
||||
ph->core->dynamic_addr = exec_php->p_vaddr;
|
||||
print_debug("address of _DYNAMIC is 0x%lx\n", ph->core->dynamic_addr);
|
||||
break;
|
||||
}
|
||||
// from PT_DYNAMIC we want to read address of first link_map addr
|
||||
case PT_DYNAMIC: {
|
||||
ph->core->dynamic_addr = exec_php->p_vaddr;
|
||||
print_debug("address of _DYNAMIC is 0x%lx\n", ph->core->dynamic_addr);
|
||||
break;
|
||||
}
|
||||
|
||||
} // switch
|
||||
exec_php++;
|
||||
} // for
|
||||
} // switch
|
||||
exec_php++;
|
||||
} // for
|
||||
|
||||
free(phbuf);
|
||||
return true;
|
||||
err:
|
||||
free(phbuf);
|
||||
return false;
|
||||
free(phbuf);
|
||||
return true;
|
||||
err:
|
||||
free(phbuf);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -545,6 +545,7 @@ uintptr_t search_symbol(struct symtab* symtab, uintptr_t base,
|
||||
return (uintptr_t)NULL;
|
||||
|
||||
item.key = (char*) strdup(sym_name);
|
||||
item.data = NULL;
|
||||
hsearch_r(item, FIND, &ret, symtab->hash_table);
|
||||
if (ret) {
|
||||
struct elf_symbol * sym = (struct elf_symbol *)(ret->data);
|
||||
|
||||
@ -40,8 +40,7 @@ public class OopUtilities implements /* imports */ JVMTIThreadState {
|
||||
// FIXME: access should be synchronized and cleared when VM is
|
||||
// resumed
|
||||
// String fields
|
||||
private static IntField offsetField;
|
||||
private static IntField countField;
|
||||
private static ByteField coderField;
|
||||
private static OopField valueField;
|
||||
// ThreadGroup fields
|
||||
private static OopField threadGroupParentField;
|
||||
@ -96,20 +95,30 @@ public class OopUtilities implements /* imports */ JVMTIThreadState {
|
||||
if (charArray == null) {
|
||||
return null;
|
||||
}
|
||||
return charArrayToString(charArray, 0, (int) charArray.getLength());
|
||||
int length = (int)charArray.getLength();
|
||||
StringBuffer buf = new StringBuffer(length);
|
||||
for (int i = 0; i < length; i++) {
|
||||
buf.append(charArray.getCharAt(i));
|
||||
}
|
||||
return buf.toString();
|
||||
}
|
||||
|
||||
public static String charArrayToString(TypeArray charArray, int offset, int length) {
|
||||
if (charArray == null) {
|
||||
public static String byteArrayToString(TypeArray byteArray, byte coder) {
|
||||
if (byteArray == null) {
|
||||
return null;
|
||||
}
|
||||
final int limit = offset + length;
|
||||
if (Assert.ASSERTS_ENABLED) {
|
||||
Assert.that(offset >= 0 && limit <= charArray.getLength(), "out of bounds");
|
||||
}
|
||||
int length = (int)byteArray.getLength() >> coder;
|
||||
StringBuffer buf = new StringBuffer(length);
|
||||
for (int i = offset; i < limit; i++) {
|
||||
buf.append(charArray.getCharAt(i));
|
||||
if (coder == 0) {
|
||||
// Latin1 encoded
|
||||
for (int i = 0; i < length; i++) {
|
||||
buf.append((char)(byteArray.getByteAt(i) & 0xff));
|
||||
}
|
||||
} else {
|
||||
// UTF16 encoded
|
||||
for (int i = 0; i < length; i++) {
|
||||
buf.append(byteArray.getCharAt(i));
|
||||
}
|
||||
}
|
||||
return buf.toString();
|
||||
}
|
||||
@ -141,21 +150,14 @@ public class OopUtilities implements /* imports */ JVMTIThreadState {
|
||||
}
|
||||
|
||||
public static String stringOopToString(Oop stringOop) {
|
||||
if (offsetField == null) {
|
||||
InstanceKlass k = (InstanceKlass) stringOop.getKlass();
|
||||
offsetField = (IntField) k.findField("offset", "I"); // optional
|
||||
countField = (IntField) k.findField("count", "I"); // optional
|
||||
valueField = (OopField) k.findField("value", "[C");
|
||||
if (Assert.ASSERTS_ENABLED) {
|
||||
Assert.that(valueField != null, "Field \'value\' of java.lang.String not found");
|
||||
}
|
||||
InstanceKlass k = (InstanceKlass) stringOop.getKlass();
|
||||
coderField = (ByteField) k.findField("coder", "B");
|
||||
valueField = (OopField) k.findField("value", "[B");
|
||||
if (Assert.ASSERTS_ENABLED) {
|
||||
Assert.that(coderField != null, "Field \'coder\' of java.lang.String not found");
|
||||
Assert.that(valueField != null, "Field \'value\' of java.lang.String not found");
|
||||
}
|
||||
if (offsetField != null && countField != null) {
|
||||
return charArrayToString((TypeArray) valueField.getValue(stringOop),
|
||||
offsetField.getValue(stringOop),
|
||||
countField.getValue(stringOop));
|
||||
}
|
||||
return charArrayToString((TypeArray) valueField.getValue(stringOop));
|
||||
return byteArrayToString((TypeArray) valueField.getValue(stringOop), coderField.getValue(stringOop));
|
||||
}
|
||||
|
||||
public static String stringOopToEscapedString(Oop stringOop) {
|
||||
|
||||
@ -268,8 +268,8 @@ public class HeapSummary extends Tool {
|
||||
VM vm = VM.getVM();
|
||||
SystemDictionary sysDict = vm.getSystemDictionary();
|
||||
InstanceKlass strKlass = sysDict.getStringKlass();
|
||||
// String has a field named 'value' of type 'char[]'.
|
||||
stringValueField = (OopField) strKlass.findField("value", "[C");
|
||||
// String has a field named 'value' of type 'byte[]'.
|
||||
stringValueField = (OopField) strKlass.findField("value", "[B");
|
||||
}
|
||||
|
||||
private long stringSize(Instance instance) {
|
||||
|
||||
@ -61,9 +61,8 @@ public class Hashtable extends BasicHashtable {
|
||||
long h = 0;
|
||||
int s = 0;
|
||||
int len = buf.length;
|
||||
// Emulate the unsigned int in java_lang_String::hash_code
|
||||
while (len-- > 0) {
|
||||
h = 31*h + (0xFFFFFFFFL & buf[s]);
|
||||
h = 31*h + (0xFFL & buf[s]);
|
||||
s++;
|
||||
}
|
||||
return h & 0xFFFFFFFFL;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2005, 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
|
||||
@ -48,17 +48,14 @@
|
||||
# Set ALT_BUILD_WIN_SA=1 to enable building SA on
|
||||
# Windows.
|
||||
# Version strings and numbers:
|
||||
# JDK_VERSION Current JDK version (e.g. 1.6.0)
|
||||
# PREVIOUS_JDK_VERSION Previous (bootdir) JDK version (e.g. 1.5.0)
|
||||
# FULL_VERSION Full version string to use (e.g. "1.6.0-ea-b42")
|
||||
#
|
||||
# Version strings and numbers especially needed on Windows:
|
||||
# COOKED_JDK_UPDATE_VERSION Just the update release number (e.g. 02)
|
||||
# COOKED_BUILD_NUMBER Just the build number (e.g. 42)
|
||||
# JDK_MKTG_VERSION Marketing JDK version (e.g. 6.0)
|
||||
# JDK_MAJOR_VERSION Major number for version (e.g. 1) always 1?
|
||||
# JDK_MINOR_VERSION Minor number for version (e.g. 6)
|
||||
# JDK_MICRO_VERSION Micro number for version (e.g. 0)
|
||||
# VERSION_SHORT Current JDK version (e.g. 9.0.0)
|
||||
# JDK_PREVIOUS_VERSION Previous (bootdir) JDK version (e.g. 1.5.0) (Only needed
|
||||
# to facilitate standalone build.)
|
||||
# VERSION_STRING Full version string to use (e.g. "9.0.0-ea-b42")
|
||||
# VERSION_MAJOR Major number for version (e.g. 9)
|
||||
# VERSION_MINOR Minor number for version (e.g. 0)
|
||||
# VERSION_SECURITY Security number for version (e.g. 0)
|
||||
# VERSION_PATCH Patch number for version (e.g. 0)
|
||||
#
|
||||
|
||||
# Default is build both product fastdebug and create export area
|
||||
@ -403,6 +400,8 @@ $(EXPORT_LIB_ARCH_DIR)/%.dSYM: $(C2_BUILD_DIR)/%.dSYM
|
||||
$(install-dir)
|
||||
$(EXPORT_SERVER_DIR)/%.dSYM: $(C2_BUILD_DIR)/%.dSYM
|
||||
$(install-dir)
|
||||
$(EXPORT_SERVER_DIR)/%.symbols: $(C2_BUILD_DIR)/%.symbols
|
||||
$(install-file)
|
||||
endif
|
||||
|
||||
# Client (C1)
|
||||
@ -853,9 +852,9 @@ examples_help:
|
||||
@$(ECHO) \
|
||||
" $(MAKE) world"
|
||||
@$(ECHO) \
|
||||
" $(MAKE) ALT_BOOTDIR=/opt/java/jdk$(PREVIOUS_JDK_VERSION)"
|
||||
" $(MAKE) ALT_BOOTDIR=/opt/java/jdk$(JDK_PREVIOUS_VERSION)"
|
||||
@$(ECHO) \
|
||||
" $(MAKE) ALT_JDK_IMPORT_PATH=/opt/java/jdk$(JDK_VERSION)"
|
||||
" $(MAKE) ALT_JDK_IMPORT_PATH=/opt/java/jdk$(VERSION_STRING)"
|
||||
|
||||
# Universal build support
|
||||
ifeq ($(OS_VENDOR), Darwin)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright 2012, 2013 SAP AG. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
@ -210,7 +210,7 @@ TARGETS_MINIMAL1 = $(addsuffix minimal1,$(TARGETS))
|
||||
|
||||
BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make
|
||||
BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH)
|
||||
BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION) JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
|
||||
BUILDTREE_VARS += HOTSPOT_VERSION_STRING=$(HOTSPOT_VERSION_STRING) VERSION_STRING=$(VERSION_STRING)
|
||||
BUILDTREE_VARS += ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS) OBJCOPY=$(OBJCOPY) STRIP_POLICY=$(STRIP_POLICY) ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES) ZIPEXE=$(ZIPEXE)
|
||||
|
||||
BUILDTREE = $(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_VARS)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright 2012, 2013 SAP AG. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
@ -37,9 +37,8 @@
|
||||
# GAMMADIR - top of workspace
|
||||
# OS_FAMILY - operating system
|
||||
# VARIANT - core, compiler1, compiler2, or tiered
|
||||
# HOTSPOT_RELEASE_VERSION - <major_ver>.<minor_ver>.<micro_ver>[-<identifier>][-<debug_target>][-b<nn>]
|
||||
# HOTSPOT_BUILD_VERSION - internal, internal-$(USER_RELEASE_SUFFIX) or empty
|
||||
# JRE_RELEASE_VERSION - <major>.<minor>.<micro> (1.7.0)
|
||||
# VERSION_STRING - the JDK version string as specified by JEP-223
|
||||
# HOTSPOT_VERSION_STRING - the same as VERSION_STRING, unless overridden by a standalone build
|
||||
#
|
||||
# Builds the directory trees with makefiles plus some convenience files in
|
||||
# each directory:
|
||||
@ -132,11 +131,7 @@ BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OS_FAMILY) \
|
||||
|
||||
# Define variables to be set in flags.make.
|
||||
# Default values are set in make/defs.make.
|
||||
ifeq ($(HOTSPOT_BUILD_VERSION),)
|
||||
HS_BUILD_VER=$(HOTSPOT_RELEASE_VERSION)
|
||||
else
|
||||
HS_BUILD_VER=$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)
|
||||
endif
|
||||
|
||||
# Set BUILD_USER from system-dependent hints: $LOGNAME, $(whoami)
|
||||
ifndef HOTSPOT_BUILD_USER
|
||||
HOTSPOT_BUILD_USER := $(shell echo $$LOGNAME)
|
||||
@ -161,7 +156,7 @@ ifndef OPENJDK
|
||||
endif
|
||||
endif
|
||||
|
||||
BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HS_BUILD_VER) HOTSPOT_BUILD_VERSION= JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
|
||||
BUILDTREE_VARS += HOTSPOT_VERSION_STRING=$(HOTSPOT_VERSION_STRING) VERSION_STRING=$(VERSION_STRING)
|
||||
|
||||
BUILDTREE = \
|
||||
$(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_TARGETS) $(BUILDTREE_VARS)
|
||||
@ -210,9 +205,9 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
||||
echo "BUILDARCH = $(BUILDARCH)"; \
|
||||
echo "LIBARCH = $(LIBARCH)"; \
|
||||
echo "TARGET = $(TARGET)"; \
|
||||
echo "HS_BUILD_VER = $(HS_BUILD_VER)"; \
|
||||
echo "JRE_RELEASE_VER = $(JRE_RELEASE_VERSION)"; \
|
||||
echo "SA_BUILD_VERSION = $(HS_BUILD_VER)"; \
|
||||
echo "HOTSPOT_VERSION_STRING = $(HOTSPOT_VERSION_STRING)"; \
|
||||
echo "VERSION_STRING = $(VERSION_STRING)"; \
|
||||
echo "SA_BUILD_VERSION = $(HOTSPOT_VERSION_STRING)"; \
|
||||
echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \
|
||||
echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \
|
||||
echo "OPENJDK = $(OPENJDK)"; \
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright 2012, 2013 SAP AG. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
@ -79,102 +79,85 @@ ifeq ($(JVM_VARIANTS),)
|
||||
endif
|
||||
endif
|
||||
|
||||
# determine if HotSpot is being built in JDK6 or earlier version
|
||||
JDK6_OR_EARLIER=0
|
||||
ifeq "$(shell expr \( '$(JDK_MAJOR_VERSION)' != '' \& '$(JDK_MINOR_VERSION)' != '' \& '$(JDK_MICRO_VERSION)' != '' \))" "1"
|
||||
# if the longer variable names (newer build style) are set, then check those
|
||||
ifeq "$(shell expr \( $(JDK_MAJOR_VERSION) = 1 \& $(JDK_MINOR_VERSION) \< 7 \))" "1"
|
||||
JDK6_OR_EARLIER=1
|
||||
endif
|
||||
else
|
||||
# the longer variables aren't set so check the shorter variable names
|
||||
ifeq "$(shell expr \( '$(JDK_MAJOR_VER)' = 1 \& '$(JDK_MINOR_VER)' \< 7 \))" "1"
|
||||
JDK6_OR_EARLIER=1
|
||||
endif
|
||||
endif
|
||||
# The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product
|
||||
# builds is enabled with debug info files ZIP'ed to save space. For
|
||||
# BUILD_FLAVOR != product builds, FDS is always enabled, after all a
|
||||
# debug build without debug info isn't very useful.
|
||||
# The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled.
|
||||
#
|
||||
# If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be
|
||||
# disabled for a BUILD_FLAVOR == product build.
|
||||
#
|
||||
# Note: Use of a different variable name for the FDS override option
|
||||
# versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS
|
||||
# versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass
|
||||
# in options via environment variables, use of distinct variables
|
||||
# prevents strange behaviours. For example, in a BUILD_FLAVOR !=
|
||||
# product build, the FULL_DEBUG_SYMBOLS environment variable will be
|
||||
# 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If
|
||||
# the same variable name is used, then different values can be picked
|
||||
# up by different parts of the build. Just to be clear, we only need
|
||||
# two variable names because the incoming option value can be
|
||||
# overridden in some situations, e.g., a BUILD_FLAVOR != product
|
||||
# build.
|
||||
|
||||
ifeq ($(JDK6_OR_EARLIER),0)
|
||||
# Full Debug Symbols is supported on JDK7 or newer.
|
||||
# The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product
|
||||
# builds is enabled with debug info files ZIP'ed to save space. For
|
||||
# BUILD_FLAVOR != product builds, FDS is always enabled, after all a
|
||||
# debug build without debug info isn't very useful.
|
||||
# The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled.
|
||||
#
|
||||
# If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be
|
||||
# disabled for a BUILD_FLAVOR == product build.
|
||||
#
|
||||
# Note: Use of a different variable name for the FDS override option
|
||||
# versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS
|
||||
# versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass
|
||||
# in options via environment variables, use of distinct variables
|
||||
# prevents strange behaviours. For example, in a BUILD_FLAVOR !=
|
||||
# product build, the FULL_DEBUG_SYMBOLS environment variable will be
|
||||
# 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If
|
||||
# the same variable name is used, then different values can be picked
|
||||
# up by different parts of the build. Just to be clear, we only need
|
||||
# two variable names because the incoming option value can be
|
||||
# overridden in some situations, e.g., a BUILD_FLAVOR != product
|
||||
# build.
|
||||
# Due to the multiple sub-make processes that occur this logic gets
|
||||
# executed multiple times. We reduce the noise by at least checking that
|
||||
# BUILD_FLAVOR has been set.
|
||||
ifneq ($(BUILD_FLAVOR),)
|
||||
ifeq ($(BUILD_FLAVOR), product)
|
||||
FULL_DEBUG_SYMBOLS ?= 1
|
||||
ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS)
|
||||
else
|
||||
# debug variants always get Full Debug Symbols (if available)
|
||||
ENABLE_FULL_DEBUG_SYMBOLS = 1
|
||||
endif
|
||||
$(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
|
||||
# since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
|
||||
|
||||
# Due to the multiple sub-make processes that occur this logic gets
|
||||
# executed multiple times. We reduce the noise by at least checking that
|
||||
# BUILD_FLAVOR has been set.
|
||||
ifneq ($(BUILD_FLAVOR),)
|
||||
ifeq ($(BUILD_FLAVOR), product)
|
||||
FULL_DEBUG_SYMBOLS ?= 1
|
||||
ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS)
|
||||
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||
# Default OBJCOPY comes from GNU Binutils on Linux
|
||||
ifeq ($(CROSS_COMPILE_ARCH),)
|
||||
DEF_OBJCOPY=/usr/bin/objcopy
|
||||
else
|
||||
# debug variants always get Full Debug Symbols (if available)
|
||||
ENABLE_FULL_DEBUG_SYMBOLS = 1
|
||||
# Assume objcopy is part of the cross-compilation toolset
|
||||
ifneq ($(ALT_COMPILER_PATH),)
|
||||
DEF_OBJCOPY=$(ALT_COMPILER_PATH)/objcopy
|
||||
endif
|
||||
endif
|
||||
OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
|
||||
ifneq ($(ALT_OBJCOPY),)
|
||||
$(eval $(call print_info, "ALT_OBJCOPY=$(ALT_OBJCOPY)"))
|
||||
OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
|
||||
endif
|
||||
$(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
|
||||
# since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
|
||||
|
||||
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||
# Default OBJCOPY comes from GNU Binutils on Linux
|
||||
ifeq ($(CROSS_COMPILE_ARCH),)
|
||||
DEF_OBJCOPY=/usr/bin/objcopy
|
||||
else
|
||||
# Assume objcopy is part of the cross-compilation toolset
|
||||
ifneq ($(ALT_COMPILER_PATH),)
|
||||
DEF_OBJCOPY=$(ALT_COMPILER_PATH)/objcopy
|
||||
endif
|
||||
endif
|
||||
OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
|
||||
ifneq ($(ALT_OBJCOPY),)
|
||||
$(eval $(call print_info, "ALT_OBJCOPY=$(ALT_OBJCOPY)"))
|
||||
OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
|
||||
endif
|
||||
ifeq ($(OBJCOPY),)
|
||||
$(eval $(call print_info, "no objcopy cmd found so cannot create .debuginfo files. You may need to set ALT_OBJCOPY."))
|
||||
ENABLE_FULL_DEBUG_SYMBOLS=0
|
||||
$(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
|
||||
else
|
||||
$(eval $(call print_info, "$(OBJCOPY) cmd found so will create .debuginfo files."))
|
||||
|
||||
ifeq ($(OBJCOPY),)
|
||||
$(eval $(call print_info, "no objcopy cmd found so cannot create .debuginfo files. You may need to set ALT_OBJCOPY."))
|
||||
ENABLE_FULL_DEBUG_SYMBOLS=0
|
||||
$(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
|
||||
else
|
||||
$(eval $(call print_info, "$(OBJCOPY) cmd found so will create .debuginfo files."))
|
||||
# Library stripping policies for .debuginfo configs:
|
||||
# all_strip - strips everything from the library
|
||||
# min_strip - strips most stuff from the library; leaves minimum symbols
|
||||
# no_strip - does not strip the library at all
|
||||
#
|
||||
# Oracle security policy requires "all_strip". A waiver was granted on
|
||||
# 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
|
||||
#
|
||||
# Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
|
||||
#
|
||||
STRIP_POLICY ?= min_strip
|
||||
|
||||
# Library stripping policies for .debuginfo configs:
|
||||
# all_strip - strips everything from the library
|
||||
# min_strip - strips most stuff from the library; leaves minimum symbols
|
||||
# no_strip - does not strip the library at all
|
||||
#
|
||||
# Oracle security policy requires "all_strip". A waiver was granted on
|
||||
# 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
|
||||
#
|
||||
# Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
|
||||
#
|
||||
STRIP_POLICY ?= min_strip
|
||||
$(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
|
||||
|
||||
$(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
|
||||
ZIP_DEBUGINFO_FILES ?= 1
|
||||
|
||||
ZIP_DEBUGINFO_FILES ?= 1
|
||||
|
||||
$(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
|
||||
endif
|
||||
endif # ENABLE_FULL_DEBUG_SYMBOLS=1
|
||||
endif # BUILD_FLAVOR
|
||||
endif # JDK_6_OR_EARLIER
|
||||
$(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
|
||||
endif
|
||||
endif # ENABLE_FULL_DEBUG_SYMBOLS=1
|
||||
endif # BUILD_FLAVOR
|
||||
|
||||
# unused JDK_INCLUDE_SUBDIR=aix
|
||||
|
||||
|
||||
@ -39,7 +39,6 @@ SUNWprivate_1.1 {
|
||||
jio_snprintf;
|
||||
jio_vfprintf;
|
||||
jio_vsnprintf;
|
||||
fork1;
|
||||
numa_warn;
|
||||
numa_error;
|
||||
|
||||
|
||||
@ -34,7 +34,6 @@ SUNWprivate_1.1 {
|
||||
jio_snprintf;
|
||||
jio_vfprintf;
|
||||
jio_vsnprintf;
|
||||
fork1;
|
||||
numa_warn;
|
||||
numa_error;
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2003, 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
|
||||
@ -82,8 +82,7 @@ all: $(TraceGeneratedFiles)
|
||||
|
||||
GENERATE_CODE= \
|
||||
$(QUIETLY) echo $(LOG_INFO) Generating $@; \
|
||||
$(XSLT) -IN $(word 1,$^) -XSL $(word 2,$^) -OUT $@; \
|
||||
test -f $@
|
||||
$(XSLT) -IN $(word 1,$^) -XSL $(word 2,$^) -OUT $@
|
||||
|
||||
$(TraceOutDir)/traceEventIds.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/traceEventIds.xsl $(XML_DEPS)
|
||||
$(GENERATE_CODE)
|
||||
|
||||
@ -74,12 +74,14 @@ else
|
||||
endif
|
||||
|
||||
# The following variables are defined in the generated flags.make file.
|
||||
JDK_VER_DEFS = -DJDK_MAJOR_VERSION="\"$(JDK_MAJOR_VERSION)\"" \
|
||||
-DJDK_MINOR_VERSION="\"$(JDK_MINOR_VERSION)\"" \
|
||||
-DJDK_MICRO_VERSION="\"$(JDK_MICRO_VERSION)\"" \
|
||||
-DJDK_BUILD_NUMBER="\"$(JDK_BUILD_NUMBER)\""
|
||||
VM_VER_DEFS = -DHOTSPOT_RELEASE_VERSION="\"$(HS_BUILD_VER)\"" \
|
||||
-DJRE_RELEASE_VERSION="\"$(JRE_RELEASE_VER)\"" \
|
||||
JDK_VER_DEFS = -DVERSION_MAJOR=$(VERSION_MAJOR) \
|
||||
-DVERSION_MINOR=$(VERSION_MINOR) \
|
||||
-DVERSION_SECURITY=$(VERSION_SECURITY) \
|
||||
-DVERSION_PATCH=$(VERSION_PATCH) \
|
||||
-DVERSION_BUILD=$(VERSION_BUILD)
|
||||
VM_VER_DEFS = -DHOTSPOT_VERSION_STRING="\"$(HOTSPOT_VERSION_STRING)\"" \
|
||||
-DVERSION_STRING="\"$(VERSION_STRING)\"" \
|
||||
-DDEBUG_LEVEL="\"$(DEBUG_LEVEL)\"" \
|
||||
$(JDK_VER_DEFS)
|
||||
HS_LIB_ARCH = -DHOTSPOT_LIB_ARCH=\"$(LIBARCH)\"
|
||||
BUILD_USER = -DHOTSPOT_BUILD_USER="\"$(HOTSPOT_BUILD_USER)\""
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 1999, 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
|
||||
@ -203,7 +203,7 @@ TARGETS_MINIMAL1 = $(addsuffix minimal1,$(TARGETS))
|
||||
|
||||
BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make
|
||||
BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) LIBRARY_SUFFIX=$(LIBRARY_SUFFIX)
|
||||
BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION) JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
|
||||
BUILDTREE_VARS += HOTSPOT_VERSION_STRING=$(HOTSPOT_VERSION_STRING) VERSION_STRING=$(VERSION_STRING)
|
||||
BUILDTREE_VARS += ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS) OBJCOPY=$(OBJCOPY) STRIP_POLICY=$(STRIP_POLICY) ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES) ZIPEXE=$(ZIPEXE)
|
||||
|
||||
BUILDTREE = $(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_VARS)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2005, 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
|
||||
@ -36,9 +36,8 @@
|
||||
# GAMMADIR - top of workspace
|
||||
# OS_FAMILY - operating system
|
||||
# VARIANT - core, compiler1, compiler2, or tiered
|
||||
# HOTSPOT_RELEASE_VERSION - <major_ver>.<minor_ver>.<micro_ver>[-<identifier>][-<debug_target>][-b<nn>]
|
||||
# HOTSPOT_BUILD_VERSION - internal, internal-$(USER_RELEASE_SUFFIX) or empty
|
||||
# JRE_RELEASE_VERSION - <major>.<minor>.<micro> (1.7.0)
|
||||
# VERSION_STRING - the JDK version string as specified by JEP-223
|
||||
# HOTSPOT_VERSION_STRING - the same as VERSION_STRING, unless overridden by a standalone build
|
||||
#
|
||||
# Builds the directory trees with makefiles plus some convenience files in
|
||||
# each directory:
|
||||
@ -137,11 +136,7 @@ BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OS_FAMILY) \
|
||||
|
||||
# Define variables to be set in flags.make.
|
||||
# Default values are set in make/defs.make.
|
||||
ifeq ($(HOTSPOT_BUILD_VERSION),)
|
||||
HS_BUILD_VER=$(HOTSPOT_RELEASE_VERSION)
|
||||
else
|
||||
HS_BUILD_VER=$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)
|
||||
endif
|
||||
|
||||
# Set BUILD_USER from system-dependent hints: $LOGNAME, $(whoami)
|
||||
ifndef HOTSPOT_BUILD_USER
|
||||
HOTSPOT_BUILD_USER := $(shell echo $$LOGNAME)
|
||||
@ -166,7 +161,7 @@ ifndef OPENJDK
|
||||
endif
|
||||
endif
|
||||
|
||||
BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HS_BUILD_VER) HOTSPOT_BUILD_VERSION= JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
|
||||
BUILDTREE_VARS += HOTSPOT_VERSION_STRING=$(HOTSPOT_VERSION_STRING) VERSION_STRING=$(VERSION_STRING)
|
||||
|
||||
BUILDTREE = \
|
||||
$(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_TARGETS) $(BUILDTREE_VARS)
|
||||
@ -216,14 +211,19 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
||||
echo "BUILDARCH = $(BUILDARCH)"; \
|
||||
echo "LIBARCH = $(LIBARCH)"; \
|
||||
echo "TARGET = $(TARGET)"; \
|
||||
echo "HS_BUILD_VER = $(HS_BUILD_VER)"; \
|
||||
echo "JRE_RELEASE_VER = $(JRE_RELEASE_VERSION)"; \
|
||||
echo "SA_BUILD_VERSION = $(HS_BUILD_VER)"; \
|
||||
echo "HOTSPOT_VERSION_STRING = $(HOTSPOT_VERSION_STRING)"; \
|
||||
echo "VERSION_STRING = $(VERSION_STRING)"; \
|
||||
echo "SA_BUILD_VERSION = $(HOTSPOT_VERSION_STRING)"; \
|
||||
echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \
|
||||
echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \
|
||||
echo "OPENJDK = $(OPENJDK)"; \
|
||||
echo "$(LP64_SETTING/$(DATA_MODE))"; \
|
||||
echo; \
|
||||
echo "STATIC_BUILD = $(STATIC_BUILD)"; \
|
||||
echo "COMPILER_WARNINGS_FATAL = $(COMPILER_WARNINGS_FATAL)"; \
|
||||
echo "EXTRA_LDFLAGS = $(EXTRA_LDFLAGS)"; \
|
||||
echo "LIBRARY_SUFFIX = $(LIBRARY_SUFFIX)"; \
|
||||
echo; \
|
||||
echo "# Used for platform dispatching"; \
|
||||
echo "TARGET_DEFINES = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \
|
||||
echo "TARGET_DEFINES += -DTARGET_ARCH_\$$(Platform_arch)"; \
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2006, 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
|
||||
@ -144,48 +144,34 @@ endif
|
||||
|
||||
OS_VENDOR:=$(shell uname -s)
|
||||
|
||||
# determine if HotSpot is being built in JDK6 or earlier version
|
||||
JDK6_OR_EARLIER=0
|
||||
ifeq "$(shell expr \( '$(JDK_MAJOR_VERSION)' != '' \& '$(JDK_MINOR_VERSION)' != '' \& '$(JDK_MICRO_VERSION)' != '' \))" "1"
|
||||
# if the longer variable names (newer build style) are set, then check those
|
||||
ifeq "$(shell expr \( $(JDK_MAJOR_VERSION) = 1 \& $(JDK_MINOR_VERSION) \< 7 \))" "1"
|
||||
JDK6_OR_EARLIER=1
|
||||
endif
|
||||
else
|
||||
# the longer variables aren't set so check the shorter variable names
|
||||
ifeq "$(shell expr \( '$(JDK_MAJOR_VER)' = 1 \& '$(JDK_MINOR_VER)' \< 7 \))" "1"
|
||||
JDK6_OR_EARLIER=1
|
||||
endif
|
||||
endif
|
||||
# The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product
|
||||
# builds is enabled with debug info files ZIP'ed to save space. For
|
||||
# BUILD_FLAVOR != product builds, FDS is always enabled, after all a
|
||||
# debug build without debug info isn't very useful.
|
||||
# The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled.
|
||||
#
|
||||
# If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be
|
||||
# disabled for a BUILD_FLAVOR == product build.
|
||||
#
|
||||
# Note: Use of a different variable name for the FDS override option
|
||||
# versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS
|
||||
# versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass
|
||||
# in options via environment variables, use of distinct variables
|
||||
# prevents strange behaviours. For example, in a BUILD_FLAVOR !=
|
||||
# product build, the FULL_DEBUG_SYMBOLS environment variable will be
|
||||
# 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If
|
||||
# the same variable name is used, then different values can be picked
|
||||
# up by different parts of the build. Just to be clear, we only need
|
||||
# two variable names because the incoming option value can be
|
||||
# overridden in some situations, e.g., a BUILD_FLAVOR != product
|
||||
# build.
|
||||
|
||||
ifeq ($(JDK6_OR_EARLIER),0)
|
||||
# Full Debug Symbols is supported on JDK7 or newer.
|
||||
# The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product
|
||||
# builds is enabled with debug info files ZIP'ed to save space. For
|
||||
# BUILD_FLAVOR != product builds, FDS is always enabled, after all a
|
||||
# debug build without debug info isn't very useful.
|
||||
# The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled.
|
||||
#
|
||||
# If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be
|
||||
# disabled for a BUILD_FLAVOR == product build.
|
||||
#
|
||||
# Note: Use of a different variable name for the FDS override option
|
||||
# versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS
|
||||
# versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass
|
||||
# in options via environment variables, use of distinct variables
|
||||
# prevents strange behaviours. For example, in a BUILD_FLAVOR !=
|
||||
# product build, the FULL_DEBUG_SYMBOLS environment variable will be
|
||||
# 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If
|
||||
# the same variable name is used, then different values can be picked
|
||||
# up by different parts of the build. Just to be clear, we only need
|
||||
# two variable names because the incoming option value can be
|
||||
# overridden in some situations, e.g., a BUILD_FLAVOR != product
|
||||
# build.
|
||||
|
||||
# Due to the multiple sub-make processes that occur this logic gets
|
||||
# executed multiple times. We reduce the noise by at least checking that
|
||||
# BUILD_FLAVOR has been set.
|
||||
ifneq ($(BUILD_FLAVOR),)
|
||||
# Due to the multiple sub-make processes that occur this logic gets
|
||||
# executed multiple times. We reduce the noise by at least checking that
|
||||
# BUILD_FLAVOR has been set.
|
||||
ifneq ($(BUILD_FLAVOR),)
|
||||
# FULL_DEBUG_SYMBOLS not created for individual static libraries
|
||||
ifeq ($(STATIC_BUILD),false)
|
||||
ifeq ($(BUILD_FLAVOR), product)
|
||||
FULL_DEBUG_SYMBOLS ?= 1
|
||||
ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS)
|
||||
@ -193,79 +179,87 @@ ifeq ($(JDK6_OR_EARLIER),0)
|
||||
# debug variants always get Full Debug Symbols (if available)
|
||||
ENABLE_FULL_DEBUG_SYMBOLS = 1
|
||||
endif
|
||||
$(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
|
||||
# since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
|
||||
endif
|
||||
$(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
|
||||
# since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
|
||||
|
||||
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||
ifeq ($(OS_VENDOR), Darwin)
|
||||
# MacOS X doesn't use OBJCOPY or STRIP_POLICY
|
||||
OBJCOPY=
|
||||
STRIP_POLICY=
|
||||
ZIP_DEBUGINFO_FILES ?= 1
|
||||
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||
ifeq ($(OS_VENDOR), Darwin)
|
||||
# MacOS X doesn't use OBJCOPY or STRIP_POLICY
|
||||
OBJCOPY=
|
||||
STRIP_POLICY=
|
||||
ZIP_DEBUGINFO_FILES ?= 1
|
||||
else
|
||||
# Default OBJCOPY comes from GNU Binutils on BSD
|
||||
ifeq ($(CROSS_COMPILE_ARCH),)
|
||||
DEF_OBJCOPY=/usr/bin/objcopy
|
||||
else
|
||||
# Default OBJCOPY comes from GNU Binutils on BSD
|
||||
ifeq ($(CROSS_COMPILE_ARCH),)
|
||||
DEF_OBJCOPY=/usr/bin/objcopy
|
||||
else
|
||||
# Assume objcopy is part of the cross-compilation toolset
|
||||
ifneq ($(ALT_COMPILER_PATH),)
|
||||
DEF_OBJCOPY=$(ALT_COMPILER_PATH)/objcopy
|
||||
endif
|
||||
# Assume objcopy is part of the cross-compilation toolset
|
||||
ifneq ($(ALT_COMPILER_PATH),)
|
||||
DEF_OBJCOPY=$(ALT_COMPILER_PATH)/objcopy
|
||||
endif
|
||||
OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
|
||||
ifneq ($(ALT_OBJCOPY),)
|
||||
$(eval $(call print_info, "ALT_OBJCOPY=$(ALT_OBJCOPY)"))
|
||||
OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
|
||||
endif
|
||||
|
||||
ifeq ($(OBJCOPY),)
|
||||
$(eval $(call print_info, "no objcopy cmd found so cannot create .debuginfo" \
|
||||
"files. You may need to set ALT_OBJCOPY."))
|
||||
ENABLE_FULL_DEBUG_SYMBOLS=0
|
||||
$(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
|
||||
else
|
||||
$(eval $(call print_info, "$(OBJCOPY) cmd found so will create .debuginfo" \
|
||||
"files."))
|
||||
|
||||
# Library stripping policies for .debuginfo configs:
|
||||
# all_strip - strips everything from the library
|
||||
# min_strip - strips most stuff from the library; leaves
|
||||
# minimum symbols
|
||||
# no_strip - does not strip the library at all
|
||||
#
|
||||
# Oracle security policy requires "all_strip". A waiver was
|
||||
# granted on 2011.09.01 that permits using "min_strip" in the
|
||||
# Java JDK and Java JRE.
|
||||
#
|
||||
# Currently, STRIP_POLICY is only used when Full Debug Symbols
|
||||
# is enabled.
|
||||
#
|
||||
STRIP_POLICY ?= min_strip
|
||||
|
||||
$(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
|
||||
|
||||
ZIP_DEBUGINFO_FILES ?= 1
|
||||
endif
|
||||
|
||||
$(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
|
||||
endif
|
||||
endif # ENABLE_FULL_DEBUG_SYMBOLS=1
|
||||
endif # BUILD_FLAVOR
|
||||
endif # JDK_6_OR_EARLIER
|
||||
OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
|
||||
ifneq ($(ALT_OBJCOPY),)
|
||||
$(eval $(call print_info, "ALT_OBJCOPY=$(ALT_OBJCOPY)"))
|
||||
OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
|
||||
endif
|
||||
|
||||
ifeq ($(OBJCOPY),)
|
||||
$(eval $(call print_info, "no objcopy cmd found so cannot create .debuginfo" \
|
||||
"files. You may need to set ALT_OBJCOPY."))
|
||||
ENABLE_FULL_DEBUG_SYMBOLS=0
|
||||
$(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
|
||||
else
|
||||
$(eval $(call print_info, "$(OBJCOPY) cmd found so will create .debuginfo" \
|
||||
"files."))
|
||||
|
||||
# Library stripping policies for .debuginfo configs:
|
||||
# all_strip - strips everything from the library
|
||||
# min_strip - strips most stuff from the library; leaves
|
||||
# minimum symbols
|
||||
# no_strip - does not strip the library at all
|
||||
#
|
||||
# Oracle security policy requires "all_strip". A waiver was
|
||||
# granted on 2011.09.01 that permits using "min_strip" in the
|
||||
# Java JDK and Java JRE.
|
||||
#
|
||||
# Currently, STRIP_POLICY is only used when Full Debug Symbols
|
||||
# is enabled.
|
||||
#
|
||||
STRIP_POLICY ?= min_strip
|
||||
|
||||
$(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
|
||||
|
||||
ZIP_DEBUGINFO_FILES ?= 1
|
||||
endif
|
||||
|
||||
$(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
|
||||
endif
|
||||
endif # ENABLE_FULL_DEBUG_SYMBOLS=1
|
||||
endif # BUILD_FLAVOR
|
||||
|
||||
JDK_INCLUDE_SUBDIR=bsd
|
||||
|
||||
# Library suffix
|
||||
ifeq ($(OS_VENDOR),Darwin)
|
||||
LIBRARY_SUFFIX=dylib
|
||||
ifneq ($(STATIC_BUILD),true)
|
||||
ifeq ($(OS_VENDOR),Darwin)
|
||||
LIBRARY_SUFFIX=dylib
|
||||
else
|
||||
LIBRARY_SUFFIX=so
|
||||
endif
|
||||
else
|
||||
LIBRARY_SUFFIX=so
|
||||
LIBRARY_SUFFIX=a
|
||||
endif
|
||||
|
||||
|
||||
EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
|
||||
|
||||
# client and server subdirectories have symbolic links to ../libjsig.so
|
||||
EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
|
||||
# jsig library not needed for static builds
|
||||
ifneq ($(STATIC_BUILD),true)
|
||||
# client and server subdirectories have symbolic links to ../libjsig.so
|
||||
EXPORT_LIST += $(EXPORT_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
|
||||
endif
|
||||
|
||||
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||
ifeq ($(ZIP_DEBUGINFO_FILES),1)
|
||||
@ -286,6 +280,9 @@ EXPORT_MINIMAL_DIR = $(EXPORT_LIB_ARCH_DIR)/minimal
|
||||
ifeq ($(findstring true, $(JVM_VARIANT_SERVER) $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
|
||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
|
||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
|
||||
ifeq ($(STATIC_BUILD),true)
|
||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.symbols
|
||||
endif
|
||||
|
||||
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||
ifeq ($(ZIP_DEBUGINFO_FILES),1)
|
||||
@ -303,6 +300,9 @@ endif
|
||||
ifeq ($(JVM_VARIANT_CLIENT),true)
|
||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
|
||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
|
||||
ifeq ($(STATIC_BUILD),true)
|
||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.symbols
|
||||
endif
|
||||
|
||||
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||
ifeq ($(ZIP_DEBUGINFO_FILES),1)
|
||||
@ -320,6 +320,9 @@ endif
|
||||
ifeq ($(JVM_VARIANT_MINIMAL1),true)
|
||||
EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/Xusage.txt
|
||||
EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.$(LIBRARY_SUFFIX)
|
||||
ifeq ($(STATIC_BUILD),true)
|
||||
EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.symbols
|
||||
endif
|
||||
endif
|
||||
|
||||
# Serviceability Binaries
|
||||
@ -388,7 +391,9 @@ ifeq ($(OS_VENDOR), Darwin)
|
||||
endif
|
||||
|
||||
# Binaries to 'universalize' if built
|
||||
UNIVERSAL_LIPO_LIST += $(EXPORT_LIB_DIR)/libjsig.$(LIBRARY_SUFFIX)
|
||||
ifneq ($(STATIC_BUILD),true)
|
||||
UNIVERSAL_LIPO_LIST += $(EXPORT_LIB_DIR)/libjsig.$(LIBRARY_SUFFIX)
|
||||
endif
|
||||
UNIVERSAL_LIPO_LIST += $(EXPORT_LIB_DIR)/libsaproc.$(LIBRARY_SUFFIX)
|
||||
UNIVERSAL_LIPO_LIST += $(EXPORT_LIB_DIR)/server/libjvm.$(LIBRARY_SUFFIX)
|
||||
UNIVERSAL_LIPO_LIST += $(EXPORT_LIB_DIR)/client/libjvm.$(LIBRARY_SUFFIX)
|
||||
@ -396,6 +401,13 @@ ifeq ($(OS_VENDOR), Darwin)
|
||||
# Files to simply copy in place
|
||||
UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/server/Xusage.txt
|
||||
UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/client/Xusage.txt
|
||||
|
||||
ifeq ($(STATIC_BUILD),true)
|
||||
UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/server/libjvm.symbols
|
||||
UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/client/libjvm.symbols
|
||||
UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/minimal/libjvm.symbols
|
||||
endif
|
||||
|
||||
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||
ifeq ($(ZIP_DEBUGINFO_FILES),1)
|
||||
UNIVERSAL_COPY_LIST += $(EXPORT_LIB_DIR)/server/libjvm.diz
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2005, 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
|
||||
@ -37,15 +37,15 @@ DtraceOutDir = $(GENERATED)/dtracefiles
|
||||
# Bsd does not build libjvm_db, does not compile on macosx
|
||||
# disabled in build: rule in vm.make
|
||||
JVM_DB = libjvm_db
|
||||
LIBJVM_DB = libjvm_db.dylib
|
||||
LIBJVM_DB = libjvm_db.$(LIBRARY_SUFFIX)
|
||||
|
||||
LIBJVM_DB_DEBUGINFO = libjvm_db.dylib.dSYM
|
||||
LIBJVM_DB_DEBUGINFO = libjvm_db.$(LIBRARY_SUFFIX).dSYM
|
||||
LIBJVM_DB_DIZ = libjvm_db.diz
|
||||
|
||||
JVM_DTRACE = jvm_dtrace
|
||||
LIBJVM_DTRACE = libjvm_dtrace.dylib
|
||||
LIBJVM_DTRACE = libjvm_dtrace.$(LIBRARY_SUFFIX)
|
||||
|
||||
LIBJVM_DTRACE_DEBUGINFO = libjvm_dtrace.dylib.dSYM
|
||||
LIBJVM_DTRACE_DEBUGINFO = libjvm_dtrace.$(LIBRARY_SUFFIX).dSYM
|
||||
LIBJVM_DTRACE_DIZ = libjvm_dtrace.diz
|
||||
|
||||
JVMOFFS = JvmOffsets
|
||||
@ -167,14 +167,14 @@ endif # ifneq ("${ISA}","${BUILDARCH}")
|
||||
|
||||
LFLAGS_GENOFFS += -L.
|
||||
|
||||
lib$(GENOFFS).dylib: $(DTRACE_SRCDIR)/$(GENOFFS).cpp $(DTRACE_SRCDIR)/$(GENOFFS).h \
|
||||
lib$(GENOFFS).$(LIBRARY_SUFFIX): $(DTRACE_SRCDIR)/$(GENOFFS).cpp $(DTRACE_SRCDIR)/$(GENOFFS).h \
|
||||
$(LIBJVM.o)
|
||||
$(QUIETLY) $(CXX) $(CXXFLAGS) $(GENOFFS_CFLAGS) $(SHARED_FLAG) $(PICFLAG) \
|
||||
$(LFLAGS_GENOFFS) -o $@ $(DTRACE_SRCDIR)/$(GENOFFS).cpp -ljvm
|
||||
|
||||
$(GENOFFS): $(DTRACE_SRCDIR)/$(GENOFFS)Main.c lib$(GENOFFS).dylib
|
||||
$(GENOFFS): $(DTRACE_SRCDIR)/$(GENOFFS)Main.c lib$(GENOFFS).$(LIBRARY_SUFFIX)
|
||||
$(QUIETLY) $(LINK.CXX) -o $@ $(DTRACE_SRCDIR)/$(GENOFFS)Main.c \
|
||||
./lib$(GENOFFS).dylib
|
||||
./lib$(GENOFFS).$(LIBRARY_SUFFIX)
|
||||
|
||||
# $@.tmp is created first to avoid an empty $(JVMOFFS).h if an error occurs.
|
||||
$(JVMOFFS).h: $(GENOFFS)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 1999, 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
|
||||
@ -187,7 +187,14 @@ ifeq ($(JVM_VARIANT_ZEROSHARK), true)
|
||||
CFLAGS += $(LIBFFI_CFLAGS)
|
||||
CFLAGS += $(LLVM_CFLAGS)
|
||||
endif
|
||||
|
||||
ifeq ($(STATIC_BUILD),true)
|
||||
CXXFLAGS += -DSTATIC_BUILD
|
||||
CFLAGS += -DSTATIC_BUILD
|
||||
else
|
||||
CFLAGS += $(VM_PICFLAG)
|
||||
endif
|
||||
|
||||
CFLAGS += -fno-rtti
|
||||
CFLAGS += -fno-exceptions
|
||||
ifeq ($(USE_CLANG),)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2005, 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
|
||||
@ -28,9 +28,9 @@
|
||||
JSIG = jsig
|
||||
|
||||
ifeq ($(OS_VENDOR), Darwin)
|
||||
LIBJSIG = lib$(JSIG).dylib
|
||||
LIBJSIG = lib$(JSIG).$(LIBRARY_SUFFIX)
|
||||
|
||||
LIBJSIG_DEBUGINFO = lib$(JSIG).dylib.dSYM
|
||||
LIBJSIG_DEBUGINFO = lib$(JSIG).$(LIBRARY_SUFFIX).dSYM
|
||||
LIBJSIG_DIZ = lib$(JSIG).diz
|
||||
else
|
||||
LIBJSIG = lib$(JSIG).so
|
||||
@ -61,8 +61,14 @@ endif
|
||||
|
||||
$(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
|
||||
@echo $(LOG_INFO) Making signal interposition lib...
|
||||
ifeq ($(STATIC_BUILD),true)
|
||||
$(QUIETLY) $(CC) -c $(SYMFLAG) $(EXTRA_CFLAGS) $(ARCHFLAG) $(PICFLAG) \
|
||||
$(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) -o $(JSIG).o $<
|
||||
$(QUIETLY) $(AR) $(ARFLAGS) $@ $(JSIG).o
|
||||
else
|
||||
$(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
|
||||
$(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) $(EXTRA_CFLAGS) -o $@ $<
|
||||
$(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) $(EXTRA_CFLAGS) -o $@ $<
|
||||
endif
|
||||
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||
ifeq ($(OS_VENDOR), Darwin)
|
||||
$(DSYMUTIL) $@
|
||||
|
||||
@ -34,7 +34,6 @@ SUNWprivate_1.1 {
|
||||
jio_snprintf;
|
||||
jio_vfprintf;
|
||||
jio_vsnprintf;
|
||||
fork1;
|
||||
numa_warn;
|
||||
numa_error;
|
||||
|
||||
|
||||
@ -34,7 +34,6 @@ SUNWprivate_1.1 {
|
||||
jio_snprintf;
|
||||
jio_vfprintf;
|
||||
jio_vsnprintf;
|
||||
fork1;
|
||||
numa_warn;
|
||||
numa_error;
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2003, 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
|
||||
@ -39,7 +39,11 @@ AS.S = $(AS) $(ASFLAGS)
|
||||
COMPILE.CC = $(CC_COMPILE) -c
|
||||
GENASM.CC = $(CC_COMPILE) -S
|
||||
LINK.CC = $(CC) $(LFLAGS) $(AOUT_FLAGS) $(PROF_AOUT_FLAGS)
|
||||
ifeq ($(STATIC_BUILD),true)
|
||||
LINK_LIB.CC = $(AR) $(ARFLAGS)
|
||||
else
|
||||
LINK_LIB.CC = $(CC) $(LFLAGS) $(SHARED_FLAG)
|
||||
endif
|
||||
PREPROCESS.CC = $(CC_COMPILE) -E
|
||||
|
||||
COMPILE.CXX = $(CXX_COMPILE) -c
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2005, 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
|
||||
@ -28,9 +28,9 @@
|
||||
SAPROC = saproc
|
||||
|
||||
ifeq ($(OS_VENDOR), Darwin)
|
||||
LIBSAPROC = lib$(SAPROC).dylib
|
||||
LIBSAPROC = lib$(SAPROC).$(LIBRARY_SUFFIX)
|
||||
|
||||
LIBSAPROC_DEBUGINFO = lib$(SAPROC).dylib.dSYM
|
||||
LIBSAPROC_DEBUGINFO = lib$(SAPROC).$(LIBRARY_SUFFIX).dSYM
|
||||
LIBSAPROC_DIZ = lib$(SAPROC).diz
|
||||
else
|
||||
LIBSAPROC = lib$(SAPROC).so
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2003, 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
|
||||
@ -83,8 +83,7 @@ all: $(TraceGeneratedFiles)
|
||||
|
||||
GENERATE_CODE= \
|
||||
$(QUIETLY) echo $(LOG_INFO) Generating $@; \
|
||||
$(XSLT) -IN $(word 1,$^) -XSL $(word 2,$^) -OUT $@; \
|
||||
test -f $@
|
||||
$(XSLT) -IN $(word 1,$^) -XSL $(word 2,$^) -OUT $@
|
||||
|
||||
$(TraceOutDir)/traceEventIds.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/traceEventIds.xsl $(XML_DEPS)
|
||||
$(GENERATE_CODE)
|
||||
|
||||
@ -73,12 +73,14 @@ else
|
||||
endif
|
||||
|
||||
# The following variables are defined in the generated flags.make file.
|
||||
JDK_VER_DEFS = -DJDK_MAJOR_VERSION="\"$(JDK_MAJOR_VERSION)\"" \
|
||||
-DJDK_MINOR_VERSION="\"$(JDK_MINOR_VERSION)\"" \
|
||||
-DJDK_MICRO_VERSION="\"$(JDK_MICRO_VERSION)\"" \
|
||||
-DJDK_BUILD_NUMBER="\"$(JDK_BUILD_NUMBER)\""
|
||||
VM_VER_DEFS = -DHOTSPOT_RELEASE_VERSION="\"$(HS_BUILD_VER)\"" \
|
||||
-DJRE_RELEASE_VERSION="\"$(JRE_RELEASE_VER)\"" \
|
||||
JDK_VER_DEFS = -DVERSION_MAJOR=$(VERSION_MAJOR) \
|
||||
-DVERSION_MINOR=$(VERSION_MINOR) \
|
||||
-DVERSION_SECURITY=$(VERSION_SECURITY) \
|
||||
-DVERSION_PATCH=$(VERSION_PATCH) \
|
||||
-DVERSION_BUILD=$(VERSION_BUILD)
|
||||
VM_VER_DEFS = -DHOTSPOT_VERSION_STRING="\"$(HOTSPOT_VERSION_STRING)\"" \
|
||||
-DVERSION_STRING="\"$(VERSION_STRING)\"" \
|
||||
-DDEBUG_LEVEL="\"$(DEBUG_LEVEL)\"" \
|
||||
$(JDK_VER_DEFS)
|
||||
HS_LIB_ARCH = -DHOTSPOT_LIB_ARCH=\"$(LIBARCH)\"
|
||||
BUILD_USER = -DHOTSPOT_BUILD_USER="\"$(HOTSPOT_BUILD_USER)\""
|
||||
@ -142,10 +144,10 @@ include $(MAKEFILES_DIR)/dtrace.make
|
||||
|
||||
JVM = jvm
|
||||
ifeq ($(OS_VENDOR), Darwin)
|
||||
LIBJVM = lib$(JVM).dylib
|
||||
LIBJVM = lib$(JVM).$(LIBRARY_SUFFIX)
|
||||
CFLAGS += -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE
|
||||
|
||||
LIBJVM_DEBUGINFO = lib$(JVM).dylib.dSYM
|
||||
LIBJVM_DEBUGINFO = lib$(JVM).$(LIBRARY_SUFFIX).dSYM
|
||||
LIBJVM_DIZ = lib$(JVM).diz
|
||||
else
|
||||
LIBJVM = lib$(JVM).so
|
||||
@ -261,6 +263,16 @@ mapfile : $(MAPFILE) mapfile_extra vm.def
|
||||
{ print $$0 } \
|
||||
}' > $@ < $(MAPFILE)
|
||||
|
||||
ifeq ($(STATIC_BUILD),true)
|
||||
EXPORTED_SYMBOLS = libjvm.symbols
|
||||
|
||||
libjvm.symbols : mapfile
|
||||
$(CP) mapfile libjvm.symbols
|
||||
|
||||
else
|
||||
EXPORTED_SYMBOLS =
|
||||
endif
|
||||
|
||||
mapfile_reorder : mapfile $(REORDERFILE)
|
||||
rm -f $@
|
||||
cat $^ > $@
|
||||
@ -288,9 +300,11 @@ else
|
||||
LFLAGS_VM += $(SONAMEFLAG:SONAME=$(LIBJVM))
|
||||
|
||||
ifeq ($(OS_VENDOR), Darwin)
|
||||
LFLAGS_VM += -Xlinker -rpath -Xlinker @loader_path/.
|
||||
LFLAGS_VM += -Xlinker -rpath -Xlinker @loader_path/..
|
||||
LFLAGS_VM += -Xlinker -install_name -Xlinker @rpath/$(@F)
|
||||
ifneq ($(STATIC_BUILD),true)
|
||||
LFLAGS_VM += -Xlinker -rpath -Xlinker @loader_path/.
|
||||
LFLAGS_VM += -Xlinker -rpath -Xlinker @loader_path/..
|
||||
LFLAGS_VM += -Xlinker -install_name -Xlinker @rpath/$(@F)
|
||||
endif
|
||||
else
|
||||
LFLAGS_VM += -Wl,-z,defs
|
||||
endif
|
||||
@ -345,6 +359,10 @@ LD_SCRIPT_FLAG = -Wl,-T,$(LD_SCRIPT)
|
||||
endif
|
||||
|
||||
$(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
|
||||
ifeq ($(STATIC_BUILD),true)
|
||||
echo Linking static vm...;
|
||||
$(LINK_LIB.CC) $@ $(LIBJVM.o)
|
||||
else
|
||||
$(QUIETLY) { \
|
||||
echo $(LOG_INFO) Linking vm...; \
|
||||
$(LINK_LIB.CXX/PRE_HOOK) \
|
||||
@ -354,6 +372,8 @@ $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
|
||||
rm -f $@.1; ln -s $@ $@.1; \
|
||||
}
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||
ifeq ($(OS_VENDOR), Darwin)
|
||||
$(DSYMUTIL) $@
|
||||
@ -410,10 +430,10 @@ include $(MAKEFILES_DIR)/saproc.make
|
||||
|
||||
ifeq ($(OS_VENDOR), Darwin)
|
||||
# no libjvm_db for macosx
|
||||
build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(BUILDLIBSAPROC) dtraceCheck
|
||||
build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(BUILDLIBSAPROC) dtraceCheck $(EXPORTED_SYMBOLS)
|
||||
echo "Doing vm.make build:"
|
||||
else
|
||||
build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC)
|
||||
build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) $(EXPORTED_SYMBOLS)
|
||||
endif
|
||||
|
||||
install: install_jvm install_jsig install_saproc
|
||||
|
||||
@ -122,58 +122,49 @@ endif
|
||||
# hotspot version definitions
|
||||
include $(GAMMADIR)/make/jdk_version
|
||||
|
||||
# JDK_PREVIOUS_VERSION is only needed to facilitate standalone builds
|
||||
ifeq ($(JDK_PREVIOUS_VERSION),)
|
||||
JDK_PREVIOUS_VERSION=$(STANDALONE_JDK_PREVIOUS_VERSION)
|
||||
endif
|
||||
# Java versions needed
|
||||
ifeq ($(PREVIOUS_JDK_VERSION),)
|
||||
PREVIOUS_JDK_VERSION=$(JDK_PREVIOUS_VERSION)
|
||||
ifeq ($(VERSION_MAJOR),)
|
||||
VERSION_MAJOR=$(STANDALONE_JDK_MAJOR_VER)
|
||||
endif
|
||||
ifeq ($(JDK_MAJOR_VERSION),)
|
||||
JDK_MAJOR_VERSION=$(JDK_MAJOR_VER)
|
||||
ifeq ($(VERSION_MINOR),)
|
||||
VERSION_MINOR=$(STANDALONE_JDK_MINOR_VER)
|
||||
endif
|
||||
ifeq ($(JDK_MINOR_VERSION),)
|
||||
JDK_MINOR_VERSION=$(JDK_MINOR_VER)
|
||||
ifeq ($(VERSION_SECURITY),)
|
||||
VERSION_SECURITY=$(STANDALONE_JDK_SECURITY_VER)
|
||||
endif
|
||||
ifeq ($(JDK_MICRO_VERSION),)
|
||||
JDK_MICRO_VERSION=$(JDK_MICRO_VER)
|
||||
ifeq ($(VERSION_PATCH),)
|
||||
VERSION_PATCH=$(STANDALONE_JDK_PATCH_VER)
|
||||
endif
|
||||
ifeq ($(JDK_BUILD_NUMBER),)
|
||||
JDK_BUILD_NUMBER=0
|
||||
ifeq ($(VERSION_BUILD),)
|
||||
VERSION_BUILD=0
|
||||
endif
|
||||
ifeq ($(JDK_MKTG_VERSION),)
|
||||
JDK_MKTG_VERSION=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
|
||||
ifeq ($(VERSION_SHORT),)
|
||||
VERSION_SHORT=$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_SECURITY)
|
||||
endif
|
||||
ifeq ($(JDK_VERSION),)
|
||||
ifeq ($(BUILD_FLAVOR), product)
|
||||
JDK_VERSION=$(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
|
||||
else
|
||||
JDK_VERSION=$(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)-$(BUILD_FLAVOR)
|
||||
endif
|
||||
endif
|
||||
ifeq ($(FULL_VERSION),)
|
||||
FULL_VERSION="$(JDK_VERSION)"
|
||||
ifeq ($(VERSION_STRING),)
|
||||
# Note that this is an extremely rough and incorrect approximation of a correct version string.
|
||||
VERSION_STRING=$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_SECURITY)-internal
|
||||
endif
|
||||
|
||||
# FULL_VERSION is only used to define JRE_RELEASE_VERSION which is used
|
||||
# as JRE version in VM -Xinternalversion output.
|
||||
ifndef JRE_RELEASE_VERSION
|
||||
JRE_RELEASE_VERSION=$(FULL_VERSION)
|
||||
endif
|
||||
|
||||
ifndef HOTSPOT_RELEASE_VERSION
|
||||
HOTSPOT_RELEASE_VERSION=$(FULL_VERSION)
|
||||
endif
|
||||
|
||||
ifdef HOTSPOT_BUILD_VERSION
|
||||
# specified in command line
|
||||
ifneq ($(HOTSPOT_RELEASE_VERSION),)
|
||||
# Allow old command-line overrides
|
||||
HOTSPOT_VERSION_STRING := $(HOTSPOT_RELEASE_VERSION)
|
||||
else
|
||||
ifdef COOKED_BUILD_NUMBER
|
||||
# JRE build
|
||||
HOTSPOT_BUILD_VERSION=
|
||||
else
|
||||
ifdef USER_RELEASE_SUFFIX
|
||||
HOTSPOT_BUILD_VERSION=internal-$(USER_RELEASE_SUFFIX)
|
||||
else
|
||||
HOTSPOT_BUILD_VERSION=internal
|
||||
endif
|
||||
# Normally get from surrounding JDK build
|
||||
HOTSPOT_VERSION_STRING := $(VERSION_STRING)
|
||||
endif
|
||||
|
||||
ifneq ($(HOTSPOT_BUILD_VERSION),)
|
||||
# If old command-lines variable exists, append to version string
|
||||
HOTSPOT_VERSION_STRING := $(HOTSPOT_VERSION_STRING)-$(HOTSPOT_BUILD_VERSION)
|
||||
else
|
||||
ifeq ($(SPEC),)
|
||||
# If building standalone, add -internal.
|
||||
HOTSPOT_VERSION_STRING := $(HOTSPOT_VERSION_STRING)-internal
|
||||
endif
|
||||
endif
|
||||
|
||||
@ -233,7 +224,7 @@ ifneq ($(ALT_OUTPUTDIR),)
|
||||
endif
|
||||
|
||||
# Find latest promoted JDK area
|
||||
JDK_IMPORT_PATH=$(SLASH_JAVA)/re/j2se/$(JDK_VERSION)/promoted/latest/binaries/$(PLATFORM)
|
||||
JDK_IMPORT_PATH=$(SLASH_JAVA)/re/j2se/$(VERSION_STRING)/promoted/latest/binaries/$(PLATFORM)
|
||||
ifneq ($(ALT_JDK_IMPORT_PATH),)
|
||||
JDK_IMPORT_PATH=$(ALT_JDK_IMPORT_PATH)
|
||||
endif
|
||||
@ -246,7 +237,7 @@ ifneq ($(ALT_JDK_TARGET_IMPORT_PATH),)
|
||||
endif
|
||||
|
||||
# Find JDK used for javac compiles
|
||||
BOOTDIR=$(SLASH_JAVA)/re/j2se/$(PREVIOUS_JDK_VERSION)/latest/binaries/$(PLATFORM)
|
||||
BOOTDIR=$(SLASH_JAVA)/re/j2se/$(JDK_PREVIOUS_VERSION)/latest/binaries/$(PLATFORM)
|
||||
ifneq ($(ALT_BOOTDIR),)
|
||||
BOOTDIR=$(ALT_BOOTDIR)
|
||||
endif
|
||||
@ -337,12 +328,7 @@ MAKE_ARGS += BOOTDIR=$(ABS_BOOTDIR)
|
||||
MAKE_ARGS += OUTPUTDIR=$(ABS_OUTPUTDIR)
|
||||
MAKE_ARGS += GAMMADIR=$(ABS_GAMMADIR)
|
||||
MAKE_ARGS += MAKE_VERBOSE=$(MAKE_VERBOSE)
|
||||
MAKE_ARGS += JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
|
||||
|
||||
# Pass HOTSPOT_BUILD_VERSION as argument to OS specific Makefile
|
||||
# to overwrite the default definition since OS specific Makefile also
|
||||
# includes this make/defs.make file.
|
||||
MAKE_ARGS += HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION)
|
||||
MAKE_ARGS += VERSION_STRING=$(VERSION_STRING)
|
||||
|
||||
MAKE_ARGS += BOOT_JDK_SOURCETARGET="$(BOOT_JDK_SOURCETARGET)"
|
||||
|
||||
|
||||
@ -56,10 +56,10 @@ $(eval $(call SetupJavaCompilation, BUILD_JVMCI_SERVICE, \
|
||||
################################################################################
|
||||
|
||||
PROC_SRC_SUBDIRS := \
|
||||
jdk.vm.ci.compiler \
|
||||
jdk.vm.ci.hotspot \
|
||||
jdk.vm.ci.hotspot.amd64 \
|
||||
jdk.vm.ci.hotspot.sparc \
|
||||
jdk.vm.ci.runtime \
|
||||
#
|
||||
|
||||
PROC_SRC_DIRS := $(patsubst %, $(SRC_DIR)/%/src, $(PROC_SRC_SUBDIRS))
|
||||
@ -94,11 +94,7 @@ TARGETS += $(GENSRC_DIR)/_gensrc_proc_done
|
||||
$(GENSRC_DIR)/META-INF/services/jdk.vm.ci.options.OptionDescriptors: \
|
||||
$(GENSRC_DIR)/_gensrc_proc_done
|
||||
$(MKDIR) -p $(@D)
|
||||
($(CD) $(GENSRC_DIR)/META-INF/jvmci.options && \
|
||||
$(RM) -f $@; \
|
||||
for i in $$(ls); do \
|
||||
echo $${i}_OptionDescriptors >> $@; \
|
||||
done)
|
||||
$(FIND) $(GENSRC_DIR) -name '*_OptionDescriptors.java' | $(SED) 's:.*/jdk\.vm\.ci/\(.*\)\.java:\1:' | $(TR) '/' '.' > $@
|
||||
|
||||
TARGETS += $(GENSRC_DIR)/META-INF/services/jdk.vm.ci.options.OptionDescriptors
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2010, 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
|
||||
@ -156,7 +156,7 @@ else
|
||||
export LD_LIBRARY_PATH
|
||||
fi
|
||||
|
||||
JPARMS="-XXaltjvm=$MYDIR -Dsun.java.launcher.is_altjvm=true $@ $JAVA_ARGS";
|
||||
JPARMS="-XXaltjvm=$MYDIR -Dsun.java.launcher.is_altjvm=true";
|
||||
|
||||
# Locate the java launcher
|
||||
LAUNCHER=$JDK/bin/java
|
||||
@ -181,8 +181,6 @@ init_gdb() {
|
||||
cd `pwd`
|
||||
handle SIGUSR1 nostop noprint
|
||||
handle SIGUSR2 nostop noprint
|
||||
set args $JPARMS
|
||||
file $LAUNCHER
|
||||
directory $GDBSRCDIR
|
||||
# Get us to a point where we can set breakpoints in libjvm.so
|
||||
set breakpoint pending on
|
||||
@ -194,11 +192,10 @@ delete 1
|
||||
EOF
|
||||
}
|
||||
|
||||
|
||||
case "$MODE" in
|
||||
gdb)
|
||||
init_gdb
|
||||
$GDB -x $GDBSCR
|
||||
$GDB -x $GDBSCR --args $LAUNCHER $JPARMS "$@" $JAVA_ARGS
|
||||
rm -f $GDBSCR
|
||||
;;
|
||||
gud)
|
||||
@ -219,15 +216,15 @@ case "$MODE" in
|
||||
rm -f $GDBSCR
|
||||
;;
|
||||
dbx)
|
||||
$DBX -s $HOME/.dbxrc -c "loadobject -load libjvm.so; stop in JNI_CreateJavaVM; run $JPARMS; delete all" $LAUNCHER
|
||||
$DBX -s $HOME/.dbxrc -c "loadobject -load libjvm.so; stop in JNI_CreateJavaVM; run $JPARMS $@ $JAVA_ARGS; delete all" $LAUNCHER
|
||||
;;
|
||||
valgrind)
|
||||
echo Warning: Defaulting to 16Mb heap to make Valgrind run faster, use -Xmx for larger heap
|
||||
echo
|
||||
$VALGRIND --tool=memcheck --leak-check=yes --num-callers=50 $LAUNCHER -Xmx16m $JPARMS
|
||||
$VALGRIND --tool=memcheck --leak-check=yes --num-callers=50 $LAUNCHER -Xmx16m $JPARMS "$@" $JAVA_ARGS
|
||||
;;
|
||||
run)
|
||||
LD_PRELOAD=$PRELOADING exec $LAUNCHER $JPARMS
|
||||
LD_PRELOAD=$PRELOADING exec $LAUNCHER $JPARMS "$@" $JAVA_ARGS
|
||||
;;
|
||||
*)
|
||||
echo Error: Internal error, unknown launch mode \"$MODE\"
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
# Copyright (c) 2006, 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
|
||||
@ -26,11 +26,12 @@
|
||||
#
|
||||
|
||||
# Don't put quotes (fail windows build).
|
||||
HOTSPOT_VM_COPYRIGHT=Copyright 2014
|
||||
HOTSPOT_VM_COPYRIGHT=Copyright 2015
|
||||
|
||||
JDK_MAJOR_VER=1
|
||||
JDK_MINOR_VER=9
|
||||
JDK_MICRO_VER=0
|
||||
STANDALONE_JDK_MAJOR_VER=9
|
||||
STANDALONE_JDK_MINOR_VER=0
|
||||
STANDALONE_JDK_SECURITY_VER=0
|
||||
STANDALONE_JDK_PATCH_VER=0
|
||||
|
||||
# Previous (bootdir) JDK version
|
||||
JDK_PREVIOUS_VERSION=1.8.0
|
||||
STANDALONE_JDK_PREVIOUS_VERSION=1.8.0
|
||||
|
||||
@ -210,7 +210,7 @@ TARGETS_MINIMAL1 = $(addsuffix minimal1,$(TARGETS))
|
||||
|
||||
BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make
|
||||
BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH)
|
||||
BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION) JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
|
||||
BUILDTREE_VARS += HOTSPOT_VERSION_STRING=$(HOTSPOT_VERSION_STRING) VERSION_STRING=$(VERSION_STRING)
|
||||
BUILDTREE_VARS += ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS) OBJCOPY=$(OBJCOPY) STRIP_POLICY=$(STRIP_POLICY) ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES) ZIPEXE=$(ZIPEXE)
|
||||
|
||||
BUILDTREE = $(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_VARS)
|
||||
|
||||
@ -36,9 +36,8 @@
|
||||
# GAMMADIR - top of workspace
|
||||
# OS_FAMILY - operating system
|
||||
# VARIANT - core, compiler1, compiler2, or tiered
|
||||
# HOTSPOT_RELEASE_VERSION - <major_ver>.<minor_ver>.<micro_ver>[-<identifier>][-<debug_target>][-b<nn>]
|
||||
# HOTSPOT_BUILD_VERSION - internal, internal-$(USER_RELEASE_SUFFIX) or empty
|
||||
# JRE_RELEASE_VERSION - <major>.<minor>.<micro> (1.7.0)
|
||||
# VERSION_STRING - the JDK version string as specified by JEP-223
|
||||
# HOTSPOT_VERSION_STRING - the same as VERSION_STRING, unless overridden by a standalone build
|
||||
#
|
||||
# Builds the directory trees with makefiles plus some convenience files in
|
||||
# each directory:
|
||||
@ -134,11 +133,7 @@ BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OS_FAMILY) \
|
||||
|
||||
# Define variables to be set in flags.make.
|
||||
# Default values are set in make/defs.make.
|
||||
ifeq ($(HOTSPOT_BUILD_VERSION),)
|
||||
HS_BUILD_VER=$(HOTSPOT_RELEASE_VERSION)
|
||||
else
|
||||
HS_BUILD_VER=$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)
|
||||
endif
|
||||
|
||||
# Set BUILD_USER from system-dependent hints: $LOGNAME, $(whoami)
|
||||
ifndef HOTSPOT_BUILD_USER
|
||||
HOTSPOT_BUILD_USER := $(shell echo $$LOGNAME)
|
||||
@ -163,7 +158,7 @@ ifndef OPENJDK
|
||||
endif
|
||||
endif
|
||||
|
||||
BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HS_BUILD_VER) HOTSPOT_BUILD_VERSION= JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
|
||||
BUILDTREE_VARS += HOTSPOT_VERSION_STRING=$(HOTSPOT_VERSION_STRING) VERSION_STRING=$(VERSION_STRING)
|
||||
|
||||
BUILDTREE = \
|
||||
$(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_TARGETS) $(BUILDTREE_VARS)
|
||||
@ -217,9 +212,9 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
||||
echo "BUILDARCH = $(BUILDARCH)"; \
|
||||
echo "LIBARCH = $(LIBARCH)"; \
|
||||
echo "TARGET = $(TARGET)"; \
|
||||
echo "HS_BUILD_VER = $(HS_BUILD_VER)"; \
|
||||
echo "JRE_RELEASE_VER = $(JRE_RELEASE_VERSION)"; \
|
||||
echo "SA_BUILD_VERSION = $(HS_BUILD_VER)"; \
|
||||
echo "HOTSPOT_VERSION_STRING = $(HOTSPOT_VERSION_STRING)"; \
|
||||
echo "VERSION_STRING = $(VERSION_STRING)"; \
|
||||
echo "SA_BUILD_VERSION = $(HOTSPOT_VERSION_STRING)"; \
|
||||
echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \
|
||||
echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \
|
||||
echo "OPENJDK = $(OPENJDK)"; \
|
||||
|
||||
@ -139,102 +139,85 @@ ifeq ($(JVM_VARIANTS),)
|
||||
endif
|
||||
endif
|
||||
|
||||
# determine if HotSpot is being built in JDK6 or earlier version
|
||||
JDK6_OR_EARLIER=0
|
||||
ifeq "$(shell expr \( '$(JDK_MAJOR_VERSION)' != '' \& '$(JDK_MINOR_VERSION)' != '' \& '$(JDK_MICRO_VERSION)' != '' \))" "1"
|
||||
# if the longer variable names (newer build style) are set, then check those
|
||||
ifeq "$(shell expr \( $(JDK_MAJOR_VERSION) = 1 \& $(JDK_MINOR_VERSION) \< 7 \))" "1"
|
||||
JDK6_OR_EARLIER=1
|
||||
endif
|
||||
else
|
||||
# the longer variables aren't set so check the shorter variable names
|
||||
ifeq "$(shell expr \( '$(JDK_MAJOR_VER)' = 1 \& '$(JDK_MINOR_VER)' \< 7 \))" "1"
|
||||
JDK6_OR_EARLIER=1
|
||||
endif
|
||||
endif
|
||||
# The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product
|
||||
# builds is enabled with debug info files ZIP'ed to save space. For
|
||||
# BUILD_FLAVOR != product builds, FDS is always enabled, after all a
|
||||
# debug build without debug info isn't very useful.
|
||||
# The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled.
|
||||
#
|
||||
# If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be
|
||||
# disabled for a BUILD_FLAVOR == product build.
|
||||
#
|
||||
# Note: Use of a different variable name for the FDS override option
|
||||
# versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS
|
||||
# versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass
|
||||
# in options via environment variables, use of distinct variables
|
||||
# prevents strange behaviours. For example, in a BUILD_FLAVOR !=
|
||||
# product build, the FULL_DEBUG_SYMBOLS environment variable will be
|
||||
# 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If
|
||||
# the same variable name is used, then different values can be picked
|
||||
# up by different parts of the build. Just to be clear, we only need
|
||||
# two variable names because the incoming option value can be
|
||||
# overridden in some situations, e.g., a BUILD_FLAVOR != product
|
||||
# build.
|
||||
|
||||
ifeq ($(JDK6_OR_EARLIER),0)
|
||||
# Full Debug Symbols is supported on JDK7 or newer.
|
||||
# The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product
|
||||
# builds is enabled with debug info files ZIP'ed to save space. For
|
||||
# BUILD_FLAVOR != product builds, FDS is always enabled, after all a
|
||||
# debug build without debug info isn't very useful.
|
||||
# The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled.
|
||||
#
|
||||
# If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be
|
||||
# disabled for a BUILD_FLAVOR == product build.
|
||||
#
|
||||
# Note: Use of a different variable name for the FDS override option
|
||||
# versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS
|
||||
# versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass
|
||||
# in options via environment variables, use of distinct variables
|
||||
# prevents strange behaviours. For example, in a BUILD_FLAVOR !=
|
||||
# product build, the FULL_DEBUG_SYMBOLS environment variable will be
|
||||
# 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If
|
||||
# the same variable name is used, then different values can be picked
|
||||
# up by different parts of the build. Just to be clear, we only need
|
||||
# two variable names because the incoming option value can be
|
||||
# overridden in some situations, e.g., a BUILD_FLAVOR != product
|
||||
# build.
|
||||
# Due to the multiple sub-make processes that occur this logic gets
|
||||
# executed multiple times. We reduce the noise by at least checking that
|
||||
# BUILD_FLAVOR has been set.
|
||||
ifneq ($(BUILD_FLAVOR),)
|
||||
ifeq ($(BUILD_FLAVOR), product)
|
||||
FULL_DEBUG_SYMBOLS ?= 1
|
||||
ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS)
|
||||
else
|
||||
# debug variants always get Full Debug Symbols (if available)
|
||||
ENABLE_FULL_DEBUG_SYMBOLS = 1
|
||||
endif
|
||||
$(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
|
||||
# since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
|
||||
|
||||
# Due to the multiple sub-make processes that occur this logic gets
|
||||
# executed multiple times. We reduce the noise by at least checking that
|
||||
# BUILD_FLAVOR has been set.
|
||||
ifneq ($(BUILD_FLAVOR),)
|
||||
ifeq ($(BUILD_FLAVOR), product)
|
||||
FULL_DEBUG_SYMBOLS ?= 1
|
||||
ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS)
|
||||
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||
# Default OBJCOPY comes from GNU Binutils on Linux
|
||||
ifeq ($(CROSS_COMPILE_ARCH),)
|
||||
DEF_OBJCOPY=/usr/bin/objcopy
|
||||
else
|
||||
# debug variants always get Full Debug Symbols (if available)
|
||||
ENABLE_FULL_DEBUG_SYMBOLS = 1
|
||||
# Assume objcopy is part of the cross-compilation toolset
|
||||
ifneq ($(ALT_COMPILER_PATH),)
|
||||
DEF_OBJCOPY=$(ALT_COMPILER_PATH)/objcopy
|
||||
endif
|
||||
endif
|
||||
OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
|
||||
ifneq ($(ALT_OBJCOPY),)
|
||||
$(eval $(call print_info, "ALT_OBJCOPY=$(ALT_OBJCOPY)"))
|
||||
OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
|
||||
endif
|
||||
$(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
|
||||
# since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
|
||||
|
||||
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||
# Default OBJCOPY comes from GNU Binutils on Linux
|
||||
ifeq ($(CROSS_COMPILE_ARCH),)
|
||||
DEF_OBJCOPY=/usr/bin/objcopy
|
||||
else
|
||||
# Assume objcopy is part of the cross-compilation toolset
|
||||
ifneq ($(ALT_COMPILER_PATH),)
|
||||
DEF_OBJCOPY=$(ALT_COMPILER_PATH)/objcopy
|
||||
endif
|
||||
endif
|
||||
OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
|
||||
ifneq ($(ALT_OBJCOPY),)
|
||||
$(eval $(call print_info, "ALT_OBJCOPY=$(ALT_OBJCOPY)"))
|
||||
OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
|
||||
endif
|
||||
ifeq ($(OBJCOPY),)
|
||||
$(eval $(call print_info, "no objcopy cmd found so cannot create .debuginfo files. You may need to set ALT_OBJCOPY."))
|
||||
ENABLE_FULL_DEBUG_SYMBOLS=0
|
||||
$(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
|
||||
else
|
||||
$(eval $(call print_info, "$(OBJCOPY) cmd found so will create .debuginfo files."))
|
||||
|
||||
ifeq ($(OBJCOPY),)
|
||||
$(eval $(call print_info, "no objcopy cmd found so cannot create .debuginfo files. You may need to set ALT_OBJCOPY."))
|
||||
ENABLE_FULL_DEBUG_SYMBOLS=0
|
||||
$(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
|
||||
else
|
||||
$(eval $(call print_info, "$(OBJCOPY) cmd found so will create .debuginfo files."))
|
||||
# Library stripping policies for .debuginfo configs:
|
||||
# all_strip - strips everything from the library
|
||||
# min_strip - strips most stuff from the library; leaves minimum symbols
|
||||
# no_strip - does not strip the library at all
|
||||
#
|
||||
# Oracle security policy requires "all_strip". A waiver was granted on
|
||||
# 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
|
||||
#
|
||||
# Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
|
||||
#
|
||||
STRIP_POLICY ?= min_strip
|
||||
|
||||
# Library stripping policies for .debuginfo configs:
|
||||
# all_strip - strips everything from the library
|
||||
# min_strip - strips most stuff from the library; leaves minimum symbols
|
||||
# no_strip - does not strip the library at all
|
||||
#
|
||||
# Oracle security policy requires "all_strip". A waiver was granted on
|
||||
# 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
|
||||
#
|
||||
# Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
|
||||
#
|
||||
STRIP_POLICY ?= min_strip
|
||||
$(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
|
||||
|
||||
$(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
|
||||
ZIP_DEBUGINFO_FILES ?= 1
|
||||
|
||||
ZIP_DEBUGINFO_FILES ?= 1
|
||||
|
||||
$(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
|
||||
endif
|
||||
endif # ENABLE_FULL_DEBUG_SYMBOLS=1
|
||||
endif # BUILD_FLAVOR
|
||||
endif # JDK_6_OR_EARLIER
|
||||
$(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
|
||||
endif
|
||||
endif # ENABLE_FULL_DEBUG_SYMBOLS=1
|
||||
endif # BUILD_FLAVOR
|
||||
|
||||
JDK_INCLUDE_SUBDIR=linux
|
||||
|
||||
|
||||
@ -61,6 +61,11 @@ else
|
||||
CC_VER_MAJOR := $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f1)
|
||||
CC_VER_MINOR := $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f2)
|
||||
CC_VER_MICRO := $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f3)
|
||||
# Workaround Ubuntu bug where -dumpversion doesn't print a micro version
|
||||
# https://bugs.launchpad.net/ubuntu/+source/gcc-4.8/+bug/1360404
|
||||
ifeq ($(CC_VER_MICRO),)
|
||||
CC_VER_MICRO := "0"
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(USE_CLANG), true)
|
||||
@ -224,6 +229,8 @@ ifeq ($(USE_CLANG),)
|
||||
WARNING_FLAGS += -Wtype-limits
|
||||
# GCC < 4.8 don't accept this flag for C++.
|
||||
WARNING_FLAGS += -Wno-format-zero-length
|
||||
# GCC 4.8 reports less false positives than the older compilers.
|
||||
WARNING_FLAGS += -Wuninitialized
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
@ -34,7 +34,6 @@ SUNWprivate_1.1 {
|
||||
jio_snprintf;
|
||||
jio_vfprintf;
|
||||
jio_vsnprintf;
|
||||
fork1;
|
||||
numa_warn;
|
||||
numa_error;
|
||||
|
||||
|
||||
@ -34,7 +34,6 @@ SUNWprivate_1.1 {
|
||||
jio_snprintf;
|
||||
jio_vfprintf;
|
||||
jio_vsnprintf;
|
||||
fork1;
|
||||
numa_warn;
|
||||
numa_error;
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2003, 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
|
||||
@ -82,8 +82,7 @@ all: $(TraceGeneratedFiles)
|
||||
|
||||
GENERATE_CODE= \
|
||||
$(QUIETLY) echo $(LOG_INFO) Generating $@; \
|
||||
$(XSLT) -IN $(word 1,$^) -XSL $(word 2,$^) -OUT $@; \
|
||||
test -f $@
|
||||
$(XSLT) -IN $(word 1,$^) -XSL $(word 2,$^) -OUT $@
|
||||
|
||||
$(TraceOutDir)/traceEventIds.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/traceEventIds.xsl $(XML_DEPS)
|
||||
$(GENERATE_CODE)
|
||||
|
||||
@ -75,12 +75,14 @@ else
|
||||
endif
|
||||
|
||||
# The following variables are defined in the generated flags.make file.
|
||||
JDK_VER_DEFS = -DJDK_MAJOR_VERSION="\"$(JDK_MAJOR_VERSION)\"" \
|
||||
-DJDK_MINOR_VERSION="\"$(JDK_MINOR_VERSION)\"" \
|
||||
-DJDK_MICRO_VERSION="\"$(JDK_MICRO_VERSION)\"" \
|
||||
-DJDK_BUILD_NUMBER="\"$(JDK_BUILD_NUMBER)\""
|
||||
VM_VER_DEFS = -DHOTSPOT_RELEASE_VERSION="\"$(HS_BUILD_VER)\"" \
|
||||
-DJRE_RELEASE_VERSION="\"$(JRE_RELEASE_VER)\"" \
|
||||
JDK_VER_DEFS = -DVERSION_MAJOR=$(VERSION_MAJOR) \
|
||||
-DVERSION_MINOR=$(VERSION_MINOR) \
|
||||
-DVERSION_SECURITY=$(VERSION_SECURITY) \
|
||||
-DVERSION_PATCH=$(VERSION_PATCH) \
|
||||
-DVERSION_BUILD=$(VERSION_BUILD)
|
||||
VM_VER_DEFS = -DHOTSPOT_VERSION_STRING="\"$(HOTSPOT_VERSION_STRING)\"" \
|
||||
-DVERSION_STRING="\"$(VERSION_STRING)\"" \
|
||||
-DDEBUG_LEVEL="\"$(DEBUG_LEVEL)\"" \
|
||||
$(JDK_VER_DEFS)
|
||||
HS_LIB_ARCH = -DHOTSPOT_LIB_ARCH=\"$(LIBARCH)\"
|
||||
BUILD_USER = -DHOTSPOT_BUILD_USER="\"$(HOTSPOT_BUILD_USER)\""
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 1998, 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
|
||||
@ -157,7 +157,7 @@ TARGETS_CORE = $(addsuffix core,$(TARGETS))
|
||||
|
||||
BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make
|
||||
BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) ARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH)
|
||||
BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION) JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
|
||||
BUILDTREE_VARS += HOTSPOT_VERSION_STRING=$(HOTSPOT_VERSION_STRING) VERSION_STRING=$(VERSION_STRING)
|
||||
BUILDTREE_VARS += ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS) OBJCOPY=$(OBJCOPY) STRIP_POLICY=$(STRIP_POLICY) ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES) ZIPEXE=$(ZIPEXE)
|
||||
|
||||
BUILDTREE = $(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_VARS)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2000, 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
|
||||
@ -36,9 +36,8 @@
|
||||
# GAMMADIR - top of workspace
|
||||
# OS_FAMILY - operating system
|
||||
# VARIANT - core, compiler1, compiler2, or tiered
|
||||
# HOTSPOT_RELEASE_VERSION - <major_ver>.<minor_ver>.<micro_ver>[-<identifier>][-<debug_target>][-b<nn>]
|
||||
# HOTSPOT_BUILD_VERSION - internal, internal-$(USER_RELEASE_SUFFIX) or empty
|
||||
# JRE_RELEASE_VERSION - <major>.<minor>.<micro> (1.7.0)
|
||||
# VERSION_STRING - the JDK version string as specified by JEP-223
|
||||
# HOTSPOT_VERSION_STRING - the same as VERSION_STRING, unless overridden by a standalone build
|
||||
#
|
||||
# Builds the directory trees with makefiles plus some convenience files in
|
||||
# each directory:
|
||||
@ -124,11 +123,7 @@ BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OS_FAMILY) \
|
||||
|
||||
# Define variables to be set in flags.make.
|
||||
# Default values are set in make/defs.make.
|
||||
ifeq ($(HOTSPOT_BUILD_VERSION),)
|
||||
HS_BUILD_VER=$(HOTSPOT_RELEASE_VERSION)
|
||||
else
|
||||
HS_BUILD_VER=$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)
|
||||
endif
|
||||
|
||||
# Set BUILD_USER from system-dependent hints: $LOGNAME, $(whoami)
|
||||
ifndef HOTSPOT_BUILD_USER
|
||||
HOTSPOT_BUILD_USER := $(shell echo $$LOGNAME)
|
||||
@ -153,7 +148,7 @@ ifndef OPENJDK
|
||||
endif
|
||||
endif
|
||||
|
||||
BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HS_BUILD_VER) HOTSPOT_BUILD_VERSION= JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
|
||||
BUILDTREE_VARS += HOTSPOT_VERSION_STRING=$(HOTSPOT_VERSION_STRING) VERSION_STRING=$(VERSION_STRING)
|
||||
|
||||
BUILDTREE = \
|
||||
$(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_TARGETS) $(BUILDTREE_VARS)
|
||||
@ -203,9 +198,9 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
||||
echo "BUILDARCH = $(BUILDARCH)"; \
|
||||
echo "LIBARCH = $(LIBARCH)"; \
|
||||
echo "TARGET = $(TARGET)"; \
|
||||
echo "HS_BUILD_VER = $(HS_BUILD_VER)"; \
|
||||
echo "JRE_RELEASE_VER = $(JRE_RELEASE_VERSION)"; \
|
||||
echo "SA_BUILD_VERSION = $(HS_BUILD_VER)"; \
|
||||
echo "HOTSPOT_VERSION_STRING = $(HOTSPOT_VERSION_STRING)"; \
|
||||
echo "VERSION_STRING = $(VERSION_STRING)"; \
|
||||
echo "SA_BUILD_VERSION = $(HOTSPOT_VERSION_STRING)"; \
|
||||
echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \
|
||||
echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \
|
||||
echo "OPENJDK = $(OPENJDK)"; \
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2006, 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
|
||||
@ -77,144 +77,127 @@ ifeq ($(JVM_VARIANTS),)
|
||||
endif
|
||||
endif
|
||||
|
||||
# determine if HotSpot is being built in JDK6 or earlier version
|
||||
JDK6_OR_EARLIER=0
|
||||
ifeq "$(shell expr \( '$(JDK_MAJOR_VERSION)' != '' \& '$(JDK_MINOR_VERSION)' != '' \& '$(JDK_MICRO_VERSION)' != '' \))" "1"
|
||||
# if the longer variable names (newer build style) are set, then check those
|
||||
ifeq "$(shell expr \( $(JDK_MAJOR_VERSION) = 1 \& $(JDK_MINOR_VERSION) \< 7 \))" "1"
|
||||
JDK6_OR_EARLIER=1
|
||||
endif
|
||||
else
|
||||
# the longer variables aren't set so check the shorter variable names
|
||||
ifeq "$(shell expr \( '$(JDK_MAJOR_VER)' = 1 \& '$(JDK_MINOR_VER)' \< 7 \))" "1"
|
||||
JDK6_OR_EARLIER=1
|
||||
endif
|
||||
endif
|
||||
# The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product
|
||||
# builds is enabled with debug info files ZIP'ed to save space. For
|
||||
# BUILD_FLAVOR != product builds, FDS is always enabled, after all a
|
||||
# debug build without debug info isn't very useful.
|
||||
# The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled.
|
||||
#
|
||||
# If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be
|
||||
# disabled for a BUILD_FLAVOR == product build.
|
||||
#
|
||||
# Note: Use of a different variable name for the FDS override option
|
||||
# versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS
|
||||
# versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass
|
||||
# in options via environment variables, use of distinct variables
|
||||
# prevents strange behaviours. For example, in a BUILD_FLAVOR !=
|
||||
# product build, the FULL_DEBUG_SYMBOLS environment variable will be
|
||||
# 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If
|
||||
# the same variable name is used, then different values can be picked
|
||||
# up by different parts of the build. Just to be clear, we only need
|
||||
# two variable names because the incoming option value can be
|
||||
# overridden in some situations, e.g., a BUILD_FLAVOR != product
|
||||
# build.
|
||||
|
||||
ifeq ($(JDK6_OR_EARLIER),0)
|
||||
# Full Debug Symbols is supported on JDK7 or newer.
|
||||
# The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product
|
||||
# builds is enabled with debug info files ZIP'ed to save space. For
|
||||
# BUILD_FLAVOR != product builds, FDS is always enabled, after all a
|
||||
# debug build without debug info isn't very useful.
|
||||
# The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled.
|
||||
#
|
||||
# If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be
|
||||
# disabled for a BUILD_FLAVOR == product build.
|
||||
#
|
||||
# Note: Use of a different variable name for the FDS override option
|
||||
# versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS
|
||||
# versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass
|
||||
# in options via environment variables, use of distinct variables
|
||||
# prevents strange behaviours. For example, in a BUILD_FLAVOR !=
|
||||
# product build, the FULL_DEBUG_SYMBOLS environment variable will be
|
||||
# 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If
|
||||
# the same variable name is used, then different values can be picked
|
||||
# up by different parts of the build. Just to be clear, we only need
|
||||
# two variable names because the incoming option value can be
|
||||
# overridden in some situations, e.g., a BUILD_FLAVOR != product
|
||||
# build.
|
||||
# Due to the multiple sub-make processes that occur this logic gets
|
||||
# executed multiple times. We reduce the noise by at least checking that
|
||||
# BUILD_FLAVOR has been set.
|
||||
ifneq ($(BUILD_FLAVOR),)
|
||||
ifeq ($(BUILD_FLAVOR), product)
|
||||
FULL_DEBUG_SYMBOLS ?= 1
|
||||
ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS)
|
||||
else
|
||||
# debug variants always get Full Debug Symbols (if available)
|
||||
ENABLE_FULL_DEBUG_SYMBOLS = 1
|
||||
endif
|
||||
$(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
|
||||
# since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
|
||||
|
||||
# Due to the multiple sub-make processes that occur this logic gets
|
||||
# executed multiple times. We reduce the noise by at least checking that
|
||||
# BUILD_FLAVOR has been set.
|
||||
ifneq ($(BUILD_FLAVOR),)
|
||||
ifeq ($(BUILD_FLAVOR), product)
|
||||
FULL_DEBUG_SYMBOLS ?= 1
|
||||
ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS)
|
||||
else
|
||||
# debug variants always get Full Debug Symbols (if available)
|
||||
ENABLE_FULL_DEBUG_SYMBOLS = 1
|
||||
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||
# Default OBJCOPY comes from the SUNWbinutils package:
|
||||
DEF_OBJCOPY=/usr/sfw/bin/gobjcopy
|
||||
OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
|
||||
ifneq ($(ALT_OBJCOPY),)
|
||||
$(eval $(call print_info, "ALT_OBJCOPY=$(ALT_OBJCOPY)"))
|
||||
OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
|
||||
endif
|
||||
$(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
|
||||
# since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
|
||||
|
||||
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
|
||||
# Default OBJCOPY comes from the SUNWbinutils package:
|
||||
DEF_OBJCOPY=/usr/sfw/bin/gobjcopy
|
||||
OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
|
||||
ifneq ($(ALT_OBJCOPY),)
|
||||
$(eval $(call print_info, "ALT_OBJCOPY=$(ALT_OBJCOPY)"))
|
||||
OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
|
||||
endif
|
||||
|
||||
ifneq ($(OBJCOPY),)
|
||||
# OBJCOPY version check:
|
||||
# - version number is last blank separate word on first line
|
||||
# - version number formats that have been seen:
|
||||
# - <major>.<minor>
|
||||
# - <major>.<minor>.<micro>
|
||||
#
|
||||
# Full Debug Symbols on Solaris needs version 2.21.1 or newer.
|
||||
#
|
||||
OBJCOPY_VERS_CHK := $(shell \
|
||||
$(OBJCOPY) --version \
|
||||
| sed -n \
|
||||
-e 's/.* //' \
|
||||
-e '/^[01]\./b bad' \
|
||||
-e '/^2\./{' \
|
||||
-e ' s/^2\.//' \
|
||||
-e ' /^[0-9]$$/b bad' \
|
||||
-e ' /^[0-9]\./b bad' \
|
||||
-e ' /^1[0-9]$$/b bad' \
|
||||
-e ' /^1[0-9]\./b bad' \
|
||||
-e ' /^20\./b bad' \
|
||||
-e ' /^21\.0$$/b bad' \
|
||||
-e ' /^21\.0\./b bad' \
|
||||
-e '}' \
|
||||
-e ':good' \
|
||||
-e 's/.*/VALID_VERSION/p' \
|
||||
-e 'q' \
|
||||
-e ':bad' \
|
||||
-e 's/.*/BAD_VERSION/p' \
|
||||
-e 'q' \
|
||||
ifneq ($(OBJCOPY),)
|
||||
# OBJCOPY version check:
|
||||
# - version number is last blank separate word on first line
|
||||
# - version number formats that have been seen:
|
||||
# - <major>.<minor>
|
||||
# - <major>.<minor>.<micro>
|
||||
#
|
||||
# Full Debug Symbols on Solaris needs version 2.21.1 or newer.
|
||||
#
|
||||
OBJCOPY_VERS_CHK := $(shell \
|
||||
$(OBJCOPY) --version \
|
||||
| sed -n \
|
||||
-e 's/.* //' \
|
||||
-e '/^[01]\./b bad' \
|
||||
-e '/^2\./{' \
|
||||
-e ' s/^2\.//' \
|
||||
-e ' /^[0-9]$$/b bad' \
|
||||
-e ' /^[0-9]\./b bad' \
|
||||
-e ' /^1[0-9]$$/b bad' \
|
||||
-e ' /^1[0-9]\./b bad' \
|
||||
-e ' /^20\./b bad' \
|
||||
-e ' /^21\.0$$/b bad' \
|
||||
-e ' /^21\.0\./b bad' \
|
||||
-e '}' \
|
||||
-e ':good' \
|
||||
-e 's/.*/VALID_VERSION/p' \
|
||||
-e 'q' \
|
||||
-e ':bad' \
|
||||
-e 's/.*/BAD_VERSION/p' \
|
||||
-e 'q' \
|
||||
)
|
||||
ifeq ($(OBJCOPY_VERS_CHK),BAD_VERSION)
|
||||
_JUNK_ := $(shell \
|
||||
echo >&2 "WARNING: $(OBJCOPY) --version info:"; \
|
||||
$(OBJCOPY) --version | sed -n -e 's/^/WARNING: /p' -e 'q' >&2; \
|
||||
echo >&2 "WARNING: an objcopy version of 2.21.1 or newer" \
|
||||
"is needed to create valid .debuginfo files."; \
|
||||
echo >&2 "WARNING: ignoring above objcopy command."; \
|
||||
echo >&2 "WARNING: patch 149063-01 or newer contains the" \
|
||||
"correct Solaris 10 SPARC version."; \
|
||||
echo >&2 "WARNING: patch 149064-01 or newer contains the" \
|
||||
"correct Solaris 10 X86 version."; \
|
||||
echo >&2 "WARNING: Solaris 11 Update 1 contains the" \
|
||||
"correct version."; \
|
||||
)
|
||||
ifeq ($(OBJCOPY_VERS_CHK),BAD_VERSION)
|
||||
_JUNK_ := $(shell \
|
||||
echo >&2 "WARNING: $(OBJCOPY) --version info:"; \
|
||||
$(OBJCOPY) --version | sed -n -e 's/^/WARNING: /p' -e 'q' >&2; \
|
||||
echo >&2 "WARNING: an objcopy version of 2.21.1 or newer" \
|
||||
"is needed to create valid .debuginfo files."; \
|
||||
echo >&2 "WARNING: ignoring above objcopy command."; \
|
||||
echo >&2 "WARNING: patch 149063-01 or newer contains the" \
|
||||
"correct Solaris 10 SPARC version."; \
|
||||
echo >&2 "WARNING: patch 149064-01 or newer contains the" \
|
||||
"correct Solaris 10 X86 version."; \
|
||||
echo >&2 "WARNING: Solaris 11 Update 1 contains the" \
|
||||
"correct version."; \
|
||||
)
|
||||
OBJCOPY=
|
||||
endif
|
||||
OBJCOPY=
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OBJCOPY),)
|
||||
$(eval $(call print_info, "no objcopy cmd found so cannot create .debuginfo files."))
|
||||
ENABLE_FULL_DEBUG_SYMBOLS=0
|
||||
$(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
|
||||
else
|
||||
$(eval $(call print_info, "$(OBJCOPY) cmd found so will create .debuginfo files."))
|
||||
ifeq ($(OBJCOPY),)
|
||||
$(eval $(call print_info, "no objcopy cmd found so cannot create .debuginfo files."))
|
||||
ENABLE_FULL_DEBUG_SYMBOLS=0
|
||||
$(eval $(call print_info, "ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)"))
|
||||
else
|
||||
$(eval $(call print_info, "$(OBJCOPY) cmd found so will create .debuginfo files."))
|
||||
|
||||
# Library stripping policies for .debuginfo configs:
|
||||
# all_strip - strips everything from the library
|
||||
# min_strip - strips most stuff from the library; leaves minimum symbols
|
||||
# no_strip - does not strip the library at all
|
||||
#
|
||||
# Oracle security policy requires "all_strip". A waiver was granted on
|
||||
# 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
|
||||
#
|
||||
# Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
|
||||
#
|
||||
STRIP_POLICY ?= min_strip
|
||||
# Library stripping policies for .debuginfo configs:
|
||||
# all_strip - strips everything from the library
|
||||
# min_strip - strips most stuff from the library; leaves minimum symbols
|
||||
# no_strip - does not strip the library at all
|
||||
#
|
||||
# Oracle security policy requires "all_strip". A waiver was granted on
|
||||
# 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
|
||||
#
|
||||
# Currently, STRIP_POLICY is only used when Full Debug Symbols is enabled.
|
||||
#
|
||||
STRIP_POLICY ?= min_strip
|
||||
|
||||
$(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
|
||||
$(eval $(call print_info, "STRIP_POLICY=$(STRIP_POLICY)"))
|
||||
|
||||
ZIP_DEBUGINFO_FILES ?= 1
|
||||
ZIP_DEBUGINFO_FILES ?= 1
|
||||
|
||||
$(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
|
||||
endif
|
||||
endif # ENABLE_FULL_DEBUG_SYMBOLS=1
|
||||
endif # BUILD_FLAVOR
|
||||
endif # JDK_6_OR_EARLIER
|
||||
$(eval $(call print_info, "ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)"))
|
||||
endif
|
||||
endif # ENABLE_FULL_DEBUG_SYMBOLS=1
|
||||
endif # BUILD_FLAVOR
|
||||
|
||||
JDK_INCLUDE_SUBDIR=solaris
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 1998, 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
|
||||
@ -19,7 +19,7 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
# If a SPEC is not set already, then use these defaults.
|
||||
@ -39,7 +39,7 @@ ifeq ($(SPEC),)
|
||||
STRIP = /usr/ccs/bin/strip
|
||||
endif
|
||||
|
||||
# Check for the versions of C++ and C compilers ($CXX and $CC) used.
|
||||
# Check for the versions of C++ and C compilers ($CXX and $CC) used.
|
||||
|
||||
# Get the last thing on the line that looks like x.x+ (x is a digit).
|
||||
COMPILER_REV := \
|
||||
@ -48,15 +48,9 @@ CC_COMPILER_REV := \
|
||||
$(shell $(CC) -V 2>&1 | sed -n 's/^.*[ ,\t]C[ ,\t]\([1-9]\.[0-9][0-9]*\).*/\1/p')
|
||||
|
||||
# Pick which compiler is validated
|
||||
ifeq ($(JRE_RELEASE_VER),1.6.0)
|
||||
# Validated compiler for JDK6 is SS11 (5.8)
|
||||
VALIDATED_COMPILER_REVS := 5.8
|
||||
VALIDATED_CC_COMPILER_REVS := 5.8
|
||||
else
|
||||
# Validated compiler for JDK9 is SS12.3 (5.12)
|
||||
VALIDATED_COMPILER_REVS := 5.12
|
||||
VALIDATED_CC_COMPILER_REVS := 5.12
|
||||
endif
|
||||
# Validated compiler for JDK9 is SS12.3 (5.12)
|
||||
VALIDATED_COMPILER_REVS := 5.12
|
||||
VALIDATED_CC_COMPILER_REVS := 5.12
|
||||
|
||||
# Warning messages about not using the above validated versions
|
||||
ENFORCE_COMPILER_REV${ENFORCE_COMPILER_REV} := $(strip ${VALIDATED_COMPILER_REVS})
|
||||
@ -237,7 +231,7 @@ CFLAGS += $(GAMMADIR)/src/os_cpu/solaris_${Platform_arch}/vm/solaris_${Platform_
|
||||
CFLAGS/NOEX=-features=no%except
|
||||
|
||||
|
||||
# avoid compilation problems arising from fact that C++ compiler tries
|
||||
# avoid compilation problems arising from fact that C++ compiler tries
|
||||
# to search for external template definition by just compiling additional
|
||||
# source files in th same context
|
||||
CFLAGS += -template=no%extdef
|
||||
@ -245,7 +239,7 @@ CFLAGS += -template=no%extdef
|
||||
# Reduce code bloat by reverting back to 5.0 behavior for static initializers
|
||||
CFLAGS += -features=no%split_init
|
||||
|
||||
# Use -D_Crun_inline_placement so we don't get references to
|
||||
# Use -D_Crun_inline_placement so we don't get references to
|
||||
# __1c2n6FIpv_0_ or void*operator new(unsigned,void*)
|
||||
# This avoids the hard requirement of the newer Solaris C++ runtime patches.
|
||||
# NOTE: This is an undocumented feature of the SS10 compiler. See 6306698.
|
||||
@ -550,19 +544,6 @@ else
|
||||
#LINK_INTO = LIBJVM
|
||||
endif
|
||||
|
||||
# Solaris platforms collect lots of redundant file-ident lines,
|
||||
# to the point of wasting a significant percentage of file space.
|
||||
# (The text is stored in ELF .comment sections, contributed by
|
||||
# all "#pragma ident" directives in header and source files.)
|
||||
# This command "compresses" the .comment sections simply by
|
||||
# removing repeated lines. The data can be extracted from
|
||||
# binaries in the field by using "mcs -p libjvm.so" or the older
|
||||
# command "what libjvm.so".
|
||||
LINK_LIB.CXX/POST_HOOK += $(MCS) -c $@ || exit 1;
|
||||
# (The exit 1 is necessary to cause a build failure if the command fails and
|
||||
# multiple commands are strung together, and the final semicolon is necessary
|
||||
# since the hook must terminate itself as a valid command.)
|
||||
|
||||
# Also, strip debug and line number information (worth about 1.7Mb).
|
||||
# If we can create .debuginfo files, then the VM is stripped in vm.make
|
||||
# and this macro is not used.
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2003, 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
|
||||
@ -78,8 +78,7 @@ all: $(TraceGeneratedFiles)
|
||||
|
||||
GENERATE_CODE= \
|
||||
$(QUIETLY) echo $(LOG_INFO) Generating $@; \
|
||||
$(XSLT) -IN $(word 1,$^) -XSL $(word 2,$^) -OUT $@; \
|
||||
test -f $@
|
||||
$(XSLT) -IN $(word 1,$^) -XSL $(word 2,$^) -OUT $@
|
||||
|
||||
$(TraceOutDir)/traceEventIds.hpp: $(TraceSrcDir)/trace.xml $(TraceSrcDir)/traceEventIds.xsl $(XML_DEPS)
|
||||
$(GENERATE_CODE)
|
||||
|
||||
@ -69,12 +69,14 @@ else
|
||||
endif
|
||||
|
||||
# The following variables are defined in the generated flags.make file.
|
||||
JDK_VER_DEFS = -DJDK_MAJOR_VERSION="\"$(JDK_MAJOR_VERSION)\"" \
|
||||
-DJDK_MINOR_VERSION="\"$(JDK_MINOR_VERSION)\"" \
|
||||
-DJDK_MICRO_VERSION="\"$(JDK_MICRO_VERSION)\"" \
|
||||
-DJDK_BUILD_NUMBER="\"$(JDK_BUILD_NUMBER)\""
|
||||
VM_VER_DEFS = -DHOTSPOT_RELEASE_VERSION="\"$(HS_BUILD_VER)\"" \
|
||||
-DJRE_RELEASE_VERSION="\"$(JRE_RELEASE_VER)\"" \
|
||||
JDK_VER_DEFS = -DVERSION_MAJOR=$(VERSION_MAJOR) \
|
||||
-DVERSION_MINOR=$(VERSION_MINOR) \
|
||||
-DVERSION_SECURITY=$(VERSION_SECURITY) \
|
||||
-DVERSION_PATCH=$(VERSION_PATCH) \
|
||||
-DVERSION_BUILD=$(VERSION_BUILD)
|
||||
VM_VER_DEFS = -DHOTSPOT_VERSION_STRING="\"$(HOTSPOT_VERSION_STRING)\"" \
|
||||
-DVERSION_STRING="\"$(VERSION_STRING)\"" \
|
||||
-DDEBUG_LEVEL="\"$(DEBUG_LEVEL)\"" \
|
||||
$(JDK_VER_DEFS)
|
||||
HS_LIB_ARCH = -DHOTSPOT_LIB_ARCH=\"$(LIBARCH)\"
|
||||
BUILD_USER = -DHOTSPOT_BUILD_USER="\"$(HOTSPOT_BUILD_USER)\""
|
||||
|
||||
@ -45,6 +45,7 @@ BUILD_HOTSPOT_JTREG_NATIVE_SRC := \
|
||||
$(HOTSPOT_TOPDIR)/test/runtime/jni/8025979 \
|
||||
$(HOTSPOT_TOPDIR)/test/runtime/jni/8033445 \
|
||||
$(HOTSPOT_TOPDIR)/test/runtime/jni/ToStringInInterfaceTest \
|
||||
$(HOTSPOT_TOPDIR)/test/runtime/SameObject \
|
||||
#
|
||||
|
||||
BUILD_HOTSPOT_JTREG_OUTPUT_DIR := $(BUILD_OUTPUT)/support/test/hotspot/jtreg/native
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 1998, 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
|
||||
@ -123,38 +123,12 @@ VARIANT_TEXT=Tiered
|
||||
# or make/hotspot_distro.
|
||||
!ifndef HOTSPOT_VM_DISTRO
|
||||
!if exists($(WorkSpace)\src\closed)
|
||||
|
||||
# if the build is for JDK6 or earlier version, it should include jdk6_hotspot_distro,
|
||||
# instead of hotspot_distro.
|
||||
JDK6_OR_EARLIER=0
|
||||
!if "$(JDK_MAJOR_VERSION)" != "" && "$(JDK_MINOR_VERSION)" != "" && "$(JDK_MICRO_VERSION)" != ""
|
||||
!if $(JDK_MAJOR_VERSION) == 1 && $(JDK_MINOR_VERSION) < 7
|
||||
JDK6_OR_EARLIER=1
|
||||
!endif
|
||||
!else
|
||||
!if $(JDK_MAJOR_VER) == 1 && $(JDK_MINOR_VER) < 7
|
||||
JDK6_OR_EARLIER=1
|
||||
!endif
|
||||
!endif
|
||||
|
||||
!if $(JDK6_OR_EARLIER) == 1
|
||||
!include $(WorkSpace)\make\jdk6_hotspot_distro
|
||||
!else
|
||||
!include $(WorkSpace)\make\hotspot_distro
|
||||
!endif
|
||||
!else
|
||||
!include $(WorkSpace)\make\openjdk_distro
|
||||
!endif
|
||||
!endif
|
||||
|
||||
# Following the Web Start / Plugin model here....
|
||||
# We can have update versions like "01a", but Windows requires
|
||||
# we use only integers in the file version field. So:
|
||||
# JDK_UPDATE_VER = JDK_UPDATE_VERSION * 10 + EXCEPTION_VERSION
|
||||
#
|
||||
JDK_UPDATE_VER=0
|
||||
JDK_BUILD_NUMBER=0
|
||||
|
||||
HS_FILEDESC=$(HOTSPOT_VM_DISTRO) $(ARCH_TEXT) $(VARIANT_TEXT) VM
|
||||
|
||||
# JDK ProductVersion:
|
||||
@ -163,34 +137,27 @@ HS_FILEDESC=$(HOTSPOT_VM_DISTRO) $(ARCH_TEXT) $(VARIANT_TEXT) VM
|
||||
# 1.6.0-b01 will be 6.0.0.1
|
||||
# 1.6.0_01a-b02 will be 6.0.11.2
|
||||
#
|
||||
# JDK_* variables are defined in make/jdk_version or on command line
|
||||
# STANDALONE_JDK_* variables are defined in make/jdk_version or on command line
|
||||
#
|
||||
JDK_VER=$(JDK_MINOR_VER),$(JDK_MICRO_VER),$(JDK_UPDATE_VER),$(JDK_BUILD_NUMBER)
|
||||
JDK_DOTVER=$(JDK_MINOR_VER).$(JDK_MICRO_VER).$(JDK_UPDATE_VER).$(JDK_BUILD_NUMBER)
|
||||
!if "$(JRE_RELEASE_VERSION)" == ""
|
||||
JRE_RELEASE_VER=$(JDK_MAJOR_VER).$(JDK_MINOR_VER).$(JDK_MICRO_VER)
|
||||
!else
|
||||
JRE_RELEASE_VER=$(JRE_RELEASE_VERSION)
|
||||
!if "$(JDK_VER)" == ""
|
||||
JDK_VER=$(STANDALONE_JDK_MAJOR_VER),$(STANDALONE_JDK_MINOR_VER),$(STANDALONE_JDK_SECURITY_VER),$(STANDALONE_JDK_PATCH_VER)
|
||||
!endif
|
||||
!if "$(JDK_MKTG_VERSION)" == ""
|
||||
JDK_MKTG_VERSION=$(JDK_MINOR_VER).$(JDK_MICRO_VER)
|
||||
!if "$(JDK_DOTVER)" == ""
|
||||
JDK_DOTVER=$(STANDALONE_JDK_MAJOR_VER).$(STANDALONE_JDK_MINOR_VER).$(STANDALONE_JDK_SECURITY_VER).$(STANDALONE_JDK_PATCH_VER)
|
||||
!endif
|
||||
!if "$(VERSION_SHORT)" == ""
|
||||
VERSION_SHORT=$(STANDALONE_JDK_MAJOR_VER).$(STANDALONE_JDK_MINOR_VER).$(STANDALONE_JDK_SECURITY_VER)
|
||||
!endif
|
||||
|
||||
# Hotspot Express VM FileVersion:
|
||||
# 10.0-b<yz> will have DLL version 10.0.0.yz (need 4 numbers).
|
||||
#
|
||||
#
|
||||
HS_VER=$(JDK_VER)
|
||||
HS_DOTVER=$(JDK_DOTVER)
|
||||
|
||||
!if "$(HOTSPOT_RELEASE_VERSION)" == ""
|
||||
HOTSPOT_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
|
||||
HOTSPOT_RELEASE_VERSION=$(VERSION_STRING)
|
||||
!endif
|
||||
|
||||
!if "$(HOTSPOT_BUILD_VERSION)" == ""
|
||||
HS_BUILD_VER=$(HOTSPOT_RELEASE_VERSION)
|
||||
!else
|
||||
HS_BUILD_VER=$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)
|
||||
!if "$(HOTSPOT_VERSION_STRING)" == ""
|
||||
HOTSPOT_VERSION_STRING=$(HOTSPOT_RELEASE_VERSION)
|
||||
!endif
|
||||
|
||||
# End VERSIONINFO parameters
|
||||
@ -280,15 +247,15 @@ $(variantDir)\local.make: checks
|
||||
@ echo HOTSPOT_VM_DISTRO=$(HOTSPOT_VM_DISTRO) >> $@
|
||||
@ if "$(OPENJDK)" NEQ "" echo OPENJDK=$(OPENJDK) >> $@
|
||||
@ echo HS_COPYRIGHT=$(HOTSPOT_VM_COPYRIGHT) >> $@
|
||||
@ echo HS_NAME=$(PRODUCT_NAME) $(JDK_MKTG_VERSION) >> $@
|
||||
@ echo HS_BUILD_VER=$(HS_BUILD_VER) >> $@
|
||||
@ echo HS_NAME=$(PRODUCT_NAME) $(VERSION_SHORT) >> $@
|
||||
@ echo HOTSPOT_VERSION_STRING=$(HOTSPOT_VERSION_STRING) >> $@
|
||||
@ echo BUILD_WIN_SA=$(BUILD_WIN_SA) >> $@
|
||||
@ echo SA_BUILD_VERSION=$(HS_BUILD_VER) >> $@
|
||||
@ echo SA_BUILD_VERSION=$(HOTSPOT_VERSION_STRING) >> $@
|
||||
@ echo SA_INCLUDE=$(SA_INCLUDE) >> $@
|
||||
@ echo SA_LIB=$(SA_LIB) >> $@
|
||||
@ echo JDK_VER=$(JDK_VER) >> $@
|
||||
@ echo JDK_DOTVER=$(JDK_DOTVER) >> $@
|
||||
@ echo JRE_RELEASE_VER=$(JRE_RELEASE_VER) >> $@
|
||||
@ echo VERSION_STRING=$(VERSION_STRING) >> $@
|
||||
@ echo BUILDARCH=$(BUILDARCH) >> $@
|
||||
@ echo Platform_arch=$(Platform_arch) >> $@
|
||||
@ echo Platform_arch_model=$(Platform_arch_model) >> $@
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
# Generic compiler settings
|
||||
@ -54,7 +54,11 @@ CXX=cl.exe
|
||||
# improving the quality of crash log stack traces involving jvm.dll.
|
||||
|
||||
# These are always used in all compiles
|
||||
CXX_FLAGS=$(EXTRA_CFLAGS) /nologo /W3 /WX
|
||||
CXX_FLAGS=$(EXTRA_CFLAGS) /nologo /W3
|
||||
|
||||
!if "$(WARNINGS_AS_ERRORS)" != "false"
|
||||
CXX_FLAGS=$(CXX_FLAGS) /WX
|
||||
!endif
|
||||
|
||||
# Let's add debug information when Full Debug Symbols is enabled
|
||||
!if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1"
|
||||
@ -167,7 +171,7 @@ LD_FLAGS= $(LD_FLAGS) /map /debug
|
||||
!endif
|
||||
|
||||
|
||||
!if $(MSC_VER) >= 1600
|
||||
!if $(MSC_VER) >= 1600
|
||||
LD_FLAGS= $(LD_FLAGS) psapi.lib
|
||||
!endif
|
||||
|
||||
@ -191,4 +195,3 @@ RC_FLAGS=/D "HS_VER=$(HS_VER)" \
|
||||
!if "$(MFC_DEBUG)" == "true"
|
||||
RC_FLAGS = $(RC_FLAGS) /D "_DEBUG"
|
||||
!endif
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 1997, 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
|
||||
@ -19,7 +19,7 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
HS_INTERNAL_NAME=jvm
|
||||
@ -44,7 +44,7 @@ CXX_FLAGS=$(CXX_FLAGS) $(DEBUG_OPT_OPTION) /D "_NMT_NOINLINE_"
|
||||
!include $(WorkSpace)/make/windows/makefiles/vm.make
|
||||
!include local.make
|
||||
|
||||
HS_BUILD_ID=$(HS_BUILD_VER)-debug
|
||||
HS_BUILD_ID=$(HOTSPOT_VERSION_STRING)-debug
|
||||
|
||||
# Force resources to be rebuilt every time
|
||||
$(Res_Files): FORCE
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2006, 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
|
||||
@ -31,6 +31,8 @@
|
||||
SLASH_JAVA ?= J:
|
||||
PATH_SEP = ;
|
||||
|
||||
MAKE_ARGS += WARNINGS_AS_ERRORS=$(WARNINGS_AS_ERRORS)
|
||||
|
||||
# Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name
|
||||
ifeq ($(ARCH_DATA_MODEL),32)
|
||||
ARCH_DATA_MODEL=32
|
||||
@ -177,24 +179,19 @@ JDK_INCLUDE_SUBDIR=win32
|
||||
# Library suffix
|
||||
LIBRARY_SUFFIX=dll
|
||||
|
||||
# HOTSPOT_RELEASE_VERSION and HOTSPOT_BUILD_VERSION are defined
|
||||
# and added to MAKE_ARGS list in $(GAMMADIR)/make/defs.make.
|
||||
|
||||
# next parameters are defined in $(GAMMADIR)/make/defs.make.
|
||||
MAKE_ARGS += JDK_MKTG_VERSION=$(JDK_MKTG_VERSION)
|
||||
MAKE_ARGS += JDK_MAJOR_VERSION=$(JDK_MAJOR_VERSION)
|
||||
MAKE_ARGS += JDK_MINOR_VERSION=$(JDK_MINOR_VERSION)
|
||||
MAKE_ARGS += JDK_MICRO_VERSION=$(JDK_MICRO_VERSION)
|
||||
MAKE_ARGS += VERSION_SHORT=$(VERSION_SHORT)
|
||||
MAKE_ARGS += VERSION_MAJOR=$(VERSION_MAJOR)
|
||||
MAKE_ARGS += VERSION_MINOR=$(VERSION_MINOR)
|
||||
MAKE_ARGS += VERSION_SECURITY=$(VERSION_SECURITY)
|
||||
MAKE_ARGS += VERSION_PATCH=$(VERSION_PATCH)
|
||||
MAKE_ARGS += VERSION_BUILD=$(VERSION_BUILD)
|
||||
MAKE_ARGS += DEBUG_LEVEL=$(DEBUG_LEVEL)
|
||||
|
||||
ifdef COOKED_JDK_UPDATE_VERSION
|
||||
MAKE_ARGS += JDK_UPDATE_VER=$(COOKED_JDK_UPDATE_VERSION)
|
||||
endif
|
||||
|
||||
# COOKED_BUILD_NUMBER should only be set if we have a numeric
|
||||
# build number. It must not be zero padded.
|
||||
ifdef COOKED_BUILD_NUMBER
|
||||
MAKE_ARGS += JDK_BUILD_NUMBER=$(COOKED_BUILD_NUMBER)
|
||||
endif
|
||||
# JDK_DOTVER and JDK_VER are needed in Windows RC files
|
||||
COMMA:=,
|
||||
MAKE_ARGS += JDK_DOTVER=$(VERSION_NUMBER_FOUR_POSITIONS)
|
||||
MAKE_ARGS += JDK_VER=$(subst .,$(COMMA),$(VERSION_NUMBER_FOUR_POSITIONS))
|
||||
|
||||
NMAKE= MAKEFLAGS= MFLAGS= EXTRA_CFLAGS="$(EXTRA_CFLAGS)" nmake -NOLOGO
|
||||
ifndef SYSTEM_UNAME
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2005, 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
|
||||
@ -19,7 +19,7 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
HS_INTERNAL_NAME=jvm
|
||||
@ -43,7 +43,7 @@ CXX_FLAGS=$(CXX_FLAGS) $(FASTDEBUG_OPT_OPTION)
|
||||
!include $(WorkSpace)/make/windows/makefiles/vm.make
|
||||
!include local.make
|
||||
|
||||
HS_BUILD_ID=$(HS_BUILD_VER)-fastdebug
|
||||
HS_BUILD_ID=$(HOTSPOT_VERSION_STRING)-fastdebug
|
||||
|
||||
# Force resources to be rebuilt every time
|
||||
$(Res_Files): FORCE
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2005, 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
|
||||
@ -19,7 +19,7 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
HS_INTERNAL_NAME=jvm
|
||||
@ -46,7 +46,7 @@ RC_FLAGS=$(RC_FLAGS) /D "NDEBUG"
|
||||
!include $(WorkSpace)/make/windows/makefiles/vm.make
|
||||
!include local.make
|
||||
|
||||
HS_BUILD_ID=$(HS_BUILD_VER)
|
||||
HS_BUILD_ID=$(HOTSPOT_VERSION_STRING)
|
||||
|
||||
# Force resources to be rebuilt every time
|
||||
$(Res_Files): FORCE
|
||||
|
||||
@ -58,12 +58,14 @@ HOTSPOT_LIB_ARCH=$(BUILDARCH)
|
||||
!endif
|
||||
|
||||
# The following variables are defined in the generated local.make file.
|
||||
CXX_FLAGS=$(CXX_FLAGS) /D "HOTSPOT_RELEASE_VERSION=\"$(HS_BUILD_VER)\""
|
||||
CXX_FLAGS=$(CXX_FLAGS) /D "JDK_MAJOR_VERSION=\"$(JDK_MAJOR_VERSION)\""
|
||||
CXX_FLAGS=$(CXX_FLAGS) /D "JDK_MINOR_VERSION=\"$(JDK_MINOR_VERSION)\""
|
||||
CXX_FLAGS=$(CXX_FLAGS) /D "JDK_MICRO_VERSION=\"$(JDK_MICRO_VERSION)\""
|
||||
CXX_FLAGS=$(CXX_FLAGS) /D "JDK_BUILD_NUMBER=\"$(JDK_BUILD_NUMBER)\""
|
||||
CXX_FLAGS=$(CXX_FLAGS) /D "JRE_RELEASE_VERSION=\"$(JRE_RELEASE_VER)\""
|
||||
CXX_FLAGS=$(CXX_FLAGS) /D "HOTSPOT_VERSION_STRING=\"$(HOTSPOT_VERSION_STRING)\""
|
||||
CXX_FLAGS=$(CXX_FLAGS) /D "VERSION_MAJOR=$(VERSION_MAJOR)"
|
||||
CXX_FLAGS=$(CXX_FLAGS) /D "VERSION_MINOR=$(VERSION_MINOR)"
|
||||
CXX_FLAGS=$(CXX_FLAGS) /D "VERSION_SECURITY=$(VERSION_SECURITY)"
|
||||
CXX_FLAGS=$(CXX_FLAGS) /D "VERSION_PATCH=$(VERSION_PATCH)"
|
||||
CXX_FLAGS=$(CXX_FLAGS) /D "VERSION_BUILD=$(VERSION_BUILD)"
|
||||
CXX_FLAGS=$(CXX_FLAGS) /D "VERSION_STRING=\"$(VERSION_STRING)\""
|
||||
CXX_FLAGS=$(CXX_FLAGS) /D "DEBUG_LEVEL=\"$(DEBUG_LEVEL)\""
|
||||
CXX_FLAGS=$(CXX_FLAGS) /D "HOTSPOT_LIB_ARCH=\"$(HOTSPOT_LIB_ARCH)\""
|
||||
CXX_FLAGS=$(CXX_FLAGS) /D "HOTSPOT_BUILD_TARGET=\"$(BUILD_FLAVOR)\""
|
||||
CXX_FLAGS=$(CXX_FLAGS) /D "HOTSPOT_BUILD_USER=\"$(BuildUser)\""
|
||||
@ -414,4 +416,3 @@ BUILD_VM_DEF_FLAG=-nosa
|
||||
|
||||
vm.def: $(Obj_Files)
|
||||
sh $(WorkSpace)/make/windows/build_vm_def.sh $(BUILD_VM_DEF_FLAG)
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 1999, 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
|
||||
@ -19,7 +19,7 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
!ifdef LOCAL_MAKE
|
||||
@ -80,15 +80,15 @@ default:: $(AdditionalTargets) $(JvmtiGeneratedFiles) $(TraceGeneratedFiles)
|
||||
|
||||
!include $(HOTSPOTWORKSPACE)/make/jdk_version
|
||||
|
||||
!if "$(USER_RELEASE_SUFFIX)" != ""
|
||||
HOTSPOT_BUILD_VERSION = internal-$(USER_RELEASE_SUFFIX)
|
||||
!if "$(VERSION_OPT)" != ""
|
||||
HOTSPOT_BUILD_VERSION = internal-$(VERSION_OPT)
|
||||
!else
|
||||
HOTSPOT_BUILD_VERSION = internal
|
||||
!endif
|
||||
!if "$(JRE_RELEASE_VERSION)" != ""
|
||||
JRE_RELEASE_VERSION="\\\"$(JRE_RELEASE_VERSION)\\\""
|
||||
!if "$(VERSION_STRING)" != ""
|
||||
JRE_RELEASE_VERSION="\\\"$(VERSION_STRING)\\\""
|
||||
!else
|
||||
JRE_RELEASE_VERSION="\\\"$(JDK_MAJOR_VER).$(JDK_MINOR_VER).$(JDK_MICRO_VER)\\\""
|
||||
JRE_RELEASE_VERSION="\\\"$(STANDALONE_JDK_MAJOR_VER).$(STANDALONE_JDK_MINOR_VER).$(STANDALONE_JDK_SECURITY_VER)\\\""
|
||||
!endif
|
||||
!if "$(HOTSPOT_RELEASE_VERSION)" != ""
|
||||
HOTSPOT_RELEASE_VERSION="\\\"$(HOTSPOT_RELEASE_VERSION)\\\""
|
||||
@ -105,18 +105,17 @@ HOTSPOT_VM_DISTRO="\\\"Java HotSpot(TM)\\\""
|
||||
!else
|
||||
HOTSPOT_VM_DISTRO="\\\"OpenJDK\\\""
|
||||
!endif
|
||||
!if "$(JDK_BUILD_NUMBER)" != ""
|
||||
JDK_BUILD_NUMBER="\\\"$(JDK_BUILD_NUMBER)\\\""
|
||||
!else
|
||||
JDK_BUILD_NUMBER="\\\"00\\\""
|
||||
!if "$(VERSION_BUILD)" == ""
|
||||
VERSION_BUILD=0
|
||||
!endif
|
||||
!endif
|
||||
|
||||
JDK_MAJOR_VERSION="\\\"$(JDK_MAJOR_VER)\\\""
|
||||
JDK_MINOR_VERSION="\\\"$(JDK_MINOR_VER)\\\""
|
||||
JDK_MICRO_VERSION="\\\"$(JDK_MICRO_VER)\\\""
|
||||
VERSION_MAJOR=$(STANDALONE_JDK_MAJOR_VER)
|
||||
VERSION_MINOR=$(STANDALONE_JDK_MINOR_VER)
|
||||
VERSION_SECURITY=$(STANDALONE_JDK_SECURITY_VER)
|
||||
VERSION_PATCH=$(STANDALONE_JDK_PATCH_VER)
|
||||
|
||||
ReleaseOptions = -define HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) -define JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION) -define HOTSPOT_VM_DISTRO=$(HOTSPOT_VM_DISTRO) -define JDK_MAJOR_VERSION=$(JDK_MAJOR_VERSION) -define JDK_MINOR_VERSION=$(JDK_MINOR_VERSION) -define JDK_MICRO_VERSION=$(JDK_MICRO_VERSION) -define JDK_BUILD_NUMBER=$(JDK_BUILD_NUMBER) -define VISUAL_STUDIO_BUILD=true
|
||||
ReleaseOptions = -define HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) -define JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION) -define HOTSPOT_VM_DISTRO=$(HOTSPOT_VM_DISTRO) -define VERSION_MAJOR=$(VERSION_MAJOR) -define VERSION_MINOR=$(VERSION_MINOR) -define VERSION_SECURITY=$(VERSION_SECURITY) -define VERSION_PATCH=$(VERSION_PATCH) -define DEBUG_LEVEL=$(DEBUG_LEVEL) -define VISUAL_STUDIO_BUILD=true
|
||||
ProjectCreatorIDEOptions = $(ProjectCreatorIDEOptions) $(ReleaseOptions)
|
||||
|
||||
$(HOTSPOTBUILDSPACE)/$(ProjectFile): $(HOTSPOTBUILDSPACE)/classes/ProjectCreator.class
|
||||
|
||||
@ -14150,6 +14150,7 @@ instruct partialSubtypeCheckVsZero(iRegP_R4 sub, iRegP_R0 super, iRegP_R2 temp,
|
||||
instruct string_compare(iRegP_R1 str1, iRegI_R2 cnt1, iRegP_R3 str2, iRegI_R4 cnt2,
|
||||
iRegI_R0 result, iRegP_R10 tmp1, rFlagsReg cr)
|
||||
%{
|
||||
predicate(!CompactStrings);
|
||||
match(Set result (StrComp (Binary str1 cnt1) (Binary str2 cnt2)));
|
||||
effect(KILL tmp1, USE_KILL str1, USE_KILL str2, USE_KILL cnt1, USE_KILL cnt2, KILL cr);
|
||||
|
||||
@ -14165,6 +14166,7 @@ instruct string_compare(iRegP_R1 str1, iRegI_R2 cnt1, iRegP_R3 str2, iRegI_R4 cn
|
||||
instruct string_indexof(iRegP_R1 str1, iRegI_R4 cnt1, iRegP_R3 str2, iRegI_R2 cnt2,
|
||||
iRegI_R0 result, iRegI tmp1, iRegI tmp2, iRegI tmp3, iRegI tmp4, rFlagsReg cr)
|
||||
%{
|
||||
predicate(!CompactStrings);
|
||||
match(Set result (StrIndexOf (Binary str1 cnt1) (Binary str2 cnt2)));
|
||||
effect(USE_KILL str1, USE_KILL str2, USE_KILL cnt1, USE_KILL cnt2,
|
||||
TEMP tmp1, TEMP tmp2, TEMP tmp3, TEMP tmp4, KILL cr);
|
||||
@ -14184,6 +14186,7 @@ instruct string_indexof_con(iRegP_R1 str1, iRegI_R4 cnt1, iRegP_R3 str2,
|
||||
immI_le_4 int_cnt2, iRegI_R0 result, iRegI tmp1, iRegI tmp2,
|
||||
iRegI tmp3, iRegI tmp4, rFlagsReg cr)
|
||||
%{
|
||||
predicate(!CompactStrings);
|
||||
match(Set result (StrIndexOf (Binary str1 cnt1) (Binary str2 int_cnt2)));
|
||||
effect(USE_KILL str1, USE_KILL str2, USE_KILL cnt1,
|
||||
TEMP tmp1, TEMP tmp2, TEMP tmp3, TEMP tmp4, KILL cr);
|
||||
@ -14203,6 +14206,7 @@ instruct string_indexof_con(iRegP_R1 str1, iRegI_R4 cnt1, iRegP_R3 str2,
|
||||
instruct string_equals(iRegP_R1 str1, iRegP_R3 str2, iRegI_R4 cnt,
|
||||
iRegI_R0 result, iRegP_R10 tmp, rFlagsReg cr)
|
||||
%{
|
||||
predicate(!CompactStrings);
|
||||
match(Set result (StrEquals (Binary str1 str2) cnt));
|
||||
effect(KILL tmp, USE_KILL str1, USE_KILL str2, USE_KILL cnt, KILL cr);
|
||||
|
||||
@ -14218,6 +14222,7 @@ instruct string_equals(iRegP_R1 str1, iRegP_R3 str2, iRegI_R4 cnt,
|
||||
instruct array_equals(iRegP_R1 ary1, iRegP_R2 ary2, iRegI_R0 result,
|
||||
iRegP_R10 tmp, rFlagsReg cr)
|
||||
%{
|
||||
predicate(((AryEqNode*)n)->encoding() == StrIntrinsicNode::UU);
|
||||
match(Set result (AryEq ary1 ary2));
|
||||
effect(KILL tmp, USE_KILL ary1, USE_KILL ary2, KILL cr);
|
||||
|
||||
|
||||
@ -483,15 +483,6 @@ int LIR_Assembler::emit_deopt_handler() {
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
||||
// This is the fast version of java.lang.String.compare; it has not
|
||||
// OSR-entry and therefore, we generate a slow version for OSR's
|
||||
void LIR_Assembler::emit_string_compare(LIR_Opr arg0, LIR_Opr arg1, LIR_Opr dst, CodeEmitInfo* info) {
|
||||
__ mov(r2, (address)__FUNCTION__);
|
||||
__ call_Unimplemented();
|
||||
}
|
||||
|
||||
|
||||
void LIR_Assembler::add_debug_info_for_branch(address adr, CodeEmitInfo* info) {
|
||||
_masm->code_section()->relocate(adr, relocInfo::poll_type);
|
||||
int pc_offset = code_offset();
|
||||
|
||||
@ -79,6 +79,9 @@ define_pd_global(uintx, CMSYoungGenPerWorker, 64*M); // default max size of CMS
|
||||
|
||||
define_pd_global(uintx, TypeProfileLevel, 111);
|
||||
|
||||
// No performance work done here yet.
|
||||
define_pd_global(bool, CompactStrings, false);
|
||||
|
||||
// avoid biased locking while we are bootstrapping the aarch64 build
|
||||
define_pd_global(bool, UseBiasedLocking, false);
|
||||
|
||||
|
||||
@ -38,11 +38,11 @@ void CodeInstaller::pd_patch_OopConstant(int pc_offset, Handle& constant) {
|
||||
Unimplemented();
|
||||
}
|
||||
|
||||
void CodeInstaller::pd_patch_DataSectionReference(int pc_offset, int data_offset) {
|
||||
void CodeInstaller::pd_patch_MetaspaceConstant(int pc_offset, Handle& constant) {
|
||||
Unimplemented();
|
||||
}
|
||||
|
||||
void CodeInstaller::pd_relocate_CodeBlob(CodeBlob* cb, NativeInstruction* inst) {
|
||||
void CodeInstaller::pd_patch_DataSectionReference(int pc_offset, int data_offset) {
|
||||
Unimplemented();
|
||||
}
|
||||
|
||||
|
||||
@ -62,7 +62,7 @@ static int check_nonzero(const char* xname, int x) {
|
||||
void MethodHandles::verify_klass(MacroAssembler* _masm,
|
||||
Register obj, SystemDictionary::WKID klass_id,
|
||||
const char* error_message) {
|
||||
Klass** klass_addr = SystemDictionary::well_known_klass_addr(klass_id);
|
||||
InstanceKlass** klass_addr = SystemDictionary::well_known_klass_addr(klass_id);
|
||||
KlassHandle klass = SystemDictionary::well_known_klass(klass_id);
|
||||
Register temp = rscratch2;
|
||||
Register temp2 = rscratch1; // used by MacroAssembler::cmpptr
|
||||
|
||||
@ -1276,7 +1276,7 @@ static void gen_special_dispatch(MacroAssembler* masm,
|
||||
// return to caller
|
||||
//
|
||||
nmethod* SharedRuntime::generate_native_wrapper(MacroAssembler* masm,
|
||||
methodHandle method,
|
||||
const methodHandle& method,
|
||||
int compile_id,
|
||||
BasicType* in_sig_bt,
|
||||
VMRegPair* in_regs,
|
||||
|
||||
@ -72,6 +72,9 @@ define_pd_global(size_t, CMSYoungGenPerWorker, 16*M); // Default max size of CM
|
||||
|
||||
define_pd_global(uintx, TypeProfileLevel, 111);
|
||||
|
||||
// No performance work done here yet.
|
||||
define_pd_global(bool, CompactStrings, false);
|
||||
|
||||
// Platform dependent flag handling: flags only defined on this platform.
|
||||
#define ARCH_FLAGS(develop, product, diagnostic, experimental, notproduct, range, constraint) \
|
||||
\
|
||||
|
||||
@ -38,11 +38,11 @@ void CodeInstaller::pd_patch_OopConstant(int pc_offset, Handle& constant) {
|
||||
Unimplemented();
|
||||
}
|
||||
|
||||
void CodeInstaller::pd_patch_DataSectionReference(int pc_offset, int data_offset) {
|
||||
void CodeInstaller::pd_patch_MetaspaceConstant(int pc_offset, Handle& constant) {
|
||||
Unimplemented();
|
||||
}
|
||||
|
||||
void CodeInstaller::pd_relocate_CodeBlob(CodeBlob* cb, NativeInstruction* inst) {
|
||||
void CodeInstaller::pd_patch_DataSectionReference(int pc_offset, int data_offset) {
|
||||
Unimplemented();
|
||||
}
|
||||
|
||||
|
||||
@ -73,7 +73,7 @@ void MethodHandles::verify_klass(MacroAssembler* _masm,
|
||||
Register obj_reg, SystemDictionary::WKID klass_id,
|
||||
Register temp_reg, Register temp2_reg,
|
||||
const char* error_message) {
|
||||
Klass** klass_addr = SystemDictionary::well_known_klass_addr(klass_id);
|
||||
InstanceKlass** klass_addr = SystemDictionary::well_known_klass_addr(klass_id);
|
||||
KlassHandle klass = SystemDictionary::well_known_klass(klass_id);
|
||||
Label L_ok, L_bad;
|
||||
BLOCK_COMMENT("verify_klass {");
|
||||
|
||||
@ -2054,11 +2054,11 @@ const bool Matcher::match_rule_supported(int opcode) {
|
||||
return (UsePopCountInstruction && VM_Version::has_popcntw());
|
||||
|
||||
case Op_StrComp:
|
||||
return SpecialStringCompareTo;
|
||||
return SpecialStringCompareTo && !CompactStrings;
|
||||
case Op_StrEquals:
|
||||
return SpecialStringEquals;
|
||||
return SpecialStringEquals && !CompactStrings;
|
||||
case Op_StrIndexOf:
|
||||
return SpecialStringIndexOf;
|
||||
return SpecialStringIndexOf && !CompactStrings;
|
||||
}
|
||||
|
||||
return true; // Per default match rules are supported.
|
||||
@ -5572,7 +5572,6 @@ instruct loadN2P_unscaled(iRegPdst dst, memory mem) %{
|
||||
|
||||
instruct loadN2P_klass_unscaled(iRegPdst dst, memory mem) %{
|
||||
match(Set dst (DecodeNKlass (LoadNKlass mem)));
|
||||
// SAPJVM GL 2014-05-21 Differs.
|
||||
predicate(Universe::narrow_klass_base() == NULL && Universe::narrow_klass_shift() == 0 &&
|
||||
_kids[0]->_leaf->as_Load()->is_unordered());
|
||||
ins_cost(MEMORY_REF_COST);
|
||||
@ -10949,7 +10948,7 @@ instruct cmpFastLock(flagsReg crx, iRegPdst oop, iRegPdst box, iRegPdst tmp1, iR
|
||||
// TODO: PPC port $archOpcode(ppc64Opcode_compound);
|
||||
__ compiler_fast_lock_object($crx$$CondRegister, $oop$$Register, $box$$Register,
|
||||
$tmp3$$Register, $tmp1$$Register, $tmp2$$Register,
|
||||
UseBiasedLocking && !UseOptoBiasInlining); // SAPJVM MD 2014-11-06 UseOptoBiasInlining
|
||||
UseBiasedLocking && !UseOptoBiasInlining);
|
||||
// If locking was successfull, crx should indicate 'EQ'.
|
||||
// The compiler generates a branch to the runtime call to
|
||||
// _complete_monitor_locking_Java for the case where crx is 'NE'.
|
||||
@ -11077,7 +11076,7 @@ instruct string_indexOf_imm1_char(iRegIdst result, iRegPsrc haystack, iRegIsrc h
|
||||
immP needleImm, immL offsetImm, immI_1 needlecntImm,
|
||||
iRegIdst tmp1, iRegIdst tmp2,
|
||||
flagsRegCR0 cr0, flagsRegCR1 cr1) %{
|
||||
predicate(SpecialStringIndexOf); // type check implicit by parameter type, See Matcher::match_rule_supported
|
||||
predicate(SpecialStringIndexOf && !CompactStrings); // type check implicit by parameter type, See Matcher::match_rule_supported
|
||||
match(Set result (StrIndexOf (Binary haystack haycnt) (Binary (AddP needleImm offsetImm) needlecntImm)));
|
||||
|
||||
effect(TEMP_DEF result, TEMP tmp1, TEMP tmp2, KILL cr0, KILL cr1);
|
||||
@ -11120,7 +11119,7 @@ instruct string_indexOf_imm1(iRegIdst result, iRegPsrc haystack, iRegIsrc haycnt
|
||||
effect(USE_KILL needle, /* TDEF needle, */ TEMP_DEF result,
|
||||
TEMP tmp1, TEMP tmp2);
|
||||
// Required for EA: check if it is still a type_array.
|
||||
predicate(SpecialStringIndexOf && n->in(3)->in(1)->bottom_type()->is_aryptr()->const_oop() &&
|
||||
predicate(SpecialStringIndexOf && !CompactStrings && n->in(3)->in(1)->bottom_type()->is_aryptr()->const_oop() &&
|
||||
n->in(3)->in(1)->bottom_type()->is_aryptr()->const_oop()->is_type_array());
|
||||
ins_cost(180);
|
||||
|
||||
@ -11167,7 +11166,7 @@ instruct string_indexOf_imm(iRegIdst result, iRegPsrc haystack, rscratch1RegI ha
|
||||
effect(USE_KILL haycnt, /* better: TDEF haycnt, */ TEMP_DEF result,
|
||||
TEMP tmp1, TEMP tmp2, TEMP tmp3, TEMP tmp4, TEMP tmp5, KILL cr0, KILL cr1, KILL cr6);
|
||||
// Required for EA: check if it is still a type_array.
|
||||
predicate(SpecialStringIndexOf && n->in(3)->in(1)->bottom_type()->is_aryptr()->const_oop() &&
|
||||
predicate(SpecialStringIndexOf && !CompactStrings && n->in(3)->in(1)->bottom_type()->is_aryptr()->const_oop() &&
|
||||
n->in(3)->in(1)->bottom_type()->is_aryptr()->const_oop()->is_type_array());
|
||||
ins_cost(250);
|
||||
|
||||
@ -11200,7 +11199,7 @@ instruct string_indexOf(iRegIdst result, iRegPsrc haystack, rscratch1RegI haycnt
|
||||
effect(USE_KILL haycnt, USE_KILL needlecnt, /*better: TDEF haycnt, TDEF needlecnt,*/
|
||||
TEMP_DEF result,
|
||||
TEMP tmp1, TEMP tmp2, TEMP tmp3, TEMP tmp4, KILL cr0, KILL cr1, KILL cr6);
|
||||
predicate(SpecialStringIndexOf); // See Matcher::match_rule_supported.
|
||||
predicate(SpecialStringIndexOf && !CompactStrings); // See Matcher::match_rule_supported.
|
||||
ins_cost(300);
|
||||
|
||||
ins_alignment(8); // 'compute_padding()' gets called, up to this number-1 nops will get inserted.
|
||||
@ -11224,7 +11223,7 @@ instruct string_equals_imm(iRegPsrc str1, iRegPsrc str2, uimmI15 cntImm, iRegIds
|
||||
match(Set result (StrEquals (Binary str1 str2) cntImm));
|
||||
effect(TEMP_DEF result, TEMP tmp1, TEMP tmp2,
|
||||
KILL cr0, KILL cr6, KILL ctr);
|
||||
predicate(SpecialStringEquals); // See Matcher::match_rule_supported.
|
||||
predicate(SpecialStringEquals && !CompactStrings); // See Matcher::match_rule_supported.
|
||||
ins_cost(250);
|
||||
|
||||
ins_alignment(8); // 'compute_padding()' gets called, up to this number-1 nops will get inserted.
|
||||
@ -11247,7 +11246,7 @@ instruct string_equals(iRegPsrc str1, iRegPsrc str2, iRegIsrc cnt, iRegIdst resu
|
||||
match(Set result (StrEquals (Binary str1 str2) cnt));
|
||||
effect(TEMP_DEF result, TEMP tmp1, TEMP tmp2, TEMP tmp3, TEMP tmp4, TEMP tmp5,
|
||||
KILL cr0, KILL cr1, KILL cr6, KILL ctr);
|
||||
predicate(SpecialStringEquals); // See Matcher::match_rule_supported.
|
||||
predicate(SpecialStringEquals && !CompactStrings); // See Matcher::match_rule_supported.
|
||||
ins_cost(300);
|
||||
|
||||
ins_alignment(8); // 'compute_padding()' gets called, up to this number-1 nops will get inserted.
|
||||
@ -11267,6 +11266,7 @@ instruct string_equals(iRegPsrc str1, iRegPsrc str2, iRegIsrc cnt, iRegIdst resu
|
||||
// Use dst register classes if register gets killed, as it is the case for TEMP operands!
|
||||
instruct string_compare(rarg1RegP str1, rarg2RegP str2, rarg3RegI cnt1, rarg4RegI cnt2, iRegIdst result,
|
||||
iRegPdst tmp, flagsRegCR0 cr0, regCTR ctr) %{
|
||||
predicate(!CompactStrings);
|
||||
match(Set result (StrComp (Binary str1 cnt1) (Binary str2 cnt2)));
|
||||
effect(USE_KILL cnt1, USE_KILL cnt2, USE_KILL str1, USE_KILL str2, TEMP_DEF result, TEMP tmp, KILL cr0, KILL ctr);
|
||||
ins_cost(300);
|
||||
|
||||
@ -61,7 +61,7 @@ void Relocation::pd_set_data_value(address x, intptr_t o, bool verify_only) {
|
||||
nativeMovConstReg_at(addr())->set_narrow_oop(no, code());
|
||||
}
|
||||
} else {
|
||||
assert((address) (nativeMovConstReg_at(addr())->data()) == x, "data must match");
|
||||
guarantee((address) (nativeMovConstReg_at(addr())->data()) == x, "data must match");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1701,7 +1701,7 @@ static void gen_special_dispatch(MacroAssembler* masm,
|
||||
// return to caller
|
||||
//
|
||||
nmethod *SharedRuntime::generate_native_wrapper(MacroAssembler *masm,
|
||||
methodHandle method,
|
||||
const methodHandle& method,
|
||||
int compile_id,
|
||||
BasicType *in_sig_bt,
|
||||
VMRegPair *in_regs,
|
||||
|
||||
@ -124,6 +124,8 @@ class Assembler : public AbstractAssembler {
|
||||
impdep1_op3 = 0x36,
|
||||
aes3_op3 = 0x36,
|
||||
sha_op3 = 0x36,
|
||||
bmask_op3 = 0x36,
|
||||
bshuffle_op3 = 0x36,
|
||||
alignaddr_op3 = 0x36,
|
||||
faligndata_op3 = 0x36,
|
||||
flog3_op3 = 0x36,
|
||||
@ -194,6 +196,7 @@ class Assembler : public AbstractAssembler {
|
||||
fnegd_opf = 0x06,
|
||||
|
||||
alignaddr_opf = 0x18,
|
||||
bmask_opf = 0x19,
|
||||
|
||||
fadds_opf = 0x41,
|
||||
faddd_opf = 0x42,
|
||||
@ -204,6 +207,7 @@ class Assembler : public AbstractAssembler {
|
||||
|
||||
fmuls_opf = 0x49,
|
||||
fmuld_opf = 0x4a,
|
||||
bshuffle_opf = 0x4c,
|
||||
fdivs_opf = 0x4d,
|
||||
fdivd_opf = 0x4e,
|
||||
|
||||
@ -1226,6 +1230,9 @@ public:
|
||||
|
||||
void edge8n( Register s1, Register s2, Register d ) { vis2_only(); emit_int32( op(arith_op) | rd(d) | op3(edge_op3) | rs1(s1) | opf(edge8n_opf) | rs2(s2)); }
|
||||
|
||||
void bmask( Register s1, Register s2, Register d ) { vis2_only(); emit_int32( op(arith_op) | rd(d) | op3(bmask_op3) | rs1(s1) | opf(bmask_opf) | rs2(s2)); }
|
||||
void bshuffle( FloatRegister s1, FloatRegister s2, FloatRegister d ) { vis2_only(); emit_int32( op(arith_op) | fd(d, FloatRegisterImpl::D) | op3(bshuffle_op3) | fs1(s1, FloatRegisterImpl::D) | opf(bshuffle_opf) | fs2(s2, FloatRegisterImpl::D)); }
|
||||
|
||||
// VIS3 instructions
|
||||
|
||||
void movstosw( FloatRegister s, Register d ) { vis3_only(); emit_int32( op(arith_op) | rd(d) | op3(mftoi_op3) | opf(mstosw_opf) | fs2(s, FloatRegisterImpl::S)); }
|
||||
|
||||
@ -232,118 +232,6 @@ void LIR_Assembler::osr_entry() {
|
||||
}
|
||||
|
||||
|
||||
// Optimized Library calls
|
||||
// This is the fast version of java.lang.String.compare; it has not
|
||||
// OSR-entry and therefore, we generate a slow version for OSR's
|
||||
void LIR_Assembler::emit_string_compare(LIR_Opr left, LIR_Opr right, LIR_Opr dst, CodeEmitInfo* info) {
|
||||
Register str0 = left->as_register();
|
||||
Register str1 = right->as_register();
|
||||
|
||||
Label Ldone;
|
||||
|
||||
Register result = dst->as_register();
|
||||
{
|
||||
// Get a pointer to the first character of string0 in tmp0
|
||||
// and get string0.length() in str0
|
||||
// Get a pointer to the first character of string1 in tmp1
|
||||
// and get string1.length() in str1
|
||||
// Also, get string0.length()-string1.length() in
|
||||
// o7 and get the condition code set
|
||||
// Note: some instructions have been hoisted for better instruction scheduling
|
||||
|
||||
Register tmp0 = L0;
|
||||
Register tmp1 = L1;
|
||||
Register tmp2 = L2;
|
||||
|
||||
int value_offset = java_lang_String:: value_offset_in_bytes(); // char array
|
||||
if (java_lang_String::has_offset_field()) {
|
||||
int offset_offset = java_lang_String::offset_offset_in_bytes(); // first character position
|
||||
int count_offset = java_lang_String:: count_offset_in_bytes();
|
||||
__ load_heap_oop(str0, value_offset, tmp0);
|
||||
__ ld(str0, offset_offset, tmp2);
|
||||
__ add(tmp0, arrayOopDesc::base_offset_in_bytes(T_CHAR), tmp0);
|
||||
__ ld(str0, count_offset, str0);
|
||||
__ sll(tmp2, exact_log2(sizeof(jchar)), tmp2);
|
||||
} else {
|
||||
__ load_heap_oop(str0, value_offset, tmp1);
|
||||
__ add(tmp1, arrayOopDesc::base_offset_in_bytes(T_CHAR), tmp0);
|
||||
__ ld(tmp1, arrayOopDesc::length_offset_in_bytes(), str0);
|
||||
}
|
||||
|
||||
// str1 may be null
|
||||
add_debug_info_for_null_check_here(info);
|
||||
|
||||
if (java_lang_String::has_offset_field()) {
|
||||
int offset_offset = java_lang_String::offset_offset_in_bytes(); // first character position
|
||||
int count_offset = java_lang_String:: count_offset_in_bytes();
|
||||
__ load_heap_oop(str1, value_offset, tmp1);
|
||||
__ add(tmp0, tmp2, tmp0);
|
||||
|
||||
__ ld(str1, offset_offset, tmp2);
|
||||
__ add(tmp1, arrayOopDesc::base_offset_in_bytes(T_CHAR), tmp1);
|
||||
__ ld(str1, count_offset, str1);
|
||||
__ sll(tmp2, exact_log2(sizeof(jchar)), tmp2);
|
||||
__ add(tmp1, tmp2, tmp1);
|
||||
} else {
|
||||
__ load_heap_oop(str1, value_offset, tmp2);
|
||||
__ add(tmp2, arrayOopDesc::base_offset_in_bytes(T_CHAR), tmp1);
|
||||
__ ld(tmp2, arrayOopDesc::length_offset_in_bytes(), str1);
|
||||
}
|
||||
__ subcc(str0, str1, O7);
|
||||
}
|
||||
|
||||
{
|
||||
// Compute the minimum of the string lengths, scale it and store it in limit
|
||||
Register count0 = I0;
|
||||
Register count1 = I1;
|
||||
Register limit = L3;
|
||||
|
||||
Label Lskip;
|
||||
__ sll(count0, exact_log2(sizeof(jchar)), limit); // string0 is shorter
|
||||
__ br(Assembler::greater, true, Assembler::pt, Lskip);
|
||||
__ delayed()->sll(count1, exact_log2(sizeof(jchar)), limit); // string1 is shorter
|
||||
__ bind(Lskip);
|
||||
|
||||
// If either string is empty (or both of them) the result is the difference in lengths
|
||||
__ cmp(limit, 0);
|
||||
__ br(Assembler::equal, true, Assembler::pn, Ldone);
|
||||
__ delayed()->mov(O7, result); // result is difference in lengths
|
||||
}
|
||||
|
||||
{
|
||||
// Neither string is empty
|
||||
Label Lloop;
|
||||
|
||||
Register base0 = L0;
|
||||
Register base1 = L1;
|
||||
Register chr0 = I0;
|
||||
Register chr1 = I1;
|
||||
Register limit = L3;
|
||||
|
||||
// Shift base0 and base1 to the end of the arrays, negate limit
|
||||
__ add(base0, limit, base0);
|
||||
__ add(base1, limit, base1);
|
||||
__ neg(limit); // limit = -min{string0.length(), string1.length()}
|
||||
|
||||
__ lduh(base0, limit, chr0);
|
||||
__ bind(Lloop);
|
||||
__ lduh(base1, limit, chr1);
|
||||
__ subcc(chr0, chr1, chr0);
|
||||
__ br(Assembler::notZero, false, Assembler::pn, Ldone);
|
||||
assert(chr0 == result, "result must be pre-placed");
|
||||
__ delayed()->inccc(limit, sizeof(jchar));
|
||||
__ br(Assembler::notZero, true, Assembler::pt, Lloop);
|
||||
__ delayed()->lduh(base0, limit, chr0);
|
||||
}
|
||||
|
||||
// If strings are equal up to min length, return the length difference.
|
||||
__ mov(O7, result);
|
||||
|
||||
// Otherwise, return the difference between the first mismatched chars.
|
||||
__ bind(Ldone);
|
||||
}
|
||||
|
||||
|
||||
// --------------------------------------------------------------------------------------------
|
||||
|
||||
void LIR_Assembler::monitorexit(LIR_Opr obj_opr, LIR_Opr lock_opr, Register hdr, int monitor_no) {
|
||||
|
||||
@ -86,6 +86,8 @@ define_pd_global(size_t, CMSYoungGenPerWorker, 16*M); // default max size of CM
|
||||
|
||||
define_pd_global(uintx, TypeProfileLevel, 111);
|
||||
|
||||
define_pd_global(bool, CompactStrings, true);
|
||||
|
||||
#define ARCH_FLAGS(develop, product, diagnostic, experimental, notproduct, range, constraint) \
|
||||
\
|
||||
product(intx, UseVIS, 99, \
|
||||
|
||||
@ -66,6 +66,25 @@ void CodeInstaller::pd_patch_OopConstant(int pc_offset, Handle& constant) {
|
||||
}
|
||||
}
|
||||
|
||||
void CodeInstaller::pd_patch_MetaspaceConstant(int pc_offset, Handle& constant) {
|
||||
address pc = _instructions->start() + pc_offset;
|
||||
if (HotSpotMetaspaceConstantImpl::compressed(constant)) {
|
||||
#ifdef _LP64
|
||||
NativeMovConstReg32* move = nativeMovConstReg32_at(pc);
|
||||
narrowKlass narrowOop = record_narrow_metadata_reference(constant);
|
||||
move->set_data((intptr_t)narrowOop);
|
||||
TRACE_jvmci_3("relocating (narrow metaspace constant) at %p/%p", pc, narrowOop);
|
||||
#else
|
||||
fatal("compressed Klass* on 32bit");
|
||||
#endif
|
||||
} else {
|
||||
NativeMovConstReg* move = nativeMovConstReg_at(pc);
|
||||
Metadata* reference = record_metadata_reference(constant);
|
||||
move->set_data((intptr_t)reference);
|
||||
TRACE_jvmci_3("relocating (metaspace constant) at %p/%p", pc, reference);
|
||||
}
|
||||
}
|
||||
|
||||
void CodeInstaller::pd_patch_DataSectionReference(int pc_offset, int data_offset) {
|
||||
address pc = _instructions->start() + pc_offset;
|
||||
NativeInstruction* inst = nativeInstruction_at(pc);
|
||||
@ -87,10 +106,6 @@ void CodeInstaller::pd_patch_DataSectionReference(int pc_offset, int data_offset
|
||||
}
|
||||
}
|
||||
|
||||
void CodeInstaller::pd_relocate_CodeBlob(CodeBlob* cb, NativeInstruction* inst) {
|
||||
fatal("CodeInstaller::pd_relocate_CodeBlob - sparc unimp");
|
||||
}
|
||||
|
||||
void CodeInstaller::pd_relocate_ForeignCall(NativeInstruction* inst, jlong foreign_call_destination) {
|
||||
address pc = (address) inst;
|
||||
if (inst->is_call()) {
|
||||
@ -168,16 +183,25 @@ void CodeInstaller::pd_relocate_poll(address pc, jint mark) {
|
||||
|
||||
// convert JVMCI register indices (as used in oop maps) to HotSpot registers
|
||||
VMReg CodeInstaller::get_hotspot_reg(jint jvmci_reg) {
|
||||
if (jvmci_reg < RegisterImpl::number_of_registers) {
|
||||
// JVMCI Registers are numbered as follows:
|
||||
// 0..31: Thirty-two General Purpose registers (CPU Registers)
|
||||
// 32..63: Thirty-two single precision float registers
|
||||
// 64..95: Thirty-two double precision float registers
|
||||
// 96..111: Sixteen quad precision float registers
|
||||
if (jvmci_reg < 32) {
|
||||
return as_Register(jvmci_reg)->as_VMReg();
|
||||
} else {
|
||||
jint floatRegisterNumber = jvmci_reg - RegisterImpl::number_of_registers;
|
||||
floatRegisterNumber += MAX2(0, floatRegisterNumber-32); // Beginning with f32, only every second register is going to be addressed
|
||||
if (floatRegisterNumber < FloatRegisterImpl::number_of_registers) {
|
||||
return as_FloatRegister(floatRegisterNumber)->as_VMReg();
|
||||
jint floatRegisterNumber;
|
||||
if(jvmci_reg < 64) { // Single precision
|
||||
floatRegisterNumber = jvmci_reg - 32;
|
||||
} else if(jvmci_reg < 96) {
|
||||
floatRegisterNumber = 2 * (jvmci_reg - 64);
|
||||
} else if(jvmci_reg < 112) {
|
||||
floatRegisterNumber = 4 * (jvmci_reg - 96);
|
||||
} else {
|
||||
fatal("Unknown jvmci register");
|
||||
}
|
||||
ShouldNotReachHere();
|
||||
return NULL;
|
||||
return as_FloatRegister(floatRegisterNumber)->as_VMReg();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -44,6 +44,9 @@
|
||||
#include "gc/g1/g1SATBCardTableModRefBS.hpp"
|
||||
#include "gc/g1/heapRegion.hpp"
|
||||
#endif // INCLUDE_ALL_GCS
|
||||
#ifdef COMPILER2
|
||||
#include "opto/intrinsicnode.hpp"
|
||||
#endif
|
||||
|
||||
#ifdef PRODUCT
|
||||
#define BLOCK_COMMENT(str) /* nothing */
|
||||
@ -4253,27 +4256,385 @@ void MacroAssembler::reinit_heapbase() {
|
||||
}
|
||||
}
|
||||
|
||||
// Compare char[] arrays aligned to 4 bytes.
|
||||
void MacroAssembler::char_arrays_equals(Register ary1, Register ary2,
|
||||
Register limit, Register result,
|
||||
Register chr1, Register chr2, Label& Ldone) {
|
||||
Label Lvector, Lloop;
|
||||
assert(chr1 == result, "should be the same");
|
||||
#ifdef COMPILER2
|
||||
|
||||
// Note: limit contains number of bytes (2*char_elements) != 0.
|
||||
andcc(limit, 0x2, chr1); // trailing character ?
|
||||
// Compress char[] to byte[] by compressing 16 bytes at once. Return 0 on failure.
|
||||
void MacroAssembler::string_compress_16(Register src, Register dst, Register cnt, Register result,
|
||||
Register tmp1, Register tmp2, Register tmp3, Register tmp4,
|
||||
FloatRegister ftmp1, FloatRegister ftmp2, FloatRegister ftmp3, Label& Ldone) {
|
||||
Label Lloop, Lslow;
|
||||
assert(UseVIS >= 3, "VIS3 is required");
|
||||
assert_different_registers(src, dst, cnt, tmp1, tmp2, tmp3, tmp4, result);
|
||||
assert_different_registers(ftmp1, ftmp2, ftmp3);
|
||||
|
||||
// Check if cnt >= 8 (= 16 bytes)
|
||||
cmp(cnt, 8);
|
||||
br(Assembler::less, false, Assembler::pn, Lslow);
|
||||
delayed()->mov(cnt, result); // copy count
|
||||
|
||||
// Check for 8-byte alignment of src and dst
|
||||
or3(src, dst, tmp1);
|
||||
andcc(tmp1, 7, G0);
|
||||
br(Assembler::notZero, false, Assembler::pn, Lslow);
|
||||
delayed()->nop();
|
||||
|
||||
// Set mask for bshuffle instruction
|
||||
Register mask = tmp4;
|
||||
set(0x13579bdf, mask);
|
||||
bmask(mask, G0, G0);
|
||||
|
||||
// Set mask to 0xff00 ff00 ff00 ff00 to check for non-latin1 characters
|
||||
Assembler::sethi(0xff00fc00, mask); // mask = 0x0000 0000 ff00 fc00
|
||||
add(mask, 0x300, mask); // mask = 0x0000 0000 ff00 ff00
|
||||
sllx(mask, 32, tmp1); // tmp1 = 0xff00 ff00 0000 0000
|
||||
or3(mask, tmp1, mask); // mask = 0xff00 ff00 ff00 ff00
|
||||
|
||||
// Load first 8 bytes
|
||||
ldx(src, 0, tmp1);
|
||||
|
||||
bind(Lloop);
|
||||
// Load next 8 bytes
|
||||
ldx(src, 8, tmp2);
|
||||
|
||||
// Check for non-latin1 character by testing if the most significant byte of a char is set.
|
||||
// Although we have to move the data between integer and floating point registers, this is
|
||||
// still faster than the corresponding VIS instructions (ford/fand/fcmpd).
|
||||
or3(tmp1, tmp2, tmp3);
|
||||
btst(tmp3, mask);
|
||||
// annul zeroing if branch is not taken to preserve original count
|
||||
brx(Assembler::notZero, true, Assembler::pn, Ldone);
|
||||
delayed()->mov(G0, result); // 0 - failed
|
||||
|
||||
// Move bytes into float register
|
||||
movxtod(tmp1, ftmp1);
|
||||
movxtod(tmp2, ftmp2);
|
||||
|
||||
// Compress by copying one byte per char from ftmp1 and ftmp2 to ftmp3
|
||||
bshuffle(ftmp1, ftmp2, ftmp3);
|
||||
stf(FloatRegisterImpl::D, ftmp3, dst, 0);
|
||||
|
||||
// Increment addresses and decrement count
|
||||
inc(src, 16);
|
||||
inc(dst, 8);
|
||||
dec(cnt, 8);
|
||||
|
||||
cmp(cnt, 8);
|
||||
// annul LDX if branch is not taken to prevent access past end of string
|
||||
br(Assembler::greaterEqual, true, Assembler::pt, Lloop);
|
||||
delayed()->ldx(src, 0, tmp1);
|
||||
|
||||
// Fallback to slow version
|
||||
bind(Lslow);
|
||||
}
|
||||
|
||||
// Compress char[] to byte[]. Return 0 on failure.
|
||||
void MacroAssembler::string_compress(Register src, Register dst, Register cnt, Register result, Register tmp, Label& Ldone) {
|
||||
Label Lloop;
|
||||
assert_different_registers(src, dst, cnt, tmp, result);
|
||||
|
||||
lduh(src, 0, tmp);
|
||||
|
||||
bind(Lloop);
|
||||
inc(src, sizeof(jchar));
|
||||
cmp(tmp, 0xff);
|
||||
// annul zeroing if branch is not taken to preserve original count
|
||||
br(Assembler::greater, true, Assembler::pn, Ldone); // don't check xcc
|
||||
delayed()->mov(G0, result); // 0 - failed
|
||||
deccc(cnt);
|
||||
stb(tmp, dst, 0);
|
||||
inc(dst);
|
||||
// annul LDUH if branch is not taken to prevent access past end of string
|
||||
br(Assembler::notZero, true, Assembler::pt, Lloop);
|
||||
delayed()->lduh(src, 0, tmp); // hoisted
|
||||
}
|
||||
|
||||
// Inflate byte[] to char[] by inflating 16 bytes at once.
|
||||
void MacroAssembler::string_inflate_16(Register src, Register dst, Register cnt, Register tmp,
|
||||
FloatRegister ftmp1, FloatRegister ftmp2, FloatRegister ftmp3, FloatRegister ftmp4, Label& Ldone) {
|
||||
Label Lloop, Lslow;
|
||||
assert(UseVIS >= 3, "VIS3 is required");
|
||||
assert_different_registers(src, dst, cnt, tmp);
|
||||
assert_different_registers(ftmp1, ftmp2, ftmp3, ftmp4);
|
||||
|
||||
// Check if cnt >= 8 (= 16 bytes)
|
||||
cmp(cnt, 8);
|
||||
br(Assembler::less, false, Assembler::pn, Lslow);
|
||||
delayed()->nop();
|
||||
|
||||
// Check for 8-byte alignment of src and dst
|
||||
or3(src, dst, tmp);
|
||||
andcc(tmp, 7, G0);
|
||||
br(Assembler::notZero, false, Assembler::pn, Lslow);
|
||||
// Initialize float register to zero
|
||||
FloatRegister zerof = ftmp4;
|
||||
delayed()->fzero(FloatRegisterImpl::D, zerof);
|
||||
|
||||
// Load first 8 bytes
|
||||
ldf(FloatRegisterImpl::D, src, 0, ftmp1);
|
||||
|
||||
bind(Lloop);
|
||||
inc(src, 8);
|
||||
dec(cnt, 8);
|
||||
|
||||
// Inflate the string by interleaving each byte from the source array
|
||||
// with a zero byte and storing the result in the destination array.
|
||||
fpmerge(zerof, ftmp1->successor(), ftmp2);
|
||||
stf(FloatRegisterImpl::D, ftmp2, dst, 8);
|
||||
fpmerge(zerof, ftmp1, ftmp3);
|
||||
stf(FloatRegisterImpl::D, ftmp3, dst, 0);
|
||||
|
||||
inc(dst, 16);
|
||||
|
||||
cmp(cnt, 8);
|
||||
// annul LDX if branch is not taken to prevent access past end of string
|
||||
br(Assembler::greaterEqual, true, Assembler::pt, Lloop);
|
||||
delayed()->ldf(FloatRegisterImpl::D, src, 0, ftmp1);
|
||||
|
||||
// Fallback to slow version
|
||||
bind(Lslow);
|
||||
}
|
||||
|
||||
// Inflate byte[] to char[].
|
||||
void MacroAssembler::string_inflate(Register src, Register dst, Register cnt, Register tmp, Label& Ldone) {
|
||||
Label Loop;
|
||||
assert_different_registers(src, dst, cnt, tmp);
|
||||
|
||||
ldub(src, 0, tmp);
|
||||
bind(Loop);
|
||||
inc(src);
|
||||
deccc(cnt);
|
||||
sth(tmp, dst, 0);
|
||||
inc(dst, sizeof(jchar));
|
||||
// annul LDUB if branch is not taken to prevent access past end of string
|
||||
br(Assembler::notZero, true, Assembler::pt, Loop);
|
||||
delayed()->ldub(src, 0, tmp); // hoisted
|
||||
}
|
||||
|
||||
void MacroAssembler::string_compare(Register str1, Register str2,
|
||||
Register cnt1, Register cnt2,
|
||||
Register tmp1, Register tmp2,
|
||||
Register result, int ae) {
|
||||
Label Ldone, Lloop;
|
||||
assert_different_registers(str1, str2, cnt1, cnt2, tmp1, result);
|
||||
int stride1, stride2;
|
||||
|
||||
// Note: Making use of the fact that compareTo(a, b) == -compareTo(b, a)
|
||||
// we interchange str1 and str2 in the UL case and negate the result.
|
||||
// Like this, str1 is always latin1 encoded, expect for the UU case.
|
||||
|
||||
if (ae == StrIntrinsicNode::LU || ae == StrIntrinsicNode::UL) {
|
||||
srl(cnt2, 1, cnt2);
|
||||
}
|
||||
|
||||
// See if the lengths are different, and calculate min in cnt1.
|
||||
// Save diff in case we need it for a tie-breaker.
|
||||
Label Lskip;
|
||||
Register diff = tmp1;
|
||||
subcc(cnt1, cnt2, diff);
|
||||
br(Assembler::greater, true, Assembler::pt, Lskip);
|
||||
// cnt2 is shorter, so use its count:
|
||||
delayed()->mov(cnt2, cnt1);
|
||||
bind(Lskip);
|
||||
|
||||
// Rename registers
|
||||
Register limit1 = cnt1;
|
||||
Register limit2 = limit1;
|
||||
Register chr1 = result;
|
||||
Register chr2 = cnt2;
|
||||
if (ae == StrIntrinsicNode::LU || ae == StrIntrinsicNode::UL) {
|
||||
// We need an additional register to keep track of two limits
|
||||
assert_different_registers(str1, str2, cnt1, cnt2, tmp1, tmp2, result);
|
||||
limit2 = tmp2;
|
||||
}
|
||||
|
||||
// Is the minimum length zero?
|
||||
cmp(limit1, (int)0); // use cast to resolve overloading ambiguity
|
||||
br(Assembler::equal, true, Assembler::pn, Ldone);
|
||||
// result is difference in lengths
|
||||
if (ae == StrIntrinsicNode::UU) {
|
||||
delayed()->sra(diff, 1, result); // Divide by 2 to get number of chars
|
||||
} else {
|
||||
delayed()->mov(diff, result);
|
||||
}
|
||||
|
||||
// Load first characters
|
||||
if (ae == StrIntrinsicNode::LL) {
|
||||
stride1 = stride2 = sizeof(jbyte);
|
||||
ldub(str1, 0, chr1);
|
||||
ldub(str2, 0, chr2);
|
||||
} else if (ae == StrIntrinsicNode::UU) {
|
||||
stride1 = stride2 = sizeof(jchar);
|
||||
lduh(str1, 0, chr1);
|
||||
lduh(str2, 0, chr2);
|
||||
} else {
|
||||
stride1 = sizeof(jbyte);
|
||||
stride2 = sizeof(jchar);
|
||||
ldub(str1, 0, chr1);
|
||||
lduh(str2, 0, chr2);
|
||||
}
|
||||
|
||||
// Compare first characters
|
||||
subcc(chr1, chr2, chr1);
|
||||
br(Assembler::notZero, false, Assembler::pt, Ldone);
|
||||
assert(chr1 == result, "result must be pre-placed");
|
||||
delayed()->nop();
|
||||
|
||||
// Check if the strings start at same location
|
||||
cmp(str1, str2);
|
||||
brx(Assembler::equal, true, Assembler::pn, Ldone);
|
||||
delayed()->mov(G0, result); // result is zero
|
||||
|
||||
// We have no guarantee that on 64 bit the higher half of limit is 0
|
||||
signx(limit1);
|
||||
|
||||
// Get limit
|
||||
if (ae == StrIntrinsicNode::LU || ae == StrIntrinsicNode::UL) {
|
||||
sll(limit1, 1, limit2);
|
||||
subcc(limit2, stride2, chr2);
|
||||
}
|
||||
subcc(limit1, stride1, chr1);
|
||||
br(Assembler::zero, true, Assembler::pn, Ldone);
|
||||
// result is difference in lengths
|
||||
if (ae == StrIntrinsicNode::UU) {
|
||||
delayed()->sra(diff, 1, result); // Divide by 2 to get number of chars
|
||||
} else {
|
||||
delayed()->mov(diff, result);
|
||||
}
|
||||
|
||||
// Shift str1 and str2 to the end of the arrays, negate limit
|
||||
add(str1, limit1, str1);
|
||||
add(str2, limit2, str2);
|
||||
neg(chr1, limit1); // limit1 = -(limit1-stride1)
|
||||
if (ae == StrIntrinsicNode::LU || ae == StrIntrinsicNode::UL) {
|
||||
neg(chr2, limit2); // limit2 = -(limit2-stride2)
|
||||
}
|
||||
|
||||
// Compare the rest of the characters
|
||||
if (ae == StrIntrinsicNode::UU) {
|
||||
lduh(str1, limit1, chr1);
|
||||
} else {
|
||||
ldub(str1, limit1, chr1);
|
||||
}
|
||||
|
||||
bind(Lloop);
|
||||
if (ae == StrIntrinsicNode::LL) {
|
||||
ldub(str2, limit2, chr2);
|
||||
} else {
|
||||
lduh(str2, limit2, chr2);
|
||||
}
|
||||
|
||||
subcc(chr1, chr2, chr1);
|
||||
br(Assembler::notZero, false, Assembler::pt, Ldone);
|
||||
assert(chr1 == result, "result must be pre-placed");
|
||||
delayed()->inccc(limit1, stride1);
|
||||
if (ae == StrIntrinsicNode::LU || ae == StrIntrinsicNode::UL) {
|
||||
inccc(limit2, stride2);
|
||||
}
|
||||
|
||||
// annul LDUB if branch is not taken to prevent access past end of string
|
||||
br(Assembler::notZero, true, Assembler::pt, Lloop);
|
||||
if (ae == StrIntrinsicNode::UU) {
|
||||
delayed()->lduh(str1, limit2, chr1);
|
||||
} else {
|
||||
delayed()->ldub(str1, limit1, chr1);
|
||||
}
|
||||
|
||||
// If strings are equal up to min length, return the length difference.
|
||||
if (ae == StrIntrinsicNode::UU) {
|
||||
// Divide by 2 to get number of chars
|
||||
sra(diff, 1, result);
|
||||
} else {
|
||||
mov(diff, result);
|
||||
}
|
||||
|
||||
// Otherwise, return the difference between the first mismatched chars.
|
||||
bind(Ldone);
|
||||
if(ae == StrIntrinsicNode::UL) {
|
||||
// Negate result (see note above)
|
||||
neg(result);
|
||||
}
|
||||
}
|
||||
|
||||
void MacroAssembler::array_equals(bool is_array_equ, Register ary1, Register ary2,
|
||||
Register limit, Register tmp, Register result, bool is_byte) {
|
||||
Label Ldone, Lvector, Lloop;
|
||||
assert_different_registers(ary1, ary2, limit, tmp, result);
|
||||
|
||||
int length_offset = arrayOopDesc::length_offset_in_bytes();
|
||||
int base_offset = arrayOopDesc::base_offset_in_bytes(is_byte ? T_BYTE : T_CHAR);
|
||||
|
||||
if (is_array_equ) {
|
||||
// return true if the same array
|
||||
cmp(ary1, ary2);
|
||||
brx(Assembler::equal, true, Assembler::pn, Ldone);
|
||||
delayed()->add(G0, 1, result); // equal
|
||||
|
||||
br_null(ary1, true, Assembler::pn, Ldone);
|
||||
delayed()->mov(G0, result); // not equal
|
||||
|
||||
br_null(ary2, true, Assembler::pn, Ldone);
|
||||
delayed()->mov(G0, result); // not equal
|
||||
|
||||
// load the lengths of arrays
|
||||
ld(Address(ary1, length_offset), limit);
|
||||
ld(Address(ary2, length_offset), tmp);
|
||||
|
||||
// return false if the two arrays are not equal length
|
||||
cmp(limit, tmp);
|
||||
br(Assembler::notEqual, true, Assembler::pn, Ldone);
|
||||
delayed()->mov(G0, result); // not equal
|
||||
}
|
||||
|
||||
cmp_zero_and_br(Assembler::zero, limit, Ldone, true, Assembler::pn);
|
||||
delayed()->add(G0, 1, result); // zero-length arrays are equal
|
||||
|
||||
if (is_array_equ) {
|
||||
// load array addresses
|
||||
add(ary1, base_offset, ary1);
|
||||
add(ary2, base_offset, ary2);
|
||||
} else {
|
||||
// We have no guarantee that on 64 bit the higher half of limit is 0
|
||||
signx(limit);
|
||||
}
|
||||
|
||||
if (is_byte) {
|
||||
Label Lskip;
|
||||
// check for trailing byte
|
||||
andcc(limit, 0x1, tmp);
|
||||
br(Assembler::zero, false, Assembler::pt, Lskip);
|
||||
delayed()->nop();
|
||||
|
||||
// compare the trailing byte
|
||||
sub(limit, sizeof(jbyte), limit);
|
||||
ldub(ary1, limit, result);
|
||||
ldub(ary2, limit, tmp);
|
||||
cmp(result, tmp);
|
||||
br(Assembler::notEqual, true, Assembler::pt, Ldone);
|
||||
delayed()->mov(G0, result); // not equal
|
||||
|
||||
// only one byte?
|
||||
cmp_zero_and_br(zero, limit, Ldone, true, Assembler::pn);
|
||||
delayed()->add(G0, 1, result); // zero-length arrays are equal
|
||||
bind(Lskip);
|
||||
} else if (is_array_equ) {
|
||||
// set byte count
|
||||
sll(limit, exact_log2(sizeof(jchar)), limit);
|
||||
}
|
||||
|
||||
// check for trailing character
|
||||
andcc(limit, 0x2, tmp);
|
||||
br(Assembler::zero, false, Assembler::pt, Lvector);
|
||||
delayed()->nop();
|
||||
|
||||
// compare the trailing char
|
||||
sub(limit, sizeof(jchar), limit);
|
||||
lduh(ary1, limit, chr1);
|
||||
lduh(ary2, limit, chr2);
|
||||
cmp(chr1, chr2);
|
||||
lduh(ary1, limit, result);
|
||||
lduh(ary2, limit, tmp);
|
||||
cmp(result, tmp);
|
||||
br(Assembler::notEqual, true, Assembler::pt, Ldone);
|
||||
delayed()->mov(G0, result); // not equal
|
||||
|
||||
// only one char ?
|
||||
// only one char?
|
||||
cmp_zero_and_br(zero, limit, Ldone, true, Assembler::pn);
|
||||
delayed()->add(G0, 1, result); // zero-length arrays are equal
|
||||
|
||||
@ -4284,21 +4645,23 @@ void MacroAssembler::char_arrays_equals(Register ary1, Register ary2,
|
||||
add(ary2, limit, ary2);
|
||||
neg(limit, limit);
|
||||
|
||||
lduw(ary1, limit, chr1);
|
||||
lduw(ary1, limit, result);
|
||||
bind(Lloop);
|
||||
lduw(ary2, limit, chr2);
|
||||
cmp(chr1, chr2);
|
||||
lduw(ary2, limit, tmp);
|
||||
cmp(result, tmp);
|
||||
br(Assembler::notEqual, true, Assembler::pt, Ldone);
|
||||
delayed()->mov(G0, result); // not equal
|
||||
inccc(limit, 2*sizeof(jchar));
|
||||
// annul LDUW if branch is not taken to prevent access past end of array
|
||||
br(Assembler::notZero, true, Assembler::pt, Lloop);
|
||||
delayed()->lduw(ary1, limit, chr1); // hoisted
|
||||
delayed()->lduw(ary1, limit, result); // hoisted
|
||||
|
||||
// Caller should set it:
|
||||
// add(G0, 1, result); // equals
|
||||
add(G0, 1, result); // equals
|
||||
bind(Ldone);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
// Use BIS for zeroing (count is in bytes).
|
||||
void MacroAssembler::bis_zeroing(Register to, Register count, Register temp, Label& Ldone) {
|
||||
assert(UseBlockZeroing && VM_Version::has_block_zeroing(), "only works with BIS zeroing");
|
||||
|
||||
@ -1433,10 +1433,31 @@ public:
|
||||
void inc_counter(address counter_addr, Register Rtmp1, Register Rtmp2);
|
||||
void inc_counter(int* counter_addr, Register Rtmp1, Register Rtmp2);
|
||||
|
||||
// Compare char[] arrays aligned to 4 bytes.
|
||||
void char_arrays_equals(Register ary1, Register ary2,
|
||||
Register limit, Register result,
|
||||
Register chr1, Register chr2, Label& Ldone);
|
||||
#ifdef COMPILER2
|
||||
// Compress char[] to byte[] by compressing 16 bytes at once. Return 0 on failure.
|
||||
void string_compress_16(Register src, Register dst, Register cnt, Register result,
|
||||
Register tmp1, Register tmp2, Register tmp3, Register tmp4,
|
||||
FloatRegister ftmp1, FloatRegister ftmp2, FloatRegister ftmp3, Label& Ldone);
|
||||
|
||||
// Compress char[] to byte[]. Return 0 on failure.
|
||||
void string_compress(Register src, Register dst, Register cnt, Register tmp, Register result, Label& Ldone);
|
||||
|
||||
// Inflate byte[] to char[] by inflating 16 bytes at once.
|
||||
void string_inflate_16(Register src, Register dst, Register cnt, Register tmp,
|
||||
FloatRegister ftmp1, FloatRegister ftmp2, FloatRegister ftmp3, FloatRegister ftmp4, Label& Ldone);
|
||||
|
||||
// Inflate byte[] to char[].
|
||||
void string_inflate(Register src, Register dst, Register cnt, Register tmp, Label& Ldone);
|
||||
|
||||
void string_compare(Register str1, Register str2,
|
||||
Register cnt1, Register cnt2,
|
||||
Register tmp1, Register tmp2,
|
||||
Register result, int ae);
|
||||
|
||||
void array_equals(bool is_array_equ, Register ary1, Register ary2,
|
||||
Register limit, Register tmp, Register result, bool is_byte);
|
||||
#endif
|
||||
|
||||
// Use BIS for zeroing
|
||||
void bis_zeroing(Register to, Register count, Register temp, Label& Ldone);
|
||||
|
||||
|
||||
@ -69,7 +69,7 @@ void MethodHandles::verify_klass(MacroAssembler* _masm,
|
||||
Register obj_reg, SystemDictionary::WKID klass_id,
|
||||
Register temp_reg, Register temp2_reg,
|
||||
const char* error_message) {
|
||||
Klass** klass_addr = SystemDictionary::well_known_klass_addr(klass_id);
|
||||
InstanceKlass** klass_addr = SystemDictionary::well_known_klass_addr(klass_id);
|
||||
KlassHandle klass = SystemDictionary::well_known_klass(klass_id);
|
||||
bool did_save = false;
|
||||
if (temp_reg == noreg || temp2_reg == noreg) {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user