Merge
This commit is contained in:
commit
1e16488a87
1
.hgtags
1
.hgtags
@ -326,3 +326,4 @@ c8753d0be1778944dc512ec86a459941ea1ad2c3 jdk9-b78
|
||||
2050b3a0aadcb0e024bf798197421d58e54ec8bf jdk9-b81
|
||||
6521875cb63e1d0121b30af56ebbc36db078c4c6 jdk9-b82
|
||||
f61a63b7d1e52e307abc0bfc751203155d362ec4 jdk9-b83
|
||||
51b2db2fa04c16d767b66113dbf08c5349ce382a jdk9-b84
|
||||
|
@ -326,3 +326,4 @@ f7c5ae2933c0b8510a420d1713a955e4ffc7ad0b jdk9-b80
|
||||
b8afcf91331d78626a583ec1b63164468d6f4181 jdk9-b81
|
||||
42b56d1f418523ecb61a49d7493302c80c8009cc jdk9-b82
|
||||
ce5c14d97d95084504c32b9320cb33cce4235588 jdk9-b83
|
||||
1c8134475511ffe6726677e1418a89a7a45e92d6 jdk9-b84
|
||||
|
@ -62,7 +62,7 @@ export RM="@RM@"
|
||||
export SED="@SED@"
|
||||
export SORT="@SORT@"
|
||||
export STAT="@STAT@"
|
||||
export STRIP="@POST_STRIP_CMD@"
|
||||
export STRIP="@STRIP@ @STRIPFLAGS@"
|
||||
export TEE="@TEE@"
|
||||
export UNIQ="@UNIQ@"
|
||||
export UNPACK200="@FIXPATH@ @BOOT_JDK@/bin/unpack200"
|
||||
|
@ -165,6 +165,11 @@ SRCDIRS_SETUP_OUTPUT_DIRS
|
||||
# First determine the toolchain type (compiler family)
|
||||
TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE
|
||||
|
||||
# User supplied flags should be used when configure detects compilers
|
||||
FLAGS_SETUP_USER_SUPPLIED_FLAGS
|
||||
# The sysroot cflags are needed for configure to be able to run the compilers
|
||||
FLAGS_SETUP_SYSROOT_FLAGS
|
||||
|
||||
# Then detect the actual binaries needed
|
||||
TOOLCHAIN_PRE_DETECTION
|
||||
TOOLCHAIN_DETECT_TOOLCHAIN_CORE
|
||||
|
@ -23,6 +23,100 @@
|
||||
# questions.
|
||||
#
|
||||
|
||||
# Reset the global CFLAGS/LDFLAGS variables and initialize them with the
|
||||
# corresponding configure arguments instead
|
||||
AC_DEFUN_ONCE([FLAGS_SETUP_USER_SUPPLIED_FLAGS],
|
||||
[
|
||||
if test "x$CFLAGS" != "x${ADDED_CFLAGS}"; then
|
||||
AC_MSG_WARN([Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags])
|
||||
fi
|
||||
|
||||
if test "x$CXXFLAGS" != "x${ADDED_CXXFLAGS}"; then
|
||||
AC_MSG_WARN([Ignoring CXXFLAGS($CXXFLAGS) found in environment. Use --with-extra-cxxflags])
|
||||
fi
|
||||
|
||||
if test "x$LDFLAGS" != "x${ADDED_LDFLAGS}"; then
|
||||
AC_MSG_WARN([Ignoring LDFLAGS($LDFLAGS) found in environment. Use --with-extra-ldflags])
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(extra-cflags, [AS_HELP_STRING([--with-extra-cflags],
|
||||
[extra flags to be used when compiling jdk c-files])])
|
||||
|
||||
AC_ARG_WITH(extra-cxxflags, [AS_HELP_STRING([--with-extra-cxxflags],
|
||||
[extra flags to be used when compiling jdk c++-files])])
|
||||
|
||||
AC_ARG_WITH(extra-ldflags, [AS_HELP_STRING([--with-extra-ldflags],
|
||||
[extra flags to be used when linking jdk])])
|
||||
|
||||
EXTRA_CFLAGS="$with_extra_cflags"
|
||||
EXTRA_CXXFLAGS="$with_extra_cxxflags"
|
||||
EXTRA_LDFLAGS="$with_extra_ldflags"
|
||||
|
||||
# Hotspot needs these set in their legacy form
|
||||
LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $EXTRA_CFLAGS"
|
||||
LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $EXTRA_CXXFLAGS"
|
||||
LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $EXTRA_LDFLAGS"
|
||||
|
||||
AC_SUBST(LEGACY_EXTRA_CFLAGS)
|
||||
AC_SUBST(LEGACY_EXTRA_CXXFLAGS)
|
||||
AC_SUBST(LEGACY_EXTRA_LDFLAGS)
|
||||
|
||||
# The global CFLAGS and LDLAGS variables are used by configure tests and
|
||||
# should include the extra parameters
|
||||
CFLAGS="$EXTRA_CFLAGS"
|
||||
CXXFLAGS="$EXTRA_CXXFLAGS"
|
||||
LDFLAGS="$EXTRA_LDFLAGS"
|
||||
CPPFLAGS=""
|
||||
])
|
||||
|
||||
# Setup the sysroot flags and add them to global CFLAGS and LDFLAGS so
|
||||
# that configure can use them while detecting compilers.
|
||||
# TOOLCHAIN_TYPE is available here.
|
||||
AC_DEFUN_ONCE([FLAGS_SETUP_SYSROOT_FLAGS],
|
||||
[
|
||||
if test "x$SYSROOT" != "x"; then
|
||||
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
||||
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
|
||||
# Solaris Studio does not have a concept of sysroot. Instead we must
|
||||
# make sure the default include and lib dirs are appended to each
|
||||
# compile and link command line.
|
||||
SYSROOT_CFLAGS="-I$SYSROOT/usr/include"
|
||||
SYSROOT_LDFLAGS="-L$SYSROOT/usr/lib$OPENJDK_TARGET_CPU_ISADIR \
|
||||
-L$SYSROOT/lib$OPENJDK_TARGET_CPU_ISADIR \
|
||||
-L$SYSROOT/usr/ccs/lib$OPENJDK_TARGET_CPU_ISADIR"
|
||||
fi
|
||||
elif test "x$TOOLCHAIN_TYPE" = xgcc; then
|
||||
SYSROOT_CFLAGS="--sysroot=$SYSROOT"
|
||||
SYSROOT_LDFLAGS="--sysroot=$SYSROOT"
|
||||
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||
SYSROOT_CFLAGS="-isysroot $SYSROOT"
|
||||
SYSROOT_LDFLAGS="-isysroot $SYSROOT"
|
||||
fi
|
||||
# Propagate the sysroot args to hotspot
|
||||
LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $SYSROOT_CFLAGS"
|
||||
LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $SYSROOT_CFLAGS"
|
||||
LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $SYSROOT_LDFLAGS"
|
||||
# The global CFLAGS and LDFLAGS variables need these for configure to function
|
||||
CFLAGS="$CFLAGS $SYSROOT_CFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $SYSROOT_CFLAGS"
|
||||
CXXFLAGS="$CXXFLAGS $SYSROOT_CFLAGS"
|
||||
LDFLAGS="$LDFLAGS $SYSROOT_LDFLAGS"
|
||||
fi
|
||||
|
||||
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
# We also need -iframework<path>/System/Library/Frameworks
|
||||
SYSROOT_CFLAGS="$SYSROOT_CFLAGS -iframework $SYSROOT/System/Library/Frameworks"
|
||||
SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -iframework $SYSROOT/System/Library/Frameworks"
|
||||
# These always need to be set, or we can't find the frameworks embedded in JavaVM.framework
|
||||
# set this here so it doesn't have to be peppered throughout the forest
|
||||
SYSROOT_CFLAGS="$SYSROOT_CFLAGS -F $SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks"
|
||||
SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -F $SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks"
|
||||
fi
|
||||
|
||||
AC_SUBST(SYSROOT_CFLAGS)
|
||||
AC_SUBST(SYSROOT_LDFLAGS)
|
||||
])
|
||||
|
||||
AC_DEFUN_ONCE([FLAGS_SETUP_INIT_FLAGS],
|
||||
[
|
||||
# Option used to tell the compiler whether to create 32- or 64-bit executables
|
||||
@ -60,10 +154,7 @@ AC_DEFUN_ONCE([FLAGS_SETUP_INIT_FLAGS],
|
||||
STRIPFLAGS="-X32_64"
|
||||
fi
|
||||
|
||||
if test "x$OPENJDK_TARGET_OS" != xwindows; then
|
||||
POST_STRIP_CMD="$STRIP $STRIPFLAGS"
|
||||
fi
|
||||
AC_SUBST(POST_STRIP_CMD)
|
||||
AC_SUBST(STRIPFLAGS)
|
||||
|
||||
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||
CC_OUT_OPTION=-Fo
|
||||
@ -113,44 +204,6 @@ AC_DEFUN_ONCE([FLAGS_SETUP_INIT_FLAGS],
|
||||
# silence copyright notice and other headers.
|
||||
COMMON_CCXXFLAGS="$COMMON_CCXXFLAGS -nologo"
|
||||
fi
|
||||
|
||||
if test "x$SYSROOT" != "x"; then
|
||||
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
||||
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
|
||||
# Solaris Studio does not have a concept of sysroot. Instead we must
|
||||
# make sure the default include and lib dirs are appended to each
|
||||
# compile and link command line.
|
||||
SYSROOT_CFLAGS="-I$SYSROOT/usr/include"
|
||||
SYSROOT_LDFLAGS="-L$SYSROOT/usr/lib$OPENJDK_TARGET_CPU_ISADIR \
|
||||
-L$SYSROOT/lib$OPENJDK_TARGET_CPU_ISADIR \
|
||||
-L$SYSROOT/usr/ccs/lib$OPENJDK_TARGET_CPU_ISADIR"
|
||||
fi
|
||||
elif test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
# Apple only wants -isysroot <path>, but we also need -iframework<path>/System/Library/Frameworks
|
||||
SYSROOT_CFLAGS="-isysroot \"$SYSROOT\" -iframework\"$SYSROOT/System/Library/Frameworks\""
|
||||
SYSROOT_LDFLAGS=$SYSROOT_CFLAGS
|
||||
elif test "x$TOOLCHAIN_TYPE" = xgcc; then
|
||||
SYSROOT_CFLAGS="--sysroot=$SYSROOT"
|
||||
SYSROOT_LDFLAGS="--sysroot=$SYSROOT"
|
||||
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||
SYSROOT_CFLAGS="-isysroot \"$SYSROOT\""
|
||||
SYSROOT_LDFLAGS="-isysroot \"$SYSROOT\""
|
||||
fi
|
||||
# Propagate the sysroot args to hotspot
|
||||
LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $SYSROOT_CFLAGS"
|
||||
LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $SYSROOT_CFLAGS"
|
||||
LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $SYSROOT_LDFLAGS"
|
||||
fi
|
||||
|
||||
# These always need to be set, or we can't find the frameworks embedded in JavaVM.framework
|
||||
# set this here so it doesn't have to be peppered throughout the forest
|
||||
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
SYSROOT_CFLAGS="$SYSROOT_CFLAGS -F\"$SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks\""
|
||||
SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -F\"$SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks\""
|
||||
fi
|
||||
|
||||
AC_SUBST(SYSROOT_CFLAGS)
|
||||
AC_SUBST(SYSROOT_LDFLAGS)
|
||||
])
|
||||
|
||||
AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_LIBS],
|
||||
@ -480,39 +533,9 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
|
||||
CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -qfullpath -qsaveopt"
|
||||
fi
|
||||
|
||||
if test "x$CFLAGS" != "x${ADDED_CFLAGS}"; then
|
||||
AC_MSG_WARN([Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags])
|
||||
fi
|
||||
|
||||
if test "x$CXXFLAGS" != "x${ADDED_CXXFLAGS}"; then
|
||||
AC_MSG_WARN([Ignoring CXXFLAGS($CXXFLAGS) found in environment. Use --with-extra-cxxflags])
|
||||
fi
|
||||
|
||||
if test "x$LDFLAGS" != "x${ADDED_LDFLAGS}"; then
|
||||
AC_MSG_WARN([Ignoring LDFLAGS($LDFLAGS) found in environment. Use --with-extra-ldflags])
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(extra-cflags, [AS_HELP_STRING([--with-extra-cflags],
|
||||
[extra flags to be used when compiling jdk c-files])])
|
||||
|
||||
AC_ARG_WITH(extra-cxxflags, [AS_HELP_STRING([--with-extra-cxxflags],
|
||||
[extra flags to be used when compiling jdk c++-files])])
|
||||
|
||||
AC_ARG_WITH(extra-ldflags, [AS_HELP_STRING([--with-extra-ldflags],
|
||||
[extra flags to be used when linking jdk])])
|
||||
|
||||
CFLAGS_JDK="${CFLAGS_JDK} $with_extra_cflags"
|
||||
CXXFLAGS_JDK="${CXXFLAGS_JDK} $with_extra_cxxflags"
|
||||
LDFLAGS_JDK="${LDFLAGS_JDK} $with_extra_ldflags"
|
||||
|
||||
# Hotspot needs these set in their legacy form
|
||||
LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $with_extra_cflags"
|
||||
LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $with_extra_cxxflags"
|
||||
LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $with_extra_ldflags"
|
||||
|
||||
AC_SUBST(LEGACY_EXTRA_CFLAGS)
|
||||
AC_SUBST(LEGACY_EXTRA_CXXFLAGS)
|
||||
AC_SUBST(LEGACY_EXTRA_LDFLAGS)
|
||||
CFLAGS_JDK="${CFLAGS_JDK} $EXTRA_CFLAGS"
|
||||
CXXFLAGS_JDK="${CXXFLAGS_JDK} $EXTRA_CXXFLAGS"
|
||||
LDFLAGS_JDK="${LDFLAGS_JDK} $EXTRA_LDFLAGS"
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
|
@ -705,9 +705,6 @@ CXXFLAGS_JDKLIB
|
||||
CFLAGS_JDKEXE
|
||||
CFLAGS_JDKLIB
|
||||
MACOSX_VERSION_MIN
|
||||
LEGACY_EXTRA_LDFLAGS
|
||||
LEGACY_EXTRA_CXXFLAGS
|
||||
LEGACY_EXTRA_CFLAGS
|
||||
CXX_O_FLAG_NONE
|
||||
CXX_O_FLAG_DEBUG
|
||||
CXX_O_FLAG_NORM
|
||||
@ -728,14 +725,12 @@ SET_SHARED_LIBRARY_ORIGIN
|
||||
SET_EXECUTABLE_ORIGIN
|
||||
CXX_FLAG_REORDER
|
||||
C_FLAG_REORDER
|
||||
SYSROOT_LDFLAGS
|
||||
SYSROOT_CFLAGS
|
||||
RC_FLAGS
|
||||
AR_OUT_OPTION
|
||||
LD_OUT_OPTION
|
||||
EXE_OUT_OPTION
|
||||
CC_OUT_OPTION
|
||||
POST_STRIP_CMD
|
||||
STRIPFLAGS
|
||||
ARFLAGS
|
||||
COMPILER_TARGET_BITS_FLAG
|
||||
JT_HOME
|
||||
@ -747,6 +742,8 @@ HOTSPOT_LD
|
||||
HOTSPOT_CXX
|
||||
HOTSPOT_RC
|
||||
HOTSPOT_MT
|
||||
BUILD_SYSROOT_LDFLAGS
|
||||
BUILD_SYSROOT_CFLAGS
|
||||
BUILD_LD
|
||||
BUILD_CXX
|
||||
BUILD_CC
|
||||
@ -793,6 +790,11 @@ VS_LIB
|
||||
VS_INCLUDE
|
||||
VS_PATH
|
||||
CYGWIN_LINK
|
||||
SYSROOT_LDFLAGS
|
||||
SYSROOT_CFLAGS
|
||||
LEGACY_EXTRA_LDFLAGS
|
||||
LEGACY_EXTRA_CXXFLAGS
|
||||
LEGACY_EXTRA_CFLAGS
|
||||
EXE_SUFFIX
|
||||
OBJ_SUFFIX
|
||||
STATIC_LIBRARY
|
||||
@ -1078,11 +1080,11 @@ with_override_nashorn
|
||||
with_override_jdk
|
||||
with_import_hotspot
|
||||
with_toolchain_type
|
||||
with_toolchain_version
|
||||
with_jtreg
|
||||
with_extra_cflags
|
||||
with_extra_cxxflags
|
||||
with_extra_ldflags
|
||||
with_toolchain_version
|
||||
with_jtreg
|
||||
enable_warnings_as_errors
|
||||
enable_debug_symbols
|
||||
enable_zip_debug_info
|
||||
@ -1937,14 +1939,14 @@ Optional Packages:
|
||||
source
|
||||
--with-toolchain-type the toolchain type (or family) to use, use '--help'
|
||||
to show possible values [platform dependent]
|
||||
--with-extra-cflags extra flags to be used when compiling jdk c-files
|
||||
--with-extra-cxxflags extra flags to be used when compiling jdk c++-files
|
||||
--with-extra-ldflags extra flags to be used when linking jdk
|
||||
--with-toolchain-version
|
||||
the version of the toolchain to look for, use
|
||||
'--help' to show possible values [platform
|
||||
dependent]
|
||||
--with-jtreg Regression Test Harness [probed]
|
||||
--with-extra-cflags extra flags to be used when compiling jdk c-files
|
||||
--with-extra-cxxflags extra flags to be used when compiling jdk c++-files
|
||||
--with-extra-ldflags extra flags to be used when linking jdk
|
||||
--with-x use the X Window System
|
||||
--with-cups specify prefix directory for the cups package
|
||||
(expecting the headers under PATH/include)
|
||||
@ -3767,6 +3769,15 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
|
||||
# questions.
|
||||
#
|
||||
|
||||
# Reset the global CFLAGS/LDFLAGS variables and initialize them with the
|
||||
# corresponding configure arguments instead
|
||||
|
||||
|
||||
# Setup the sysroot flags and add them to global CFLAGS and LDFLAGS so
|
||||
# that configure can use them while detecting compilers.
|
||||
# TOOLCHAIN_TYPE is available here.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -3886,6 +3897,8 @@ msys_help() {
|
||||
|
||||
apt_help() {
|
||||
case $1 in
|
||||
reduced)
|
||||
PKGHANDLER_COMMAND="sudo apt-get install gcc-multilib g++-multilib" ;;
|
||||
devkit)
|
||||
PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;;
|
||||
openjdk)
|
||||
@ -4362,7 +4375,7 @@ VS_SDK_PLATFORM_NAME_2013=
|
||||
#CUSTOM_AUTOCONF_INCLUDE
|
||||
|
||||
# Do not change or remove the following line, it is needed for consistency checks:
|
||||
DATE_WHEN_GENERATED=1442820958
|
||||
DATE_WHEN_GENERATED=1444077934
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
@ -26825,6 +26838,109 @@ $as_echo "$as_me: Using user selected toolchain $TOOLCHAIN_TYPE ($TOOLCHAIN_DESC
|
||||
fi
|
||||
|
||||
|
||||
# User supplied flags should be used when configure detects compilers
|
||||
|
||||
if test "x$CFLAGS" != "x${ADDED_CFLAGS}"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags" >&5
|
||||
$as_echo "$as_me: WARNING: Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags" >&2;}
|
||||
fi
|
||||
|
||||
if test "x$CXXFLAGS" != "x${ADDED_CXXFLAGS}"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring CXXFLAGS($CXXFLAGS) found in environment. Use --with-extra-cxxflags" >&5
|
||||
$as_echo "$as_me: WARNING: Ignoring CXXFLAGS($CXXFLAGS) found in environment. Use --with-extra-cxxflags" >&2;}
|
||||
fi
|
||||
|
||||
if test "x$LDFLAGS" != "x${ADDED_LDFLAGS}"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring LDFLAGS($LDFLAGS) found in environment. Use --with-extra-ldflags" >&5
|
||||
$as_echo "$as_me: WARNING: Ignoring LDFLAGS($LDFLAGS) found in environment. Use --with-extra-ldflags" >&2;}
|
||||
fi
|
||||
|
||||
|
||||
# Check whether --with-extra-cflags was given.
|
||||
if test "${with_extra_cflags+set}" = set; then :
|
||||
withval=$with_extra_cflags;
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# Check whether --with-extra-cxxflags was given.
|
||||
if test "${with_extra_cxxflags+set}" = set; then :
|
||||
withval=$with_extra_cxxflags;
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# Check whether --with-extra-ldflags was given.
|
||||
if test "${with_extra_ldflags+set}" = set; then :
|
||||
withval=$with_extra_ldflags;
|
||||
fi
|
||||
|
||||
|
||||
EXTRA_CFLAGS="$with_extra_cflags"
|
||||
EXTRA_CXXFLAGS="$with_extra_cxxflags"
|
||||
EXTRA_LDFLAGS="$with_extra_ldflags"
|
||||
|
||||
# Hotspot needs these set in their legacy form
|
||||
LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $EXTRA_CFLAGS"
|
||||
LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $EXTRA_CXXFLAGS"
|
||||
LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $EXTRA_LDFLAGS"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# The global CFLAGS and LDLAGS variables are used by configure tests and
|
||||
# should include the extra parameters
|
||||
CFLAGS="$EXTRA_CFLAGS"
|
||||
CXXFLAGS="$EXTRA_CXXFLAGS"
|
||||
LDFLAGS="$EXTRA_LDFLAGS"
|
||||
CPPFLAGS=""
|
||||
|
||||
# The sysroot cflags are needed for configure to be able to run the compilers
|
||||
|
||||
if test "x$SYSROOT" != "x"; then
|
||||
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
||||
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
|
||||
# Solaris Studio does not have a concept of sysroot. Instead we must
|
||||
# make sure the default include and lib dirs are appended to each
|
||||
# compile and link command line.
|
||||
SYSROOT_CFLAGS="-I$SYSROOT/usr/include"
|
||||
SYSROOT_LDFLAGS="-L$SYSROOT/usr/lib$OPENJDK_TARGET_CPU_ISADIR \
|
||||
-L$SYSROOT/lib$OPENJDK_TARGET_CPU_ISADIR \
|
||||
-L$SYSROOT/usr/ccs/lib$OPENJDK_TARGET_CPU_ISADIR"
|
||||
fi
|
||||
elif test "x$TOOLCHAIN_TYPE" = xgcc; then
|
||||
SYSROOT_CFLAGS="--sysroot=$SYSROOT"
|
||||
SYSROOT_LDFLAGS="--sysroot=$SYSROOT"
|
||||
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||
SYSROOT_CFLAGS="-isysroot $SYSROOT"
|
||||
SYSROOT_LDFLAGS="-isysroot $SYSROOT"
|
||||
fi
|
||||
# Propagate the sysroot args to hotspot
|
||||
LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $SYSROOT_CFLAGS"
|
||||
LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $SYSROOT_CFLAGS"
|
||||
LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $SYSROOT_LDFLAGS"
|
||||
# The global CFLAGS and LDFLAGS variables need these for configure to function
|
||||
CFLAGS="$CFLAGS $SYSROOT_CFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $SYSROOT_CFLAGS"
|
||||
CXXFLAGS="$CXXFLAGS $SYSROOT_CFLAGS"
|
||||
LDFLAGS="$LDFLAGS $SYSROOT_LDFLAGS"
|
||||
fi
|
||||
|
||||
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
# We also need -iframework<path>/System/Library/Frameworks
|
||||
SYSROOT_CFLAGS="$SYSROOT_CFLAGS -iframework $SYSROOT/System/Library/Frameworks"
|
||||
SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -iframework $SYSROOT/System/Library/Frameworks"
|
||||
# These always need to be set, or we can't find the frameworks embedded in JavaVM.framework
|
||||
# set this here so it doesn't have to be peppered throughout the forest
|
||||
SYSROOT_CFLAGS="$SYSROOT_CFLAGS -F $SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks"
|
||||
SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -F $SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Then detect the actual binaries needed
|
||||
|
||||
# FIXME: Is this needed?
|
||||
@ -40555,12 +40671,16 @@ $as_echo "$as_me: Rewriting BUILD_LD to \"$new_complete\"" >&6;}
|
||||
fi
|
||||
fi
|
||||
|
||||
BUILD_SYSROOT_CFLAGS=""
|
||||
BUILD_SYSROOT_LDFLAGS=""
|
||||
else
|
||||
# If we are not cross compiling, use the normal target compilers for
|
||||
# building the build platform executables.
|
||||
BUILD_CC="$CC"
|
||||
BUILD_CXX="$CXX"
|
||||
BUILD_LD="$LD"
|
||||
BUILD_SYSROOT_CFLAGS="$SYSROOT_CFLAGS"
|
||||
BUILD_SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS"
|
||||
fi
|
||||
|
||||
|
||||
@ -40568,6 +40688,8 @@ $as_echo "$as_me: Rewriting BUILD_LD to \"$new_complete\"" >&6;}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||
# For hotspot, we need these in Windows mixed path,
|
||||
# so rewrite them all. Need added .exe suffix.
|
||||
@ -41252,9 +41374,6 @@ $as_echo "$tool_specified" >&6; }
|
||||
STRIPFLAGS="-X32_64"
|
||||
fi
|
||||
|
||||
if test "x$OPENJDK_TARGET_OS" != xwindows; then
|
||||
POST_STRIP_CMD="$STRIP $STRIPFLAGS"
|
||||
fi
|
||||
|
||||
|
||||
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||
@ -41306,44 +41425,6 @@ $as_echo "$tool_specified" >&6; }
|
||||
COMMON_CCXXFLAGS="$COMMON_CCXXFLAGS -nologo"
|
||||
fi
|
||||
|
||||
if test "x$SYSROOT" != "x"; then
|
||||
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
||||
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
|
||||
# Solaris Studio does not have a concept of sysroot. Instead we must
|
||||
# make sure the default include and lib dirs are appended to each
|
||||
# compile and link command line.
|
||||
SYSROOT_CFLAGS="-I$SYSROOT/usr/include"
|
||||
SYSROOT_LDFLAGS="-L$SYSROOT/usr/lib$OPENJDK_TARGET_CPU_ISADIR \
|
||||
-L$SYSROOT/lib$OPENJDK_TARGET_CPU_ISADIR \
|
||||
-L$SYSROOT/usr/ccs/lib$OPENJDK_TARGET_CPU_ISADIR"
|
||||
fi
|
||||
elif test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
# Apple only wants -isysroot <path>, but we also need -iframework<path>/System/Library/Frameworks
|
||||
SYSROOT_CFLAGS="-isysroot \"$SYSROOT\" -iframework\"$SYSROOT/System/Library/Frameworks\""
|
||||
SYSROOT_LDFLAGS=$SYSROOT_CFLAGS
|
||||
elif test "x$TOOLCHAIN_TYPE" = xgcc; then
|
||||
SYSROOT_CFLAGS="--sysroot=$SYSROOT"
|
||||
SYSROOT_LDFLAGS="--sysroot=$SYSROOT"
|
||||
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||
SYSROOT_CFLAGS="-isysroot \"$SYSROOT\""
|
||||
SYSROOT_LDFLAGS="-isysroot \"$SYSROOT\""
|
||||
fi
|
||||
# Propagate the sysroot args to hotspot
|
||||
LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $SYSROOT_CFLAGS"
|
||||
LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $SYSROOT_CFLAGS"
|
||||
LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $SYSROOT_LDFLAGS"
|
||||
fi
|
||||
|
||||
# These always need to be set, or we can't find the frameworks embedded in JavaVM.framework
|
||||
# set this here so it doesn't have to be peppered throughout the forest
|
||||
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
SYSROOT_CFLAGS="$SYSROOT_CFLAGS -F\"$SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks\""
|
||||
SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -F\"$SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks\""
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# FIXME: Currently we must test this after toolchain but before flags. Fix!
|
||||
|
||||
@ -41543,8 +41624,38 @@ else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to compile stdio.h. This likely implies missing compile dependencies." >&5
|
||||
$as_echo "$as_me: Failed to compile stdio.h. This likely implies missing compile dependencies." >&6;}
|
||||
if test "x$COMPILE_TYPE" = xreduced; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: You are doing a reduced build. Check that you have 32-bit libraries installed." >&5
|
||||
$as_echo "$as_me: You are doing a reduced build. Check that you have 32-bit libraries installed." >&6;}
|
||||
|
||||
# Print a helpful message on how to acquire the necessary build dependency.
|
||||
# reduced is the help tag: freetype, cups, pulse, alsa etc
|
||||
MISSING_DEPENDENCY=reduced
|
||||
|
||||
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
|
||||
cygwin_help $MISSING_DEPENDENCY
|
||||
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
|
||||
msys_help $MISSING_DEPENDENCY
|
||||
else
|
||||
PKGHANDLER_COMMAND=
|
||||
|
||||
case $PKGHANDLER in
|
||||
apt-get)
|
||||
apt_help $MISSING_DEPENDENCY ;;
|
||||
yum)
|
||||
yum_help $MISSING_DEPENDENCY ;;
|
||||
port)
|
||||
port_help $MISSING_DEPENDENCY ;;
|
||||
pkgutil)
|
||||
pkgutil_help $MISSING_DEPENDENCY ;;
|
||||
pkgadd)
|
||||
pkgadd_help $MISSING_DEPENDENCY ;;
|
||||
esac
|
||||
|
||||
if test "x$PKGHANDLER_COMMAND" != x; then
|
||||
HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
|
||||
fi
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: You are doing a reduced build. Check that you have 32-bit libraries installed. $HELP_MSG" >&5
|
||||
$as_echo "$as_me: You are doing a reduced build. Check that you have 32-bit libraries installed. $HELP_MSG" >&6;}
|
||||
elif test "x$COMPILE_TYPE" = xcross; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: You are doing a cross-compilation. Check that you have all target platform libraries installed." >&5
|
||||
$as_echo "$as_me: You are doing a cross-compilation. Check that you have all target platform libraries installed." >&6;}
|
||||
@ -41603,8 +41714,8 @@ $as_echo "$as_me: WARNING: The number of bits in the target could not be determi
|
||||
# Let's try to implicitely set the compilers target architecture and retry the test
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)." >&5
|
||||
$as_echo "$as_me: The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)." >&6;}
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: I'll retry after setting the platforms compiler target bits flag to ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" >&5
|
||||
$as_echo "$as_me: I'll retry after setting the platforms compiler target bits flag to ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" >&6;}
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: Retrying with platforms compiler target bits flag to ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" >&5
|
||||
$as_echo "$as_me: Retrying with platforms compiler target bits flag to ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" >&6;}
|
||||
|
||||
# When we add flags to the "official" CFLAGS etc, we need to
|
||||
# keep track of these additions in ADDED_CFLAGS etc. These
|
||||
@ -41667,7 +41778,46 @@ _ACEOF
|
||||
TESTED_TARGET_CPU_BITS=`expr 8 \* $ac_cv_sizeof_int_p`
|
||||
|
||||
if test "x$TESTED_TARGET_CPU_BITS" != "x$OPENJDK_TARGET_CPU_BITS"; then
|
||||
as_fn_error $? "The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)" "$LINENO" 5
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)" >&5
|
||||
$as_echo "$as_me: The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)" >&6;}
|
||||
if test "x$COMPILE_TYPE" = xreduced; then
|
||||
|
||||
# Print a helpful message on how to acquire the necessary build dependency.
|
||||
# reduced is the help tag: freetype, cups, pulse, alsa etc
|
||||
MISSING_DEPENDENCY=reduced
|
||||
|
||||
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
|
||||
cygwin_help $MISSING_DEPENDENCY
|
||||
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
|
||||
msys_help $MISSING_DEPENDENCY
|
||||
else
|
||||
PKGHANDLER_COMMAND=
|
||||
|
||||
case $PKGHANDLER in
|
||||
apt-get)
|
||||
apt_help $MISSING_DEPENDENCY ;;
|
||||
yum)
|
||||
yum_help $MISSING_DEPENDENCY ;;
|
||||
port)
|
||||
port_help $MISSING_DEPENDENCY ;;
|
||||
pkgutil)
|
||||
pkgutil_help $MISSING_DEPENDENCY ;;
|
||||
pkgadd)
|
||||
pkgadd_help $MISSING_DEPENDENCY ;;
|
||||
esac
|
||||
|
||||
if test "x$PKGHANDLER_COMMAND" != x; then
|
||||
HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
|
||||
fi
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: You are doing a reduced build. Check that you have 32-bit libraries installed. $HELP_MSG" >&5
|
||||
$as_echo "$as_me: You are doing a reduced build. Check that you have 32-bit libraries installed. $HELP_MSG" >&6;}
|
||||
elif test "x$COMPILE_TYPE" = xcross; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: You are doing a cross-compilation. Check that you have all target platform libraries installed." >&5
|
||||
$as_echo "$as_me: You are doing a cross-compilation. Check that you have all target platform libraries installed." >&6;}
|
||||
fi
|
||||
as_fn_error $? "Cannot continue." "$LINENO" 5
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@ -42267,54 +42417,9 @@ $as_echo "$supports" >&6; }
|
||||
CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -qfullpath -qsaveopt"
|
||||
fi
|
||||
|
||||
if test "x$CFLAGS" != "x${ADDED_CFLAGS}"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags" >&5
|
||||
$as_echo "$as_me: WARNING: Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags" >&2;}
|
||||
fi
|
||||
|
||||
if test "x$CXXFLAGS" != "x${ADDED_CXXFLAGS}"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring CXXFLAGS($CXXFLAGS) found in environment. Use --with-extra-cxxflags" >&5
|
||||
$as_echo "$as_me: WARNING: Ignoring CXXFLAGS($CXXFLAGS) found in environment. Use --with-extra-cxxflags" >&2;}
|
||||
fi
|
||||
|
||||
if test "x$LDFLAGS" != "x${ADDED_LDFLAGS}"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring LDFLAGS($LDFLAGS) found in environment. Use --with-extra-ldflags" >&5
|
||||
$as_echo "$as_me: WARNING: Ignoring LDFLAGS($LDFLAGS) found in environment. Use --with-extra-ldflags" >&2;}
|
||||
fi
|
||||
|
||||
|
||||
# Check whether --with-extra-cflags was given.
|
||||
if test "${with_extra_cflags+set}" = set; then :
|
||||
withval=$with_extra_cflags;
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# Check whether --with-extra-cxxflags was given.
|
||||
if test "${with_extra_cxxflags+set}" = set; then :
|
||||
withval=$with_extra_cxxflags;
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# Check whether --with-extra-ldflags was given.
|
||||
if test "${with_extra_ldflags+set}" = set; then :
|
||||
withval=$with_extra_ldflags;
|
||||
fi
|
||||
|
||||
|
||||
CFLAGS_JDK="${CFLAGS_JDK} $with_extra_cflags"
|
||||
CXXFLAGS_JDK="${CXXFLAGS_JDK} $with_extra_cxxflags"
|
||||
LDFLAGS_JDK="${LDFLAGS_JDK} $with_extra_ldflags"
|
||||
|
||||
# Hotspot needs these set in their legacy form
|
||||
LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $with_extra_cflags"
|
||||
LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $with_extra_cxxflags"
|
||||
LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $with_extra_ldflags"
|
||||
|
||||
|
||||
|
||||
|
||||
CFLAGS_JDK="${CFLAGS_JDK} $EXTRA_CFLAGS"
|
||||
CXXFLAGS_JDK="${CXXFLAGS_JDK} $EXTRA_CXXFLAGS"
|
||||
LDFLAGS_JDK="${LDFLAGS_JDK} $EXTRA_LDFLAGS"
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
|
@ -97,6 +97,8 @@ msys_help() {
|
||||
|
||||
apt_help() {
|
||||
case $1 in
|
||||
reduced)
|
||||
PKGHANDLER_COMMAND="sudo apt-get install gcc-multilib g++-multilib" ;;
|
||||
devkit)
|
||||
PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;;
|
||||
openjdk)
|
||||
|
@ -48,8 +48,8 @@ ALT_CUPS_HEADERS_PATH:=$(patsubst -I%,%,$(filter -I%,@CUPS_CFLAGS@))
|
||||
|
||||
# The HOSTCC/HOSTCXX is Hotspot terminology for the BUILD_CC/BUILD_CXX, i.e. the
|
||||
# compiler that produces code that can be run on the build platform.
|
||||
HOSTCC:=@FIXPATH@ @BUILD_CC@
|
||||
HOSTCXX:=@FIXPATH@ @BUILD_CXX@
|
||||
HOSTCC:=@FIXPATH@ @BUILD_CC@ $(BUILD_SYSROOT_CFLAGS)
|
||||
HOSTCXX:=@FIXPATH@ @BUILD_CXX@ $(BUILD_SYSROOT_CFLAGS)
|
||||
|
||||
####################################################
|
||||
#
|
||||
|
@ -489,7 +489,8 @@ AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_TARGET_BITS],
|
||||
AC_CHECK_HEADERS([stdio.h], , [
|
||||
AC_MSG_NOTICE([Failed to compile stdio.h. This likely implies missing compile dependencies.])
|
||||
if test "x$COMPILE_TYPE" = xreduced; then
|
||||
AC_MSG_NOTICE([You are doing a reduced build. Check that you have 32-bit libraries installed.])
|
||||
HELP_MSG_MISSING_DEPENDENCY([reduced])
|
||||
AC_MSG_NOTICE([You are doing a reduced build. Check that you have 32-bit libraries installed. $HELP_MSG])
|
||||
elif test "x$COMPILE_TYPE" = xcross; then
|
||||
AC_MSG_NOTICE([You are doing a cross-compilation. Check that you have all target platform libraries installed.])
|
||||
fi
|
||||
@ -509,7 +510,7 @@ AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_TARGET_BITS],
|
||||
# This situation may happen on 64-bit platforms where the compiler by default only generates 32-bit objects
|
||||
# Let's try to implicitely set the compilers target architecture and retry the test
|
||||
AC_MSG_NOTICE([The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS).])
|
||||
AC_MSG_NOTICE([I'll retry after setting the platforms compiler target bits flag to ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}])
|
||||
AC_MSG_NOTICE([Retrying with platforms compiler target bits flag to ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}])
|
||||
PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS
|
||||
|
||||
# We have to unset 'ac_cv_sizeof_int_p' first, otherwise AC_CHECK_SIZEOF will use the previously cached value!
|
||||
@ -524,7 +525,14 @@ _ACEOF
|
||||
TESTED_TARGET_CPU_BITS=`expr 8 \* $ac_cv_sizeof_int_p`
|
||||
|
||||
if test "x$TESTED_TARGET_CPU_BITS" != "x$OPENJDK_TARGET_CPU_BITS"; then
|
||||
AC_MSG_ERROR([The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)])
|
||||
AC_MSG_NOTICE([The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)])
|
||||
if test "x$COMPILE_TYPE" = xreduced; then
|
||||
HELP_MSG_MISSING_DEPENDENCY([reduced])
|
||||
AC_MSG_NOTICE([You are doing a reduced build. Check that you have 32-bit libraries installed. $HELP_MSG])
|
||||
elif test "x$COMPILE_TYPE" = xcross; then
|
||||
AC_MSG_NOTICE([You are doing a cross-compilation. Check that you have all target platform libraries installed.])
|
||||
fi
|
||||
AC_MSG_ERROR([Cannot continue.])
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
@ -367,6 +367,8 @@ LDFLAGS_TESTEXE_SUFFIX:=@LDFLAGS_TESTEXE_SUFFIX@
|
||||
# build platform.
|
||||
BUILD_CC:=@FIXPATH@ @BUILD_CC@
|
||||
BUILD_LD:=@FIXPATH@ @BUILD_LD@
|
||||
BUILD_SYSROOT_CFLAGS:=@BUILD_SYSROOT_CFLAGS@
|
||||
BUILD_SYSROOT_LDFLAGS:=@BUILD_SYSROOT_LDFLAGS@
|
||||
|
||||
AS:=@FIXPATH@ @AS@
|
||||
|
||||
@ -421,7 +423,7 @@ STATIC_LIBRARY_SUFFIX:=@STATIC_LIBRARY_SUFFIX@
|
||||
EXE_SUFFIX:=@EXE_SUFFIX@
|
||||
OBJ_SUFFIX:=@OBJ_SUFFIX@
|
||||
|
||||
POST_STRIP_CMD:=@POST_STRIP_CMD@
|
||||
STRIPFLAGS:=@STRIPFLAGS@
|
||||
|
||||
JAVA_FLAGS:=@JAVA_FLAGS@
|
||||
JAVA_FLAGS_BIG:=@JAVA_FLAGS_BIG@
|
||||
@ -461,9 +463,6 @@ INTERIM_LANGTOOLS_ARGS = "-Xbootclasspath/p:$(INTERIM_LANGTOOLS_JAR)" -cp $(INTE
|
||||
NEW_JAVAC = $(INTERIM_LANGTOOLS_ARGS) com.sun.tools.javac.Main
|
||||
NEW_JAVADOC = $(INTERIM_LANGTOOLS_ARGS) com.sun.tools.javadoc.Main
|
||||
|
||||
# The interim corba jar is needed for running rmic
|
||||
INTERIM_CORBA_JAR = $(BUILDTOOLS_OUTPUTDIR)/interim_corba.jar
|
||||
|
||||
# Base flags for RC
|
||||
# Guarding this against resetting value. Legacy make files include spec multiple
|
||||
# times.
|
||||
|
@ -656,17 +656,23 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_BUILD_COMPILERS],
|
||||
BASIC_FIXUP_EXECUTABLE(BUILD_CXX)
|
||||
BASIC_PATH_PROGS(BUILD_LD, ld)
|
||||
BASIC_FIXUP_EXECUTABLE(BUILD_LD)
|
||||
BUILD_SYSROOT_CFLAGS=""
|
||||
BUILD_SYSROOT_LDFLAGS=""
|
||||
else
|
||||
# If we are not cross compiling, use the normal target compilers for
|
||||
# building the build platform executables.
|
||||
BUILD_CC="$CC"
|
||||
BUILD_CXX="$CXX"
|
||||
BUILD_LD="$LD"
|
||||
BUILD_SYSROOT_CFLAGS="$SYSROOT_CFLAGS"
|
||||
BUILD_SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS"
|
||||
fi
|
||||
|
||||
AC_SUBST(BUILD_CC)
|
||||
AC_SUBST(BUILD_CXX)
|
||||
AC_SUBST(BUILD_LD)
|
||||
AC_SUBST(BUILD_SYSROOT_CFLAGS)
|
||||
AC_SUBST(BUILD_SYSROOT_LDFLAGS)
|
||||
])
|
||||
|
||||
# Setup legacy variables that are still needed as alternative ways to refer to
|
||||
|
@ -326,3 +326,4 @@ d8126bc88fa5cd1ae4e44d86a4b1280ca1c9e2aa jdk9-b76
|
||||
45c35b7f5b40d5af0085e4a7b3a4d6e3e0347c35 jdk9-b81
|
||||
c20d8ebddaa6fb09cc81d3edf3d1d05f4232700a jdk9-b82
|
||||
ca8a1719588424f6e04e943790c7fcb7cb0b8c8f jdk9-b83
|
||||
df70bb200356fec686681f0295c50cc3ed43c3b3 jdk9-b84
|
||||
|
@ -1,55 +0,0 @@
|
||||
#
|
||||
# Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation. Oracle designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Oracle in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
|
||||
# This must be the first rule
|
||||
default: all
|
||||
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
include JavaCompilation.gmk
|
||||
include SetupJavaCompilers.gmk
|
||||
|
||||
################################################################################
|
||||
|
||||
$(eval $(call SetupJavaCompilation,BUILD_INTERIM_CORBA, \
|
||||
SETUP := GENERATE_OLDBYTECODE, \
|
||||
SRC := $(JDK_TOPDIR)/src/jdk.rmic/share/classes \
|
||||
$(CORBA_TOPDIR)/src/java.corba/share/classes \
|
||||
$(CORBA_TOPDIR)/src/jdk.rmic/share/classes \
|
||||
$(SUPPORT_OUTPUTDIR)/gensrc/java.corba, \
|
||||
EXCLUDES := com/sun/corba/se/PortableActivationIDL, \
|
||||
EXCLUDE_FILES := com/sun/corba/se/impl/presentation/rmi/JNDIStateFactoryImpl.java \
|
||||
com/sun/corba/se/spi/presentation/rmi/StubWrapper.java \
|
||||
org/omg/PortableInterceptor/UNKNOWN.java \
|
||||
com/sun/tools/corba/se/idl/ResourceBundleUtil.java \
|
||||
com/sun/corba/se/impl/presentation/rmi/jndi.properties, \
|
||||
COPY := .prp, \
|
||||
CLEAN := .properties, \
|
||||
BIN := $(BUILDTOOLS_OUTPUTDIR)/corba_interim_classes, \
|
||||
JAR := $(INTERIM_CORBA_JAR)))
|
||||
|
||||
################################################################################
|
||||
|
||||
all: $(BUILD_INTERIM_CORBA)
|
@ -89,6 +89,9 @@ import com.sun.corba.se.impl.logging.OMGSystemException ;
|
||||
|
||||
import com.sun.corba.se.impl.presentation.rmi.PresentationManagerImpl ;
|
||||
|
||||
import jdk.internal.misc.JavaAWTAccess;
|
||||
import jdk.internal.misc.SharedSecrets;
|
||||
|
||||
public abstract class ORB extends com.sun.corba.se.org.omg.CORBA.ORB
|
||||
implements Broker, TypeCodeFactory
|
||||
{
|
||||
@ -202,7 +205,7 @@ public abstract class ORB extends com.sun.corba.se.org.omg.CORBA.ORB
|
||||
public static PresentationManager getPresentationManager()
|
||||
{
|
||||
SecurityManager sm = System.getSecurityManager();
|
||||
sun.misc.JavaAWTAccess javaAwtAccess = sun.misc.SharedSecrets.getJavaAWTAccess();
|
||||
JavaAWTAccess javaAwtAccess = SharedSecrets.getJavaAWTAccess();
|
||||
if (sm != null && javaAwtAccess != null) {
|
||||
final Object appletContext = javaAwtAccess.getAppletContext();
|
||||
if (appletContext != null) {
|
||||
|
@ -486,3 +486,4 @@ e9e63d93bbfe2c6c23447e2c1f5cc71c98671cba jdk9-b79
|
||||
4142c190cd5ca4fb70ec367b4f97ef936272d8ef jdk9-b81
|
||||
1c453a12be3036d482abef1dd470f8aff536b6b9 jdk9-b82
|
||||
3ed0df2c553a80e0e26b91a6ce08806ea17a066a jdk9-b83
|
||||
184c4328444974edd6b3b490b9d0177ace7e331c jdk9-b84
|
||||
|
@ -26,169 +26,6 @@
|
||||
|
||||
SUNWprivate_1.1 {
|
||||
global:
|
||||
# JNI
|
||||
JNI_CreateJavaVM;
|
||||
JNI_GetCreatedJavaVMs;
|
||||
JNI_GetDefaultJavaVMInitArgs;
|
||||
|
||||
# JVM
|
||||
JVM_ActiveProcessorCount;
|
||||
JVM_ArrayCopy;
|
||||
JVM_AssertionStatusDirectives;
|
||||
JVM_ClassDepth;
|
||||
JVM_ClassLoaderDepth;
|
||||
JVM_Clone;
|
||||
JVM_ConstantPoolGetClassAt;
|
||||
JVM_ConstantPoolGetClassAtIfLoaded;
|
||||
JVM_ConstantPoolGetDoubleAt;
|
||||
JVM_ConstantPoolGetFieldAt;
|
||||
JVM_ConstantPoolGetFieldAtIfLoaded;
|
||||
JVM_ConstantPoolGetFloatAt;
|
||||
JVM_ConstantPoolGetIntAt;
|
||||
JVM_ConstantPoolGetLongAt;
|
||||
JVM_ConstantPoolGetMethodAt;
|
||||
JVM_ConstantPoolGetMethodAtIfLoaded;
|
||||
JVM_ConstantPoolGetMemberRefInfoAt;
|
||||
JVM_ConstantPoolGetSize;
|
||||
JVM_ConstantPoolGetStringAt;
|
||||
JVM_ConstantPoolGetUTF8At;
|
||||
JVM_CountStackFrames;
|
||||
JVM_CurrentClassLoader;
|
||||
JVM_CurrentLoadedClass;
|
||||
JVM_CurrentThread;
|
||||
JVM_CurrentTimeMillis;
|
||||
JVM_DefineClass;
|
||||
JVM_DefineClassWithSource;
|
||||
JVM_DefineClassWithSourceCond;
|
||||
JVM_DesiredAssertionStatus;
|
||||
JVM_DoPrivileged;
|
||||
JVM_DumpAllStacks;
|
||||
JVM_DumpThreads;
|
||||
JVM_FillInStackTrace;
|
||||
JVM_FindClassFromCaller;
|
||||
JVM_FindClassFromClass;
|
||||
JVM_FindClassFromBootLoader;
|
||||
JVM_FindLibraryEntry;
|
||||
JVM_FindLoadedClass;
|
||||
JVM_FindPrimitiveClass;
|
||||
JVM_FindSignal;
|
||||
JVM_FreeMemory;
|
||||
JVM_GC;
|
||||
JVM_GetAllThreads;
|
||||
JVM_GetArrayElement;
|
||||
JVM_GetArrayLength;
|
||||
JVM_GetCPClassNameUTF;
|
||||
JVM_GetCPFieldClassNameUTF;
|
||||
JVM_GetCPFieldModifiers;
|
||||
JVM_GetCPFieldNameUTF;
|
||||
JVM_GetCPFieldSignatureUTF;
|
||||
JVM_GetCPMethodClassNameUTF;
|
||||
JVM_GetCPMethodModifiers;
|
||||
JVM_GetCPMethodNameUTF;
|
||||
JVM_GetCPMethodSignatureUTF;
|
||||
JVM_GetCallerClass;
|
||||
JVM_GetClassAccessFlags;
|
||||
JVM_GetClassAnnotations;
|
||||
JVM_GetClassCPEntriesCount;
|
||||
JVM_GetClassCPTypes;
|
||||
JVM_GetClassConstantPool;
|
||||
JVM_GetClassContext;
|
||||
JVM_GetClassDeclaredConstructors;
|
||||
JVM_GetClassDeclaredFields;
|
||||
JVM_GetClassDeclaredMethods;
|
||||
JVM_GetClassFieldsCount;
|
||||
JVM_GetClassInterfaces;
|
||||
JVM_GetClassMethodsCount;
|
||||
JVM_GetClassModifiers;
|
||||
JVM_GetClassName;
|
||||
JVM_GetClassNameUTF;
|
||||
JVM_GetClassSignature;
|
||||
JVM_GetClassSigners;
|
||||
JVM_GetClassTypeAnnotations;
|
||||
JVM_GetDeclaredClasses;
|
||||
JVM_GetDeclaringClass;
|
||||
JVM_GetSimpleBinaryName;
|
||||
JVM_GetEnclosingMethodInfo;
|
||||
JVM_GetFieldIxModifiers;
|
||||
JVM_GetFieldTypeAnnotations;
|
||||
JVM_GetInheritedAccessControlContext;
|
||||
JVM_GetInterfaceVersion;
|
||||
JVM_GetManagement;
|
||||
JVM_GetMethodIxArgsSize;
|
||||
JVM_GetMethodIxByteCode;
|
||||
JVM_GetMethodIxByteCodeLength;
|
||||
JVM_GetMethodIxExceptionIndexes;
|
||||
JVM_GetMethodIxExceptionTableEntry;
|
||||
JVM_GetMethodIxExceptionTableLength;
|
||||
JVM_GetMethodIxExceptionsCount;
|
||||
JVM_GetMethodIxLocalsCount;
|
||||
JVM_GetMethodIxMaxStack;
|
||||
JVM_GetMethodIxModifiers;
|
||||
JVM_GetMethodIxNameUTF;
|
||||
JVM_GetMethodIxSignatureUTF;
|
||||
JVM_GetMethodParameters;
|
||||
JVM_GetMethodTypeAnnotations;
|
||||
JVM_GetNanoTimeAdjustment;
|
||||
JVM_GetPrimitiveArrayElement;
|
||||
JVM_GetProtectionDomain;
|
||||
JVM_GetStackAccessControlContext;
|
||||
JVM_GetStackTraceDepth;
|
||||
JVM_GetStackTraceElement;
|
||||
JVM_GetSystemPackage;
|
||||
JVM_GetSystemPackages;
|
||||
JVM_GetTemporaryDirectory;
|
||||
JVM_GetVersionInfo;
|
||||
JVM_Halt;
|
||||
JVM_HoldsLock;
|
||||
JVM_IHashCode;
|
||||
JVM_InitAgentProperties;
|
||||
JVM_InitProperties;
|
||||
JVM_InternString;
|
||||
JVM_Interrupt;
|
||||
JVM_InvokeMethod;
|
||||
JVM_IsArrayClass;
|
||||
JVM_IsConstructorIx;
|
||||
JVM_IsInterface;
|
||||
JVM_IsInterrupted;
|
||||
JVM_IsPrimitiveClass;
|
||||
JVM_IsSameClassPackage;
|
||||
JVM_IsSupportedJNIVersion;
|
||||
JVM_IsThreadAlive;
|
||||
JVM_IsVMGeneratedMethodIx;
|
||||
JVM_LatestUserDefinedLoader;
|
||||
JVM_LoadLibrary;
|
||||
JVM_MaxObjectInspectionAge;
|
||||
JVM_MaxMemory;
|
||||
JVM_MonitorNotify;
|
||||
JVM_MonitorNotifyAll;
|
||||
JVM_MonitorWait;
|
||||
JVM_NanoTime;
|
||||
JVM_NativePath;
|
||||
JVM_NewArray;
|
||||
JVM_NewInstanceFromConstructor;
|
||||
JVM_NewMultiArray;
|
||||
JVM_RaiseSignal;
|
||||
JVM_RawMonitorCreate;
|
||||
JVM_RawMonitorDestroy;
|
||||
JVM_RawMonitorEnter;
|
||||
JVM_RawMonitorExit;
|
||||
JVM_RegisterSignal;
|
||||
JVM_ReleaseUTF;
|
||||
JVM_ResumeThread;
|
||||
JVM_SetArrayElement;
|
||||
JVM_SetClassSigners;
|
||||
JVM_SetNativeThreadName;
|
||||
JVM_SetPrimitiveArrayElement;
|
||||
JVM_SetProtectionDomain;
|
||||
JVM_SetThreadPriority;
|
||||
JVM_Sleep;
|
||||
JVM_StartThread;
|
||||
JVM_StopThread;
|
||||
JVM_SuspendThread;
|
||||
JVM_SupportsCX8;
|
||||
JVM_TotalMemory;
|
||||
JVM_UnloadLibrary;
|
||||
JVM_Yield;
|
||||
JVM_handle_linux_signal;
|
||||
|
||||
# debug JVM
|
||||
|
@ -26,167 +26,6 @@
|
||||
|
||||
SUNWprivate_1.1 {
|
||||
global:
|
||||
# JNI
|
||||
JNI_CreateJavaVM;
|
||||
JNI_GetCreatedJavaVMs;
|
||||
JNI_GetDefaultJavaVMInitArgs;
|
||||
|
||||
# JVM
|
||||
JVM_ActiveProcessorCount;
|
||||
JVM_ArrayCopy;
|
||||
JVM_AssertionStatusDirectives;
|
||||
JVM_ClassDepth;
|
||||
JVM_ClassLoaderDepth;
|
||||
JVM_Clone;
|
||||
JVM_ConstantPoolGetClassAt;
|
||||
JVM_ConstantPoolGetClassAtIfLoaded;
|
||||
JVM_ConstantPoolGetDoubleAt;
|
||||
JVM_ConstantPoolGetFieldAt;
|
||||
JVM_ConstantPoolGetFieldAtIfLoaded;
|
||||
JVM_ConstantPoolGetFloatAt;
|
||||
JVM_ConstantPoolGetIntAt;
|
||||
JVM_ConstantPoolGetLongAt;
|
||||
JVM_ConstantPoolGetMethodAt;
|
||||
JVM_ConstantPoolGetMethodAtIfLoaded;
|
||||
JVM_ConstantPoolGetMemberRefInfoAt;
|
||||
JVM_ConstantPoolGetSize;
|
||||
JVM_ConstantPoolGetStringAt;
|
||||
JVM_ConstantPoolGetUTF8At;
|
||||
JVM_CountStackFrames;
|
||||
JVM_CurrentClassLoader;
|
||||
JVM_CurrentLoadedClass;
|
||||
JVM_CurrentThread;
|
||||
JVM_CurrentTimeMillis;
|
||||
JVM_DefineClass;
|
||||
JVM_DefineClassWithSource;
|
||||
JVM_DefineClassWithSourceCond;
|
||||
JVM_DesiredAssertionStatus;
|
||||
JVM_DoPrivileged;
|
||||
JVM_DumpAllStacks;
|
||||
JVM_DumpThreads;
|
||||
JVM_FillInStackTrace;
|
||||
JVM_FindClassFromCaller;
|
||||
JVM_FindClassFromClass;
|
||||
JVM_FindClassFromBootLoader;
|
||||
JVM_FindLibraryEntry;
|
||||
JVM_FindLoadedClass;
|
||||
JVM_FindPrimitiveClass;
|
||||
JVM_FindSignal;
|
||||
JVM_FreeMemory;
|
||||
JVM_GC;
|
||||
JVM_GetAllThreads;
|
||||
JVM_GetArrayElement;
|
||||
JVM_GetArrayLength;
|
||||
JVM_GetCPClassNameUTF;
|
||||
JVM_GetCPFieldClassNameUTF;
|
||||
JVM_GetCPFieldModifiers;
|
||||
JVM_GetCPFieldNameUTF;
|
||||
JVM_GetCPFieldSignatureUTF;
|
||||
JVM_GetCPMethodClassNameUTF;
|
||||
JVM_GetCPMethodModifiers;
|
||||
JVM_GetCPMethodNameUTF;
|
||||
JVM_GetCPMethodSignatureUTF;
|
||||
JVM_GetCallerClass;
|
||||
JVM_GetClassAccessFlags;
|
||||
JVM_GetClassAnnotations;
|
||||
JVM_GetClassCPEntriesCount;
|
||||
JVM_GetClassCPTypes;
|
||||
JVM_GetClassConstantPool;
|
||||
JVM_GetClassContext;
|
||||
JVM_GetClassDeclaredConstructors;
|
||||
JVM_GetClassDeclaredFields;
|
||||
JVM_GetClassDeclaredMethods;
|
||||
JVM_GetClassFieldsCount;
|
||||
JVM_GetClassInterfaces;
|
||||
JVM_GetClassMethodsCount;
|
||||
JVM_GetClassModifiers;
|
||||
JVM_GetClassName;
|
||||
JVM_GetClassNameUTF;
|
||||
JVM_GetClassSignature;
|
||||
JVM_GetClassSigners;
|
||||
JVM_GetClassTypeAnnotations;
|
||||
JVM_GetDeclaredClasses;
|
||||
JVM_GetDeclaringClass;
|
||||
JVM_GetSimpleBinaryName;
|
||||
JVM_GetEnclosingMethodInfo;
|
||||
JVM_GetFieldIxModifiers;
|
||||
JVM_GetInheritedAccessControlContext;
|
||||
JVM_GetInterfaceVersion;
|
||||
JVM_GetManagement;
|
||||
JVM_GetMethodIxArgsSize;
|
||||
JVM_GetMethodIxByteCode;
|
||||
JVM_GetMethodIxByteCodeLength;
|
||||
JVM_GetMethodIxExceptionIndexes;
|
||||
JVM_GetMethodIxExceptionTableEntry;
|
||||
JVM_GetMethodIxExceptionTableLength;
|
||||
JVM_GetMethodIxExceptionsCount;
|
||||
JVM_GetMethodIxLocalsCount;
|
||||
JVM_GetMethodIxMaxStack;
|
||||
JVM_GetMethodIxModifiers;
|
||||
JVM_GetMethodIxNameUTF;
|
||||
JVM_GetMethodIxSignatureUTF;
|
||||
JVM_GetMethodParameters;
|
||||
JVM_GetNanoTimeAdjustment;
|
||||
JVM_GetPrimitiveArrayElement;
|
||||
JVM_GetProtectionDomain;
|
||||
JVM_GetStackAccessControlContext;
|
||||
JVM_GetStackTraceDepth;
|
||||
JVM_GetStackTraceElement;
|
||||
JVM_GetSystemPackage;
|
||||
JVM_GetSystemPackages;
|
||||
JVM_GetTemporaryDirectory;
|
||||
JVM_GetVersionInfo;
|
||||
JVM_Halt;
|
||||
JVM_HoldsLock;
|
||||
JVM_IHashCode;
|
||||
JVM_InitAgentProperties;
|
||||
JVM_InitProperties;
|
||||
JVM_InternString;
|
||||
JVM_Interrupt;
|
||||
JVM_InvokeMethod;
|
||||
JVM_IsArrayClass;
|
||||
JVM_IsConstructorIx;
|
||||
JVM_IsInterface;
|
||||
JVM_IsInterrupted;
|
||||
JVM_IsPrimitiveClass;
|
||||
JVM_IsSameClassPackage;
|
||||
JVM_IsSupportedJNIVersion;
|
||||
JVM_IsThreadAlive;
|
||||
JVM_IsVMGeneratedMethodIx;
|
||||
JVM_LatestUserDefinedLoader;
|
||||
JVM_LoadLibrary;
|
||||
JVM_MaxObjectInspectionAge;
|
||||
JVM_MaxMemory;
|
||||
JVM_MonitorNotify;
|
||||
JVM_MonitorNotifyAll;
|
||||
JVM_MonitorWait;
|
||||
JVM_NanoTime;
|
||||
JVM_NativePath;
|
||||
JVM_NewArray;
|
||||
JVM_NewInstanceFromConstructor;
|
||||
JVM_NewMultiArray;
|
||||
JVM_RaiseSignal;
|
||||
JVM_RawMonitorCreate;
|
||||
JVM_RawMonitorDestroy;
|
||||
JVM_RawMonitorEnter;
|
||||
JVM_RawMonitorExit;
|
||||
JVM_RegisterSignal;
|
||||
JVM_ReleaseUTF;
|
||||
JVM_ResumeThread;
|
||||
JVM_SetArrayElement;
|
||||
JVM_SetClassSigners;
|
||||
JVM_SetNativeThreadName;
|
||||
JVM_SetPrimitiveArrayElement;
|
||||
JVM_SetProtectionDomain;
|
||||
JVM_SetThreadPriority;
|
||||
JVM_Sleep;
|
||||
JVM_StartThread;
|
||||
JVM_StopThread;
|
||||
JVM_SuspendThread;
|
||||
JVM_SupportsCX8;
|
||||
JVM_TotalMemory;
|
||||
JVM_UnloadLibrary;
|
||||
JVM_Yield;
|
||||
JVM_handle_linux_signal;
|
||||
|
||||
# miscellaneous functions
|
||||
|
@ -220,10 +220,12 @@ JVM_OBJ_FILES = $(Obj_Files)
|
||||
|
||||
vm_version.o: $(filter-out vm_version.o,$(JVM_OBJ_FILES))
|
||||
|
||||
mapfile : $(MAPFILE) vm.def
|
||||
MAPFILE_SHARE := $(GAMMADIR)/make/share/makefiles/mapfile-vers
|
||||
|
||||
mapfile : $(MAPFILE) $(MAPFILE_SHARE) vm.def
|
||||
rm -f $@
|
||||
awk '{ if ($$0 ~ "INSERT VTABLE SYMBOLS HERE") \
|
||||
{ system ("cat vm.def"); } \
|
||||
{ system ("cat ${MAPFILE_SHARE} vm.def"); } \
|
||||
else \
|
||||
{ print $$0 } \
|
||||
}' > $@ < $(MAPFILE)
|
||||
|
@ -24,171 +24,9 @@
|
||||
# Only used for OSX/Darwin builds
|
||||
|
||||
# Define public interface.
|
||||
# _JNI
|
||||
_JNI_CreateJavaVM
|
||||
_JNI_GetCreatedJavaVMs
|
||||
_JNI_GetDefaultJavaVMInitArgs
|
||||
|
||||
# _JVM
|
||||
_JVM_ActiveProcessorCount
|
||||
_JVM_ArrayCopy
|
||||
_JVM_AssertionStatusDirectives
|
||||
_JVM_ClassDepth
|
||||
_JVM_ClassLoaderDepth
|
||||
_JVM_Clone
|
||||
_JVM_ConstantPoolGetClassAt
|
||||
_JVM_ConstantPoolGetClassAtIfLoaded
|
||||
_JVM_ConstantPoolGetDoubleAt
|
||||
_JVM_ConstantPoolGetFieldAt
|
||||
_JVM_ConstantPoolGetFieldAtIfLoaded
|
||||
_JVM_ConstantPoolGetFloatAt
|
||||
_JVM_ConstantPoolGetIntAt
|
||||
_JVM_ConstantPoolGetLongAt
|
||||
_JVM_ConstantPoolGetMethodAt
|
||||
_JVM_ConstantPoolGetMethodAtIfLoaded
|
||||
_JVM_ConstantPoolGetMemberRefInfoAt
|
||||
_JVM_ConstantPoolGetSize
|
||||
_JVM_ConstantPoolGetStringAt
|
||||
_JVM_ConstantPoolGetUTF8At
|
||||
_JVM_CountStackFrames
|
||||
_JVM_CurrentClassLoader
|
||||
_JVM_CurrentLoadedClass
|
||||
_JVM_CurrentThread
|
||||
_JVM_CurrentTimeMillis
|
||||
_JVM_DefineClass
|
||||
_JVM_DefineClassWithSource
|
||||
_JVM_DefineClassWithSourceCond
|
||||
_JVM_DesiredAssertionStatus
|
||||
_JVM_DoPrivileged
|
||||
_JVM_DumpAllStacks
|
||||
_JVM_DumpThreads
|
||||
_JVM_FillInStackTrace
|
||||
_JVM_FindClassFromCaller
|
||||
_JVM_FindClassFromClass
|
||||
_JVM_FindClassFromBootLoader
|
||||
_JVM_FindLibraryEntry
|
||||
_JVM_FindLoadedClass
|
||||
_JVM_FindPrimitiveClass
|
||||
_JVM_FindSignal
|
||||
_JVM_FreeMemory
|
||||
_JVM_GC
|
||||
_JVM_GetAllThreads
|
||||
_JVM_GetArrayElement
|
||||
_JVM_GetArrayLength
|
||||
_JVM_GetCPClassNameUTF
|
||||
_JVM_GetCPFieldClassNameUTF
|
||||
_JVM_GetCPFieldModifiers
|
||||
_JVM_GetCPFieldNameUTF
|
||||
_JVM_GetCPFieldSignatureUTF
|
||||
_JVM_GetCPMethodClassNameUTF
|
||||
_JVM_GetCPMethodModifiers
|
||||
_JVM_GetCPMethodNameUTF
|
||||
_JVM_GetCPMethodSignatureUTF
|
||||
_JVM_GetCallerClass
|
||||
_JVM_GetClassAccessFlags
|
||||
_JVM_GetClassAnnotations
|
||||
_JVM_GetClassCPEntriesCount
|
||||
_JVM_GetClassCPTypes
|
||||
_JVM_GetClassConstantPool
|
||||
_JVM_GetClassContext
|
||||
_JVM_GetClassDeclaredConstructors
|
||||
_JVM_GetClassDeclaredFields
|
||||
_JVM_GetClassDeclaredMethods
|
||||
_JVM_GetClassFieldsCount
|
||||
_JVM_GetClassInterfaces
|
||||
_JVM_GetClassMethodsCount
|
||||
_JVM_GetClassModifiers
|
||||
_JVM_GetClassName
|
||||
_JVM_GetClassNameUTF
|
||||
_JVM_GetClassSignature
|
||||
_JVM_GetClassSigners
|
||||
_JVM_GetClassTypeAnnotations
|
||||
_JVM_GetDeclaredClasses
|
||||
_JVM_GetDeclaringClass
|
||||
_JVM_GetSimpleBinaryName
|
||||
_JVM_GetEnclosingMethodInfo
|
||||
_JVM_GetFieldIxModifiers
|
||||
_JVM_GetFieldTypeAnnotations
|
||||
_JVM_GetInheritedAccessControlContext
|
||||
_JVM_GetInterfaceVersion
|
||||
_JVM_GetManagement
|
||||
_JVM_GetMethodIxArgsSize
|
||||
_JVM_GetMethodIxByteCode
|
||||
_JVM_GetMethodIxByteCodeLength
|
||||
_JVM_GetMethodIxExceptionIndexes
|
||||
_JVM_GetMethodIxExceptionTableEntry
|
||||
_JVM_GetMethodIxExceptionTableLength
|
||||
_JVM_GetMethodIxExceptionsCount
|
||||
_JVM_GetMethodIxLocalsCount
|
||||
_JVM_GetMethodIxMaxStack
|
||||
_JVM_GetMethodIxModifiers
|
||||
_JVM_GetMethodIxNameUTF
|
||||
_JVM_GetMethodIxSignatureUTF
|
||||
_JVM_GetMethodParameters
|
||||
_JVM_GetMethodTypeAnnotations
|
||||
_JVM_GetNanoTimeAdjustment
|
||||
_JVM_GetPrimitiveArrayElement
|
||||
_JVM_GetProtectionDomain
|
||||
_JVM_GetStackAccessControlContext
|
||||
_JVM_GetStackTraceDepth
|
||||
_JVM_GetStackTraceElement
|
||||
_JVM_GetSystemPackage
|
||||
_JVM_GetSystemPackages
|
||||
_JVM_GetTemporaryDirectory
|
||||
_JVM_GetVersionInfo
|
||||
_JVM_Halt
|
||||
_JVM_HoldsLock
|
||||
_JVM_IHashCode
|
||||
_JVM_InitAgentProperties
|
||||
_JVM_InitProperties
|
||||
_JVM_InternString
|
||||
_JVM_Interrupt
|
||||
_JVM_InvokeMethod
|
||||
_JVM_IsArrayClass
|
||||
_JVM_IsConstructorIx
|
||||
_JVM_IsInterface
|
||||
_JVM_IsInterrupted
|
||||
_JVM_IsPrimitiveClass
|
||||
_JVM_IsSameClassPackage
|
||||
_JVM_IsSupportedJNIVersion
|
||||
_JVM_IsThreadAlive
|
||||
_JVM_IsVMGeneratedMethodIx
|
||||
_JVM_LatestUserDefinedLoader
|
||||
_JVM_LoadLibrary
|
||||
_JVM_MaxObjectInspectionAge
|
||||
_JVM_MaxMemory
|
||||
_JVM_MonitorNotify
|
||||
_JVM_MonitorNotifyAll
|
||||
_JVM_MonitorWait
|
||||
_JVM_NanoTime
|
||||
_JVM_NativePath
|
||||
_JVM_NewArray
|
||||
_JVM_NewInstanceFromConstructor
|
||||
_JVM_NewMultiArray
|
||||
_JVM_RaiseSignal
|
||||
_JVM_RawMonitorCreate
|
||||
_JVM_RawMonitorDestroy
|
||||
_JVM_RawMonitorEnter
|
||||
_JVM_RawMonitorExit
|
||||
_JVM_RegisterSignal
|
||||
_JVM_ReleaseUTF
|
||||
_JVM_ResumeThread
|
||||
_JVM_SetArrayElement
|
||||
_JVM_SetClassSigners
|
||||
_JVM_SetNativeThreadName
|
||||
_JVM_SetPrimitiveArrayElement
|
||||
_JVM_SetThreadPriority
|
||||
_JVM_Sleep
|
||||
_JVM_StartThread
|
||||
_JVM_StopThread
|
||||
_JVM_SuspendThread
|
||||
_JVM_SupportsCX8
|
||||
_JVM_TotalMemory
|
||||
_JVM_UnloadLibrary
|
||||
_JVM_Yield
|
||||
_JVM_handle_bsd_signal
|
||||
|
||||
# miscellaneous functions
|
||||
# miscellaneous functions
|
||||
_jio_fprintf
|
||||
_jio_printf
|
||||
_jio_snprintf
|
||||
|
@ -24,168 +24,6 @@
|
||||
# Only used for OSX/Darwin builds
|
||||
|
||||
# Define public interface.
|
||||
# _JNI
|
||||
_JNI_CreateJavaVM
|
||||
_JNI_GetCreatedJavaVMs
|
||||
_JNI_GetDefaultJavaVMInitArgs
|
||||
|
||||
# _JVM
|
||||
_JVM_ActiveProcessorCount
|
||||
_JVM_ArrayCopy
|
||||
_JVM_AssertionStatusDirectives
|
||||
_JVM_ClassDepth
|
||||
_JVM_ClassLoaderDepth
|
||||
_JVM_Clone
|
||||
_JVM_ConstantPoolGetClassAt
|
||||
_JVM_ConstantPoolGetClassAtIfLoaded
|
||||
_JVM_ConstantPoolGetDoubleAt
|
||||
_JVM_ConstantPoolGetFieldAt
|
||||
_JVM_ConstantPoolGetFieldAtIfLoaded
|
||||
_JVM_ConstantPoolGetFloatAt
|
||||
_JVM_ConstantPoolGetIntAt
|
||||
_JVM_ConstantPoolGetLongAt
|
||||
_JVM_ConstantPoolGetMethodAt
|
||||
_JVM_ConstantPoolGetMethodAtIfLoaded
|
||||
_JVM_ConstantPoolGetMemberRefInfoAt
|
||||
_JVM_ConstantPoolGetSize
|
||||
_JVM_ConstantPoolGetStringAt
|
||||
_JVM_ConstantPoolGetUTF8At
|
||||
_JVM_CountStackFrames
|
||||
_JVM_CurrentClassLoader
|
||||
_JVM_CurrentLoadedClass
|
||||
_JVM_CurrentThread
|
||||
_JVM_CurrentTimeMillis
|
||||
_JVM_DefineClass
|
||||
_JVM_DefineClassWithSource
|
||||
_JVM_DefineClassWithSourceCond
|
||||
_JVM_DesiredAssertionStatus
|
||||
_JVM_DoPrivileged
|
||||
_JVM_DumpAllStacks
|
||||
_JVM_DumpThreads
|
||||
_JVM_FillInStackTrace
|
||||
_JVM_FindClassFromCaller
|
||||
_JVM_FindClassFromClass
|
||||
_JVM_FindClassFromBootLoader
|
||||
_JVM_FindLibraryEntry
|
||||
_JVM_FindLoadedClass
|
||||
_JVM_FindPrimitiveClass
|
||||
_JVM_FindSignal
|
||||
_JVM_FreeMemory
|
||||
_JVM_GC
|
||||
_JVM_GetAllThreads
|
||||
_JVM_GetArrayElement
|
||||
_JVM_GetArrayLength
|
||||
_JVM_GetCPClassNameUTF
|
||||
_JVM_GetCPFieldClassNameUTF
|
||||
_JVM_GetCPFieldModifiers
|
||||
_JVM_GetCPFieldNameUTF
|
||||
_JVM_GetCPFieldSignatureUTF
|
||||
_JVM_GetCPMethodClassNameUTF
|
||||
_JVM_GetCPMethodModifiers
|
||||
_JVM_GetCPMethodNameUTF
|
||||
_JVM_GetCPMethodSignatureUTF
|
||||
_JVM_GetCallerClass
|
||||
_JVM_GetClassAccessFlags
|
||||
_JVM_GetClassAnnotations
|
||||
_JVM_GetClassCPEntriesCount
|
||||
_JVM_GetClassCPTypes
|
||||
_JVM_GetClassConstantPool
|
||||
_JVM_GetClassContext
|
||||
_JVM_GetClassDeclaredConstructors
|
||||
_JVM_GetClassDeclaredFields
|
||||
_JVM_GetClassDeclaredMethods
|
||||
_JVM_GetClassFieldsCount
|
||||
_JVM_GetClassInterfaces
|
||||
_JVM_GetClassMethodsCount
|
||||
_JVM_GetClassModifiers
|
||||
_JVM_GetClassName
|
||||
_JVM_GetClassNameUTF
|
||||
_JVM_GetClassSignature
|
||||
_JVM_GetClassSigners
|
||||
_JVM_GetClassTypeAnnotations
|
||||
_JVM_GetDeclaredClasses
|
||||
_JVM_GetDeclaringClass
|
||||
_JVM_GetSimpleBinaryName
|
||||
_JVM_GetEnclosingMethodInfo
|
||||
_JVM_GetFieldIxModifiers
|
||||
_JVM_GetFieldTypeAnnotations
|
||||
_JVM_GetInheritedAccessControlContext
|
||||
_JVM_GetInterfaceVersion
|
||||
_JVM_GetManagement
|
||||
_JVM_GetMethodIxArgsSize
|
||||
_JVM_GetMethodIxByteCode
|
||||
_JVM_GetMethodIxByteCodeLength
|
||||
_JVM_GetMethodIxExceptionIndexes
|
||||
_JVM_GetMethodIxExceptionTableEntry
|
||||
_JVM_GetMethodIxExceptionTableLength
|
||||
_JVM_GetMethodIxExceptionsCount
|
||||
_JVM_GetMethodIxLocalsCount
|
||||
_JVM_GetMethodIxMaxStack
|
||||
_JVM_GetMethodIxModifiers
|
||||
_JVM_GetMethodIxNameUTF
|
||||
_JVM_GetMethodIxSignatureUTF
|
||||
_JVM_GetMethodParameters
|
||||
_JVM_GetMethodTypeAnnotations
|
||||
_JVM_GetNanoTimeAdjustment
|
||||
_JVM_GetPrimitiveArrayElement
|
||||
_JVM_GetProtectionDomain
|
||||
_JVM_GetStackAccessControlContext
|
||||
_JVM_GetStackTraceDepth
|
||||
_JVM_GetStackTraceElement
|
||||
_JVM_GetSystemPackage
|
||||
_JVM_GetSystemPackages
|
||||
_JVM_GetTemporaryDirectory
|
||||
_JVM_GetVersionInfo
|
||||
_JVM_Halt
|
||||
_JVM_HoldsLock
|
||||
_JVM_IHashCode
|
||||
_JVM_InitAgentProperties
|
||||
_JVM_InitProperties
|
||||
_JVM_InternString
|
||||
_JVM_Interrupt
|
||||
_JVM_InvokeMethod
|
||||
_JVM_IsArrayClass
|
||||
_JVM_IsConstructorIx
|
||||
_JVM_IsInterface
|
||||
_JVM_IsInterrupted
|
||||
_JVM_IsPrimitiveClass
|
||||
_JVM_IsSameClassPackage
|
||||
_JVM_IsSupportedJNIVersion
|
||||
_JVM_IsThreadAlive
|
||||
_JVM_IsVMGeneratedMethodIx
|
||||
_JVM_LatestUserDefinedLoader
|
||||
_JVM_LoadLibrary
|
||||
_JVM_MaxObjectInspectionAge
|
||||
_JVM_MaxMemory
|
||||
_JVM_MonitorNotify
|
||||
_JVM_MonitorNotifyAll
|
||||
_JVM_MonitorWait
|
||||
_JVM_NanoTime
|
||||
_JVM_NativePath
|
||||
_JVM_NewArray
|
||||
_JVM_NewInstanceFromConstructor
|
||||
_JVM_NewMultiArray
|
||||
_JVM_RaiseSignal
|
||||
_JVM_RawMonitorCreate
|
||||
_JVM_RawMonitorDestroy
|
||||
_JVM_RawMonitorEnter
|
||||
_JVM_RawMonitorExit
|
||||
_JVM_RegisterSignal
|
||||
_JVM_ReleaseUTF
|
||||
_JVM_ResumeThread
|
||||
_JVM_SetArrayElement
|
||||
_JVM_SetClassSigners
|
||||
_JVM_SetNativeThreadName
|
||||
_JVM_SetPrimitiveArrayElement
|
||||
_JVM_SetThreadPriority
|
||||
_JVM_Sleep
|
||||
_JVM_StartThread
|
||||
_JVM_StopThread
|
||||
_JVM_SuspendThread
|
||||
_JVM_SupportsCX8
|
||||
_JVM_TotalMemory
|
||||
_JVM_UnloadLibrary
|
||||
_JVM_Yield
|
||||
_JVM_handle_bsd_signal
|
||||
|
||||
# miscellaneous functions
|
||||
|
@ -26,168 +26,6 @@
|
||||
|
||||
SUNWprivate_1.1 {
|
||||
global:
|
||||
# JNI
|
||||
JNI_CreateJavaVM;
|
||||
JNI_GetCreatedJavaVMs;
|
||||
JNI_GetDefaultJavaVMInitArgs;
|
||||
|
||||
# JVM
|
||||
JVM_ActiveProcessorCount;
|
||||
JVM_ArrayCopy;
|
||||
JVM_AssertionStatusDirectives;
|
||||
JVM_ClassDepth;
|
||||
JVM_ClassLoaderDepth;
|
||||
JVM_Clone;
|
||||
JVM_ConstantPoolGetClassAt;
|
||||
JVM_ConstantPoolGetClassAtIfLoaded;
|
||||
JVM_ConstantPoolGetDoubleAt;
|
||||
JVM_ConstantPoolGetFieldAt;
|
||||
JVM_ConstantPoolGetFieldAtIfLoaded;
|
||||
JVM_ConstantPoolGetFloatAt;
|
||||
JVM_ConstantPoolGetIntAt;
|
||||
JVM_ConstantPoolGetLongAt;
|
||||
JVM_ConstantPoolGetMethodAt;
|
||||
JVM_ConstantPoolGetMethodAtIfLoaded;
|
||||
JVM_ConstantPoolGetMemberRefInfoAt;
|
||||
JVM_ConstantPoolGetSize;
|
||||
JVM_ConstantPoolGetStringAt;
|
||||
JVM_ConstantPoolGetUTF8At;
|
||||
JVM_CountStackFrames;
|
||||
JVM_CurrentClassLoader;
|
||||
JVM_CurrentLoadedClass;
|
||||
JVM_CurrentThread;
|
||||
JVM_CurrentTimeMillis;
|
||||
JVM_DefineClass;
|
||||
JVM_DefineClassWithSource;
|
||||
JVM_DefineClassWithSourceCond;
|
||||
JVM_DesiredAssertionStatus;
|
||||
JVM_DoPrivileged;
|
||||
JVM_DumpAllStacks;
|
||||
JVM_DumpThreads;
|
||||
JVM_FillInStackTrace;
|
||||
JVM_FindClassFromCaller;
|
||||
JVM_FindClassFromClass;
|
||||
JVM_FindClassFromBootLoader;
|
||||
JVM_FindLibraryEntry;
|
||||
JVM_FindLoadedClass;
|
||||
JVM_FindPrimitiveClass;
|
||||
JVM_FindSignal;
|
||||
JVM_FreeMemory;
|
||||
JVM_GC;
|
||||
JVM_GetAllThreads;
|
||||
JVM_GetArrayElement;
|
||||
JVM_GetArrayLength;
|
||||
JVM_GetCPClassNameUTF;
|
||||
JVM_GetCPFieldClassNameUTF;
|
||||
JVM_GetCPFieldModifiers;
|
||||
JVM_GetCPFieldNameUTF;
|
||||
JVM_GetCPFieldSignatureUTF;
|
||||
JVM_GetCPMethodClassNameUTF;
|
||||
JVM_GetCPMethodModifiers;
|
||||
JVM_GetCPMethodNameUTF;
|
||||
JVM_GetCPMethodSignatureUTF;
|
||||
JVM_GetCallerClass;
|
||||
JVM_GetClassAccessFlags;
|
||||
JVM_GetClassAnnotations;
|
||||
JVM_GetClassCPEntriesCount;
|
||||
JVM_GetClassCPTypes;
|
||||
JVM_GetClassConstantPool;
|
||||
JVM_GetClassContext;
|
||||
JVM_GetClassDeclaredConstructors;
|
||||
JVM_GetClassDeclaredFields;
|
||||
JVM_GetClassDeclaredMethods;
|
||||
JVM_GetClassFieldsCount;
|
||||
JVM_GetClassInterfaces;
|
||||
JVM_GetClassMethodsCount;
|
||||
JVM_GetClassModifiers;
|
||||
JVM_GetClassName;
|
||||
JVM_GetClassNameUTF;
|
||||
JVM_GetClassSignature;
|
||||
JVM_GetClassSigners;
|
||||
JVM_GetClassTypeAnnotations;
|
||||
JVM_GetDeclaredClasses;
|
||||
JVM_GetDeclaringClass;
|
||||
JVM_GetSimpleBinaryName;
|
||||
JVM_GetEnclosingMethodInfo;
|
||||
JVM_GetFieldIxModifiers;
|
||||
JVM_GetFieldTypeAnnotations;
|
||||
JVM_GetInheritedAccessControlContext;
|
||||
JVM_GetInterfaceVersion;
|
||||
JVM_GetManagement;
|
||||
JVM_GetMethodIxArgsSize;
|
||||
JVM_GetMethodIxByteCode;
|
||||
JVM_GetMethodIxByteCodeLength;
|
||||
JVM_GetMethodIxExceptionIndexes;
|
||||
JVM_GetMethodIxExceptionTableEntry;
|
||||
JVM_GetMethodIxExceptionTableLength;
|
||||
JVM_GetMethodIxExceptionsCount;
|
||||
JVM_GetMethodIxLocalsCount;
|
||||
JVM_GetMethodIxMaxStack;
|
||||
JVM_GetMethodIxModifiers;
|
||||
JVM_GetMethodIxNameUTF;
|
||||
JVM_GetMethodIxSignatureUTF;
|
||||
JVM_GetMethodParameters;
|
||||
JVM_GetMethodTypeAnnotations;
|
||||
JVM_GetNanoTimeAdjustment;
|
||||
JVM_GetPrimitiveArrayElement;
|
||||
JVM_GetProtectionDomain;
|
||||
JVM_GetStackAccessControlContext;
|
||||
JVM_GetStackTraceDepth;
|
||||
JVM_GetStackTraceElement;
|
||||
JVM_GetSystemPackage;
|
||||
JVM_GetSystemPackages;
|
||||
JVM_GetTemporaryDirectory;
|
||||
JVM_GetVersionInfo;
|
||||
JVM_Halt;
|
||||
JVM_HoldsLock;
|
||||
JVM_IHashCode;
|
||||
JVM_InitAgentProperties;
|
||||
JVM_InitProperties;
|
||||
JVM_InternString;
|
||||
JVM_Interrupt;
|
||||
JVM_InvokeMethod;
|
||||
JVM_IsArrayClass;
|
||||
JVM_IsConstructorIx;
|
||||
JVM_IsInterface;
|
||||
JVM_IsInterrupted;
|
||||
JVM_IsPrimitiveClass;
|
||||
JVM_IsSameClassPackage;
|
||||
JVM_IsSupportedJNIVersion;
|
||||
JVM_IsThreadAlive;
|
||||
JVM_IsVMGeneratedMethodIx;
|
||||
JVM_LatestUserDefinedLoader;
|
||||
JVM_LoadLibrary;
|
||||
JVM_MaxObjectInspectionAge;
|
||||
JVM_MaxMemory;
|
||||
JVM_MonitorNotify;
|
||||
JVM_MonitorNotifyAll;
|
||||
JVM_MonitorWait;
|
||||
JVM_NanoTime;
|
||||
JVM_NativePath;
|
||||
JVM_NewArray;
|
||||
JVM_NewInstanceFromConstructor;
|
||||
JVM_NewMultiArray;
|
||||
JVM_RaiseSignal;
|
||||
JVM_RawMonitorCreate;
|
||||
JVM_RawMonitorDestroy;
|
||||
JVM_RawMonitorEnter;
|
||||
JVM_RawMonitorExit;
|
||||
JVM_RegisterSignal;
|
||||
JVM_ReleaseUTF;
|
||||
JVM_ResumeThread;
|
||||
JVM_SetArrayElement;
|
||||
JVM_SetClassSigners;
|
||||
JVM_SetNativeThreadName;
|
||||
JVM_SetPrimitiveArrayElement;
|
||||
JVM_SetThreadPriority;
|
||||
JVM_Sleep;
|
||||
JVM_StartThread;
|
||||
JVM_StopThread;
|
||||
JVM_SuspendThread;
|
||||
JVM_SupportsCX8;
|
||||
JVM_TotalMemory;
|
||||
JVM_UnloadLibrary;
|
||||
JVM_Yield;
|
||||
JVM_handle_linux_signal;
|
||||
|
||||
# miscellaneous functions
|
||||
|
@ -26,168 +26,6 @@
|
||||
|
||||
SUNWprivate_1.1 {
|
||||
global:
|
||||
# JNI
|
||||
JNI_CreateJavaVM;
|
||||
JNI_GetCreatedJavaVMs;
|
||||
JNI_GetDefaultJavaVMInitArgs;
|
||||
|
||||
# JVM
|
||||
JVM_ActiveProcessorCount;
|
||||
JVM_ArrayCopy;
|
||||
JVM_AssertionStatusDirectives;
|
||||
JVM_ClassDepth;
|
||||
JVM_ClassLoaderDepth;
|
||||
JVM_Clone;
|
||||
JVM_ConstantPoolGetClassAt;
|
||||
JVM_ConstantPoolGetClassAtIfLoaded;
|
||||
JVM_ConstantPoolGetDoubleAt;
|
||||
JVM_ConstantPoolGetFieldAt;
|
||||
JVM_ConstantPoolGetFieldAtIfLoaded;
|
||||
JVM_ConstantPoolGetFloatAt;
|
||||
JVM_ConstantPoolGetIntAt;
|
||||
JVM_ConstantPoolGetLongAt;
|
||||
JVM_ConstantPoolGetMethodAt;
|
||||
JVM_ConstantPoolGetMethodAtIfLoaded;
|
||||
JVM_ConstantPoolGetMemberRefInfoAt;
|
||||
JVM_ConstantPoolGetSize;
|
||||
JVM_ConstantPoolGetStringAt;
|
||||
JVM_ConstantPoolGetUTF8At;
|
||||
JVM_CountStackFrames;
|
||||
JVM_CurrentClassLoader;
|
||||
JVM_CurrentLoadedClass;
|
||||
JVM_CurrentThread;
|
||||
JVM_CurrentTimeMillis;
|
||||
JVM_DefineClass;
|
||||
JVM_DefineClassWithSource;
|
||||
JVM_DefineClassWithSourceCond;
|
||||
JVM_DesiredAssertionStatus;
|
||||
JVM_DoPrivileged;
|
||||
JVM_DumpAllStacks;
|
||||
JVM_DumpThreads;
|
||||
JVM_FillInStackTrace;
|
||||
JVM_FindClassFromCaller;
|
||||
JVM_FindClassFromClass;
|
||||
JVM_FindClassFromBootLoader;
|
||||
JVM_FindLibraryEntry;
|
||||
JVM_FindLoadedClass;
|
||||
JVM_FindPrimitiveClass;
|
||||
JVM_FindSignal;
|
||||
JVM_FreeMemory;
|
||||
JVM_GC;
|
||||
JVM_GetAllThreads;
|
||||
JVM_GetArrayElement;
|
||||
JVM_GetArrayLength;
|
||||
JVM_GetCPClassNameUTF;
|
||||
JVM_GetCPFieldClassNameUTF;
|
||||
JVM_GetCPFieldModifiers;
|
||||
JVM_GetCPFieldNameUTF;
|
||||
JVM_GetCPFieldSignatureUTF;
|
||||
JVM_GetCPMethodClassNameUTF;
|
||||
JVM_GetCPMethodModifiers;
|
||||
JVM_GetCPMethodNameUTF;
|
||||
JVM_GetCPMethodSignatureUTF;
|
||||
JVM_GetCallerClass;
|
||||
JVM_GetClassAccessFlags;
|
||||
JVM_GetClassAnnotations;
|
||||
JVM_GetClassCPEntriesCount;
|
||||
JVM_GetClassCPTypes;
|
||||
JVM_GetClassConstantPool;
|
||||
JVM_GetClassContext;
|
||||
JVM_GetClassDeclaredConstructors;
|
||||
JVM_GetClassDeclaredFields;
|
||||
JVM_GetClassDeclaredMethods;
|
||||
JVM_GetClassFieldsCount;
|
||||
JVM_GetClassInterfaces;
|
||||
JVM_GetClassMethodsCount;
|
||||
JVM_GetClassModifiers;
|
||||
JVM_GetClassName;
|
||||
JVM_GetClassNameUTF;
|
||||
JVM_GetClassSignature;
|
||||
JVM_GetClassSigners;
|
||||
JVM_GetClassTypeAnnotations;
|
||||
JVM_GetDeclaredClasses;
|
||||
JVM_GetDeclaringClass;
|
||||
JVM_GetSimpleBinaryName;
|
||||
JVM_GetEnclosingMethodInfo;
|
||||
JVM_GetFieldIxModifiers;
|
||||
JVM_GetFieldTypeAnnotations;
|
||||
JVM_GetInheritedAccessControlContext;
|
||||
JVM_GetInterfaceVersion;
|
||||
JVM_GetManagement;
|
||||
JVM_GetMethodIxArgsSize;
|
||||
JVM_GetMethodIxByteCode;
|
||||
JVM_GetMethodIxByteCodeLength;
|
||||
JVM_GetMethodIxExceptionIndexes;
|
||||
JVM_GetMethodIxExceptionTableEntry;
|
||||
JVM_GetMethodIxExceptionTableLength;
|
||||
JVM_GetMethodIxExceptionsCount;
|
||||
JVM_GetMethodIxLocalsCount;
|
||||
JVM_GetMethodIxMaxStack;
|
||||
JVM_GetMethodIxModifiers;
|
||||
JVM_GetMethodIxNameUTF;
|
||||
JVM_GetMethodIxSignatureUTF;
|
||||
JVM_GetMethodParameters;
|
||||
JVM_GetMethodTypeAnnotations;
|
||||
JVM_GetNanoTimeAdjustment;
|
||||
JVM_GetPrimitiveArrayElement;
|
||||
JVM_GetProtectionDomain;
|
||||
JVM_GetStackAccessControlContext;
|
||||
JVM_GetStackTraceDepth;
|
||||
JVM_GetStackTraceElement;
|
||||
JVM_GetSystemPackage;
|
||||
JVM_GetSystemPackages;
|
||||
JVM_GetTemporaryDirectory;
|
||||
JVM_GetVersionInfo;
|
||||
JVM_Halt;
|
||||
JVM_HoldsLock;
|
||||
JVM_IHashCode;
|
||||
JVM_InitAgentProperties;
|
||||
JVM_InitProperties;
|
||||
JVM_InternString;
|
||||
JVM_Interrupt;
|
||||
JVM_InvokeMethod;
|
||||
JVM_IsArrayClass;
|
||||
JVM_IsConstructorIx;
|
||||
JVM_IsInterface;
|
||||
JVM_IsInterrupted;
|
||||
JVM_IsPrimitiveClass;
|
||||
JVM_IsSameClassPackage;
|
||||
JVM_IsSupportedJNIVersion;
|
||||
JVM_IsThreadAlive;
|
||||
JVM_IsVMGeneratedMethodIx;
|
||||
JVM_LatestUserDefinedLoader;
|
||||
JVM_LoadLibrary;
|
||||
JVM_MaxObjectInspectionAge;
|
||||
JVM_MaxMemory;
|
||||
JVM_MonitorNotify;
|
||||
JVM_MonitorNotifyAll;
|
||||
JVM_MonitorWait;
|
||||
JVM_NanoTime;
|
||||
JVM_NativePath;
|
||||
JVM_NewArray;
|
||||
JVM_NewInstanceFromConstructor;
|
||||
JVM_NewMultiArray;
|
||||
JVM_RaiseSignal;
|
||||
JVM_RawMonitorCreate;
|
||||
JVM_RawMonitorDestroy;
|
||||
JVM_RawMonitorEnter;
|
||||
JVM_RawMonitorExit;
|
||||
JVM_RegisterSignal;
|
||||
JVM_ReleaseUTF;
|
||||
JVM_ResumeThread;
|
||||
JVM_SetArrayElement;
|
||||
JVM_SetClassSigners;
|
||||
JVM_SetNativeThreadName;
|
||||
JVM_SetPrimitiveArrayElement;
|
||||
JVM_SetThreadPriority;
|
||||
JVM_Sleep;
|
||||
JVM_StartThread;
|
||||
JVM_StopThread;
|
||||
JVM_SuspendThread;
|
||||
JVM_SupportsCX8;
|
||||
JVM_TotalMemory;
|
||||
JVM_UnloadLibrary;
|
||||
JVM_Yield;
|
||||
JVM_handle_linux_signal;
|
||||
|
||||
# miscellaneous functions
|
||||
|
@ -234,10 +234,29 @@ JVM_OBJ_FILES = $(Obj_Files)
|
||||
|
||||
vm_version.o: $(filter-out vm_version.o,$(JVM_OBJ_FILES))
|
||||
|
||||
mapfile : $(MAPFILE) vm.def mapfile_ext
|
||||
MAPFILE_SHARE := $(GAMMADIR)/make/share/makefiles/mapfile-vers
|
||||
|
||||
MAPFILE_EXT_SRC := $(HS_ALT_MAKE)/share/makefiles/mapfile-ext
|
||||
ifneq ("$(wildcard $(MAPFILE_EXT_SRC))","")
|
||||
MAPFILE_EXT := $(MAPFILE_EXT_SRC)
|
||||
endif
|
||||
|
||||
# For Darwin: add _ prefix and remove trailing ;
|
||||
mapfile_extra: $(MAPFILE_SHARE) $(MAPFILE_EXT)
|
||||
rm -f $@
|
||||
ifeq ($(OS_VENDOR), Darwin)
|
||||
cat $(MAPFILE_SHARE) $(MAPFILE_EXT) | \
|
||||
sed -e 's/#.*//g' -e 's/[ ]*//g' -e 's/;//g' | \
|
||||
awk '{ if ($$0 ~ ".") { print "\t\t_" $$0 } }' \
|
||||
> $@
|
||||
else
|
||||
cat $(MAPFILE_SHARE) $(MAPFILE_EXT) > $@
|
||||
endif
|
||||
|
||||
mapfile : $(MAPFILE) mapfile_extra vm.def
|
||||
rm -f $@
|
||||
awk '{ if ($$0 ~ "INSERT VTABLE SYMBOLS HERE") \
|
||||
{ system ("cat mapfile_ext"); system ("cat vm.def"); } \
|
||||
{ system ("cat mapfile_extra vm.def"); } \
|
||||
else \
|
||||
{ print $$0 } \
|
||||
}' > $@ < $(MAPFILE)
|
||||
|
@ -26,168 +26,6 @@
|
||||
|
||||
SUNWprivate_1.1 {
|
||||
global:
|
||||
# JNI
|
||||
JNI_CreateJavaVM;
|
||||
JNI_GetCreatedJavaVMs;
|
||||
JNI_GetDefaultJavaVMInitArgs;
|
||||
|
||||
# JVM
|
||||
JVM_ActiveProcessorCount;
|
||||
JVM_ArrayCopy;
|
||||
JVM_AssertionStatusDirectives;
|
||||
JVM_ClassDepth;
|
||||
JVM_ClassLoaderDepth;
|
||||
JVM_Clone;
|
||||
JVM_ConstantPoolGetClassAt;
|
||||
JVM_ConstantPoolGetClassAtIfLoaded;
|
||||
JVM_ConstantPoolGetDoubleAt;
|
||||
JVM_ConstantPoolGetFieldAt;
|
||||
JVM_ConstantPoolGetFieldAtIfLoaded;
|
||||
JVM_ConstantPoolGetFloatAt;
|
||||
JVM_ConstantPoolGetIntAt;
|
||||
JVM_ConstantPoolGetLongAt;
|
||||
JVM_ConstantPoolGetMethodAt;
|
||||
JVM_ConstantPoolGetMethodAtIfLoaded;
|
||||
JVM_ConstantPoolGetMemberRefInfoAt;
|
||||
JVM_ConstantPoolGetSize;
|
||||
JVM_ConstantPoolGetStringAt;
|
||||
JVM_ConstantPoolGetUTF8At;
|
||||
JVM_CountStackFrames;
|
||||
JVM_CurrentClassLoader;
|
||||
JVM_CurrentLoadedClass;
|
||||
JVM_CurrentThread;
|
||||
JVM_CurrentTimeMillis;
|
||||
JVM_DefineClass;
|
||||
JVM_DefineClassWithSource;
|
||||
JVM_DefineClassWithSourceCond;
|
||||
JVM_DesiredAssertionStatus;
|
||||
JVM_DoPrivileged;
|
||||
JVM_DumpAllStacks;
|
||||
JVM_DumpThreads;
|
||||
JVM_FillInStackTrace;
|
||||
JVM_FindClassFromCaller;
|
||||
JVM_FindClassFromClass;
|
||||
JVM_FindClassFromBootLoader;
|
||||
JVM_FindLibraryEntry;
|
||||
JVM_FindLoadedClass;
|
||||
JVM_FindPrimitiveClass;
|
||||
JVM_FindSignal;
|
||||
JVM_FreeMemory;
|
||||
JVM_GC;
|
||||
JVM_GetAllThreads;
|
||||
JVM_GetArrayElement;
|
||||
JVM_GetArrayLength;
|
||||
JVM_GetCPClassNameUTF;
|
||||
JVM_GetCPFieldClassNameUTF;
|
||||
JVM_GetCPFieldModifiers;
|
||||
JVM_GetCPFieldNameUTF;
|
||||
JVM_GetCPFieldSignatureUTF;
|
||||
JVM_GetCPMethodClassNameUTF;
|
||||
JVM_GetCPMethodModifiers;
|
||||
JVM_GetCPMethodNameUTF;
|
||||
JVM_GetCPMethodSignatureUTF;
|
||||
JVM_GetCallerClass;
|
||||
JVM_GetClassAccessFlags;
|
||||
JVM_GetClassAnnotations;
|
||||
JVM_GetClassCPEntriesCount;
|
||||
JVM_GetClassCPTypes;
|
||||
JVM_GetClassConstantPool;
|
||||
JVM_GetClassContext;
|
||||
JVM_GetClassDeclaredConstructors;
|
||||
JVM_GetClassDeclaredFields;
|
||||
JVM_GetClassDeclaredMethods;
|
||||
JVM_GetClassFieldsCount;
|
||||
JVM_GetClassInterfaces;
|
||||
JVM_GetClassMethodsCount;
|
||||
JVM_GetClassModifiers;
|
||||
JVM_GetClassName;
|
||||
JVM_GetClassNameUTF;
|
||||
JVM_GetClassSignature;
|
||||
JVM_GetClassSigners;
|
||||
JVM_GetClassTypeAnnotations;
|
||||
JVM_GetDeclaredClasses;
|
||||
JVM_GetDeclaringClass;
|
||||
JVM_GetSimpleBinaryName;
|
||||
JVM_GetEnclosingMethodInfo;
|
||||
JVM_GetFieldIxModifiers;
|
||||
JVM_GetFieldTypeAnnotations;
|
||||
JVM_GetInheritedAccessControlContext;
|
||||
JVM_GetInterfaceVersion;
|
||||
JVM_GetManagement;
|
||||
JVM_GetMethodIxArgsSize;
|
||||
JVM_GetMethodIxByteCode;
|
||||
JVM_GetMethodIxByteCodeLength;
|
||||
JVM_GetMethodIxExceptionIndexes;
|
||||
JVM_GetMethodIxExceptionTableEntry;
|
||||
JVM_GetMethodIxExceptionTableLength;
|
||||
JVM_GetMethodIxExceptionsCount;
|
||||
JVM_GetMethodIxLocalsCount;
|
||||
JVM_GetMethodIxMaxStack;
|
||||
JVM_GetMethodIxModifiers;
|
||||
JVM_GetMethodIxNameUTF;
|
||||
JVM_GetMethodIxSignatureUTF;
|
||||
JVM_GetMethodParameters;
|
||||
JVM_GetMethodTypeAnnotations;
|
||||
JVM_GetNanoTimeAdjustment;
|
||||
JVM_GetPrimitiveArrayElement;
|
||||
JVM_GetProtectionDomain;
|
||||
JVM_GetStackAccessControlContext;
|
||||
JVM_GetStackTraceDepth;
|
||||
JVM_GetStackTraceElement;
|
||||
JVM_GetSystemPackage;
|
||||
JVM_GetSystemPackages;
|
||||
JVM_GetTemporaryDirectory;
|
||||
JVM_GetVersionInfo;
|
||||
JVM_Halt;
|
||||
JVM_HoldsLock;
|
||||
JVM_IHashCode;
|
||||
JVM_InitAgentProperties;
|
||||
JVM_InitProperties;
|
||||
JVM_InternString;
|
||||
JVM_Interrupt;
|
||||
JVM_InvokeMethod;
|
||||
JVM_IsArrayClass;
|
||||
JVM_IsConstructorIx;
|
||||
JVM_IsInterface;
|
||||
JVM_IsInterrupted;
|
||||
JVM_IsPrimitiveClass;
|
||||
JVM_IsSameClassPackage;
|
||||
JVM_IsSupportedJNIVersion;
|
||||
JVM_IsThreadAlive;
|
||||
JVM_IsVMGeneratedMethodIx;
|
||||
JVM_LatestUserDefinedLoader;
|
||||
JVM_LoadLibrary;
|
||||
JVM_MaxObjectInspectionAge;
|
||||
JVM_MaxMemory;
|
||||
JVM_MonitorNotify;
|
||||
JVM_MonitorNotifyAll;
|
||||
JVM_MonitorWait;
|
||||
JVM_NanoTime;
|
||||
JVM_NativePath;
|
||||
JVM_NewArray;
|
||||
JVM_NewInstanceFromConstructor;
|
||||
JVM_NewMultiArray;
|
||||
JVM_RaiseSignal;
|
||||
JVM_RawMonitorCreate;
|
||||
JVM_RawMonitorDestroy;
|
||||
JVM_RawMonitorEnter;
|
||||
JVM_RawMonitorExit;
|
||||
JVM_RegisterSignal;
|
||||
JVM_ReleaseUTF;
|
||||
JVM_ResumeThread;
|
||||
JVM_SetArrayElement;
|
||||
JVM_SetClassSigners;
|
||||
JVM_SetNativeThreadName;
|
||||
JVM_SetPrimitiveArrayElement;
|
||||
JVM_SetThreadPriority;
|
||||
JVM_Sleep;
|
||||
JVM_StartThread;
|
||||
JVM_StopThread;
|
||||
JVM_SuspendThread;
|
||||
JVM_SupportsCX8;
|
||||
JVM_TotalMemory;
|
||||
JVM_UnloadLibrary;
|
||||
JVM_Yield;
|
||||
JVM_handle_linux_signal;
|
||||
|
||||
# miscellaneous functions
|
||||
|
@ -26,168 +26,6 @@
|
||||
|
||||
SUNWprivate_1.1 {
|
||||
global:
|
||||
# JNI
|
||||
JNI_CreateJavaVM;
|
||||
JNI_GetCreatedJavaVMs;
|
||||
JNI_GetDefaultJavaVMInitArgs;
|
||||
|
||||
# JVM
|
||||
JVM_ActiveProcessorCount;
|
||||
JVM_ArrayCopy;
|
||||
JVM_AssertionStatusDirectives;
|
||||
JVM_ClassDepth;
|
||||
JVM_ClassLoaderDepth;
|
||||
JVM_Clone;
|
||||
JVM_ConstantPoolGetClassAt;
|
||||
JVM_ConstantPoolGetClassAtIfLoaded;
|
||||
JVM_ConstantPoolGetDoubleAt;
|
||||
JVM_ConstantPoolGetFieldAt;
|
||||
JVM_ConstantPoolGetFieldAtIfLoaded;
|
||||
JVM_ConstantPoolGetFloatAt;
|
||||
JVM_ConstantPoolGetIntAt;
|
||||
JVM_ConstantPoolGetLongAt;
|
||||
JVM_ConstantPoolGetMethodAt;
|
||||
JVM_ConstantPoolGetMethodAtIfLoaded;
|
||||
JVM_ConstantPoolGetMemberRefInfoAt;
|
||||
JVM_ConstantPoolGetSize;
|
||||
JVM_ConstantPoolGetStringAt;
|
||||
JVM_ConstantPoolGetUTF8At;
|
||||
JVM_CountStackFrames;
|
||||
JVM_CurrentClassLoader;
|
||||
JVM_CurrentLoadedClass;
|
||||
JVM_CurrentThread;
|
||||
JVM_CurrentTimeMillis;
|
||||
JVM_DefineClass;
|
||||
JVM_DefineClassWithSource;
|
||||
JVM_DefineClassWithSourceCond;
|
||||
JVM_DesiredAssertionStatus;
|
||||
JVM_DoPrivileged;
|
||||
JVM_DumpAllStacks;
|
||||
JVM_DumpThreads;
|
||||
JVM_FillInStackTrace;
|
||||
JVM_FindClassFromCaller;
|
||||
JVM_FindClassFromClass;
|
||||
JVM_FindClassFromBootLoader;
|
||||
JVM_FindLibraryEntry;
|
||||
JVM_FindLoadedClass;
|
||||
JVM_FindPrimitiveClass;
|
||||
JVM_FindSignal;
|
||||
JVM_FreeMemory;
|
||||
JVM_GC;
|
||||
JVM_GetAllThreads;
|
||||
JVM_GetArrayElement;
|
||||
JVM_GetArrayLength;
|
||||
JVM_GetCPClassNameUTF;
|
||||
JVM_GetCPFieldClassNameUTF;
|
||||
JVM_GetCPFieldModifiers;
|
||||
JVM_GetCPFieldNameUTF;
|
||||
JVM_GetCPFieldSignatureUTF;
|
||||
JVM_GetCPMethodClassNameUTF;
|
||||
JVM_GetCPMethodModifiers;
|
||||
JVM_GetCPMethodNameUTF;
|
||||
JVM_GetCPMethodSignatureUTF;
|
||||
JVM_GetCallerClass;
|
||||
JVM_GetClassAccessFlags;
|
||||
JVM_GetClassAnnotations;
|
||||
JVM_GetClassCPEntriesCount;
|
||||
JVM_GetClassCPTypes;
|
||||
JVM_GetClassConstantPool;
|
||||
JVM_GetClassContext;
|
||||
JVM_GetClassDeclaredConstructors;
|
||||
JVM_GetClassDeclaredFields;
|
||||
JVM_GetClassDeclaredMethods;
|
||||
JVM_GetClassFieldsCount;
|
||||
JVM_GetClassInterfaces;
|
||||
JVM_GetClassMethodsCount;
|
||||
JVM_GetClassModifiers;
|
||||
JVM_GetClassName;
|
||||
JVM_GetClassNameUTF;
|
||||
JVM_GetClassSignature;
|
||||
JVM_GetClassSigners;
|
||||
JVM_GetClassTypeAnnotations;
|
||||
JVM_GetDeclaredClasses;
|
||||
JVM_GetDeclaringClass;
|
||||
JVM_GetSimpleBinaryName;
|
||||
JVM_GetEnclosingMethodInfo;
|
||||
JVM_GetFieldIxModifiers;
|
||||
JVM_GetFieldTypeAnnotations;
|
||||
JVM_GetInheritedAccessControlContext;
|
||||
JVM_GetInterfaceVersion;
|
||||
JVM_GetManagement;
|
||||
JVM_GetMethodIxArgsSize;
|
||||
JVM_GetMethodIxByteCode;
|
||||
JVM_GetMethodIxByteCodeLength;
|
||||
JVM_GetMethodIxExceptionIndexes;
|
||||
JVM_GetMethodIxExceptionTableEntry;
|
||||
JVM_GetMethodIxExceptionTableLength;
|
||||
JVM_GetMethodIxExceptionsCount;
|
||||
JVM_GetMethodIxLocalsCount;
|
||||
JVM_GetMethodIxMaxStack;
|
||||
JVM_GetMethodIxModifiers;
|
||||
JVM_GetMethodIxNameUTF;
|
||||
JVM_GetMethodIxSignatureUTF;
|
||||
JVM_GetMethodParameters;
|
||||
JVM_GetMethodTypeAnnotations;
|
||||
JVM_GetNanoTimeAdjustment;
|
||||
JVM_GetPrimitiveArrayElement;
|
||||
JVM_GetProtectionDomain;
|
||||
JVM_GetStackAccessControlContext;
|
||||
JVM_GetStackTraceDepth;
|
||||
JVM_GetStackTraceElement;
|
||||
JVM_GetSystemPackage;
|
||||
JVM_GetSystemPackages;
|
||||
JVM_GetTemporaryDirectory;
|
||||
JVM_GetVersionInfo;
|
||||
JVM_Halt;
|
||||
JVM_HoldsLock;
|
||||
JVM_IHashCode;
|
||||
JVM_InitAgentProperties;
|
||||
JVM_InitProperties;
|
||||
JVM_InternString;
|
||||
JVM_Interrupt;
|
||||
JVM_InvokeMethod;
|
||||
JVM_IsArrayClass;
|
||||
JVM_IsConstructorIx;
|
||||
JVM_IsInterface;
|
||||
JVM_IsInterrupted;
|
||||
JVM_IsPrimitiveClass;
|
||||
JVM_IsSameClassPackage;
|
||||
JVM_IsSupportedJNIVersion;
|
||||
JVM_IsThreadAlive;
|
||||
JVM_IsVMGeneratedMethodIx;
|
||||
JVM_LatestUserDefinedLoader;
|
||||
JVM_LoadLibrary;
|
||||
JVM_MaxObjectInspectionAge;
|
||||
JVM_MaxMemory;
|
||||
JVM_MonitorNotify;
|
||||
JVM_MonitorNotifyAll;
|
||||
JVM_MonitorWait;
|
||||
JVM_NanoTime;
|
||||
JVM_NativePath;
|
||||
JVM_NewArray;
|
||||
JVM_NewInstanceFromConstructor;
|
||||
JVM_NewMultiArray;
|
||||
JVM_RaiseSignal;
|
||||
JVM_RawMonitorCreate;
|
||||
JVM_RawMonitorDestroy;
|
||||
JVM_RawMonitorEnter;
|
||||
JVM_RawMonitorExit;
|
||||
JVM_RegisterSignal;
|
||||
JVM_ReleaseUTF;
|
||||
JVM_ResumeThread;
|
||||
JVM_SetArrayElement;
|
||||
JVM_SetClassSigners;
|
||||
JVM_SetNativeThreadName;
|
||||
JVM_SetPrimitiveArrayElement;
|
||||
JVM_SetThreadPriority;
|
||||
JVM_Sleep;
|
||||
JVM_StartThread;
|
||||
JVM_StopThread;
|
||||
JVM_SuspendThread;
|
||||
JVM_SupportsCX8;
|
||||
JVM_TotalMemory;
|
||||
JVM_UnloadLibrary;
|
||||
JVM_Yield;
|
||||
JVM_handle_linux_signal;
|
||||
|
||||
# miscellaneous functions
|
||||
|
@ -232,10 +232,17 @@ JVM_OBJ_FILES = $(Obj_Files)
|
||||
|
||||
vm_version.o: $(filter-out vm_version.o,$(JVM_OBJ_FILES))
|
||||
|
||||
mapfile : $(MAPFILE) vm.def mapfile_ext
|
||||
MAPFILE_SHARE := $(GAMMADIR)/make/share/makefiles/mapfile-vers
|
||||
|
||||
MAPFILE_EXT_SRC := $(HS_ALT_MAKE)/share/makefiles/mapfile-ext
|
||||
ifneq ("$(wildcard $(MAPFILE_EXT_SRC))","")
|
||||
MAPFILE_EXT := $(MAPFILE_EXT_SRC)
|
||||
endif
|
||||
|
||||
mapfile : $(MAPFILE) $(MAPFILE_SHARE) vm.def $(MAPFILE_EXT)
|
||||
rm -f $@
|
||||
awk '{ if ($$0 ~ "INSERT VTABLE SYMBOLS HERE") \
|
||||
{ system ("cat mapfile_ext"); system ("cat vm.def"); } \
|
||||
{ system ("cat ${MAPFILE_SHARE} $(MAPFILE_EXT) vm.def"); } \
|
||||
else \
|
||||
{ print $$0 } \
|
||||
}' > $@ < $(MAPFILE)
|
||||
@ -259,13 +266,6 @@ ifneq ($(VM_DEF_EXT),)
|
||||
cat $(VM_DEF_EXT) >> $@
|
||||
endif
|
||||
|
||||
mapfile_ext:
|
||||
rm -f $@
|
||||
touch $@
|
||||
if [ -f $(HS_ALT_MAKE)/linux/makefiles/mapfile-ext ]; then \
|
||||
cat $(HS_ALT_MAKE)/linux/makefiles/mapfile-ext > $@; \
|
||||
fi
|
||||
|
||||
ifeq ($(JVM_VARIANT_ZEROSHARK), true)
|
||||
STATIC_CXX = false
|
||||
else
|
||||
|
162
hotspot/make/share/makefiles/mapfile-vers
Normal file
162
hotspot/make/share/makefiles/mapfile-vers
Normal file
@ -0,0 +1,162 @@
|
||||
# JNI
|
||||
JNI_CreateJavaVM;
|
||||
JNI_GetCreatedJavaVMs;
|
||||
JNI_GetDefaultJavaVMInitArgs;
|
||||
|
||||
# JVM
|
||||
JVM_ActiveProcessorCount;
|
||||
JVM_ArrayCopy;
|
||||
JVM_AssertionStatusDirectives;
|
||||
JVM_ClassDepth;
|
||||
JVM_ClassLoaderDepth;
|
||||
JVM_Clone;
|
||||
JVM_ConstantPoolGetClassAt;
|
||||
JVM_ConstantPoolGetClassAtIfLoaded;
|
||||
JVM_ConstantPoolGetDoubleAt;
|
||||
JVM_ConstantPoolGetFieldAt;
|
||||
JVM_ConstantPoolGetFieldAtIfLoaded;
|
||||
JVM_ConstantPoolGetFloatAt;
|
||||
JVM_ConstantPoolGetIntAt;
|
||||
JVM_ConstantPoolGetLongAt;
|
||||
JVM_ConstantPoolGetMethodAt;
|
||||
JVM_ConstantPoolGetMethodAtIfLoaded;
|
||||
JVM_ConstantPoolGetMemberRefInfoAt;
|
||||
JVM_ConstantPoolGetSize;
|
||||
JVM_ConstantPoolGetStringAt;
|
||||
JVM_ConstantPoolGetUTF8At;
|
||||
JVM_CountStackFrames;
|
||||
JVM_CurrentClassLoader;
|
||||
JVM_CurrentLoadedClass;
|
||||
JVM_CurrentThread;
|
||||
JVM_CurrentTimeMillis;
|
||||
JVM_DefineClass;
|
||||
JVM_DefineClassWithSource;
|
||||
JVM_DefineClassWithSourceCond;
|
||||
JVM_DesiredAssertionStatus;
|
||||
JVM_DoPrivileged;
|
||||
JVM_DumpAllStacks;
|
||||
JVM_DumpThreads;
|
||||
JVM_FillInStackTrace;
|
||||
JVM_FindClassFromCaller;
|
||||
JVM_FindClassFromClass;
|
||||
JVM_FindClassFromBootLoader;
|
||||
JVM_FindLibraryEntry;
|
||||
JVM_FindLoadedClass;
|
||||
JVM_FindPrimitiveClass;
|
||||
JVM_FindSignal;
|
||||
JVM_FreeMemory;
|
||||
JVM_GC;
|
||||
JVM_GetAllThreads;
|
||||
JVM_GetArrayElement;
|
||||
JVM_GetArrayLength;
|
||||
JVM_GetCPClassNameUTF;
|
||||
JVM_GetCPFieldClassNameUTF;
|
||||
JVM_GetCPFieldModifiers;
|
||||
JVM_GetCPFieldNameUTF;
|
||||
JVM_GetCPFieldSignatureUTF;
|
||||
JVM_GetCPMethodClassNameUTF;
|
||||
JVM_GetCPMethodModifiers;
|
||||
JVM_GetCPMethodNameUTF;
|
||||
JVM_GetCPMethodSignatureUTF;
|
||||
JVM_GetCallerClass;
|
||||
JVM_GetClassAccessFlags;
|
||||
JVM_GetClassAnnotations;
|
||||
JVM_GetClassCPEntriesCount;
|
||||
JVM_GetClassCPTypes;
|
||||
JVM_GetClassConstantPool;
|
||||
JVM_GetClassContext;
|
||||
JVM_GetClassDeclaredConstructors;
|
||||
JVM_GetClassDeclaredFields;
|
||||
JVM_GetClassDeclaredMethods;
|
||||
JVM_GetClassFieldsCount;
|
||||
JVM_GetClassInterfaces;
|
||||
JVM_GetClassMethodsCount;
|
||||
JVM_GetClassModifiers;
|
||||
JVM_GetClassName;
|
||||
JVM_GetClassNameUTF;
|
||||
JVM_GetClassSignature;
|
||||
JVM_GetClassSigners;
|
||||
JVM_GetClassTypeAnnotations;
|
||||
JVM_GetDeclaredClasses;
|
||||
JVM_GetDeclaringClass;
|
||||
JVM_GetSimpleBinaryName;
|
||||
JVM_GetEnclosingMethodInfo;
|
||||
JVM_GetFieldIxModifiers;
|
||||
JVM_GetFieldTypeAnnotations;
|
||||
JVM_GetInheritedAccessControlContext;
|
||||
JVM_GetInterfaceVersion;
|
||||
JVM_GetManagement;
|
||||
JVM_GetMethodIxArgsSize;
|
||||
JVM_GetMethodIxByteCode;
|
||||
JVM_GetMethodIxByteCodeLength;
|
||||
JVM_GetMethodIxExceptionIndexes;
|
||||
JVM_GetMethodIxExceptionTableEntry;
|
||||
JVM_GetMethodIxExceptionTableLength;
|
||||
JVM_GetMethodIxExceptionsCount;
|
||||
JVM_GetMethodIxLocalsCount;
|
||||
JVM_GetMethodIxMaxStack;
|
||||
JVM_GetMethodIxModifiers;
|
||||
JVM_GetMethodIxNameUTF;
|
||||
JVM_GetMethodIxSignatureUTF;
|
||||
JVM_GetMethodParameters;
|
||||
JVM_GetMethodTypeAnnotations;
|
||||
JVM_GetNanoTimeAdjustment;
|
||||
JVM_GetPrimitiveArrayElement;
|
||||
JVM_GetProtectionDomain;
|
||||
JVM_GetStackAccessControlContext;
|
||||
JVM_GetStackTraceDepth;
|
||||
JVM_GetStackTraceElement;
|
||||
JVM_GetSystemPackage;
|
||||
JVM_GetSystemPackages;
|
||||
JVM_GetTemporaryDirectory;
|
||||
JVM_GetVersionInfo;
|
||||
JVM_Halt;
|
||||
JVM_HoldsLock;
|
||||
JVM_IHashCode;
|
||||
JVM_InitAgentProperties;
|
||||
JVM_InitProperties;
|
||||
JVM_InternString;
|
||||
JVM_Interrupt;
|
||||
JVM_InvokeMethod;
|
||||
JVM_IsArrayClass;
|
||||
JVM_IsConstructorIx;
|
||||
JVM_IsInterface;
|
||||
JVM_IsInterrupted;
|
||||
JVM_IsPrimitiveClass;
|
||||
JVM_IsSameClassPackage;
|
||||
JVM_IsSupportedJNIVersion;
|
||||
JVM_IsThreadAlive;
|
||||
JVM_IsVMGeneratedMethodIx;
|
||||
JVM_LatestUserDefinedLoader;
|
||||
JVM_LoadLibrary;
|
||||
JVM_MaxObjectInspectionAge;
|
||||
JVM_MaxMemory;
|
||||
JVM_MonitorNotify;
|
||||
JVM_MonitorNotifyAll;
|
||||
JVM_MonitorWait;
|
||||
JVM_NanoTime;
|
||||
JVM_NativePath;
|
||||
JVM_NewArray;
|
||||
JVM_NewInstanceFromConstructor;
|
||||
JVM_NewMultiArray;
|
||||
JVM_RaiseSignal;
|
||||
JVM_RawMonitorCreate;
|
||||
JVM_RawMonitorDestroy;
|
||||
JVM_RawMonitorEnter;
|
||||
JVM_RawMonitorExit;
|
||||
JVM_RegisterSignal;
|
||||
JVM_ReleaseUTF;
|
||||
JVM_ResumeThread;
|
||||
JVM_SetArrayElement;
|
||||
JVM_SetClassSigners;
|
||||
JVM_SetNativeThreadName;
|
||||
JVM_SetPrimitiveArrayElement;
|
||||
JVM_SetThreadPriority;
|
||||
JVM_Sleep;
|
||||
JVM_StartThread;
|
||||
JVM_StopThread;
|
||||
JVM_SuspendThread;
|
||||
JVM_SupportsCX8;
|
||||
JVM_TotalMemory;
|
||||
JVM_UnloadLibrary;
|
||||
JVM_Yield;
|
@ -26,168 +26,6 @@
|
||||
|
||||
SUNWprivate_1.1 {
|
||||
global:
|
||||
# JNI
|
||||
JNI_CreateJavaVM;
|
||||
JNI_GetCreatedJavaVMs;
|
||||
JNI_GetDefaultJavaVMInitArgs;
|
||||
|
||||
# JVM
|
||||
JVM_ActiveProcessorCount;
|
||||
JVM_ArrayCopy;
|
||||
JVM_AssertionStatusDirectives;
|
||||
JVM_ClassDepth;
|
||||
JVM_ClassLoaderDepth;
|
||||
JVM_Clone;
|
||||
JVM_ConstantPoolGetClassAt;
|
||||
JVM_ConstantPoolGetClassAtIfLoaded;
|
||||
JVM_ConstantPoolGetDoubleAt;
|
||||
JVM_ConstantPoolGetFieldAt;
|
||||
JVM_ConstantPoolGetFieldAtIfLoaded;
|
||||
JVM_ConstantPoolGetFloatAt;
|
||||
JVM_ConstantPoolGetIntAt;
|
||||
JVM_ConstantPoolGetLongAt;
|
||||
JVM_ConstantPoolGetMethodAt;
|
||||
JVM_ConstantPoolGetMethodAtIfLoaded;
|
||||
JVM_ConstantPoolGetMemberRefInfoAt;
|
||||
JVM_ConstantPoolGetSize;
|
||||
JVM_ConstantPoolGetStringAt;
|
||||
JVM_ConstantPoolGetUTF8At;
|
||||
JVM_CountStackFrames;
|
||||
JVM_CurrentClassLoader;
|
||||
JVM_CurrentLoadedClass;
|
||||
JVM_CurrentThread;
|
||||
JVM_CurrentTimeMillis;
|
||||
JVM_DefineClass;
|
||||
JVM_DefineClassWithSource;
|
||||
JVM_DefineClassWithSourceCond;
|
||||
JVM_DesiredAssertionStatus;
|
||||
JVM_DoPrivileged;
|
||||
JVM_DumpAllStacks;
|
||||
JVM_DumpThreads;
|
||||
JVM_FillInStackTrace;
|
||||
JVM_FindClassFromCaller;
|
||||
JVM_FindClassFromClass;
|
||||
JVM_FindClassFromBootLoader;
|
||||
JVM_FindLibraryEntry;
|
||||
JVM_FindLoadedClass;
|
||||
JVM_FindPrimitiveClass;
|
||||
JVM_FindSignal;
|
||||
JVM_FreeMemory;
|
||||
JVM_GC;
|
||||
JVM_GetAllThreads;
|
||||
JVM_GetArrayElement;
|
||||
JVM_GetArrayLength;
|
||||
JVM_GetCPClassNameUTF;
|
||||
JVM_GetCPFieldClassNameUTF;
|
||||
JVM_GetCPFieldModifiers;
|
||||
JVM_GetCPFieldNameUTF;
|
||||
JVM_GetCPFieldSignatureUTF;
|
||||
JVM_GetCPMethodClassNameUTF;
|
||||
JVM_GetCPMethodModifiers;
|
||||
JVM_GetCPMethodNameUTF;
|
||||
JVM_GetCPMethodSignatureUTF;
|
||||
JVM_GetCallerClass;
|
||||
JVM_GetClassAccessFlags;
|
||||
JVM_GetClassAnnotations;
|
||||
JVM_GetClassCPEntriesCount;
|
||||
JVM_GetClassCPTypes;
|
||||
JVM_GetClassConstantPool;
|
||||
JVM_GetClassContext;
|
||||
JVM_GetClassDeclaredConstructors;
|
||||
JVM_GetClassDeclaredFields;
|
||||
JVM_GetClassDeclaredMethods;
|
||||
JVM_GetClassFieldsCount;
|
||||
JVM_GetClassInterfaces;
|
||||
JVM_GetClassMethodsCount;
|
||||
JVM_GetClassModifiers;
|
||||
JVM_GetClassName;
|
||||
JVM_GetClassNameUTF;
|
||||
JVM_GetClassSignature;
|
||||
JVM_GetClassSigners;
|
||||
JVM_GetClassTypeAnnotations;
|
||||
JVM_GetDeclaredClasses;
|
||||
JVM_GetDeclaringClass;
|
||||
JVM_GetSimpleBinaryName;
|
||||
JVM_GetEnclosingMethodInfo;
|
||||
JVM_GetFieldIxModifiers;
|
||||
JVM_GetFieldTypeAnnotations;
|
||||
JVM_GetInheritedAccessControlContext;
|
||||
JVM_GetInterfaceVersion;
|
||||
JVM_GetManagement;
|
||||
JVM_GetMethodIxArgsSize;
|
||||
JVM_GetMethodIxByteCode;
|
||||
JVM_GetMethodIxByteCodeLength;
|
||||
JVM_GetMethodIxExceptionIndexes;
|
||||
JVM_GetMethodIxExceptionTableEntry;
|
||||
JVM_GetMethodIxExceptionTableLength;
|
||||
JVM_GetMethodIxExceptionsCount;
|
||||
JVM_GetMethodIxLocalsCount;
|
||||
JVM_GetMethodIxMaxStack;
|
||||
JVM_GetMethodIxModifiers;
|
||||
JVM_GetMethodIxNameUTF;
|
||||
JVM_GetMethodIxSignatureUTF;
|
||||
JVM_GetMethodParameters;
|
||||
JVM_GetMethodTypeAnnotations;
|
||||
JVM_GetNanoTimeAdjustment;
|
||||
JVM_GetPrimitiveArrayElement;
|
||||
JVM_GetProtectionDomain;
|
||||
JVM_GetStackAccessControlContext;
|
||||
JVM_GetStackTraceDepth;
|
||||
JVM_GetStackTraceElement;
|
||||
JVM_GetSystemPackage;
|
||||
JVM_GetSystemPackages;
|
||||
JVM_GetTemporaryDirectory;
|
||||
JVM_GetVersionInfo;
|
||||
JVM_Halt;
|
||||
JVM_HoldsLock;
|
||||
JVM_IHashCode;
|
||||
JVM_InitAgentProperties;
|
||||
JVM_InitProperties;
|
||||
JVM_InternString;
|
||||
JVM_Interrupt;
|
||||
JVM_InvokeMethod;
|
||||
JVM_IsArrayClass;
|
||||
JVM_IsConstructorIx;
|
||||
JVM_IsInterface;
|
||||
JVM_IsInterrupted;
|
||||
JVM_IsPrimitiveClass;
|
||||
JVM_IsSameClassPackage;
|
||||
JVM_IsSupportedJNIVersion;
|
||||
JVM_IsThreadAlive;
|
||||
JVM_IsVMGeneratedMethodIx;
|
||||
JVM_LatestUserDefinedLoader;
|
||||
JVM_LoadLibrary;
|
||||
JVM_MaxObjectInspectionAge;
|
||||
JVM_MaxMemory;
|
||||
JVM_MonitorNotify;
|
||||
JVM_MonitorNotifyAll;
|
||||
JVM_MonitorWait;
|
||||
JVM_NativePath;
|
||||
JVM_NanoTime;
|
||||
JVM_NewArray;
|
||||
JVM_NewInstanceFromConstructor;
|
||||
JVM_NewMultiArray;
|
||||
JVM_RaiseSignal;
|
||||
JVM_RawMonitorCreate;
|
||||
JVM_RawMonitorDestroy;
|
||||
JVM_RawMonitorEnter;
|
||||
JVM_RawMonitorExit;
|
||||
JVM_RegisterSignal;
|
||||
JVM_ReleaseUTF;
|
||||
JVM_ResumeThread;
|
||||
JVM_SetArrayElement;
|
||||
JVM_SetClassSigners;
|
||||
JVM_SetNativeThreadName;
|
||||
JVM_SetPrimitiveArrayElement;
|
||||
JVM_SetThreadPriority;
|
||||
JVM_Sleep;
|
||||
JVM_StartThread;
|
||||
JVM_StopThread;
|
||||
JVM_SuspendThread;
|
||||
JVM_SupportsCX8;
|
||||
JVM_TotalMemory;
|
||||
JVM_UnloadLibrary;
|
||||
JVM_Yield;
|
||||
JVM_handle_solaris_signal;
|
||||
|
||||
# miscellaneous functions
|
||||
|
@ -241,13 +241,19 @@ JVM_OBJ_FILES = $(Obj_Files) $(DTRACE_OBJS)
|
||||
|
||||
vm_version.o: $(filter-out vm_version.o,$(JVM_OBJ_FILES))
|
||||
|
||||
mapfile : $(MAPFILE) $(MAPFILE_DTRACE_OPT) vm.def mapfile_ext
|
||||
MAPFILE_SHARE := $(GAMMADIR)/make/share/makefiles/mapfile-vers
|
||||
|
||||
MAPFILE_EXT_SRC := $(HS_ALT_MAKE)/share/makefiles/mapfile-ext
|
||||
ifneq ("$(wildcard $(MAPFILE_EXT_SRC))","")
|
||||
MAPFILE_EXT := $(MAPFILE_EXT_SRC)
|
||||
endif
|
||||
|
||||
mapfile : $(MAPFILE) $(MAPFILE_SHARE) vm.def $(MAPFILE_EXT)
|
||||
rm -f $@
|
||||
cat $(MAPFILE) $(MAPFILE_DTRACE_OPT) \
|
||||
| $(NAWK) '{ \
|
||||
if ($$0 ~ "INSERT VTABLE SYMBOLS HERE") { \
|
||||
system ("cat mapfile_ext"); \
|
||||
system ("cat vm.def"); \
|
||||
system ("cat ${MAPFILE_SHARE} $(MAPFILE_EXT) vm.def"); \
|
||||
} else { \
|
||||
print $$0; \
|
||||
} \
|
||||
@ -260,12 +266,6 @@ mapfile_extended : mapfile $(MAPFILE_DTRACE_OPT)
|
||||
vm.def: $(Obj_Files)
|
||||
sh $(GAMMADIR)/make/solaris/makefiles/build_vm_def.sh *.o > $@
|
||||
|
||||
mapfile_ext:
|
||||
rm -f $@
|
||||
touch $@
|
||||
if [ -f $(HS_ALT_MAKE)/solaris/makefiles/mapfile-ext ]; then \
|
||||
cat $(HS_ALT_MAKE)/solaris/makefiles/mapfile-ext > $@; \
|
||||
fi
|
||||
|
||||
ifeq ($(LINK_INTO),AOUT)
|
||||
LIBJVM.o =
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
@ -1608,6 +1608,8 @@ void InterpreterMacroAssembler::profile_return_type(Register mdp, Register ret,
|
||||
test_method_data_pointer(mdp, profile_continue);
|
||||
|
||||
if (MethodData::profile_return_jsr292_only()) {
|
||||
assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2");
|
||||
|
||||
// If we don't profile all invoke bytecodes we must make sure
|
||||
// it's a bytecode we indeed profile. We can't go back to the
|
||||
// begining of the ProfileData we intend to update to check its
|
||||
@ -1620,7 +1622,7 @@ void InterpreterMacroAssembler::profile_return_type(Register mdp, Register ret,
|
||||
cmp(rscratch1, Bytecodes::_invokehandle);
|
||||
br(Assembler::EQ, do_profile);
|
||||
get_method(tmp);
|
||||
ldrb(rscratch1, Address(tmp, Method::intrinsic_id_offset_in_bytes()));
|
||||
ldrh(rscratch1, Address(tmp, Method::intrinsic_id_offset_in_bytes()));
|
||||
cmp(rscratch1, vmIntrinsics::_compiledLambdaForm);
|
||||
br(Assembler::NE, profile_continue);
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
@ -188,9 +188,11 @@ address MethodHandles::generate_method_handle_interpreter_entry(MacroAssembler*
|
||||
address entry_point = __ pc();
|
||||
|
||||
if (VerifyMethodHandles) {
|
||||
assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2");
|
||||
|
||||
Label L;
|
||||
BLOCK_COMMENT("verify_intrinsic_id {");
|
||||
__ ldrb(rscratch1, Address(rmethod, Method::intrinsic_id_offset_in_bytes()));
|
||||
__ ldrh(rscratch1, Address(rmethod, Method::intrinsic_id_offset_in_bytes()));
|
||||
__ cmp(rscratch1, (int) iid);
|
||||
__ br(Assembler::EQ, L);
|
||||
if (iid == vmIntrinsics::_linkToVirtual ||
|
||||
|
@ -1817,13 +1817,15 @@ void InterpreterMacroAssembler::profile_return_type(Register ret, Register tmp1,
|
||||
test_method_data_pointer(profile_continue);
|
||||
|
||||
if (MethodData::profile_return_jsr292_only()) {
|
||||
assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2");
|
||||
|
||||
// If we don't profile all invoke bytecodes we must make sure
|
||||
// it's a bytecode we indeed profile. We can't go back to the
|
||||
// begining of the ProfileData we intend to update to check its
|
||||
// type because we're right after it and we don't known its
|
||||
// length.
|
||||
lbz(tmp1, 0, R14_bcp);
|
||||
lbz(tmp2, Method::intrinsic_id_offset_in_bytes(), R19_method);
|
||||
lhz(tmp2, Method::intrinsic_id_offset_in_bytes(), R19_method);
|
||||
cmpwi(CCR0, tmp1, Bytecodes::_invokedynamic);
|
||||
cmpwi(CCR1, tmp1, Bytecodes::_invokehandle);
|
||||
cror(CCR0, Assembler::equal, CCR1, Assembler::equal);
|
||||
|
@ -224,11 +224,12 @@ address MethodHandles::generate_method_handle_interpreter_entry(MacroAssembler*
|
||||
address entry_point = __ pc();
|
||||
|
||||
if (VerifyMethodHandles) {
|
||||
assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2");
|
||||
|
||||
Label L;
|
||||
BLOCK_COMMENT("verify_intrinsic_id {");
|
||||
__ load_sized_value(temp1, Method::intrinsic_id_offset_in_bytes(), R19_method,
|
||||
sizeof(u1), /*is_signed*/ false);
|
||||
// assert(sizeof(u1) == sizeof(Method::_intrinsic_id), "");
|
||||
sizeof(u2), /*is_signed*/ false);
|
||||
__ cmpwi(CCR1, temp1, (int) iid);
|
||||
__ beq(CCR1, L);
|
||||
if (iid == vmIntrinsics::_linkToVirtual ||
|
||||
|
@ -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
|
||||
@ -2021,6 +2021,8 @@ void InterpreterMacroAssembler::profile_return_type(Register ret, Register tmp1,
|
||||
test_method_data_pointer(profile_continue);
|
||||
|
||||
if (MethodData::profile_return_jsr292_only()) {
|
||||
assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2");
|
||||
|
||||
// If we don't profile all invoke bytecodes we must make sure
|
||||
// it's a bytecode we indeed profile. We can't go back to the
|
||||
// begining of the ProfileData we intend to update to check its
|
||||
@ -2031,7 +2033,7 @@ void InterpreterMacroAssembler::profile_return_type(Register ret, Register tmp1,
|
||||
cmp_and_br_short(tmp1, Bytecodes::_invokedynamic, equal, pn, do_profile);
|
||||
cmp(tmp1, Bytecodes::_invokehandle);
|
||||
br(equal, false, pn, do_profile);
|
||||
delayed()->ldub(Lmethod, Method::intrinsic_id_offset_in_bytes(), tmp1);
|
||||
delayed()->lduh(Lmethod, Method::intrinsic_id_offset_in_bytes(), tmp1);
|
||||
cmp_and_br_short(tmp1, vmIntrinsics::_compiledLambdaForm, notEqual, pt, profile_continue);
|
||||
|
||||
bind(do_profile);
|
||||
|
@ -229,9 +229,11 @@ address MethodHandles::generate_method_handle_interpreter_entry(MacroAssembler*
|
||||
address entry_point = __ pc();
|
||||
|
||||
if (VerifyMethodHandles) {
|
||||
assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2");
|
||||
|
||||
Label L;
|
||||
BLOCK_COMMENT("verify_intrinsic_id {");
|
||||
__ ldub(Address(G5_method, Method::intrinsic_id_offset_in_bytes()), O1_scratch);
|
||||
__ lduh(Address(G5_method, Method::intrinsic_id_offset_in_bytes()), O1_scratch);
|
||||
__ cmp_and_br_short(O1_scratch, (int) iid, Assembler::equal, Assembler::pt, L);
|
||||
if (iid == vmIntrinsics::_linkToVirtual ||
|
||||
iid == vmIntrinsics::_linkToSpecial) {
|
||||
|
@ -169,6 +169,8 @@ void InterpreterMacroAssembler::profile_return_type(Register mdp, Register ret,
|
||||
test_method_data_pointer(mdp, profile_continue);
|
||||
|
||||
if (MethodData::profile_return_jsr292_only()) {
|
||||
assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2");
|
||||
|
||||
// If we don't profile all invoke bytecodes we must make sure
|
||||
// it's a bytecode we indeed profile. We can't go back to the
|
||||
// begining of the ProfileData we intend to update to check its
|
||||
@ -180,7 +182,7 @@ void InterpreterMacroAssembler::profile_return_type(Register mdp, Register ret,
|
||||
cmpb(Address(_bcp_register, 0), Bytecodes::_invokehandle);
|
||||
jcc(Assembler::equal, do_profile);
|
||||
get_method(tmp);
|
||||
cmpb(Address(tmp, Method::intrinsic_id_offset_in_bytes()), vmIntrinsics::_compiledLambdaForm);
|
||||
cmpw(Address(tmp, Method::intrinsic_id_offset_in_bytes()), vmIntrinsics::_compiledLambdaForm);
|
||||
jcc(Assembler::notEqual, profile_continue);
|
||||
|
||||
bind(do_profile);
|
||||
|
@ -222,9 +222,11 @@ address MethodHandles::generate_method_handle_interpreter_entry(MacroAssembler*
|
||||
address entry_point = __ pc();
|
||||
|
||||
if (VerifyMethodHandles) {
|
||||
assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2");
|
||||
|
||||
Label L;
|
||||
BLOCK_COMMENT("verify_intrinsic_id {");
|
||||
__ cmpb(Address(rbx_method, Method::intrinsic_id_offset_in_bytes()), (int) iid);
|
||||
__ cmpw(Address(rbx_method, Method::intrinsic_id_offset_in_bytes()), (int) iid);
|
||||
__ jcc(Assembler::equal, L);
|
||||
if (iid == vmIntrinsics::_linkToVirtual ||
|
||||
iid == vmIntrinsics::_linkToSpecial) {
|
||||
|
@ -1989,6 +1989,10 @@ methodHandle ClassFileParser::parse_method(bool is_interface,
|
||||
flags = JVM_ACC_STATIC;
|
||||
} else if ((flags & JVM_ACC_STATIC) == JVM_ACC_STATIC) {
|
||||
flags &= JVM_ACC_STATIC | JVM_ACC_STRICT;
|
||||
} else {
|
||||
// As of major_version 51, a method named <clinit> without ACC_STATIC is
|
||||
// just another method. So, do a normal method modifer check.
|
||||
verify_legal_method_modifiers(flags, is_interface, name, CHECK_(nullHandle));
|
||||
}
|
||||
} else {
|
||||
verify_legal_method_modifiers(flags, is_interface, name, CHECK_(nullHandle));
|
||||
|
@ -70,9 +70,12 @@ bool VerificationType::is_reference_assignable_from(
|
||||
if (this_class->is_interface() && (!from_field_is_protected ||
|
||||
from.name() != vmSymbols::java_lang_Object())) {
|
||||
// If we are not trying to access a protected field or method in
|
||||
// java.lang.Object then we treat interfaces as java.lang.Object,
|
||||
// including java.lang.Cloneable and java.io.Serializable.
|
||||
return true;
|
||||
// java.lang.Object then, for arrays, we only allow assignability
|
||||
// to interfaces java.lang.Cloneable and java.io.Serializable.
|
||||
// Otherwise, we treat interfaces as java.lang.Object.
|
||||
return !from.is_array() ||
|
||||
this_class == SystemDictionary::Cloneable_klass() ||
|
||||
this_class == SystemDictionary::Serializable_klass();
|
||||
} else if (from.is_object()) {
|
||||
Klass* from_class = SystemDictionary::resolve_or_fail(
|
||||
from.name(), Handle(THREAD, klass->class_loader()),
|
||||
|
@ -1579,9 +1579,11 @@ void ClassVerifier::verify_method(methodHandle m, TRAPS) {
|
||||
return;
|
||||
}
|
||||
// Make sure "this" has been initialized if current method is an
|
||||
// <init>
|
||||
// <init>. Note that "<init>" methods in interfaces are just
|
||||
// normal methods. Interfaces cannot have ctors.
|
||||
if (_method->name() == vmSymbols::object_initializer_name() &&
|
||||
current_frame.flag_this_uninit()) {
|
||||
current_frame.flag_this_uninit() &&
|
||||
!current_class()->is_interface()) {
|
||||
verify_error(ErrorContext::bad_code(bci),
|
||||
"Constructor must call super() or this() "
|
||||
"before return");
|
||||
|
@ -73,13 +73,6 @@
|
||||
|
||||
size_t G1CollectedHeap::_humongous_object_threshold_in_words = 0;
|
||||
|
||||
// turn it on so that the contents of the young list (scan-only /
|
||||
// to-be-collected) are printed at "strategic" points before / during
|
||||
// / after the collection --- this is useful for debugging
|
||||
#define YOUNG_LIST_VERBOSE 0
|
||||
// CURRENT STATUS
|
||||
// This file is under construction. Search for "FIXME".
|
||||
|
||||
// INVARIANTS/NOTES
|
||||
//
|
||||
// All allocation activity covered by the G1CollectedHeap interface is
|
||||
@ -4079,29 +4072,12 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) {
|
||||
// the possible verification above.
|
||||
double sample_start_time_sec = os::elapsedTime();
|
||||
|
||||
#if YOUNG_LIST_VERBOSE
|
||||
gclog_or_tty->print_cr("\nBefore recording pause start.\nYoung_list:");
|
||||
_young_list->print();
|
||||
g1_policy()->print_collection_set(g1_policy()->inc_cset_head(), gclog_or_tty);
|
||||
#endif // YOUNG_LIST_VERBOSE
|
||||
|
||||
g1_policy()->record_collection_pause_start(sample_start_time_sec);
|
||||
|
||||
#if YOUNG_LIST_VERBOSE
|
||||
gclog_or_tty->print_cr("\nAfter recording pause start.\nYoung_list:");
|
||||
_young_list->print();
|
||||
#endif // YOUNG_LIST_VERBOSE
|
||||
|
||||
if (collector_state()->during_initial_mark_pause()) {
|
||||
concurrent_mark()->checkpointRootsInitialPre();
|
||||
}
|
||||
|
||||
#if YOUNG_LIST_VERBOSE
|
||||
gclog_or_tty->print_cr("\nBefore choosing collection set.\nYoung_list:");
|
||||
_young_list->print();
|
||||
g1_policy()->print_collection_set(g1_policy()->inc_cset_head(), gclog_or_tty);
|
||||
#endif // YOUNG_LIST_VERBOSE
|
||||
|
||||
double time_remaining_ms = g1_policy()->finalize_young_cset_part(target_pause_time_ms);
|
||||
g1_policy()->finalize_old_cset_part(time_remaining_ms);
|
||||
|
||||
@ -4157,11 +4133,6 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) {
|
||||
assert(check_young_list_empty(false /* check_heap */),
|
||||
"young list should be empty");
|
||||
|
||||
#if YOUNG_LIST_VERBOSE
|
||||
gclog_or_tty->print_cr("Before recording survivors.\nYoung List:");
|
||||
_young_list->print();
|
||||
#endif // YOUNG_LIST_VERBOSE
|
||||
|
||||
g1_policy()->record_survivor_regions(_young_list->survivor_length(),
|
||||
_young_list->first_survivor_region(),
|
||||
_young_list->last_survivor_region());
|
||||
@ -4197,12 +4168,6 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) {
|
||||
|
||||
allocate_dummy_regions();
|
||||
|
||||
#if YOUNG_LIST_VERBOSE
|
||||
gclog_or_tty->print_cr("\nEnd of the pause.\nYoung_list:");
|
||||
_young_list->print();
|
||||
g1_policy()->print_collection_set(g1_policy()->inc_cset_head(), gclog_or_tty);
|
||||
#endif // YOUNG_LIST_VERBOSE
|
||||
|
||||
_allocator->init_mutator_alloc_region();
|
||||
|
||||
{
|
||||
|
@ -93,7 +93,7 @@ void G1EvacStats::adjust_desired_plab_sz() {
|
||||
size_t const used_for_waste_calculation = used() > _region_end_waste ? used() - _region_end_waste : 0;
|
||||
|
||||
size_t const total_waste_allowed = used_for_waste_calculation * TargetPLABWastePct;
|
||||
size_t const cur_plab_sz = (double)total_waste_allowed / G1LastPLABAverageOccupancy;
|
||||
size_t const cur_plab_sz = (size_t)((double)total_waste_allowed / G1LastPLABAverageOccupancy);
|
||||
// Take historical weighted average
|
||||
_filter.sample(cur_plab_sz);
|
||||
// Clip from above and below, and align to object boundary
|
||||
|
@ -88,8 +88,6 @@ void GCTracer::report_gc_reference_stats(const ReferenceProcessorStats& rps) con
|
||||
send_reference_stats_event(REF_WEAK, rps.weak_count());
|
||||
send_reference_stats_event(REF_FINAL, rps.final_count());
|
||||
send_reference_stats_event(REF_PHANTOM, rps.phantom_count());
|
||||
send_reference_stats_event(REF_CLEANER, rps.cleaner_count());
|
||||
send_reference_stats_event(REF_JNI, rps.jni_weak_ref_count());
|
||||
}
|
||||
|
||||
#if INCLUDE_SERVICES
|
||||
|
@ -243,13 +243,10 @@ ReferenceProcessorStats ReferenceProcessor::process_discovered_references(
|
||||
process_discovered_reflist(_discoveredPhantomRefs, NULL, false,
|
||||
is_alive, keep_alive, complete_gc, task_executor);
|
||||
|
||||
}
|
||||
|
||||
// Cleaners
|
||||
size_t cleaner_count = 0;
|
||||
{
|
||||
GCTraceTime tt("Cleaners", trace_time, false, gc_timer, gc_id);
|
||||
cleaner_count =
|
||||
// Process cleaners, but include them in phantom statistics. We expect
|
||||
// Cleaner references to be temporary, and don't want to deal with
|
||||
// possible incompatibilities arising from making it more visible.
|
||||
phantom_count +=
|
||||
process_discovered_reflist(_discoveredCleanerRefs, NULL, true,
|
||||
is_alive, keep_alive, complete_gc, task_executor);
|
||||
}
|
||||
@ -259,17 +256,15 @@ ReferenceProcessorStats ReferenceProcessor::process_discovered_references(
|
||||
// that is not how the JDK1.2 specification is. See #4126360. Native code can
|
||||
// thus use JNI weak references to circumvent the phantom references and
|
||||
// resurrect a "post-mortem" object.
|
||||
size_t jni_weak_ref_count = 0;
|
||||
{
|
||||
GCTraceTime tt("JNI Weak Reference", trace_time, false, gc_timer, gc_id);
|
||||
if (task_executor != NULL) {
|
||||
task_executor->set_single_threaded_mode();
|
||||
}
|
||||
jni_weak_ref_count =
|
||||
process_phaseJNI(is_alive, keep_alive, complete_gc);
|
||||
process_phaseJNI(is_alive, keep_alive, complete_gc);
|
||||
}
|
||||
|
||||
return ReferenceProcessorStats(soft_count, weak_count, final_count, phantom_count, cleaner_count, jni_weak_ref_count);
|
||||
return ReferenceProcessorStats(soft_count, weak_count, final_count, phantom_count);
|
||||
}
|
||||
|
||||
#ifndef PRODUCT
|
||||
@ -296,17 +291,17 @@ uint ReferenceProcessor::count_jni_refs() {
|
||||
}
|
||||
#endif
|
||||
|
||||
size_t ReferenceProcessor::process_phaseJNI(BoolObjectClosure* is_alive,
|
||||
OopClosure* keep_alive,
|
||||
VoidClosure* complete_gc) {
|
||||
DEBUG_ONLY(size_t check_count = count_jni_refs();)
|
||||
size_t count = JNIHandles::weak_oops_do(is_alive, keep_alive);
|
||||
assert(count == check_count, "Counts didn't match");
|
||||
complete_gc->do_void();
|
||||
void ReferenceProcessor::process_phaseJNI(BoolObjectClosure* is_alive,
|
||||
OopClosure* keep_alive,
|
||||
VoidClosure* complete_gc) {
|
||||
#ifndef PRODUCT
|
||||
if (PrintGCDetails && PrintReferenceGC) {
|
||||
gclog_or_tty->print(", " SIZE_FORMAT " refs", count);
|
||||
unsigned int count = count_jni_refs();
|
||||
gclog_or_tty->print(", %u refs", count);
|
||||
}
|
||||
return count;
|
||||
#endif
|
||||
JNIHandles::weak_oops_do(is_alive, keep_alive);
|
||||
complete_gc->do_void();
|
||||
}
|
||||
|
||||
|
||||
@ -946,10 +941,9 @@ inline DiscoveredList* ReferenceProcessor::get_discovered_list(ReferenceType rt)
|
||||
list = &_discoveredCleanerRefs[id];
|
||||
break;
|
||||
case REF_NONE:
|
||||
case REF_JNI:
|
||||
// we should not reach here if we are an InstanceRefKlass
|
||||
default:
|
||||
guarantee(false, err_msg("rt should not be %d", rt));
|
||||
ShouldNotReachHere();
|
||||
}
|
||||
if (TraceReferenceGC && PrintGCDetails) {
|
||||
gclog_or_tty->print_cr("Thread %d gets list " INTPTR_FORMAT, id, p2i(list));
|
||||
|
@ -247,7 +247,7 @@ class ReferenceProcessor : public CHeapObj<mtGC> {
|
||||
DiscoveredList* _discoveredCleanerRefs;
|
||||
|
||||
public:
|
||||
static int number_of_subclasses_of_ref() { return REF_LISTS_COUNT; }
|
||||
static int number_of_subclasses_of_ref() { return (REF_CLEANER - REF_OTHER); }
|
||||
|
||||
uint num_q() { return _num_q; }
|
||||
uint max_num_q() { return _max_num_q; }
|
||||
@ -271,9 +271,9 @@ class ReferenceProcessor : public CHeapObj<mtGC> {
|
||||
VoidClosure* complete_gc,
|
||||
AbstractRefProcTaskExecutor* task_executor);
|
||||
|
||||
size_t process_phaseJNI(BoolObjectClosure* is_alive,
|
||||
OopClosure* keep_alive,
|
||||
VoidClosure* complete_gc);
|
||||
void process_phaseJNI(BoolObjectClosure* is_alive,
|
||||
OopClosure* keep_alive,
|
||||
VoidClosure* complete_gc);
|
||||
|
||||
// Work methods used by the method process_discovered_reflist
|
||||
// Phase1: keep alive all those referents that are otherwise
|
||||
|
@ -36,30 +36,22 @@ class ReferenceProcessorStats {
|
||||
size_t _weak_count;
|
||||
size_t _final_count;
|
||||
size_t _phantom_count;
|
||||
size_t _cleaner_count;
|
||||
size_t _jni_weak_ref_count;
|
||||
|
||||
public:
|
||||
ReferenceProcessorStats() :
|
||||
_soft_count(0),
|
||||
_weak_count(0),
|
||||
_final_count(0),
|
||||
_phantom_count(0),
|
||||
_cleaner_count(0),
|
||||
_jni_weak_ref_count(0) {}
|
||||
_phantom_count(0) {}
|
||||
|
||||
ReferenceProcessorStats(size_t soft_count,
|
||||
size_t weak_count,
|
||||
size_t final_count,
|
||||
size_t phantom_count,
|
||||
size_t cleaner_count,
|
||||
size_t jni_weak_ref_count) :
|
||||
size_t phantom_count) :
|
||||
_soft_count(soft_count),
|
||||
_weak_count(weak_count),
|
||||
_final_count(final_count),
|
||||
_phantom_count(phantom_count),
|
||||
_cleaner_count(cleaner_count),
|
||||
_jni_weak_ref_count(jni_weak_ref_count)
|
||||
_phantom_count(phantom_count)
|
||||
{}
|
||||
|
||||
size_t soft_count() const {
|
||||
@ -77,13 +69,5 @@ class ReferenceProcessorStats {
|
||||
size_t phantom_count() const {
|
||||
return _phantom_count;
|
||||
}
|
||||
|
||||
size_t cleaner_count() const {
|
||||
return _cleaner_count;
|
||||
}
|
||||
|
||||
size_t jni_weak_ref_count() const {
|
||||
return _jni_weak_ref_count;
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
@ -32,15 +32,11 @@
|
||||
enum ReferenceType {
|
||||
REF_NONE, // Regular class
|
||||
REF_OTHER, // Subclass of java/lang/ref/Reference, but not subclass of one of the classes below
|
||||
///////////////// Only the types below have their own discovered lists
|
||||
REF_SOFT, // Subclass of java/lang/ref/SoftReference
|
||||
REF_WEAK, // Subclass of java/lang/ref/WeakReference
|
||||
REF_FINAL, // Subclass of java/lang/ref/FinalReference
|
||||
REF_PHANTOM, // Subclass of java/lang/ref/PhantomReference
|
||||
REF_CLEANER, // Subclass of sun/misc/Cleaner
|
||||
///////////////// Only the types in the above range have their own discovered lists
|
||||
REF_JNI, // JNI weak refs
|
||||
REF_LISTS_COUNT = REF_CLEANER - REF_OTHER // Number of discovered lists
|
||||
REF_CLEANER // Subclass of sun/misc/Cleaner
|
||||
};
|
||||
|
||||
#endif // SHARE_VM_MEMORY_REFERENCETYPE_HPP
|
||||
|
@ -72,7 +72,7 @@ class Method : public Metadata {
|
||||
int _result_index; // C++ interpreter needs for converting results to/from stack
|
||||
#endif
|
||||
u2 _method_size; // size of this object
|
||||
u1 _intrinsic_id; // vmSymbols::intrinsic_id (0 == _none)
|
||||
u2 _intrinsic_id; // vmSymbols::intrinsic_id (0 == _none)
|
||||
|
||||
// Flags
|
||||
enum Flags {
|
||||
@ -653,7 +653,7 @@ class Method : public Metadata {
|
||||
// for code generation
|
||||
static int method_data_offset_in_bytes() { return offset_of(Method, _method_data); }
|
||||
static int intrinsic_id_offset_in_bytes() { return offset_of(Method, _intrinsic_id); }
|
||||
static int intrinsic_id_size_in_bytes() { return sizeof(u1); }
|
||||
static int intrinsic_id_size_in_bytes() { return sizeof(u2); }
|
||||
|
||||
// Static methods that are used to implement member methods where an exposed this pointer
|
||||
// is needed due to possible GCs
|
||||
@ -777,7 +777,7 @@ class Method : public Metadata {
|
||||
|
||||
// Support for inlining of intrinsic methods
|
||||
vmIntrinsics::ID intrinsic_id() const { return (vmIntrinsics::ID) _intrinsic_id; }
|
||||
void set_intrinsic_id(vmIntrinsics::ID id) { _intrinsic_id = (u1) id; }
|
||||
void set_intrinsic_id(vmIntrinsics::ID id) { _intrinsic_id = (u2) id; }
|
||||
|
||||
// Helper routines for intrinsic_id() and vmIntrinsics::method().
|
||||
void init_intrinsic_id(); // updates from _none if a match
|
||||
|
@ -2181,8 +2181,8 @@ void JvmtiExport::oops_do(OopClosure* f) {
|
||||
JvmtiVMObjectAllocEventCollector::oops_do_for_all_threads(f);
|
||||
}
|
||||
|
||||
size_t JvmtiExport::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f) {
|
||||
return JvmtiTagMap::weak_oops_do(is_alive, f);
|
||||
void JvmtiExport::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f) {
|
||||
JvmtiTagMap::weak_oops_do(is_alive, f);
|
||||
}
|
||||
|
||||
void JvmtiExport::gc_epilogue() {
|
||||
|
@ -366,7 +366,7 @@ class JvmtiExport : public AllStatic {
|
||||
static void clear_detected_exception (JavaThread* thread) NOT_JVMTI_RETURN;
|
||||
|
||||
static void oops_do(OopClosure* f) NOT_JVMTI_RETURN;
|
||||
static size_t weak_oops_do(BoolObjectClosure* b, OopClosure* f) NOT_JVMTI_RETURN_(0);
|
||||
static void weak_oops_do(BoolObjectClosure* b, OopClosure* f) NOT_JVMTI_RETURN;
|
||||
static void gc_epilogue() NOT_JVMTI_RETURN;
|
||||
|
||||
static void transition_pending_onload_raw_monitors() NOT_JVMTI_RETURN;
|
||||
|
@ -3284,35 +3284,32 @@ void JvmtiTagMap::follow_references(jint heap_filter,
|
||||
}
|
||||
|
||||
|
||||
size_t JvmtiTagMap::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f) {
|
||||
void JvmtiTagMap::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f) {
|
||||
// No locks during VM bring-up (0 threads) and no safepoints after main
|
||||
// thread creation and before VMThread creation (1 thread); initial GC
|
||||
// verification can happen in that window which gets to here.
|
||||
assert(Threads::number_of_threads() <= 1 ||
|
||||
SafepointSynchronize::is_at_safepoint(),
|
||||
"must be executed at a safepoint");
|
||||
size_t count = 0;
|
||||
if (JvmtiEnv::environments_might_exist()) {
|
||||
JvmtiEnvIterator it;
|
||||
for (JvmtiEnvBase* env = it.first(); env != NULL; env = it.next(env)) {
|
||||
JvmtiTagMap* tag_map = env->tag_map();
|
||||
if (tag_map != NULL && !tag_map->is_empty()) {
|
||||
count += tag_map->do_weak_oops(is_alive, f);
|
||||
tag_map->do_weak_oops(is_alive, f);
|
||||
}
|
||||
}
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
size_t JvmtiTagMap::do_weak_oops(BoolObjectClosure* is_alive, OopClosure* f) {
|
||||
void JvmtiTagMap::do_weak_oops(BoolObjectClosure* is_alive, OopClosure* f) {
|
||||
|
||||
// does this environment have the OBJECT_FREE event enabled
|
||||
bool post_object_free = env()->is_enabled(JVMTI_EVENT_OBJECT_FREE);
|
||||
|
||||
// counters used for trace message
|
||||
size_t freed = 0;
|
||||
size_t moved = 0;
|
||||
size_t stayed = 0;
|
||||
int freed = 0;
|
||||
int moved = 0;
|
||||
|
||||
JvmtiTagHashmap* hashmap = this->hashmap();
|
||||
|
||||
@ -3321,7 +3318,7 @@ size_t JvmtiTagMap::do_weak_oops(BoolObjectClosure* is_alive, OopClosure* f) {
|
||||
|
||||
// if the hashmap is empty then we can skip it
|
||||
if (hashmap->_entry_count == 0) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
// now iterate through each entry in the table
|
||||
@ -3383,7 +3380,6 @@ size_t JvmtiTagMap::do_weak_oops(BoolObjectClosure* is_alive, OopClosure* f) {
|
||||
} else {
|
||||
// object didn't move
|
||||
prev = entry;
|
||||
stayed++;
|
||||
}
|
||||
}
|
||||
|
||||
@ -3402,12 +3398,10 @@ size_t JvmtiTagMap::do_weak_oops(BoolObjectClosure* is_alive, OopClosure* f) {
|
||||
|
||||
// stats
|
||||
if (TraceJVMTIObjectTagging) {
|
||||
size_t post_total = hashmap->_entry_count;
|
||||
size_t pre_total = post_total + freed;
|
||||
int post_total = hashmap->_entry_count;
|
||||
int pre_total = post_total + freed;
|
||||
|
||||
tty->print_cr("(" SIZE_FORMAT "->" SIZE_FORMAT ", " SIZE_FORMAT " freed, " SIZE_FORMAT " stayed, " SIZE_FORMAT " moved)",
|
||||
pre_total, post_total, freed, stayed, moved);
|
||||
tty->print_cr("(%d->%d, %d freed, %d total moves)",
|
||||
pre_total, post_total, freed, moved);
|
||||
}
|
||||
|
||||
return (freed + stayed + moved);
|
||||
}
|
||||
|
@ -60,7 +60,7 @@ class JvmtiTagMap : public CHeapObj<mtInternal> {
|
||||
inline Mutex* lock() { return &_lock; }
|
||||
inline JvmtiEnv* env() const { return _env; }
|
||||
|
||||
size_t do_weak_oops(BoolObjectClosure* is_alive, OopClosure* f);
|
||||
void do_weak_oops(BoolObjectClosure* is_alive, OopClosure* f);
|
||||
|
||||
// iterate over all entries in this tag map
|
||||
void entry_iterate(JvmtiTagHashmapEntryClosure* closure);
|
||||
@ -122,8 +122,8 @@ class JvmtiTagMap : public CHeapObj<mtInternal> {
|
||||
jint* count_ptr, jobject** object_result_ptr,
|
||||
jlong** tag_result_ptr);
|
||||
|
||||
static size_t weak_oops_do(BoolObjectClosure* is_alive,
|
||||
OopClosure* f) NOT_JVMTI_RETURN_(0);
|
||||
static void weak_oops_do(
|
||||
BoolObjectClosure* is_alive, OopClosure* f) NOT_JVMTI_RETURN;
|
||||
};
|
||||
|
||||
#endif // SHARE_VM_PRIMS_JVMTITAGMAP_HPP
|
||||
|
@ -118,7 +118,7 @@ char* Arguments::_ext_dirs = NULL;
|
||||
// part of the option string.
|
||||
static bool match_option(const JavaVMOption *option, const char* name,
|
||||
const char** tail) {
|
||||
int len = (int)strlen(name);
|
||||
size_t len = strlen(name);
|
||||
if (strncmp(option->optionString, name, len) == 0) {
|
||||
*tail = option->optionString + len;
|
||||
return true;
|
||||
@ -219,11 +219,9 @@ void Arguments::init_system_properties() {
|
||||
void Arguments::init_version_specific_system_properties() {
|
||||
enum { bufsz = 16 };
|
||||
char buffer[bufsz];
|
||||
const char* spec_vendor = "Sun Microsystems Inc.";
|
||||
uint32_t spec_version = 0;
|
||||
const char* spec_vendor = "Oracle Corporation";
|
||||
uint32_t spec_version = JDK_Version::current().major_version();
|
||||
|
||||
spec_vendor = "Oracle Corporation";
|
||||
spec_version = JDK_Version::current().major_version();
|
||||
jio_snprintf(buffer, bufsz, "1." UINT32_FORMAT, spec_version);
|
||||
|
||||
PropertyList_add(&_system_properties,
|
||||
@ -234,75 +232,290 @@ void Arguments::init_version_specific_system_properties() {
|
||||
new SystemProperty("java.vm.vendor", VM_Version::vm_vendor(), false));
|
||||
}
|
||||
|
||||
/**
|
||||
* Provide a slightly more user-friendly way of eliminating -XX flags.
|
||||
* When a flag is eliminated, it can be added to this list in order to
|
||||
* continue accepting this flag on the command-line, while issuing a warning
|
||||
* and ignoring the value. Once the JDK version reaches the 'accept_until'
|
||||
* limit, we flatly refuse to admit the existence of the flag. This allows
|
||||
* a flag to die correctly over JDK releases using HSX.
|
||||
* But now that HSX is no longer supported only options with a future
|
||||
* accept_until value need to be listed, and the list can be pruned
|
||||
* on each major release.
|
||||
/*
|
||||
* -XX argument processing:
|
||||
*
|
||||
* -XX arguments are defined in several places, such as:
|
||||
* globals.hpp, globals_<cpu>.hpp, globals_<os>.hpp, <compiler>_globals.hpp, or <gc>_globals.hpp.
|
||||
* -XX arguments are parsed in parse_argument().
|
||||
* -XX argument bounds checking is done in check_vm_args_consistency().
|
||||
*
|
||||
* Over time -XX arguments may change. There are mechanisms to handle common cases:
|
||||
*
|
||||
* ALIASED: An option that is simply another name for another option. This is often
|
||||
* part of the process of deprecating a flag, but not all aliases need
|
||||
* to be deprecated.
|
||||
*
|
||||
* Create an alias for an option by adding the old and new option names to the
|
||||
* "aliased_jvm_flags" table. Delete the old variable from globals.hpp (etc).
|
||||
*
|
||||
* DEPRECATED: An option that is supported, but a warning is printed to let the user know that
|
||||
* support may be removed in the future. Both regular and aliased options may be
|
||||
* deprecated.
|
||||
*
|
||||
* Add a deprecation warning for an option (or alias) by adding an entry in the
|
||||
* "special_jvm_flags" table and setting the "deprecated_in" field.
|
||||
* Often an option "deprecated" in one major release will
|
||||
* be made "obsolete" in the next. In this case the entry should also have it's
|
||||
* "obsolete_in" field set.
|
||||
*
|
||||
* OBSOLETE: An option that has been removed (and deleted from globals.hpp), but is still accepted
|
||||
* on the command line. A warning is printed to let the user know that option might not
|
||||
* be accepted in the future.
|
||||
*
|
||||
* Add an obsolete warning for an option by adding an entry in the "special_jvm_flags"
|
||||
* table and setting the "obsolete_in" field.
|
||||
*
|
||||
* EXPIRED: A deprecated or obsolete option that has an "accept_until" version less than or equal
|
||||
* to the current JDK version. The system will flatly refuse to admit the existence of
|
||||
* the flag. This allows a flag to die automatically over JDK releases.
|
||||
*
|
||||
* Note that manual cleanup of expired options should be done at major JDK version upgrades:
|
||||
* - Newly expired options should be removed from the special_jvm_flags and aliased_jvm_flags tables.
|
||||
* - Newly obsolete or expired deprecated options should have their global variable
|
||||
* definitions removed (from globals.hpp, etc) and related implementations removed.
|
||||
*
|
||||
* Recommended approach for removing options:
|
||||
*
|
||||
* To remove options commonly used by customers (e.g. product, commercial -XX options), use
|
||||
* the 3-step model adding major release numbers to the deprecate, obsolete and expire columns.
|
||||
*
|
||||
* To remove internal options (e.g. diagnostic, experimental, develop options), use
|
||||
* a 2-step model adding major release numbers to the obsolete and expire columns.
|
||||
*
|
||||
* To change the name of an option, use the alias table as well as a 2-step
|
||||
* model adding major release numbers to the deprecate and expire columns.
|
||||
* Think twice about aliasing commonly used customer options.
|
||||
*
|
||||
* There are times when it is appropriate to leave a future release number as undefined.
|
||||
*
|
||||
* Tests: Aliases should be tested in VMAliasOptions.java.
|
||||
* Deprecated options should be tested in VMDeprecatedOptions.java.
|
||||
*/
|
||||
|
||||
// Obsolete or deprecated -XX flag.
|
||||
typedef struct {
|
||||
const char* name;
|
||||
JDK_Version obsoleted_in; // when the flag went away
|
||||
JDK_Version accept_until; // which version to start denying the existence
|
||||
} ObsoleteFlag;
|
||||
JDK_Version deprecated_in; // When the deprecation warning started (or "undefined").
|
||||
JDK_Version obsolete_in; // When the obsolete warning started (or "undefined").
|
||||
JDK_Version expired_in; // When the option expires (or "undefined").
|
||||
} SpecialFlag;
|
||||
|
||||
static ObsoleteFlag obsolete_jvm_flags[] = {
|
||||
{ "UseOldInlining", JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "SafepointPollOffset", JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "UseBoundThreads", JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "DefaultThreadPriority", JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "NoYieldsInMicrolock", JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "BackEdgeThreshold", JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "UseNewReflection", JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "ReflectionWrapResolutionErrors",JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "VerifyReflectionBytecodes", JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "AutoShutdownNMT", JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "NmethodSweepFraction", JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "NmethodSweepCheckInterval", JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "CodeCacheMinimumFreeSpace", JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
// The special_jvm_flags table declares options that are being deprecated and/or obsoleted. The
|
||||
// "deprecated_in" or "obsolete_in" fields may be set to "undefined", but not both.
|
||||
// When the JDK version reaches 'deprecated_in' limit, the JVM will process this flag on
|
||||
// the command-line as usual, but will issue a warning.
|
||||
// When the JDK version reaches 'obsolete_in' limit, the JVM will continue accepting this flag on
|
||||
// the command-line, while issuing a warning and ignoring the flag value.
|
||||
// Once the JDK version reaches 'expired_in' limit, the JVM will flatly refuse to admit the
|
||||
// existence of the flag.
|
||||
//
|
||||
// MANUAL CLEANUP ON JDK VERSION UPDATES:
|
||||
// This table ensures that the handling of options will update automatically when the JDK
|
||||
// version is incremented, but the source code needs to be cleanup up manually:
|
||||
// - As "deprecated" options age into "obsolete" or "expired" options, the associated "globals"
|
||||
// variable should be removed, as well as users of the variable.
|
||||
// - As "deprecated" options age into "obsolete" options, move the entry into the
|
||||
// "Obsolete Flags" section of the table.
|
||||
// - All expired options should be removed from the table.
|
||||
static SpecialFlag const special_jvm_flags[] = {
|
||||
// -------------- Deprecated Flags --------------
|
||||
// --- Non-alias flags - sorted by obsolete_in then expired_in:
|
||||
{ "MaxGCMinorPauseMillis", JDK_Version::jdk(8), JDK_Version::undefined(), JDK_Version::undefined() },
|
||||
{ "UseParNewGC", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) },
|
||||
|
||||
// --- Deprecated alias flags (see also aliased_jvm_flags) - sorted by obsolete_in then expired_in:
|
||||
{ "DefaultMaxRAMFraction", JDK_Version::jdk(8), JDK_Version::undefined(), JDK_Version::undefined() },
|
||||
{ "CreateMinidumpOnCrash", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() },
|
||||
{ "CMSMarkStackSizeMax", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) },
|
||||
{ "CMSMarkStackSize", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) },
|
||||
{ "G1MarkStackSize", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) },
|
||||
{ "ParallelMarkingThreads", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) },
|
||||
{ "ParallelCMSThreads", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) },
|
||||
|
||||
// -------------- Obsolete Flags - sorted by expired_in --------------
|
||||
{ "UseOldInlining", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "SafepointPollOffset", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "UseBoundThreads", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "DefaultThreadPriority", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "NoYieldsInMicrolock", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "BackEdgeThreshold", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "UseNewReflection", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "ReflectionWrapResolutionErrors",JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "VerifyReflectionBytecodes", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "AutoShutdownNMT", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "NmethodSweepFraction", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "NmethodSweepCheckInterval", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "CodeCacheMinimumFreeSpace", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
#ifndef ZERO
|
||||
{ "UseFastAccessorMethods", JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "UseFastEmptyMethods", JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "UseFastAccessorMethods", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "UseFastEmptyMethods", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
#endif // ZERO
|
||||
{ "UseCompilerSafepoints", JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "AdaptiveSizePausePolicy", JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "ParallelGCRetainPLAB", JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "ThreadSafetyMargin", JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "LazyBootClassLoader", JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "StarvationMonitorInterval", JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "PreInflateSpin", JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "UseCompilerSafepoints", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "AdaptiveSizePausePolicy", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "ParallelGCRetainPLAB", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "ThreadSafetyMargin", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "LazyBootClassLoader", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "StarvationMonitorInterval", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
{ "PreInflateSpin", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
|
||||
|
||||
#ifdef TEST_VERIFY_SPECIAL_JVM_FLAGS
|
||||
{ "dep > obs", JDK_Version::jdk(9), JDK_Version::jdk(8), JDK_Version::undefined() },
|
||||
{ "dep > exp ", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(8) },
|
||||
{ "obs > exp ", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(8) },
|
||||
{ "not deprecated or obsolete", JDK_Version::undefined(), JDK_Version::undefined(), JDK_Version::jdk(9) },
|
||||
{ "dup option", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() },
|
||||
{ "dup option", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() },
|
||||
{ "BytecodeVerificationRemote", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::undefined() },
|
||||
#endif
|
||||
|
||||
{ NULL, JDK_Version(0), JDK_Version(0) }
|
||||
};
|
||||
|
||||
// Returns true if the flag is obsolete and fits into the range specified
|
||||
// for being ignored. In the case that the flag is ignored, the 'version'
|
||||
// value is filled in with the version number when the flag became
|
||||
// obsolete so that that value can be displayed to the user.
|
||||
bool Arguments::is_newly_obsolete(const char *s, JDK_Version* version) {
|
||||
int i = 0;
|
||||
assert(version != NULL, "Must provide a version buffer");
|
||||
while (obsolete_jvm_flags[i].name != NULL) {
|
||||
const ObsoleteFlag& flag_status = obsolete_jvm_flags[i];
|
||||
// <flag>=xxx form
|
||||
// [-|+]<flag> form
|
||||
size_t len = strlen(flag_status.name);
|
||||
if ((strncmp(flag_status.name, s, len) == 0) &&
|
||||
(strlen(s) == len)){
|
||||
if (JDK_Version::current().compare(flag_status.accept_until) == -1) {
|
||||
*version = flag_status.obsoleted_in;
|
||||
return true;
|
||||
}
|
||||
// Flags that are aliases for other flags.
|
||||
typedef struct {
|
||||
const char* alias_name;
|
||||
const char* real_name;
|
||||
} AliasedFlag;
|
||||
|
||||
static AliasedFlag const aliased_jvm_flags[] = {
|
||||
{ "DefaultMaxRAMFraction", "MaxRAMFraction" },
|
||||
{ "CMSMarkStackSizeMax", "MarkStackSizeMax" },
|
||||
{ "CMSMarkStackSize", "MarkStackSize" },
|
||||
{ "G1MarkStackSize", "MarkStackSize" },
|
||||
{ "ParallelMarkingThreads", "ConcGCThreads" },
|
||||
{ "ParallelCMSThreads", "ConcGCThreads" },
|
||||
{ "CreateMinidumpOnCrash", "CreateCoredumpOnCrash" },
|
||||
{ NULL, NULL}
|
||||
};
|
||||
|
||||
// Return true if "v" is less than "other", where "other" may be "undefined".
|
||||
static bool version_less_than(JDK_Version v, JDK_Version other) {
|
||||
assert(!v.is_undefined(), "must be defined");
|
||||
if (!other.is_undefined() && v.compare(other) >= 0) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
static bool lookup_special_flag(const char *flag_name, SpecialFlag& flag) {
|
||||
for (size_t i = 0; special_jvm_flags[i].name != NULL; i++) {
|
||||
if ((strcmp(special_jvm_flags[i].name, flag_name) == 0)) {
|
||||
flag = special_jvm_flags[i];
|
||||
return true;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Arguments::is_obsolete_flag(const char *flag_name, JDK_Version* version) {
|
||||
assert(version != NULL, "Must provide a version buffer");
|
||||
SpecialFlag flag;
|
||||
if (lookup_special_flag(flag_name, flag)) {
|
||||
if (!flag.obsolete_in.is_undefined()) {
|
||||
if (version_less_than(JDK_Version::current(), flag.expired_in)) {
|
||||
*version = flag.obsolete_in;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
int Arguments::is_deprecated_flag(const char *flag_name, JDK_Version* version) {
|
||||
assert(version != NULL, "Must provide a version buffer");
|
||||
SpecialFlag flag;
|
||||
if (lookup_special_flag(flag_name, flag)) {
|
||||
if (!flag.deprecated_in.is_undefined()) {
|
||||
if (version_less_than(JDK_Version::current(), flag.obsolete_in) &&
|
||||
version_less_than(JDK_Version::current(), flag.expired_in)) {
|
||||
*version = flag.deprecated_in;
|
||||
return 1;
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char* Arguments::real_flag_name(const char *flag_name) {
|
||||
for (size_t i = 0; aliased_jvm_flags[i].alias_name != NULL; i++) {
|
||||
const AliasedFlag& flag_status = aliased_jvm_flags[i];
|
||||
if (strcmp(flag_status.alias_name, flag_name) == 0) {
|
||||
return flag_status.real_name;
|
||||
}
|
||||
}
|
||||
return flag_name;
|
||||
}
|
||||
|
||||
#ifndef PRODUCT
|
||||
static bool lookup_special_flag(const char *flag_name, size_t skip_index) {
|
||||
for (size_t i = 0; special_jvm_flags[i].name != NULL; i++) {
|
||||
if ((i != skip_index) && (strcmp(special_jvm_flags[i].name, flag_name) == 0)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool verify_special_jvm_flags() {
|
||||
bool success = true;
|
||||
for (size_t i = 0; special_jvm_flags[i].name != NULL; i++) {
|
||||
const SpecialFlag& flag = special_jvm_flags[i];
|
||||
if (lookup_special_flag(flag.name, i)) {
|
||||
warning("Duplicate special flag declaration \"%s\"", flag.name);
|
||||
success = false;
|
||||
}
|
||||
if (flag.deprecated_in.is_undefined() &&
|
||||
flag.obsolete_in.is_undefined()) {
|
||||
warning("Special flag entry \"%s\" must declare version deprecated and/or obsoleted in.", flag.name);
|
||||
success = false;
|
||||
}
|
||||
|
||||
if (!flag.deprecated_in.is_undefined()) {
|
||||
if (!version_less_than(flag.deprecated_in, flag.obsolete_in)) {
|
||||
warning("Special flag entry \"%s\" must be deprecated before obsoleted.", flag.name);
|
||||
success = false;
|
||||
}
|
||||
|
||||
if (!version_less_than(flag.deprecated_in, flag.expired_in)) {
|
||||
warning("Special flag entry \"%s\" must be deprecated before expired.", flag.name);
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!flag.obsolete_in.is_undefined()) {
|
||||
if (!version_less_than(flag.obsolete_in, flag.expired_in)) {
|
||||
warning("Special flag entry \"%s\" must be obsoleted before expired.", flag.name);
|
||||
success = false;
|
||||
}
|
||||
|
||||
// if flag has become obsolete it should not have a "globals" flag defined anymore.
|
||||
if (!version_less_than(JDK_Version::current(), flag.obsolete_in)) {
|
||||
if (Flag::find_flag(flag.name) != NULL) {
|
||||
warning("Global variable for obsolete special flag entry \"%s\" should be removed", flag.name);
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!flag.expired_in.is_undefined()) {
|
||||
// if flag has become expired it should not have a "globals" flag defined anymore.
|
||||
if (!version_less_than(JDK_Version::current(), flag.expired_in)) {
|
||||
if (Flag::find_flag(flag.name) != NULL) {
|
||||
warning("Global variable for expired flag entry \"%s\" should be removed", flag.name);
|
||||
success = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return success;
|
||||
}
|
||||
#endif
|
||||
|
||||
// Constructs the system class path (aka boot class path) from the following
|
||||
// components, in order:
|
||||
//
|
||||
@ -571,7 +784,7 @@ void Arguments::describe_range_error(ArgsRange errcode) {
|
||||
}
|
||||
}
|
||||
|
||||
static bool set_bool_flag(char* name, bool value, Flag::Flags origin) {
|
||||
static bool set_bool_flag(const char* name, bool value, Flag::Flags origin) {
|
||||
if (CommandLineFlags::boolAtPut(name, &value, origin) == Flag::SUCCESS) {
|
||||
return true;
|
||||
} else {
|
||||
@ -579,7 +792,7 @@ static bool set_bool_flag(char* name, bool value, Flag::Flags origin) {
|
||||
}
|
||||
}
|
||||
|
||||
static bool set_fp_numeric_flag(char* name, char* value, Flag::Flags origin) {
|
||||
static bool set_fp_numeric_flag(const char* name, char* value, Flag::Flags origin) {
|
||||
double v;
|
||||
if (sscanf(value, "%lf", &v) != 1) {
|
||||
return false;
|
||||
@ -591,7 +804,7 @@ static bool set_fp_numeric_flag(char* name, char* value, Flag::Flags origin) {
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool set_numeric_flag(char* name, char* value, Flag::Flags origin) {
|
||||
static bool set_numeric_flag(const char* name, char* value, Flag::Flags origin) {
|
||||
julong v;
|
||||
int int_v;
|
||||
intx intx_v;
|
||||
@ -640,14 +853,14 @@ static bool set_numeric_flag(char* name, char* value, Flag::Flags origin) {
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool set_string_flag(char* name, const char* value, Flag::Flags origin) {
|
||||
static bool set_string_flag(const char* name, const char* value, Flag::Flags origin) {
|
||||
if (CommandLineFlags::ccstrAtPut(name, &value, origin) != Flag::SUCCESS) return false;
|
||||
// Contract: CommandLineFlags always returns a pointer that needs freeing.
|
||||
FREE_C_HEAP_ARRAY(char, value);
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool append_to_string_flag(char* name, const char* new_value, Flag::Flags origin) {
|
||||
static bool append_to_string_flag(const char* name, const char* new_value, Flag::Flags origin) {
|
||||
const char* old_value = "";
|
||||
if (CommandLineFlags::ccstrAt(name, &old_value) != Flag::SUCCESS) return false;
|
||||
size_t old_len = old_value != NULL ? strlen(old_value) : 0;
|
||||
@ -675,6 +888,33 @@ static bool append_to_string_flag(char* name, const char* new_value, Flag::Flags
|
||||
return true;
|
||||
}
|
||||
|
||||
const char* Arguments::handle_aliases_and_deprecation(const char* arg, bool warn) {
|
||||
const char* real_name = real_flag_name(arg);
|
||||
JDK_Version since = JDK_Version();
|
||||
switch (is_deprecated_flag(arg, &since)) {
|
||||
case -1:
|
||||
return NULL; // obsolete or expired, don't process normally
|
||||
case 0:
|
||||
return real_name;
|
||||
case 1: {
|
||||
if (warn) {
|
||||
char version[256];
|
||||
since.to_string(version, sizeof(version));
|
||||
if (real_name != arg) {
|
||||
warning("Option %s was deprecated in version %s and will likely be removed in a future release. Use option %s instead.",
|
||||
arg, version, real_name);
|
||||
} else {
|
||||
warning("Option %s was deprecated in version %s and will likely be removed in a future release.",
|
||||
arg, version);
|
||||
}
|
||||
}
|
||||
return real_name;
|
||||
}
|
||||
}
|
||||
ShouldNotReachHere();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bool Arguments::parse_argument(const char* arg, Flag::Flags origin) {
|
||||
|
||||
// range of acceptable characters spelled out for portability reasons
|
||||
@ -682,27 +922,46 @@ bool Arguments::parse_argument(const char* arg, Flag::Flags origin) {
|
||||
#define BUFLEN 255
|
||||
char name[BUFLEN+1];
|
||||
char dummy;
|
||||
const char* real_name;
|
||||
bool warn_if_deprecated = true;
|
||||
|
||||
if (sscanf(arg, "-%" XSTR(BUFLEN) NAME_RANGE "%c", name, &dummy) == 1) {
|
||||
return set_bool_flag(name, false, origin);
|
||||
real_name = handle_aliases_and_deprecation(name, warn_if_deprecated);
|
||||
if (real_name == NULL) {
|
||||
return false;
|
||||
}
|
||||
return set_bool_flag(real_name, false, origin);
|
||||
}
|
||||
if (sscanf(arg, "+%" XSTR(BUFLEN) NAME_RANGE "%c", name, &dummy) == 1) {
|
||||
return set_bool_flag(name, true, origin);
|
||||
real_name = handle_aliases_and_deprecation(name, warn_if_deprecated);
|
||||
if (real_name == NULL) {
|
||||
return false;
|
||||
}
|
||||
return set_bool_flag(real_name, true, origin);
|
||||
}
|
||||
|
||||
char punct;
|
||||
if (sscanf(arg, "%" XSTR(BUFLEN) NAME_RANGE "%c", name, &punct) == 2 && punct == '=') {
|
||||
const char* value = strchr(arg, '=') + 1;
|
||||
Flag* flag = Flag::find_flag(name, strlen(name));
|
||||
Flag* flag;
|
||||
|
||||
// this scanf pattern matches both strings (handled here) and numbers (handled later))
|
||||
real_name = handle_aliases_and_deprecation(name, warn_if_deprecated);
|
||||
if (real_name == NULL) {
|
||||
return false;
|
||||
}
|
||||
flag = Flag::find_flag(real_name);
|
||||
if (flag != NULL && flag->is_ccstr()) {
|
||||
if (flag->ccstr_accumulates()) {
|
||||
return append_to_string_flag(name, value, origin);
|
||||
return append_to_string_flag(real_name, value, origin);
|
||||
} else {
|
||||
if (value[0] == '\0') {
|
||||
value = NULL;
|
||||
}
|
||||
return set_string_flag(name, value, origin);
|
||||
return set_string_flag(real_name, value, origin);
|
||||
}
|
||||
} else {
|
||||
warn_if_deprecated = false; // if arg is deprecated, we've already done warning...
|
||||
}
|
||||
}
|
||||
|
||||
@ -712,7 +971,11 @@ bool Arguments::parse_argument(const char* arg, Flag::Flags origin) {
|
||||
if (value[0] == '\0') {
|
||||
value = NULL;
|
||||
}
|
||||
return set_string_flag(name, value, origin);
|
||||
real_name = handle_aliases_and_deprecation(name, warn_if_deprecated);
|
||||
if (real_name == NULL) {
|
||||
return false;
|
||||
}
|
||||
return set_string_flag(real_name, value, origin);
|
||||
}
|
||||
|
||||
#define SIGNED_FP_NUMBER_RANGE "[-0123456789.]"
|
||||
@ -723,13 +986,21 @@ bool Arguments::parse_argument(const char* arg, Flag::Flags origin) {
|
||||
if (sscanf(arg, "%" XSTR(BUFLEN) NAME_RANGE "=" "%" XSTR(BUFLEN) SIGNED_NUMBER_RANGE "." "%" XSTR(BUFLEN) NUMBER_RANGE "%c", name, value, value2, &dummy) == 3) {
|
||||
// Looks like a floating-point number -- try again with more lenient format string
|
||||
if (sscanf(arg, "%" XSTR(BUFLEN) NAME_RANGE "=" "%" XSTR(BUFLEN) SIGNED_FP_NUMBER_RANGE "%c", name, value, &dummy) == 2) {
|
||||
return set_fp_numeric_flag(name, value, origin);
|
||||
real_name = handle_aliases_and_deprecation(name, warn_if_deprecated);
|
||||
if (real_name == NULL) {
|
||||
return false;
|
||||
}
|
||||
return set_fp_numeric_flag(real_name, value, origin);
|
||||
}
|
||||
}
|
||||
|
||||
#define VALUE_RANGE "[-kmgtxKMGTX0123456789abcdefABCDEF]"
|
||||
if (sscanf(arg, "%" XSTR(BUFLEN) NAME_RANGE "=" "%" XSTR(BUFLEN) VALUE_RANGE "%c", name, value, &dummy) == 2) {
|
||||
return set_numeric_flag(name, value, origin);
|
||||
real_name = handle_aliases_and_deprecation(name, warn_if_deprecated);
|
||||
if (real_name == NULL) {
|
||||
return false;
|
||||
}
|
||||
return set_numeric_flag(real_name, value, origin);
|
||||
}
|
||||
|
||||
return false;
|
||||
@ -837,8 +1108,8 @@ void Arguments::print_jvm_args_on(outputStream* st) {
|
||||
}
|
||||
|
||||
bool Arguments::process_argument(const char* arg,
|
||||
jboolean ignore_unrecognized, Flag::Flags origin) {
|
||||
|
||||
jboolean ignore_unrecognized,
|
||||
Flag::Flags origin) {
|
||||
JDK_Version since = JDK_Version();
|
||||
|
||||
if (parse_argument(arg, origin) || ignore_unrecognized) {
|
||||
@ -864,10 +1135,10 @@ bool Arguments::process_argument(const char* arg,
|
||||
strncpy(stripped_argname, argname, arg_len);
|
||||
stripped_argname[arg_len] = '\0'; // strncpy may not null terminate.
|
||||
|
||||
if (is_newly_obsolete(stripped_argname, &since)) {
|
||||
if (is_obsolete_flag(stripped_argname, &since)) {
|
||||
char version[256];
|
||||
since.to_string(version, sizeof(version));
|
||||
warning("ignoring option %s; support was removed in %s", stripped_argname, version);
|
||||
warning("Ignoring option %s; support was removed in %s", stripped_argname, version);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -1235,7 +1506,7 @@ void Arguments::set_tiered_flags() {
|
||||
static void disable_adaptive_size_policy(const char* collector_name) {
|
||||
if (UseAdaptiveSizePolicy) {
|
||||
if (FLAG_IS_CMDLINE(UseAdaptiveSizePolicy)) {
|
||||
warning("disabling UseAdaptiveSizePolicy; it is incompatible with %s.",
|
||||
warning("Disabling UseAdaptiveSizePolicy; it is incompatible with %s.",
|
||||
collector_name);
|
||||
}
|
||||
FLAG_SET_DEFAULT(UseAdaptiveSizePolicy, false);
|
||||
@ -1707,7 +1978,6 @@ void Arguments::set_gc_specific_flags() {
|
||||
} else if (UseG1GC) {
|
||||
set_g1_gc_flags();
|
||||
}
|
||||
check_deprecated_gc_flags();
|
||||
if (AssumeMP && !UseSerialGC) {
|
||||
if (FLAG_IS_DEFAULT(ParallelGCThreads) && ParallelGCThreads == 1) {
|
||||
warning("If the number of processors is expected to increase from one, then"
|
||||
@ -1737,11 +2007,6 @@ julong Arguments::limit_by_allocatable_memory(julong limit) {
|
||||
static const size_t DefaultHeapBaseMinAddress = HeapBaseMinAddress;
|
||||
|
||||
void Arguments::set_heap_size() {
|
||||
if (!FLAG_IS_DEFAULT(DefaultMaxRAMFraction)) {
|
||||
// Deprecated flag
|
||||
FLAG_SET_CMDLINE(uintx, MaxRAMFraction, DefaultMaxRAMFraction);
|
||||
}
|
||||
|
||||
const julong phys_mem =
|
||||
FLAG_IS_DEFAULT(MaxRAM) ? MIN2(os::physical_memory(), (julong)MaxRAM)
|
||||
: (julong)MaxRAM;
|
||||
@ -1844,6 +2109,122 @@ void Arguments::set_heap_size() {
|
||||
}
|
||||
}
|
||||
|
||||
// This option inspects the machine and attempts to set various
|
||||
// parameters to be optimal for long-running, memory allocation
|
||||
// intensive jobs. It is intended for machines with large
|
||||
// amounts of cpu and memory.
|
||||
jint Arguments::set_aggressive_heap_flags() {
|
||||
// initHeapSize is needed since _initial_heap_size is 4 bytes on a 32 bit
|
||||
// VM, but we may not be able to represent the total physical memory
|
||||
// available (like having 8gb of memory on a box but using a 32bit VM).
|
||||
// Thus, we need to make sure we're using a julong for intermediate
|
||||
// calculations.
|
||||
julong initHeapSize;
|
||||
julong total_memory = os::physical_memory();
|
||||
|
||||
if (total_memory < (julong) 256 * M) {
|
||||
jio_fprintf(defaultStream::error_stream(),
|
||||
"You need at least 256mb of memory to use -XX:+AggressiveHeap\n");
|
||||
vm_exit(1);
|
||||
}
|
||||
|
||||
// The heap size is half of available memory, or (at most)
|
||||
// all of possible memory less 160mb (leaving room for the OS
|
||||
// when using ISM). This is the maximum; because adaptive sizing
|
||||
// is turned on below, the actual space used may be smaller.
|
||||
|
||||
initHeapSize = MIN2(total_memory / (julong) 2,
|
||||
total_memory - (julong) 160 * M);
|
||||
|
||||
initHeapSize = limit_by_allocatable_memory(initHeapSize);
|
||||
|
||||
if (FLAG_IS_DEFAULT(MaxHeapSize)) {
|
||||
if (FLAG_SET_CMDLINE(size_t, MaxHeapSize, initHeapSize) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
if (FLAG_SET_CMDLINE(size_t, InitialHeapSize, initHeapSize) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
// Currently the minimum size and the initial heap sizes are the same.
|
||||
set_min_heap_size(initHeapSize);
|
||||
}
|
||||
if (FLAG_IS_DEFAULT(NewSize)) {
|
||||
// Make the young generation 3/8ths of the total heap.
|
||||
if (FLAG_SET_CMDLINE(size_t, NewSize,
|
||||
((julong) MaxHeapSize / (julong) 8) * (julong) 3) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
if (FLAG_SET_CMDLINE(size_t, MaxNewSize, NewSize) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
}
|
||||
|
||||
#if !defined(_ALLBSD_SOURCE) && !defined(AIX) // UseLargePages is not yet supported on BSD and AIX.
|
||||
FLAG_SET_DEFAULT(UseLargePages, true);
|
||||
#endif
|
||||
|
||||
// Increase some data structure sizes for efficiency
|
||||
if (FLAG_SET_CMDLINE(size_t, BaseFootPrintEstimate, MaxHeapSize) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
if (FLAG_SET_CMDLINE(bool, ResizeTLAB, false) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
if (FLAG_SET_CMDLINE(size_t, TLABSize, 256 * K) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
|
||||
// See the OldPLABSize comment below, but replace 'after promotion'
|
||||
// with 'after copying'. YoungPLABSize is the size of the survivor
|
||||
// space per-gc-thread buffers. The default is 4kw.
|
||||
if (FLAG_SET_CMDLINE(size_t, YoungPLABSize, 256 * K) != Flag::SUCCESS) { // Note: this is in words
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
|
||||
// OldPLABSize is the size of the buffers in the old gen that
|
||||
// UseParallelGC uses to promote live data that doesn't fit in the
|
||||
// survivor spaces. At any given time, there's one for each gc thread.
|
||||
// The default size is 1kw. These buffers are rarely used, since the
|
||||
// survivor spaces are usually big enough. For specjbb, however, there
|
||||
// are occasions when there's lots of live data in the young gen
|
||||
// and we end up promoting some of it. We don't have a definite
|
||||
// explanation for why bumping OldPLABSize helps, but the theory
|
||||
// is that a bigger PLAB results in retaining something like the
|
||||
// original allocation order after promotion, which improves mutator
|
||||
// locality. A minor effect may be that larger PLABs reduce the
|
||||
// number of PLAB allocation events during gc. The value of 8kw
|
||||
// was arrived at by experimenting with specjbb.
|
||||
if (FLAG_SET_CMDLINE(size_t, OldPLABSize, 8 * K) != Flag::SUCCESS) { // Note: this is in words
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
|
||||
// Enable parallel GC and adaptive generation sizing
|
||||
if (FLAG_SET_CMDLINE(bool, UseParallelGC, true) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
FLAG_SET_DEFAULT(ParallelGCThreads,
|
||||
Abstract_VM_Version::parallel_worker_threads());
|
||||
|
||||
// Encourage steady state memory management
|
||||
if (FLAG_SET_CMDLINE(uintx, ThresholdTolerance, 100) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
|
||||
// This appears to improve mutator locality
|
||||
if (FLAG_SET_CMDLINE(bool, ScavengeBeforeFullGC, false) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
|
||||
// Get around early Solaris scheduling bug
|
||||
// (affinity vs other jobs on system)
|
||||
// but disallow DR and offlining (5008695).
|
||||
if (FLAG_SET_CMDLINE(bool, BindGCTaskThreadsToCPUs, true) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
|
||||
return JNI_OK;
|
||||
}
|
||||
|
||||
// This must be called after ergonomics.
|
||||
void Arguments::set_bytecode_flags() {
|
||||
if (!RewriteBytecodes) {
|
||||
@ -2027,20 +2408,6 @@ bool Arguments::check_gc_consistency() {
|
||||
return true;
|
||||
}
|
||||
|
||||
void Arguments::check_deprecated_gc_flags() {
|
||||
if (FLAG_IS_CMDLINE(UseParNewGC)) {
|
||||
warning("The UseParNewGC flag is deprecated and will likely be removed in a future release");
|
||||
}
|
||||
if (FLAG_IS_CMDLINE(MaxGCMinorPauseMillis)) {
|
||||
warning("Using MaxGCMinorPauseMillis as minor pause goal is deprecated"
|
||||
"and will likely be removed in future release");
|
||||
}
|
||||
if (FLAG_IS_CMDLINE(DefaultMaxRAMFraction)) {
|
||||
warning("DefaultMaxRAMFraction is deprecated and will likely be removed in a future release. "
|
||||
"Use MaxRAMFraction instead.");
|
||||
}
|
||||
}
|
||||
|
||||
// Check the consistency of vm_init_args
|
||||
bool Arguments::check_vm_args_consistency() {
|
||||
// Method for adding checks for flag consistency.
|
||||
@ -2576,7 +2943,7 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args,
|
||||
// All these options are deprecated in JDK 9 and will be removed in a future release
|
||||
char version[256];
|
||||
JDK_Version::jdk(9).to_string(version, sizeof(version));
|
||||
warning("ignoring option %s; support was removed in %s", option->optionString, version);
|
||||
warning("Ignoring option %s; support was removed in %s", option->optionString, version);
|
||||
} else if (match_option(option, "-XX:CodeCacheExpansionSize=", &tail)) {
|
||||
julong long_CodeCacheExpansionSize = 0;
|
||||
ArgsRange errcode = parse_memory_size(tail, &long_CodeCacheExpansionSize, os::vm_page_size());
|
||||
@ -2843,120 +3210,10 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args,
|
||||
_abort_hook = CAST_TO_FN_PTR(abort_hook_t, option->extraInfo);
|
||||
// -XX:+AggressiveHeap
|
||||
} else if (match_option(option, "-XX:+AggressiveHeap")) {
|
||||
|
||||
// This option inspects the machine and attempts to set various
|
||||
// parameters to be optimal for long-running, memory allocation
|
||||
// intensive jobs. It is intended for machines with large
|
||||
// amounts of cpu and memory.
|
||||
|
||||
// initHeapSize is needed since _initial_heap_size is 4 bytes on a 32 bit
|
||||
// VM, but we may not be able to represent the total physical memory
|
||||
// available (like having 8gb of memory on a box but using a 32bit VM).
|
||||
// Thus, we need to make sure we're using a julong for intermediate
|
||||
// calculations.
|
||||
julong initHeapSize;
|
||||
julong total_memory = os::physical_memory();
|
||||
|
||||
if (total_memory < (julong)256*M) {
|
||||
jio_fprintf(defaultStream::error_stream(),
|
||||
"You need at least 256mb of memory to use -XX:+AggressiveHeap\n");
|
||||
vm_exit(1);
|
||||
jint result = set_aggressive_heap_flags();
|
||||
if (result != JNI_OK) {
|
||||
return result;
|
||||
}
|
||||
|
||||
// The heap size is half of available memory, or (at most)
|
||||
// all of possible memory less 160mb (leaving room for the OS
|
||||
// when using ISM). This is the maximum; because adaptive sizing
|
||||
// is turned on below, the actual space used may be smaller.
|
||||
|
||||
initHeapSize = MIN2(total_memory / (julong)2,
|
||||
total_memory - (julong)160*M);
|
||||
|
||||
initHeapSize = limit_by_allocatable_memory(initHeapSize);
|
||||
|
||||
if (FLAG_IS_DEFAULT(MaxHeapSize)) {
|
||||
if (FLAG_SET_CMDLINE(size_t, MaxHeapSize, initHeapSize) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
if (FLAG_SET_CMDLINE(size_t, InitialHeapSize, initHeapSize) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
// Currently the minimum size and the initial heap sizes are the same.
|
||||
set_min_heap_size(initHeapSize);
|
||||
}
|
||||
if (FLAG_IS_DEFAULT(NewSize)) {
|
||||
// Make the young generation 3/8ths of the total heap.
|
||||
if (FLAG_SET_CMDLINE(size_t, NewSize,
|
||||
((julong)MaxHeapSize / (julong)8) * (julong)3) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
if (FLAG_SET_CMDLINE(size_t, MaxNewSize, NewSize) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
}
|
||||
|
||||
#if !defined(_ALLBSD_SOURCE) && !defined(AIX) // UseLargePages is not yet supported on BSD and AIX.
|
||||
FLAG_SET_DEFAULT(UseLargePages, true);
|
||||
#endif
|
||||
|
||||
// Increase some data structure sizes for efficiency
|
||||
if (FLAG_SET_CMDLINE(size_t, BaseFootPrintEstimate, MaxHeapSize) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
if (FLAG_SET_CMDLINE(bool, ResizeTLAB, false) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
if (FLAG_SET_CMDLINE(size_t, TLABSize, 256*K) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
|
||||
// See the OldPLABSize comment below, but replace 'after promotion'
|
||||
// with 'after copying'. YoungPLABSize is the size of the survivor
|
||||
// space per-gc-thread buffers. The default is 4kw.
|
||||
if (FLAG_SET_CMDLINE(size_t, YoungPLABSize, 256*K) != Flag::SUCCESS) { // Note: this is in words
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
|
||||
// OldPLABSize is the size of the buffers in the old gen that
|
||||
// UseParallelGC uses to promote live data that doesn't fit in the
|
||||
// survivor spaces. At any given time, there's one for each gc thread.
|
||||
// The default size is 1kw. These buffers are rarely used, since the
|
||||
// survivor spaces are usually big enough. For specjbb, however, there
|
||||
// are occasions when there's lots of live data in the young gen
|
||||
// and we end up promoting some of it. We don't have a definite
|
||||
// explanation for why bumping OldPLABSize helps, but the theory
|
||||
// is that a bigger PLAB results in retaining something like the
|
||||
// original allocation order after promotion, which improves mutator
|
||||
// locality. A minor effect may be that larger PLABs reduce the
|
||||
// number of PLAB allocation events during gc. The value of 8kw
|
||||
// was arrived at by experimenting with specjbb.
|
||||
if (FLAG_SET_CMDLINE(size_t, OldPLABSize, 8*K) != Flag::SUCCESS) { // Note: this is in words
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
|
||||
// Enable parallel GC and adaptive generation sizing
|
||||
if (FLAG_SET_CMDLINE(bool, UseParallelGC, true) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
FLAG_SET_DEFAULT(ParallelGCThreads,
|
||||
Abstract_VM_Version::parallel_worker_threads());
|
||||
|
||||
// Encourage steady state memory management
|
||||
if (FLAG_SET_CMDLINE(uintx, ThresholdTolerance, 100) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
|
||||
// This appears to improve mutator locality
|
||||
if (FLAG_SET_CMDLINE(bool, ScavengeBeforeFullGC, false) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
|
||||
// Get around early Solaris scheduling bug
|
||||
// (affinity vs other jobs on system)
|
||||
// but disallow DR and offlining (5008695).
|
||||
if (FLAG_SET_CMDLINE(bool, BindGCTaskThreadsToCPUs, true) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
|
||||
// Need to keep consistency of MaxTenuringThreshold and AlwaysTenure/NeverTenure;
|
||||
// and the last option wins.
|
||||
} else if (match_option(option, "-XX:+NeverTenure")) {
|
||||
@ -3049,52 +3306,6 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args,
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
#endif
|
||||
} else if (match_option(option, "-XX:CMSMarkStackSize=", &tail) ||
|
||||
match_option(option, "-XX:G1MarkStackSize=", &tail)) {
|
||||
julong stack_size = 0;
|
||||
ArgsRange errcode = parse_memory_size(tail, &stack_size, 1);
|
||||
if (errcode != arg_in_range) {
|
||||
jio_fprintf(defaultStream::error_stream(),
|
||||
"Invalid mark stack size: %s\n", option->optionString);
|
||||
describe_range_error(errcode);
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
jio_fprintf(defaultStream::error_stream(),
|
||||
"Please use -XX:MarkStackSize in place of "
|
||||
"-XX:CMSMarkStackSize or -XX:G1MarkStackSize in the future\n");
|
||||
if (FLAG_SET_CMDLINE(size_t, MarkStackSize, stack_size) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
} else if (match_option(option, "-XX:CMSMarkStackSizeMax=", &tail)) {
|
||||
julong max_stack_size = 0;
|
||||
ArgsRange errcode = parse_memory_size(tail, &max_stack_size, 1);
|
||||
if (errcode != arg_in_range) {
|
||||
jio_fprintf(defaultStream::error_stream(),
|
||||
"Invalid maximum mark stack size: %s\n",
|
||||
option->optionString);
|
||||
describe_range_error(errcode);
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
jio_fprintf(defaultStream::error_stream(),
|
||||
"Please use -XX:MarkStackSizeMax in place of "
|
||||
"-XX:CMSMarkStackSizeMax in the future\n");
|
||||
if (FLAG_SET_CMDLINE(size_t, MarkStackSizeMax, max_stack_size) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
} else if (match_option(option, "-XX:ParallelMarkingThreads=", &tail) ||
|
||||
match_option(option, "-XX:ParallelCMSThreads=", &tail)) {
|
||||
uintx conc_threads = 0;
|
||||
if (!parse_uintx(tail, &conc_threads, 1)) {
|
||||
jio_fprintf(defaultStream::error_stream(),
|
||||
"Invalid concurrent threads: %s\n", option->optionString);
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
jio_fprintf(defaultStream::error_stream(),
|
||||
"Please use -XX:ConcGCThreads in place of "
|
||||
"-XX:ParallelMarkingThreads or -XX:ParallelCMSThreads in the future\n");
|
||||
if (FLAG_SET_CMDLINE(uint, ConcGCThreads, conc_threads) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
} else if (match_option(option, "-XX:MaxDirectMemorySize=", &tail)) {
|
||||
julong max_direct_memory_size = 0;
|
||||
ArgsRange errcode = parse_memory_size(tail, &max_direct_memory_size, 0);
|
||||
@ -3114,19 +3325,6 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args,
|
||||
"ManagementServer is not supported in this VM.\n");
|
||||
return JNI_ERR;
|
||||
#endif // INCLUDE_MANAGEMENT
|
||||
// CreateMinidumpOnCrash is removed, and replaced by CreateCoredumpOnCrash
|
||||
} else if (match_option(option, "-XX:+CreateMinidumpOnCrash")) {
|
||||
if (FLAG_SET_CMDLINE(bool, CreateCoredumpOnCrash, true) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
jio_fprintf(defaultStream::output_stream(),
|
||||
"CreateMinidumpOnCrash is replaced by CreateCoredumpOnCrash: CreateCoredumpOnCrash is on\n");
|
||||
} else if (match_option(option, "-XX:-CreateMinidumpOnCrash")) {
|
||||
if (FLAG_SET_CMDLINE(bool, CreateCoredumpOnCrash, false) != Flag::SUCCESS) {
|
||||
return JNI_EINVAL;
|
||||
}
|
||||
jio_fprintf(defaultStream::output_stream(),
|
||||
"CreateMinidumpOnCrash is replaced by CreateCoredumpOnCrash: CreateCoredumpOnCrash is off\n");
|
||||
} else if (match_option(option, "-XX:", &tail)) { // -XX:xxxx
|
||||
// Skip -XX:Flags= and -XX:VMOptionsFile= since those cases have
|
||||
// already been handled
|
||||
@ -3623,7 +3821,7 @@ jint Arguments::parse_options_buffer(const char* name, char* buffer, const size_
|
||||
void Arguments::set_shared_spaces_flags() {
|
||||
if (DumpSharedSpaces) {
|
||||
if (RequireSharedSpaces) {
|
||||
warning("cannot dump shared archive while using shared archive");
|
||||
warning("Cannot dump shared archive while using shared archive");
|
||||
}
|
||||
UseSharedSpaces = false;
|
||||
#ifdef _LP64
|
||||
@ -3848,6 +4046,7 @@ static void print_options(const JavaVMInitArgs *args) {
|
||||
// Parse entry point called from JNI_CreateJavaVM
|
||||
|
||||
jint Arguments::parse(const JavaVMInitArgs* args) {
|
||||
assert(verify_special_jvm_flags(), "deprecated and obsolete flag table inconsistent");
|
||||
|
||||
// Initialize ranges and constraints
|
||||
CommandLineFlagRangeList::init();
|
||||
@ -3984,7 +4183,7 @@ jint Arguments::parse(const JavaVMInitArgs* args) {
|
||||
|
||||
if (ScavengeRootsInCode == 0) {
|
||||
if (!FLAG_IS_DEFAULT(ScavengeRootsInCode)) {
|
||||
warning("forcing ScavengeRootsInCode non-zero");
|
||||
warning("Forcing ScavengeRootsInCode non-zero");
|
||||
}
|
||||
ScavengeRootsInCode = 1;
|
||||
}
|
||||
|
@ -364,6 +364,8 @@ class Arguments : AllStatic {
|
||||
// Aggressive optimization flags.
|
||||
static jint set_aggressive_opts_flags();
|
||||
|
||||
static jint set_aggressive_heap_flags();
|
||||
|
||||
// Argument parsing
|
||||
static void do_pd_flag_adjustments();
|
||||
static bool parse_argument(const char* arg, Flag::Flags origin);
|
||||
@ -427,11 +429,24 @@ class Arguments : AllStatic {
|
||||
short* methodsNum, short* methodsMax, char*** methods, bool** allClasses
|
||||
);
|
||||
|
||||
// Returns true if the string s is in the list of flags that have recently
|
||||
// been made obsolete. If we detect one of these flags on the command
|
||||
// line, instead of failing we print a warning message and ignore the
|
||||
// flag. This gives the user a release or so to stop using the flag.
|
||||
static bool is_newly_obsolete(const char* s, JDK_Version* buffer);
|
||||
// Returns true if the flag is obsolete (and not yet expired).
|
||||
// In this case the 'version' buffer is filled in with
|
||||
// the version number when the flag became obsolete.
|
||||
static bool is_obsolete_flag(const char* flag_name, JDK_Version* version);
|
||||
|
||||
// Returns 1 if the flag is deprecated (and not yet obsolete or expired).
|
||||
// In this case the 'version' buffer is filled in with the version number when
|
||||
// the flag became deprecated.
|
||||
// Returns -1 if the flag is expired or obsolete.
|
||||
// Returns 0 otherwise.
|
||||
static int is_deprecated_flag(const char* flag_name, JDK_Version* version);
|
||||
|
||||
// Return the real name for the flag passed on the command line (either an alias name or "flag_name").
|
||||
static const char* real_flag_name(const char *flag_name);
|
||||
|
||||
// Return the "real" name for option arg if arg is an alias, and print a warning if arg is deprecated.
|
||||
// Return NULL if the arg has expired.
|
||||
static const char* handle_aliases_and_deprecation(const char* arg, bool warn);
|
||||
|
||||
static short CompileOnlyClassesNum;
|
||||
static short CompileOnlyClassesMax;
|
||||
@ -478,7 +493,6 @@ class Arguments : AllStatic {
|
||||
|
||||
// Check for consistency in the selection of the garbage collector.
|
||||
static bool check_gc_consistency(); // Check user-selected gc
|
||||
static void check_deprecated_gc_flags();
|
||||
// Check consistency or otherwise of VM argument settings
|
||||
static bool check_vm_args_consistency();
|
||||
// Used by os_solaris
|
||||
|
@ -1599,7 +1599,7 @@ public:
|
||||
"(ParallelGC only)") \
|
||||
\
|
||||
product(bool, ScavengeBeforeFullGC, true, \
|
||||
"Scavenge young generation before each full GC.") \
|
||||
"Scavenge youngest generation before each full GC.") \
|
||||
\
|
||||
develop(bool, ScavengeWithObjectsInToSpace, false, \
|
||||
"Allow scavenges to occur when to-space contains objects") \
|
||||
@ -2097,7 +2097,7 @@ public:
|
||||
"promotion failure") \
|
||||
\
|
||||
notproduct(bool, PromotionFailureALot, false, \
|
||||
"Use promotion failure handling on every young generation " \
|
||||
"Use promotion failure handling on every youngest generation " \
|
||||
"collection") \
|
||||
\
|
||||
develop(uintx, PromotionFailureALotCount, 1000, \
|
||||
@ -2183,11 +2183,6 @@ public:
|
||||
"size") \
|
||||
range(1, max_uintx) \
|
||||
\
|
||||
product(uintx, DefaultMaxRAMFraction, 4, \
|
||||
"Maximum fraction (1/n) of real memory used for maximum heap " \
|
||||
"size; deprecated: to be renamed to MaxRAMFraction") \
|
||||
range(1, max_uintx) \
|
||||
\
|
||||
product(uintx, MinRAMFraction, 2, \
|
||||
"Minimum fraction (1/n) of real memory used for maximum heap " \
|
||||
"size on systems with small physical memory size") \
|
||||
|
@ -137,6 +137,14 @@ class JDK_Version VALUE_OBJ_CLASS_SPEC {
|
||||
return JDK_Version(major, 0, 0, update_number);
|
||||
}
|
||||
|
||||
static JDK_Version undefined() {
|
||||
return JDK_Version(0);
|
||||
}
|
||||
|
||||
bool is_undefined() const {
|
||||
return (_major == 0);
|
||||
}
|
||||
|
||||
uint8_t major_version() const { return _major; }
|
||||
uint8_t minor_version() const { return _minor; }
|
||||
uint8_t micro_version() const { return _micro; }
|
||||
|
@ -124,8 +124,8 @@ void JNIHandles::oops_do(OopClosure* f) {
|
||||
}
|
||||
|
||||
|
||||
size_t JNIHandles::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f) {
|
||||
return _weak_global_handles->weak_oops_do(is_alive, f);
|
||||
void JNIHandles::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f) {
|
||||
_weak_global_handles->weak_oops_do(is_alive, f);
|
||||
}
|
||||
|
||||
|
||||
@ -380,9 +380,8 @@ void JNIHandleBlock::oops_do(OopClosure* f) {
|
||||
}
|
||||
|
||||
|
||||
size_t JNIHandleBlock::weak_oops_do(BoolObjectClosure* is_alive,
|
||||
OopClosure* f) {
|
||||
size_t count = 0;
|
||||
void JNIHandleBlock::weak_oops_do(BoolObjectClosure* is_alive,
|
||||
OopClosure* f) {
|
||||
for (JNIHandleBlock* current = this; current != NULL; current = current->_next) {
|
||||
assert(current->pop_frame_link() == NULL,
|
||||
"blocks holding weak global JNI handles should not have pop frame link set");
|
||||
@ -391,7 +390,6 @@ size_t JNIHandleBlock::weak_oops_do(BoolObjectClosure* is_alive,
|
||||
oop value = *root;
|
||||
// traverse heap pointers only, not deleted handles or free list pointers
|
||||
if (value != NULL && Universe::heap()->is_in_reserved(value)) {
|
||||
count++;
|
||||
if (is_alive->do_object_b(value)) {
|
||||
// The weakly referenced object is alive, update pointer
|
||||
f->do_oop(root);
|
||||
@ -414,9 +412,7 @@ size_t JNIHandleBlock::weak_oops_do(BoolObjectClosure* is_alive,
|
||||
* JVMTI data structures may also contain weak oops. The iteration of them
|
||||
* is placed here so that we don't need to add it to each of the collectors.
|
||||
*/
|
||||
count += JvmtiExport::weak_oops_do(is_alive, f);
|
||||
|
||||
return count;
|
||||
JvmtiExport::weak_oops_do(is_alive, f);
|
||||
}
|
||||
|
||||
|
||||
|
@ -85,7 +85,7 @@ class JNIHandles : AllStatic {
|
||||
// Traversal of regular global handles
|
||||
static void oops_do(OopClosure* f);
|
||||
// Traversal of weak global handles. Unreachable oops are cleared.
|
||||
static size_t weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f);
|
||||
static void weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f);
|
||||
};
|
||||
|
||||
|
||||
@ -153,7 +153,7 @@ class JNIHandleBlock : public CHeapObj<mtInternal> {
|
||||
// Traversal of regular handles
|
||||
void oops_do(OopClosure* f);
|
||||
// Traversal of weak handles. Unreachable oops are cleared.
|
||||
size_t weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f);
|
||||
void weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f);
|
||||
|
||||
// Checked JNI support
|
||||
void set_planned_capacity(size_t planned_capacity) { _planned_capacity = planned_capacity; }
|
||||
|
@ -383,7 +383,7 @@ typedef CompactHashtable<Symbol*, char> SymbolCompactHashTable;
|
||||
nonstatic_field(Method, _access_flags, AccessFlags) \
|
||||
nonstatic_field(Method, _vtable_index, int) \
|
||||
nonstatic_field(Method, _method_size, u2) \
|
||||
nonstatic_field(Method, _intrinsic_id, u1) \
|
||||
nonstatic_field(Method, _intrinsic_id, u2) \
|
||||
nonproduct_nonstatic_field(Method, _compiled_invocation_count, int) \
|
||||
volatile_nonstatic_field(Method, _code, nmethod*) \
|
||||
nonstatic_field(Method, _i2i_entry, address) \
|
||||
|
@ -190,7 +190,6 @@ needs_full_vm_compact1 = \
|
||||
gc/g1/TestShrinkToOneRegion.java \
|
||||
gc/metaspace/G1AddMetaspaceDependency.java \
|
||||
gc/startup_warnings/TestCMS.java \
|
||||
gc/startup_warnings/TestDefaultMaxRAMFraction.java \
|
||||
gc/startup_warnings/TestDefNewCMS.java \
|
||||
gc/startup_warnings/TestParallelGC.java \
|
||||
gc/startup_warnings/TestParallelScavengeSerialOld.java \
|
||||
|
@ -1,59 +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.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test TestPrintReferences
|
||||
* @bug 8133818
|
||||
* @summary Validate the reference processing logging
|
||||
* @key gc
|
||||
* @library /testlibrary
|
||||
* @modules java.base/sun.misc
|
||||
* java.management
|
||||
*/
|
||||
|
||||
import jdk.test.lib.ProcessTools;
|
||||
import jdk.test.lib.OutputAnalyzer;
|
||||
|
||||
public class TestPrintReferences {
|
||||
public static void main(String[] args) throws Exception {
|
||||
ProcessBuilder pb_enabled =
|
||||
ProcessTools.createJavaProcessBuilder("-XX:+PrintGCDetails", "-XX:+PrintReferenceGC", "-Xmx10M", GCTest.class.getName());
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb_enabled.start());
|
||||
|
||||
output.shouldMatch(
|
||||
"#[0-9]+: \\[SoftReference, [0-9]+ refs, [0-9]+\\.[0-9]+ secs\\]" +
|
||||
"#[0-9]+: \\[WeakReference, [0-9]+ refs, [0-9]+\\.[0-9]+ secs\\]" +
|
||||
"#[0-9]+: \\[FinalReference, [0-9]+ refs, [0-9]+\\.[0-9]+ secs\\]" +
|
||||
"#[0-9]+: \\[PhantomReference, [0-9]+ refs, [0-9]+\\.[0-9]+ secs\\]" +
|
||||
"#[0-9]+: \\[Cleaners, [0-9]+ refs, [0-9]+\\.[0-9]+ secs\\]" +
|
||||
"#[0-9]+: \\[JNI Weak Reference, [0-9]+ refs, [0-9]+\\.[0-9]+ secs\\]");
|
||||
|
||||
output.shouldHaveExitValue(0);
|
||||
}
|
||||
|
||||
static class GCTest {
|
||||
public static void main(String [] args) {
|
||||
System.gc();
|
||||
}
|
||||
}
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2013, 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.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test TestDefaultMaxRAMFraction
|
||||
* @key gc
|
||||
* @bug 8021967
|
||||
* @summary Test that the deprecated TestDefaultMaxRAMFraction flag print a warning message
|
||||
* @library /testlibrary
|
||||
* @modules java.base/sun.misc
|
||||
* java.management
|
||||
*/
|
||||
|
||||
import jdk.test.lib.OutputAnalyzer;
|
||||
import jdk.test.lib.ProcessTools;
|
||||
|
||||
public class TestDefaultMaxRAMFraction {
|
||||
public static void main(String[] args) throws Exception {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:DefaultMaxRAMFraction=4", "-version");
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
output.shouldContain("warning: DefaultMaxRAMFraction is deprecated and will likely be removed in a future release. Use MaxRAMFraction instead.");
|
||||
output.shouldNotContain("error");
|
||||
output.shouldHaveExitValue(0);
|
||||
}
|
||||
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2014, 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.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test TestNoParNew
|
||||
* @key gc
|
||||
* @bug 8065972
|
||||
* @summary Test that specifying -XX:-UseParNewGC on the command line logs a warning message
|
||||
* @library /testlibrary
|
||||
* @modules java.base/sun.misc
|
||||
* java.management
|
||||
*/
|
||||
|
||||
import jdk.test.lib.OutputAnalyzer;
|
||||
import jdk.test.lib.ProcessTools;
|
||||
|
||||
|
||||
public class TestNoParNew {
|
||||
|
||||
public static void main(String args[]) throws Exception {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:-UseParNewGC", "-version");
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
output.shouldContain("warning: The UseParNewGC flag is deprecated and will likely be removed in a future release");
|
||||
output.shouldNotContain("error");
|
||||
output.shouldHaveExitValue(0);
|
||||
}
|
||||
|
||||
}
|
@ -40,7 +40,7 @@ public class TestParNewCMS {
|
||||
public static void main(String args[]) throws Exception {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseParNewGC", "-XX:+UseConcMarkSweepGC", "-version");
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
output.shouldContain("warning: The UseParNewGC flag is deprecated and will likely be removed in a future release");
|
||||
output.shouldContain("warning: Option UseParNewGC was deprecated in version");
|
||||
output.shouldNotContain("error");
|
||||
output.shouldHaveExitValue(0);
|
||||
}
|
||||
|
@ -46,7 +46,7 @@ public class ObsoleteFlagErrorMessage {
|
||||
"-XX:NmethodSweepFraction=10", "-version");
|
||||
|
||||
OutputAnalyzer output2 = new OutputAnalyzer(pb2.start());
|
||||
output2.shouldContain("ignoring option").shouldContain("support was removed");
|
||||
output2.shouldContain("Ignoring option").shouldContain("support was removed");
|
||||
output2.shouldContain("NmethodSweepFraction");
|
||||
}
|
||||
}
|
||||
|
66
hotspot/test/runtime/CommandLine/VMAliasOptions.java
Normal file
66
hotspot/test/runtime/CommandLine/VMAliasOptions.java
Normal file
@ -0,0 +1,66 @@
|
||||
/*
|
||||
* 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.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
import jdk.test.lib.*;
|
||||
import jdk.test.lib.cli.*;
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 8061611
|
||||
* @summary Test that various alias options correctly set the target options. See aliased_jvm_flags in arguments.cpp.
|
||||
* @library /testlibrary
|
||||
*/
|
||||
public class VMAliasOptions {
|
||||
|
||||
/**
|
||||
* each entry is {[0]: alias name, [1]: alias target, [2]: value to set
|
||||
* (true/false/n/string)}.
|
||||
*/
|
||||
public static final String[][] ALIAS_OPTIONS = {
|
||||
{"DefaultMaxRAMFraction", "MaxRAMFraction", "1032"},
|
||||
{"CMSMarkStackSizeMax", "MarkStackSizeMax", "1032"},
|
||||
{"CMSMarkStackSize", "MarkStackSize", "1032"},
|
||||
{"G1MarkStackSize", "MarkStackSize", "1032"},
|
||||
{"ParallelMarkingThreads", "ConcGCThreads", "2"},
|
||||
{"ParallelCMSThreads", "ConcGCThreads", "2"},
|
||||
{"CreateMinidumpOnCrash", "CreateCoredumpOnCrash", "false" },
|
||||
};
|
||||
|
||||
static void testAliases(String[][] optionInfo) throws Throwable {
|
||||
String aliasNames[] = new String[optionInfo.length];
|
||||
String optionNames[] = new String[optionInfo.length];
|
||||
String expectedValues[] = new String[optionInfo.length];
|
||||
for (int i = 0; i < optionInfo.length; i++) {
|
||||
aliasNames[i] = optionInfo[i][0];
|
||||
optionNames[i] = optionInfo[i][1];
|
||||
expectedValues[i] = optionInfo[i][2];
|
||||
}
|
||||
|
||||
OutputAnalyzer output = CommandLineOptionTest.startVMWithOptions(aliasNames, expectedValues, "-XX:+PrintFlagsFinal");
|
||||
CommandLineOptionTest.verifyOptionValuesFromOutput(output, optionNames, expectedValues);
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws Throwable {
|
||||
testAliases(ALIAS_OPTIONS);
|
||||
}
|
||||
}
|
80
hotspot/test/runtime/CommandLine/VMDeprecatedOptions.java
Normal file
80
hotspot/test/runtime/CommandLine/VMDeprecatedOptions.java
Normal file
@ -0,0 +1,80 @@
|
||||
/*
|
||||
* 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.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
import jdk.test.lib.*;
|
||||
import jdk.test.lib.cli.*;
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 8066821
|
||||
* @summary Test that various options are deprecated. See deprecated_jvm_flags in arguments.cpp.
|
||||
* @library /testlibrary
|
||||
*/
|
||||
public class VMDeprecatedOptions {
|
||||
|
||||
/**
|
||||
* each entry is {[0]: option name, [1]: value to set
|
||||
* (true/false/n/string)}.
|
||||
*/
|
||||
public static final String[][] DEPRECATED_OPTIONS = {
|
||||
// deprecated non-alias flags:
|
||||
{"MaxGCMinorPauseMillis", "1032"},
|
||||
{"UseParNewGC", "false"},
|
||||
|
||||
// deprecated alias flags (see also aliased_jvm_flags):
|
||||
{"DefaultMaxRAMFraction", "4"},
|
||||
{"CMSMarkStackSizeMax", "1032"},
|
||||
{"CMSMarkStackSize", "1032"},
|
||||
{"G1MarkStackSize", "1032"},
|
||||
{"ParallelMarkingThreads", "2"},
|
||||
{"ParallelCMSThreads", "2"},
|
||||
{"CreateMinidumpOnCrash", "false"}
|
||||
};
|
||||
|
||||
static String getDeprecationString(String optionName) {
|
||||
return "Option " + optionName
|
||||
+ " was deprecated in version [\\S]+ and will likely be removed in a future release";
|
||||
}
|
||||
|
||||
static void testDeprecated(String[][] optionInfo) throws Throwable {
|
||||
String optionNames[] = new String[optionInfo.length];
|
||||
String expectedValues[] = new String[optionInfo.length];
|
||||
for (int i = 0; i < optionInfo.length; i++) {
|
||||
optionNames[i] = optionInfo[i][0];
|
||||
expectedValues[i] = optionInfo[i][1];
|
||||
}
|
||||
|
||||
OutputAnalyzer output = CommandLineOptionTest.startVMWithOptions(optionNames, expectedValues);
|
||||
|
||||
// check for option deprecation messages:
|
||||
output.shouldHaveExitValue(0);
|
||||
for (String[] deprecated : optionInfo) {
|
||||
String match = getDeprecationString(deprecated[0]);
|
||||
output.shouldMatch(match);
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws Throwable {
|
||||
testDeprecated(DEPRECATED_OPTIONS); // Make sure that each deprecated option is mentioned in the output.
|
||||
}
|
||||
}
|
@ -41,6 +41,6 @@ public class AutoshutdownNMT {
|
||||
"-XX:-AutoShutdownNMT",
|
||||
"-version");
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
output.shouldContain("ignoring option AutoShutdownNMT");
|
||||
output.shouldContain("Ignoring option AutoShutdownNMT");
|
||||
}
|
||||
}
|
||||
|
@ -260,6 +260,73 @@ public abstract class CommandLineOptionTest {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Start VM with given options and values.
|
||||
* Generates command line option flags from
|
||||
* {@code optionNames} and {@code optionValues}.
|
||||
*
|
||||
* @param optionNames names of options to pass in
|
||||
* @param optionValues values of option
|
||||
* @param additionalVMOpts additional options that should be
|
||||
* passed to JVM.
|
||||
* @return output from vm process
|
||||
*/
|
||||
public static OutputAnalyzer startVMWithOptions(String[] optionNames,
|
||||
String[] optionValues,
|
||||
String... additionalVMOpts) throws Throwable {
|
||||
List<String> vmOpts = new ArrayList<>();
|
||||
if (optionNames == null || optionValues == null || optionNames.length != optionValues.length) {
|
||||
throw new IllegalArgumentException("optionNames and/or optionValues");
|
||||
}
|
||||
|
||||
for (int i = 0; i < optionNames.length; i++) {
|
||||
vmOpts.add(prepareFlag(optionNames[i], optionValues[i]));
|
||||
}
|
||||
Collections.addAll(vmOpts, additionalVMOpts);
|
||||
Collections.addAll(vmOpts, "-version");
|
||||
|
||||
ProcessBuilder processBuilder = ProcessTools.createJavaProcessBuilder(
|
||||
vmOpts.toArray(new String[vmOpts.size()]));
|
||||
|
||||
return new OutputAnalyzer(processBuilder.start());
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifies from the output that values of specified JVM options were the same as
|
||||
* expected values.
|
||||
*
|
||||
* @param outputAnalyzer search output for expect options and values.
|
||||
* @param optionNames names of tested options.
|
||||
* @param expectedValues expected values of tested options.
|
||||
* @throws Throwable if verification fails or some other issues occur.
|
||||
*/
|
||||
public static void verifyOptionValuesFromOutput(OutputAnalyzer outputAnalyzer,
|
||||
String[] optionNames,
|
||||
String[] expectedValues) throws Throwable {
|
||||
outputAnalyzer.shouldHaveExitValue(0);
|
||||
for (int i = 0; i < optionNames.length; i++) {
|
||||
outputAnalyzer.shouldMatch(String.format(
|
||||
CommandLineOptionTest.PRINT_FLAGS_FINAL_FORMAT,
|
||||
optionNames[i], expectedValues[i]));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifies that value of specified JVM options are the same as
|
||||
* expected values.
|
||||
* Generates command line option flags from
|
||||
* {@code optionNames} and {@code expectedValues}.
|
||||
*
|
||||
* @param optionNames names of tested options.
|
||||
* @param expectedValues expected values of tested options.
|
||||
* @throws Throwable if verification fails or some other issues occur.
|
||||
*/
|
||||
public static void verifyOptionValues(String[] optionNames,
|
||||
String[] expectedValues) throws Throwable {
|
||||
OutputAnalyzer outputAnalyzer = startVMWithOptions(optionNames, expectedValues, "-XX:+PrintFlagsFinal");
|
||||
verifyOptionValuesFromOutput(outputAnalyzer, optionNames, expectedValues);
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifies that value of specified JVM when type of newly started VM
|
||||
* is the same as the type of current.
|
||||
@ -311,6 +378,24 @@ public abstract class CommandLineOptionTest {
|
||||
return String.format("-XX:%s=%s", name, value.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepares generic command line flag with name {@code name} by setting
|
||||
* it's value to {@code value}.
|
||||
*
|
||||
* @param name the name of option to be prepared
|
||||
* @param value the value of option ("+" or "-" can be used instead of "true" or "false")
|
||||
* @return prepared command line flag
|
||||
*/
|
||||
public static String prepareFlag(String name, String value) {
|
||||
if (value.equals("+") || value.equalsIgnoreCase("true")) {
|
||||
return "-XX:+" + name;
|
||||
} else if (value.equals("-") || value.equalsIgnoreCase("false")) {
|
||||
return "-XX:-" + name;
|
||||
} else {
|
||||
return "-XX:" + name + "=" + value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns message that should occur in VM output if option
|
||||
* {@code optionName} if unrecognized.
|
||||
|
@ -326,3 +326,4 @@ f464f9b2fb1178f6a957e5730b4b5252c6149ed9 jdk9-b80
|
||||
6a418934997fc4b56664b88f8417e2f0fe658091 jdk9-b81
|
||||
53fe3c103b6fdf48e2b2676c0c4818ef5a10fa21 jdk9-b82
|
||||
497bc2654e11684b11de46744227883d7e760f35 jdk9-b83
|
||||
91795d86744f3074d1e59b1e75d9c851c098688f jdk9-b84
|
||||
|
@ -101,7 +101,7 @@ public class CoreDOMImplementationImpl
|
||||
* This is interpreted as "Version of the DOM API supported for the
|
||||
* specified Feature", and in Level 1 should be "1.0"
|
||||
*
|
||||
* @return true iff this implementation is compatable with the specified
|
||||
* @return true if this implementation is compatible with the specified
|
||||
* feature and version.
|
||||
*/
|
||||
public boolean hasFeature(String feature, String version) {
|
||||
@ -111,19 +111,22 @@ public class CoreDOMImplementationImpl
|
||||
if (feature.startsWith("+")) {
|
||||
feature = feature.substring(1);
|
||||
}
|
||||
return (
|
||||
feature.equalsIgnoreCase("Core")
|
||||
&& (anyVersion
|
||||
|| version.equals("1.0")
|
||||
|| version.equals("2.0")
|
||||
|| version.equals("3.0")))
|
||||
|| (feature.equalsIgnoreCase("XML")
|
||||
&& (anyVersion
|
||||
|| version.equals("1.0")
|
||||
|| version.equals("2.0")
|
||||
|| version.equals("3.0")))
|
||||
|| (feature.equalsIgnoreCase("LS")
|
||||
&& (anyVersion || version.equals("3.0")));
|
||||
return (feature.equalsIgnoreCase("Core")
|
||||
&& (anyVersion
|
||||
|| version.equals("1.0")
|
||||
|| version.equals("2.0")
|
||||
|| version.equals("3.0")))
|
||||
|| (feature.equalsIgnoreCase("XML")
|
||||
&& (anyVersion
|
||||
|| version.equals("1.0")
|
||||
|| version.equals("2.0")
|
||||
|| version.equals("3.0")))
|
||||
|| (feature.equalsIgnoreCase("LS")
|
||||
&& (anyVersion
|
||||
|| version.equals("3.0")))
|
||||
|| (feature.equalsIgnoreCase("ElementTraversal")
|
||||
&& (anyVersion
|
||||
|| version.equals("1.0")));
|
||||
} // hasFeature(String,String):boolean
|
||||
|
||||
|
||||
|
@ -83,6 +83,9 @@ public class DOMImplementationImpl extends CoreDOMImplementationImpl
|
||||
* specified feature and version.
|
||||
*/
|
||||
public boolean hasFeature(String feature, String version) {
|
||||
if (feature == null || feature.length() == 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean result = super.hasFeature(feature, version);
|
||||
if (!result) {
|
||||
|
@ -50,7 +50,7 @@ package org.w3c.dom;
|
||||
* elements of an element, for preprocessing before navigation.
|
||||
*
|
||||
* @see
|
||||
* <a href='http://www.w3.org/TR/ElementTraversal/'><cite>Element Traversal Specification</cite></a>.
|
||||
* <a href='http://www.w3.org/TR/ElementTraversal/'><cite>Element Traversal Specification</cite></a>
|
||||
*
|
||||
* @since 9
|
||||
*/
|
||||
|
@ -31,15 +31,34 @@ import org.testng.Assert;
|
||||
import org.testng.annotations.DataProvider;
|
||||
import org.testng.annotations.Test;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.DOMImplementation;
|
||||
import org.w3c.dom.Element;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
/*
|
||||
* @bug 8135283
|
||||
* @bug 8135283 8138721
|
||||
* @summary Tests for the Element Traversal interface.
|
||||
*/
|
||||
|
||||
public class ElementTraversal {
|
||||
/*
|
||||
Verifies that ElementTraversal is supported.
|
||||
*/
|
||||
@Test(dataProvider = "doc")
|
||||
public void testHasFeature(Document doc) {
|
||||
DOMImplementation di = doc.getImplementation();
|
||||
|
||||
//return false if feasure == null
|
||||
Assert.assertFalse(di.hasFeature(null, null));
|
||||
|
||||
//A feature is supported without specifying version
|
||||
Assert.assertTrue(di.hasFeature("ElementTraversal", null));
|
||||
Assert.assertTrue(di.hasFeature("ElementTraversal", ""));
|
||||
|
||||
//ElementTraversal Version 1.0 is supported
|
||||
Assert.assertTrue(di.hasFeature("ElementTraversal", "1.0"));
|
||||
}
|
||||
|
||||
/*
|
||||
Verifies the ElementTraversal interface by exercising all of its five
|
||||
methods while reading through the xml document.
|
||||
|
@ -329,3 +329,4 @@ e9940bf1c8ddaa6f1f5f1813846b080f0ccaf50b jdk9-b80
|
||||
139338618c77d793ab8b550f06819ddb8381316f jdk9-b81
|
||||
52d9ad2536ba6c6f1cc5561c0a0ee2b4847fd62c jdk9-b82
|
||||
d7ee8157f4feced67924e421225c6f844079a03d jdk9-b83
|
||||
51729143f8fe038f52cf55720c4c1f89267f5948 jdk9-b84
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2012, 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
|
||||
@ -31,7 +31,5 @@ package com.sun.tools.internal.xjc;
|
||||
public enum Language {
|
||||
DTD,
|
||||
XMLSCHEMA,
|
||||
RELAXNG,
|
||||
RELAXNG_COMPACT,
|
||||
WSDL
|
||||
}
|
||||
|
@ -73,8 +73,6 @@ Options:\n\
|
||||
\ \ -disableXmlSecurity : disables XML security features when parsing XML documents \n\
|
||||
\ \ -contentForWildcard : generates content property for types with multiple xs:any derived elements \n\
|
||||
\ \ -xmlschema : treat input as W3C XML Schema (default)\n\
|
||||
\ \ -relaxng : treat input as RELAX NG (experimental,unsupported)\n\
|
||||
\ \ -relaxng-compact : treat input as RELAX NG compact syntax (experimental,unsupported)\n\
|
||||
\ \ -dtd : treat input as XML DTD (experimental,unsupported)\n\
|
||||
\ \ -wsdl : treat input as WSDL and compile schemas inside it (experimental,unsupported)\n\
|
||||
\ \ -verbose : be extra verbose\n\
|
||||
@ -85,7 +83,7 @@ Options:\n\
|
||||
|
||||
Driver.AddonUsage = \nExtensions:
|
||||
|
||||
# {0} - one of: DTD, RELAX NG, RELAX NG compact syntax, WSDL; {1} - one of (respectively): -dtd, -relaxng, -relaxng-compact, -wsdl
|
||||
# {0} - one of: DTD, WSDL; {1} - one of (respectively): -dtd, -wsdl
|
||||
Driver.ExperimentalLanguageWarning = \
|
||||
Are you trying to compile {0}? Support for {0} is experimental. \
|
||||
You may enable it by using the {1} option.
|
||||
|
@ -33,10 +33,41 @@ ConsoleErrorReporter.LineXOfY = \ \ Zeile {0} von {1}
|
||||
ConsoleErrorReporter.UnknownFile = unbekannte Datei
|
||||
|
||||
Driver.Private.Usage = Zus\u00e4tzliche private Testoptionen:\n\\ \\ -debug : Ausf\u00fchrung im Debug-Modus (umfasst -verbose)\n\\ \\ -mode <mode> : F\u00fchrt XJC in einem anderen Ausf\u00fchrungsmodus aus\n\\ \\ -private : Zeigt diese Hilfemeldung an\nModus:\n\\ \\ code : Generiert Java-Quellcode (Standard)\n\\ \\ dryrun : Kompiliert das Schema im Speicher, generiert die Java-Quelle jedoch nicht\n\\ \\ zip : Generiert den Java-Quellcode in einer .zip-Datei, wie mit der Option -d angegeben\n\\ \\ sig : Gibt die Signaturen des generierten Codes aus\n\\ \\ forest : Gibt transformierte DOM-Gesamtstruktur aus\n
|
||||
Driver.Public.Usage = Verwendung: xjc [-options ...] <schema file/URL/dir/jar> ... [-b <bindinfo>] ...\nWenn dir angegeben wird, werden alle Schemadateien im Verzeichnis kompiliert.\nWenn jar angegeben wird, wird die /META-INF/sun-jaxb.episode-Binding-Datei kompiliert.\nOptionen:\n\\ \\ -nv : F\u00fchrt keine strikte Validierung der Eingabeschemas durch\n\\ \\ -extension : L\u00e4sst Herstellererweiterungen zu - Befolgt die \n\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ Kompatibilit\u00e4tsregeln und App E.2 der JAXB-Spezifikation nicht strikt\n\\ \\ -b <file/dir> : Gibt externe Bindings-Dateien an (jede <file> muss ihre eigene Option -b haben)\n\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ Wenn ein Verzeichnis angegeben wird, wird **/*.xjb durchsucht\n\\ \\ -d <dir> : Generierte Dateien werden in diesem Verzeichnis gespeichert\n\\ \\ -p <pkg> : Gibt das Zielpackage an\n\\ \\ -httpproxy <proxy> : set HTTP/HTTPS proxy. Format ist [user[:password]@]proxyHost:proxyPort\n\\ \\ -httpproxyfile <f> : Wird wie -httpproxy verwendet, verwendet jedoch das Argument in einer Datei zum Schutz des Kennwortes \n\\ \\ -classpath <arg> : Gibt an, wo die Benutzerklassendateien gefunden werden\n\\ \\ -catalog <file> : Gibt Katalogdateien zur Aufl\u00f6sung von externen Entity-Referenzen an\n\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ Unterst\u00fctzt TR9401, XCatalog und OASIS-XML-Katalogformat.\n\\ \\ -readOnly : Generierte Dateien werden im schreibgesch\u00fctzten Modus gelesen\n\\ \\ -npa : Unterdr\u00fcckt die Generierung von Annotationen auf Packageebene (**/package-info.java)\n\\ \\ -no-header : Unterdr\u00fcckt die Generierung eines Datei-Headers mit Zeitstempel\n\\ \\ -target (2.0|2.1) : Verh\u00e4lt sich wie XJC 2.0 oder 2.1 und generiert Code, der keine 2.2-Features verwendet.\n\\ \\ -encoding <encoding> : Gibt Zeichencodierung f\u00fcr generierte Quelldateien an\n\\ \\ -enableIntrospection : Aktiviert die ordnungsgem\u00e4\u00dfe Generierung von booleschen Gettern/Settern zur Aktivierung von Bean Introspection-APIs \n\\ \\ -contentForWildcard : Generiert Contenteigenschaft f\u00fcr Typen mit mehreren von xs:any abgeleiteten Elementen \n\\ \\ -xmlschema : Behandelt Eingabe als W3C-XML-Schema (Standard)\n\\ \\ -relaxng : Behandelt Eingabe als RELAX NG (experimentell, nicht unterst\u00fctzt)\n\\ \\ -relaxng-compact : Behandelt Eingabe als RELAX NG-Kompaktsyntax (experimentell, nicht unterst\u00fctzt)\n\\ \\ -dtd : Behandelt Eingabe als XML DTD (experimentell, nicht unterst\u00fctzt)\n\\ \\ -wsdl : Behandelt Eingabe als WSDL und kompiliert enthaltene Schemas (experimentell, nicht unterst\u00fctzt)\n\\ \\ -verbose : Verwendet extra-verbose\n\\ \\ -quiet : Unterdr\u00fcckt die Compilerausgabe\n\\ \\ -help : Zeigt diese Hilfemeldung an\n\\ \\ -version : Zeigt Versionsinformationen an\n\\ \\ -fullversion : Zeigt vollst\u00e4ndige Versionsinformationen an\n
|
||||
Driver.Public.Usage = Verwendung: xjc [-options ...] <schema file/URL/dir/jar> ... [-b <bindinfo>] ...\n\
|
||||
Wenn dir angegeben wird, werden alle Schemadateien im Verzeichnis kompiliert.\n\
|
||||
Wenn jar angegeben wird, wird die /META-INF/sun-jaxb.episode-Binding-Datei kompiliert.\n\
|
||||
Optionen:\n\
|
||||
\ \ -nv : F\u00fchrt keine strikte Validierung der Eingabeschemas durch\n\
|
||||
\ \ -extension : L\u00e4sst Herstellererweiterungen zu - Befolgt die \n\
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Kompatibilit\u00e4tsregeln und App E.2 der JAXB-Spezifikation nicht strikt\n\
|
||||
\ \ -b <file/dir> : Gibt externe Bindings-Dateien an (jede <file> muss ihre eigene Option -b haben)\n\
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Wenn ein Verzeichnis angegeben wird, wird **/*.xjb durchsucht\n\
|
||||
\ \ -d <dir> : Generierte Dateien werden in diesem Verzeichnis gespeichert\n\
|
||||
\ \ -p <pkg> : Gibt das Zielpackage an\n\
|
||||
\ \ -httpproxy <proxy> : set HTTP/HTTPS proxy. Format ist [user[:password]@]proxyHost:proxyPort\n\
|
||||
\ \ -httpproxyfile <f> : Wird wie -httpproxy verwendet, verwendet jedoch das Argument in einer Datei zum Schutz des Kennwortes \n\
|
||||
\ \ -classpath <arg> : Gibt an, wo die Benutzerklassendateien gefunden werden\n\
|
||||
\ \ -catalog <file> : Gibt Katalogdateien zur Aufl\u00f6sung von externen Entity-Referenzen an\n\
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Unterst\u00fctzt TR9401, XCatalog und OASIS-XML-Katalogformat.\n\
|
||||
\ \ -readOnly : Generierte Dateien werden im schreibgesch\u00fctzten Modus gelesen\n\
|
||||
\ \ -npa : Unterdr\u00fcckt die Generierung von Annotationen auf Packageebene (**/package-info.java)\n\
|
||||
\ \ -no-header : Unterdr\u00fcckt die Generierung eines Datei-Headers mit Zeitstempel\n\
|
||||
\ \ -target (2.0|2.1) : Verh\u00e4lt sich wie XJC 2.0 oder 2.1 und generiert Code, der keine 2.2-Features verwendet.\n\
|
||||
\ \ -encoding <encoding> : Gibt Zeichencodierung f\u00fcr generierte Quelldateien an\n\
|
||||
\ \ -enableIntrospection : Aktiviert die ordnungsgem\u00e4\u00dfe Generierung von booleschen Gettern/Settern zur Aktivierung von Bean Introspection-APIs \n\
|
||||
\ \ -contentForWildcard : Generiert Contenteigenschaft f\u00fcr Typen mit mehreren von xs:any abgeleiteten Elementen \n\
|
||||
\ \ -xmlschema : Behandelt Eingabe als W3C-XML-Schema (Standard)\n\
|
||||
\ \ -dtd : Behandelt Eingabe als XML DTD (experimentell, nicht unterst\u00fctzt)\n\
|
||||
\ \ -wsdl : Behandelt Eingabe als WSDL und kompiliert enthaltene Schemas (experimentell, nicht unterst\u00fctzt)\n\
|
||||
\ \ -verbose : Verwendet extra-verbose\n\
|
||||
\ \ -quiet : Unterdr\u00fcckt die Compilerausgabe\n\
|
||||
\ \ -help : Zeigt diese Hilfemeldung an\n\
|
||||
\ \ -version : Zeigt Versionsinformationen an\n\
|
||||
\ \ -fullversion : Zeigt vollst\u00e4ndige Versionsinformationen an\n\
|
||||
|
||||
Driver.AddonUsage = \nErweiterungen:
|
||||
|
||||
# {0} - one of: DTD, RELAX NG, RELAX NG compact syntax, WSDL; {1} - one of (respectively): -dtd, -relaxng, -relaxng-compact, -wsdl
|
||||
# {0} - one of: DTD, WSDL; {1} - one of (respectively): -dtd, -wsdl
|
||||
Driver.ExperimentalLanguageWarning = Versuchen Sie, {0} zu kompilieren? Unterst\u00fctzung f\u00fcr {0} ist zu Testzwecken bestimmt. Eine Aktivierung ist mit der Option {1} m\u00f6glich.
|
||||
|
||||
# Not concatenated with any other String. Variable: Name of a directory (input argument of the XJC utility).
|
||||
|
@ -33,10 +33,41 @@ ConsoleErrorReporter.LineXOfY = \ \ l\u00ednea {0} de {1}
|
||||
ConsoleErrorReporter.UnknownFile = archivo desconocido
|
||||
|
||||
Driver.Private.Usage = Opciones de pruebas privadas adicionales:\n\\ \\ -debug : se ejecuta en modo de depuraci\u00f3n (incluye -verbose)\n\\ \\ -mode <modo> : ejecuta XJC en otro modo de ejecuci\u00f3n\n\\ \\ -private : muestra este mensaje de ayuda\nModo:\n\\ \\ code : genera c\u00f3digo fuente Java (por defecto)\n\\ \\ dryrun : compila el esquema en la memoria, pero no genera el c\u00f3digo fuente Java\n\\ \\ zip : genera c\u00f3digo fuente Java en un archivo zip especificado por la opci\u00f3n -d\n\\ \\ sig : vuelca las firmas del c\u00f3digo generado\n\\ \\ forest : vuelca el bosque DOM transformado\n
|
||||
Driver.Public.Usage = Sintaxis: xjc [-options ...] <archivo de esquema/URL/dir/jar> ... [-b <infoenlace>] ...\nSi se especifica dir, se compilar\u00e1n todos los archivos de esquema que hay en \u00e9l.\nSi se especifica jar, se compilar\u00e1 el archivo de enlace /META-INF/sun-jaxb.episode.\nOpciones:\n\\ \\ -nv : no realiza una validaci\u00f3n estricta de los esquemas de entrada\n\\ \\ -extension : permite extensiones de proveedor - no cumple estrictamente las\n\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ reglas de compatibilidad y el ap\u00e9ndice E.2 de la especificaci\u00f3n JAXB\n\\ \\ -b <archivo/dir> : especifica archivos de enlace externos (cada <archivo> debe tener su propio -b)\n\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ Si se proporciona un directorio, se busca **/*.xjb\n\\ \\ -d <directorio> : los archivos generados ir\u00e1n a este directorio\n\\ \\ -p <paquete> : especifica el paquete de destino\n\\ \\ -httpproxy <proxy> : define el proxy HTTP/HTTPS. El formato es [user[:password]@]proxyHost:proxyPort\n\\ \\ -httpproxyfile <f> : funciona como -httpproxy, pero toma el argumento de un archivo para proteger la contrase\u00f1a \n\\ \\ -classpath <arg> : especifica d\u00f3nde encontrar archivos de clase de usuario\n\\ \\ -catalog <archivo> : especifica archivos de cat\u00e1logo para resolver referencias de entidades externas\n\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ soporta el formato de cat\u00e1logo TR9401, XCatalog y OASIS XML.\n\\ \\ -readOnly : los archivos generados estar\u00e1n en modo de s\u00f3lo lectura\n\\ \\ -npa : suprime la generaci\u00f3n de anotaciones de nivel de paquete (**/package-info.java)\n\\ \\ -no-header : suprime la generaci\u00f3n de una cabecera de archivo con registro de hora\n\\ \\ -target (2.0|2.1) : se comporta como XJC 2.0 o 2.1 y genera c\u00f3digo que no utiliza ninguna de las funciones de 2.2.\n\\ \\ -encoding <codificaci\u00f3n> :especifica la codificaci\u00f3n de caracteres de los archivos de origen generados\n\\ \\ -enableIntrospection : permite la generaci\u00f3n correcta de getters/setters booleanos para permitir API de introspecci\u00f3n de bean \n\\ \\ -contentForWildcard : genera la propiedad de contenido para tipos con m\u00faltiples elementos derivados de xs:any \n\\ \\ -xmlschema : trata la entrada como un esquema XML de W3C (por defecto)\n\\ \\ -relaxng : trata la entrada como RELAX NG (experimental, no soportado)\n\\ \\ -relaxng-compact : trata la entrada como sintaxis compacta de RELAX NG (experimental, no soportado)\n\\ \\ -dtd : trata la entrada como DTD de XML (experimental, no soportado)\n\\ \\ -wsdl : trata la entrada como WSDL y compila esquemas en su interior (experimental, no soportado)\n\\ \\ -verbose : con detalles adicionales\n\\ \\ -quiet : suprime la salida del compilador\n\\ \\ -help : muestra este mensaje de ayuda\n\\ \\ -version : muestra informaci\u00f3n de la versi\u00f3n\n\\ \\ -fullversion : muestra informaci\u00f3n completa de la versi\u00f3n\n
|
||||
Driver.Public.Usage = Sintaxis: xjc [-options ...] <archivo de esquema/URL/dir/jar> ... [-b <infoenlace>] ...\n\
|
||||
Si se especifica dir, se compilar\u00e1n todos los archivos de esquema que hay en \u00e9l.\n\
|
||||
Si se especifica jar, se compilar\u00e1 el archivo de enlace /META-INF/sun-jaxb.episode.\n\
|
||||
Opciones:\n\
|
||||
\ \ -nv : no realiza una validaci\u00f3n estricta de los esquemas de entrada\n\
|
||||
\ \ -extension : permite extensiones de proveedor - no cumple estrictamente las\n\
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ reglas de compatibilidad y el ap\u00e9ndice E.2 de la especificaci\u00f3n JAXB\n\
|
||||
\ \ -b <archivo/dir> : especifica archivos de enlace externos (cada <archivo> debe tener su propio -b)\n\
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Si se proporciona un directorio, se busca **/*.xjb\n\
|
||||
\ \ -d <directorio> : los archivos generados ir\u00e1n a este directorio\n\
|
||||
\ \ -p <paquete> : especifica el paquete de destino\n\
|
||||
\ \ -httpproxy <proxy> : define el proxy HTTP/HTTPS. El formato es [user[:password]@]proxyHost:proxyPort\n\
|
||||
\ \ -httpproxyfile <f> : funciona como -httpproxy, pero toma el argumento de un archivo para proteger la contrase\u00f1a \n\
|
||||
\ \ -classpath <arg> : especifica d\u00f3nde encontrar archivos de clase de usuario\n\
|
||||
\ \ -catalog <archivo> : especifica archivos de cat\u00e1logo para resolver referencias de entidades externas\n\
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ soporta el formato de cat\u00e1logo TR9401, XCatalog y OASIS XML.\n\
|
||||
\ \ -readOnly : los archivos generados estar\u00e1n en modo de s\u00f3lo lectura\n\
|
||||
\ \ -npa : suprime la generaci\u00f3n de anotaciones de nivel de paquete (**/package-info.java)\n\
|
||||
\ \ -no-header : suprime la generaci\u00f3n de una cabecera de archivo con registro de hora\n\
|
||||
\ \ -target (2.0|2.1) : se comporta como XJC 2.0 o 2.1 y genera c\u00f3digo que no utiliza ninguna de las funciones de 2.2.\n\
|
||||
\ \ -encoding <codificaci\u00f3n> :especifica la codificaci\u00f3n de caracteres de los archivos de origen generados\n\
|
||||
\ \ -enableIntrospection : permite la generaci\u00f3n correcta de getters/setters booleanos para permitir API de introspecci\u00f3n de bean \n\
|
||||
\ \ -contentForWildcard : genera la propiedad de contenido para tipos con m\u00faltiples elementos derivados de xs:any \n\
|
||||
\ \ -xmlschema : trata la entrada como un esquema XML de W3C (por defecto)\n\
|
||||
\ \ -dtd : trata la entrada como DTD de XML (experimental, no soportado)\n\
|
||||
\ \ -wsdl : trata la entrada como WSDL y compila esquemas en su interior (experimental, no soportado)\n\
|
||||
\ \ -verbose : con detalles adicionales\n\
|
||||
\ \ -quiet : suprime la salida del compilador\n\
|
||||
\ \ -help : muestra este mensaje de ayuda\n\
|
||||
\ \ -version : muestra informaci\u00f3n de la versi\u00f3n\n\
|
||||
\ \ -fullversion : muestra informaci\u00f3n completa de la versi\u00f3n\n\
|
||||
|
||||
Driver.AddonUsage = \nExtensiones:
|
||||
|
||||
# {0} - one of: DTD, RELAX NG, RELAX NG compact syntax, WSDL; {1} - one of (respectively): -dtd, -relaxng, -relaxng-compact, -wsdl
|
||||
# {0} - one of: DTD, WSDL; {1} - one of (respectively): -dtd, -wsdl
|
||||
Driver.ExperimentalLanguageWarning = \u00bfEst\u00e1 intentando compilar {0}? El soporte de {0} es experimental. Para activarlo, utilice la opci\u00f3n {1}.
|
||||
|
||||
# Not concatenated with any other String. Variable: Name of a directory (input argument of the XJC utility).
|
||||
|
@ -36,7 +36,42 @@ Driver.Private.Usage = Options de test priv\u00e9es suppl\u00e9mentaires : \n\ \
|
||||
Driver.Public.Usage = Syntaxe : xjc [-options ...] <schema file/URL/dir/jar> ... [-b <bindinfo>] ...\nSi le r\u00e9pertoire est indiqu\u00e9, tous les fichiers de sch\u00e9ma qu'il contient seront compil\u00e9s.\nSi le fichier JAR est indiqu\u00e9, le fichier de binding /META-INF/sun-jaxb.episode sera compil\u00e9.\nOptions :\n\ \ -nv : n'effectuez pas de validation stricte des sch\u00e9mas d'entr\u00e9e\n\ \ -extension : autorisez les extensions fournisseur, ne suivez pas strictement les\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ R\u00e8gles de compatibilit\u00e9 et App E.2 de la sp\u00e9cification JAXB\n\ \ -b <file/dir> : indiquez les fichiers de binding externes (chaque \u00e9l\u00e9ment <file> doit avoir sa propre option -b)\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Si un r\u00e9pertoire est indiqu\u00e9, **/*.xjb est recherch\u00e9\n\ \ -d <dir> : les fichiers g\u00e9n\u00e9r\u00e9s seront plac\u00e9s dans ce r\u00e9pertoire\n\ \ -p <pkg> : indique le package cible\n\ \ -httpproxy <proxy> : d\u00e9finissez le proxy HTTP/HTTPS. Le format est [user[:password]@]proxyHost:proxyPort\n\ \ -httpproxyfile <f> : fonctionne comme -httpproxy mais prend l'argument dans un fichier pour prot\u00e9ger le mot de passe \n\ \ -classpath <arg> : indiquez o\u00f9 trouver les fichiers de classe utilisateur\n\ \ -catalog <file> : indiquez les fichiers de catalogue pour r\u00e9soudre les r\u00e9f\u00e9rences d'entit\u00e9 externes\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ prenez en charge le format de catalogue TR9401, XCatalog et OASIS XML.\n\ \ -readOnly : les fichiers g\u00e9n\u00e9r\u00e9s seront en mode lecture seule\n\ \ -npa : supprimez la g\u00e9n\u00e9ration des annotations de niveau package (**/package-info.java)\n\ \ -no-header : supprimez la g\u00e9n\u00e9ration d'un en-t\u00eate de fichier avec horodatage\n\ \ -target (2.0|2.1) : comportez-vous comme XJC 2.0 ou 2.1 et g\u00e9n\u00e9rez du code qui n'utilise aucune fonctionnalit\u00e9 2.2.\n\ \ -encoding <encoding> : indiquez l'encodage de caract\u00e8res pour les fichiers source g\u00e9n\u00e9r\u00e9s\n\ \ -enableIntrospection : activez la g\u00e9n\u00e9ration correcte des m\u00e9thodes get/set bool\u00e9ennes pour activer les API d'introspection de bean \n\ \ -contentForWildcard : g\u00e9n\u00e8re la propri\u00e9t\u00e9 de contenu pour les types avec plusieurs \u00e9l\u00e9ments d\u00e9riv\u00e9s xs:any \n\ \ -xmlschema : traitez l'entr\u00e9e en tant que W3C XML Schema (par d\u00e9faut)\n\ \ -relaxng : traitez l'entr\u00e9e en tant que RELAX NG (exp\u00e9rimental, non pris en charge)\n\ \ -relaxng-compact : traitez l'entr\u00e9e en tant que syntaxe compacte RELAX NG (exp\u00e9rimental, non pris en charge)\n\ \ -dtd : traitez l'entr\u00e9e en tant que DTD XML (exp\u00e9rimental, non pris en charge)\n\ \ -wsdl : traitez l'entr\u00e9e en tant que WSDL et compilez-y les sch\u00e9mas (exp\u00e9rimental, non pris en charge)\n\ \ -verbose : agissez en mode extra verbose\n\ \ -quiet : supprimez la sortie de compilateur\n\ \ -help : affichez ce message d'aide\n\ \ -version : affichez ces informations de version\n\ \ -fullversion : affichez ces informations de version compl\u00e8te\n
|
||||
Driver.AddonUsage = \nExtensions :
|
||||
|
||||
# {0} - one of: DTD, RELAX NG, RELAX NG compact syntax, WSDL; {1} - one of (respectively): -dtd, -relaxng, -relaxng-compact, -wsdl
|
||||
Driver.Public.Usage = Syntaxe : xjc [-options ...] <schema file/URL/dir/jar> ... [-b <bindinfo>] ...\n\
|
||||
Si le r\u00e9pertoire est indiqu\u00e9, tous les fichiers de sch\u00e9ma qu'il contient seront compil\u00e9s.\n\
|
||||
Si le fichier JAR est indiqu\u00e9, le fichier de binding /META-INF/sun-jaxb.episode sera compil\u00e9.\n\
|
||||
Options :\n\
|
||||
\ \ -nv : n'effectuez pas de validation stricte des sch\u00e9mas d'entr\u00e9e\n\
|
||||
\ \ -extension : autorisez les extensions fournisseur, ne suivez pas strictement les\n\
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ R\u00e8gles de compatibilit\u00e9 et App E.2 de la sp\u00e9cification JAXB\n\
|
||||
\ \ -b <file/dir> : indiquez les fichiers de binding externes (chaque \u00e9l\u00e9ment <file> doit avoir sa propre option -b)\n\
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Si un r\u00e9pertoire est indiqu\u00e9, **/*.xjb est recherch\u00e9\n\
|
||||
\ \ -d <dir> : les fichiers g\u00e9n\u00e9r\u00e9s seront plac\u00e9s dans ce r\u00e9pertoire\n\
|
||||
\ \ -p <pkg> : indique le package cible\n\
|
||||
\ \ -httpproxy <proxy> : d\u00e9finissez le proxy HTTP/HTTPS. Le format est [user[:password]@]proxyHost:proxyPort\n\
|
||||
\ \ -httpproxyfile <f> : fonctionne comme -httpproxy mais prend l'argument dans un fichier pour prot\u00e9ger le mot de passe \n\
|
||||
\ \ -classpath <arg> : indiquez o\u00f9 trouver les fichiers de classe utilisateur\n\
|
||||
\ \ -catalog <file> : indiquez les fichiers de catalogue pour r\u00e9soudre les r\u00e9f\u00e9rences d'entit\u00e9 externes\n\
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ prenez en charge le format de catalogue TR9401, XCatalog et OASIS XML.\n\
|
||||
\ \ -readOnly : les fichiers g\u00e9n\u00e9r\u00e9s seront en mode lecture seule\n\
|
||||
\ \ -npa : supprimez la g\u00e9n\u00e9ration des annotations de niveau package (**/package-info.java)\n\
|
||||
\ \ -no-header : supprimez la g\u00e9n\u00e9ration d'un en-t\u00eate de fichier avec horodatage\n\
|
||||
\ \ -target (2.0|2.1) : comportez-vous comme XJC 2.0 ou 2.1 et g\u00e9n\u00e9rez du code qui n'utilise aucune fonctionnalit\u00e9 2.2.\n\
|
||||
\ \ -encoding <encoding> : indiquez l'encodage de caract\u00e8res pour les fichiers source g\u00e9n\u00e9r\u00e9s\n\
|
||||
\ \ -enableIntrospection : activez la g\u00e9n\u00e9ration correcte des m\u00e9thodes get/set bool\u00e9ennes pour activer les API d'introspection de bean \n\
|
||||
\ \ -contentForWildcard : g\u00e9n\u00e8re la propri\u00e9t\u00e9 de contenu pour les types avec plusieurs \u00e9l\u00e9ments d\u00e9riv\u00e9s xs:any \n\
|
||||
\ \ -xmlschema : traitez l'entr\u00e9e en tant que W3C XML Schema (par d\u00e9faut)\n\
|
||||
\ \ -dtd : traitez l'entr\u00e9e en tant que DTD XML (exp\u00e9rimental, non pris en charge)\n\
|
||||
\ \ -wsdl : traitez l'entr\u00e9e en tant que WSDL et compilez-y les sch\u00e9mas (exp\u00e9rimental, non pris en charge)\n\
|
||||
\ \ -verbose : agissez en mode extra verbose\n\
|
||||
\ \ -quiet : supprimez la sortie de compilateur\n\
|
||||
\ \ -help : affichez ce message d'aide\n\
|
||||
\ \ -version : affichez ces informations de version\n\
|
||||
\ \ -fullversion : affichez ces informations de version compl\u00e8te\n\
|
||||
|
||||
Driver.AddonUsage = \n\
|
||||
Extensions :
|
||||
|
||||
# {0} - one of: DTD, WSDL; {1} - one of (respectively): -dtd, -wsdl
|
||||
Driver.ExperimentalLanguageWarning = Essayez-vous de compiler {0} ? La prise en charge de {0} est exp\u00e9rimentale. Vous pouvez l''activer \u00e0 l''aide de l''option {1}.
|
||||
|
||||
# Not concatenated with any other String. Variable: Name of a directory (input argument of the XJC utility).
|
||||
|
@ -33,10 +33,41 @@ ConsoleErrorReporter.LineXOfY = \ \ riga {0} di {1}
|
||||
ConsoleErrorReporter.UnknownFile = file sconosciuto
|
||||
|
||||
Driver.Private.Usage = Opzioni di test private aggiuntive:\n\ \ -debug : l'esecuzione avviene in modalit\u00e0 debug (include -verbose)\n\ \ -mode <modalit\u00e0> : XJC viene eseguito in un'altra modalit\u00e0 di esecuzione\n\ \ -private : visualizza questo messaggio della Guida\nModalit\u00e0:\n\ \ code : genera il codice sorgente Java (valore predefinito)\n\ \ dryrun : compila lo schema nella memoria ma non genera il codice sorgente Java\n\ \ zip : genera il codice sorgente Java in un file zip specificato dall'opzione -d\n\ \ sig : esegue il dump del firme del codice generato\n\ \ forest : esegue il dump dell'insieme di strutture DOM trasformato\n
|
||||
Driver.Public.Usage = Uso: xjc [-options ...] <file schema/URL/dir/jar> ... [-b <bindinfo>] ...\nSe viene specificato dir, verranno compilati tutti i file dello schema in essa contenuti.\nSe viene specificato jar, verr\u00e0 compilato il file di associazione /META-INF/sun-jaxb.episode.\nOpzioni:\n\ \ -nv : non esegue la convalida rigorosa degli schemi di input\n\ \ -extension : consente le estensioni del fornitore; non segue in modo rigoroso le\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ regole di compatibilit\u00e0 e App E.2 dalla specifica JAXB\n\ \ -b <file/dir> : specifica i file di associazione esterni (ogni <file> deve avere la relativa -b)\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Se viene fornita una directory, la ricerca viene eseguita in **/*.xjb\n\ \ -d <dir> : i file generati andranno in questa directory\n\ \ -p <pkg> : specifica il package di destinazione\n\ \ -httpproxy <proxy> : imposta il proxy HTTP/HTTPS. Il formato \u00e8 [user[:password]@]proxyHost:proxyPort\n\ \ -httpproxyfile <f> : funziona come -httpproxy ma prende l'argomento da un file per proteggere la password \n\ \ -classpath <arg> : specifica dove trovare i file delle classi utente\n\ \ -catalog <file> : specifica i file di catalogo per risolvere i riferimenti a entit\u00e0 esterne\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ supporta il formato di catalogo XML TR9401, XCatalog e OASIS.\n\ \ -readOnly : i file generati saranno in modalit\u00e0 di sola lettura\n\ \ -npa : elimina la generazione delle annotazioni a livello di package (**/package-info.java)\n\ \ -no-header : elimina la generazione di un'intestazione di file con indicatore orario\n\ \ -target (2.0|2.1) : funziona come XJC 2.0 o 2.1 e genera del codice che non usa alcuna funzione 2.2.\n\ \ -encoding <encoding> : specifica la codifica di caratteri per i file di origine generati\n\ \ -enableIntrospection : abilita la generazione di getter/setter booleani per abilitare le API di introspezione dei bean \n\ \ -contentForWildcard : genera la propriet\u00e0 di contenuto per i tipi con pi\u00f9 elementi derivati xs:any \n\ \ -xmlschema : tratta l'input come schema XML W3C (valore predefinito)\n\ \ -relaxng : tratta l'input come NG RELAX (sperimentale, non supportato)\n\ \ -relaxng-compact : tratta l'input come sintassi compatta NG RELAX (sperimentale, non supportato)\n\ \ -dtd : tratta l'input come DTD XML (sperimentale, non supportato)\n\ \ -wsdl : tratta l'input come WSDL e compila gli schemi al suo interno (sperimentale, non supportato)\n\ \ -verbose : be extra verbose\n\ \ -quiet : elimina l'output del compilatore\n\ \ -help : visualizza questo messaggio della Guida\n\ \ -version : visualizza le informazioni sulla versione\n\ \ -fullversion : visualizza le informazioni sulla versione completa\n
|
||||
Driver.Public.Usage = Uso: xjc [-options ...] <file schema/URL/dir/jar> ... [-b <bindinfo>] ...\n\
|
||||
Se viene specificato dir, verranno compilati tutti i file dello schema in essa contenuti.\n\
|
||||
Se viene specificato jar, verr\u00e0 compilato il file di associazione /META-INF/sun-jaxb.episode.\n\
|
||||
Opzioni:\n\
|
||||
\ \ -nv : non esegue la convalida rigorosa degli schemi di input\n\
|
||||
\ \ -extension : consente le estensioni del fornitore; non segue in modo rigoroso le\n\
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ regole di compatibilit\u00e0 e App E.2 dalla specifica JAXB\n\
|
||||
\ \ -b <file/dir> : specifica i file di associazione esterni (ogni <file> deve avere la relativa -b)\n\
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Se viene fornita una directory, la ricerca viene eseguita in **/*.xjb\n\
|
||||
\ \ -d <dir> : i file generati andranno in questa directory\n\
|
||||
\ \ -p <pkg> : specifica il package di destinazione\n\
|
||||
\ \ -httpproxy <proxy> : imposta il proxy HTTP/HTTPS. Il formato \u00e8 [user[:password]@]proxyHost:proxyPort\n\
|
||||
\ \ -httpproxyfile <f> : funziona come -httpproxy ma prende l'argomento da un file per proteggere la password \n\
|
||||
\ \ -classpath <arg> : specifica dove trovare i file delle classi utente\n\
|
||||
\ \ -catalog <file> : specifica i file di catalogo per risolvere i riferimenti a entit\u00e0 esterne\n\
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ supporta il formato di catalogo XML TR9401, XCatalog e OASIS.\n\
|
||||
\ \ -readOnly : i file generati saranno in modalit\u00e0 di sola lettura\n\
|
||||
\ \ -npa : elimina la generazione delle annotazioni a livello di package (**/package-info.java)\n\
|
||||
\ \ -no-header : elimina la generazione di un'intestazione di file con indicatore orario\n\
|
||||
\ \ -target (2.0|2.1) : funziona come XJC 2.0 o 2.1 e genera del codice che non usa alcuna funzione 2.2.\n\
|
||||
\ \ -encoding <encoding> : specifica la codifica di caratteri per i file di origine generati\n\
|
||||
\ \ -enableIntrospection : abilita la generazione di getter/setter booleani per abilitare le API di introspezione dei bean \n\
|
||||
\ \ -contentForWildcard : genera la propriet\u00e0 di contenuto per i tipi con pi\u00f9 elementi derivati xs:any \n\
|
||||
\ \ -xmlschema : tratta l'input come schema XML W3C (valore predefinito)\n\
|
||||
\ \ -dtd : tratta l'input come DTD XML (sperimentale, non supportato)\n\
|
||||
\ \ -wsdl : tratta l'input come WSDL e compila gli schemi al suo interno (sperimentale, non supportato)\n\
|
||||
\ \ -verbose : be extra verbose\n\
|
||||
\ \ -quiet : elimina l'output del compilatore\n\
|
||||
\ \ -help : visualizza questo messaggio della Guida\n\
|
||||
\ \ -version : visualizza le informazioni sulla versione\n\
|
||||
\ \ -fullversion : visualizza le informazioni sulla versione completa\n\
|
||||
|
||||
Driver.AddonUsage = \nEstensioni:
|
||||
|
||||
# {0} - one of: DTD, RELAX NG, RELAX NG compact syntax, WSDL; {1} - one of (respectively): -dtd, -relaxng, -relaxng-compact, -wsdl
|
||||
# {0} - one of: DTD, WSDL; {1} - one of (respectively): -dtd, -wsdl
|
||||
Driver.ExperimentalLanguageWarning = Si sta tentando di compilare {0}? Il supporto per {0} \u00e8 sperimentale. \u00c8 possibile abilitarlo usando l''opzione {1}.
|
||||
|
||||
# Not concatenated with any other String. Variable: Name of a directory (input argument of the XJC utility).
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -33,10 +33,41 @@ ConsoleErrorReporter.LineXOfY = \ \ linha {0} de {1}
|
||||
ConsoleErrorReporter.UnknownFile = arquivo desconhecido
|
||||
|
||||
Driver.Private.Usage = Op\u00e7\u00f5es adicionais de teste privado:\n\\ \\ -debug : executar no modo de depura\u00e7\u00e3o (inclui -verbose)\n\\ \\ -mode <mode> : executar XJC em outro modo de execu\u00e7\u00e3o\n\\ \\ -private : exibir esta mensagem de ajuda\nModo:\n\\ \\ code : gerar c\u00f3digo de origem Java (default)\n\\ \\ dryrun : compilar o esquema na mem\u00f3ria, mas n\u00e3o gerar a origem Java\n\\ \\ zip : gerar c\u00f3digo de origem Java em um arquivo zip especificado pela op\u00e7\u00e3o -d\n\\ \\ sig : fazer dump das assinaturas do c\u00f3digo gerado\n\\ \\ forest : fazer dump do DOM transformado\n
|
||||
Driver.Public.Usage = Uso: xjc [-options ...] <schema file/URL/dir/jar> ... [-b <bindinfo>] ...\nSe dir for especificado, todos os arquivos do esquema dele ser\u00e3o compilados.\nSe jar for especificado, o arquivo de bind /META-INF/sun-jaxb.episode ser\u00e1 compilado.\nOp\u00e7\u00f5es:\n\\ \\ -nv : n\u00e3o executar valida\u00e7\u00e3o restrita do(s) esquema(s) de entrada\n\\ \\ -extension : permitir extens\u00f5es do fornecedor - n\u00e3o seguir rigorosamente as\n\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ Regras de Compatibilidade e Ap\u00eandice E.2 da Espec. JAXB\n\\ \\ -b <file/dir> : especifica arquivos de bind externos (cada <file> deve ter seu pr\u00f3prio -b)\n\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ Se for fornecido um diret\u00f3rio, **/*.xjb ser\u00e1 pesquisado\n\\ \\ -d <dir> : os arquivos gerados ficar\u00e3o neste diret\u00f3rio\n\\ \\ -p <pkg> : especifica o pacote do alvo\n\\ \\ -httpproxy <proxy> : definir proxy HTTP/HTTPS. O formato \u00e9 [user[:password]@]proxyHost:proxyPort\n\\ \\ -httpproxyfile <f> : Funciona como -httpproxy, mas usa o argumento em um arquivo para proteger a senha \n\\ \\ -classpath <arg> : especifica onde localizar os arquivos de classe do usu\u00e1rio\n\\ \\ -catalog <file> : especifica arquivos do cat\u00e1logo para resolver refer\u00eancias da entidade externa\n\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ suporta TR9401, formato de XCatalog e do Cat\u00e1logo XML do OASIS.\n\\ \\ -readOnly : os arquivos gerados ficar\u00e3o no modo somente leitura\n\\ \\ -npa : suprime a gera\u00e7\u00e3o de anota\u00e7\u00f5es do n\u00edvel do pacote (**/package-info.java)\n\\ \\ -no-header : suprime a gera\u00e7\u00e3o de um cabe\u00e7alho do arquivo com timestamp\n\\ \\ -target (2.0|2.1) : atua como XJC 2.0 ou 2.1 e gera c\u00f3digo que n\u00e3o usa nenhum recurso 2.2.\n\\ \\ -encoding <encoding> : especifica codifica\u00e7\u00e3o de caracteres para arquivos de origem gerados\n\\ \\ -enableIntrospection : ativa a gera\u00e7\u00e3o correta de getters/setters Boolianos para ativar apis de Introspec\u00e7\u00e3o de Bean \n\\ \\ -contentForWildcard : gera a propriedade do conte\u00fado dos tipos com v\u00e1rios xs:todos elementos derivados \n\\ \\ -xmlschema : trata a sa\u00edda como Esquema XML de W3C (default)\n\\ \\ -relaxng : trata a entrada como RELAX NG (experimental, n\u00e3o suportada)\n\\ \\ -relaxng-compact : trata a entrada como sintaxe compacta RELAX NG (experimental, n\u00e3o suportada)\n\\ \\ -dtd : trata a entrada como XML DTD (experimental,n\u00e3o suportada)\n\\ \\ -wsdl : trata a entrada como WSDL e compila esquemas dentro dela (experimental,n\u00e3o suportada)\n\\ \\ -verbose : verbose extra\n\\ \\ -quiet : suprime a sa\u00edda do compilador\n\\ \\ -help : exibe esta mensagem de ajuda\n\\ \\ -version : exibe informa\u00e7\u00f5es da vers\u00e3o\n\\ \\ -fullversion : exibe informa\u00e7\u00f5es da vers\u00e3o completa\n
|
||||
Driver.Public.Usage = Uso: xjc [-options ...] <schema file/URL/dir/jar> ... [-b <bindinfo>] ...\n\
|
||||
Se dir for especificado, todos os arquivos do esquema dele ser\u00e3o compilados.\n\
|
||||
Se jar for especificado, o arquivo de bind /META-INF/sun-jaxb.episode ser\u00e1 compilado.\n\
|
||||
Op\u00e7\u00f5es:\n\
|
||||
\ \ -nv : n\u00e3o executar valida\u00e7\u00e3o restrita do(s) esquema(s) de entrada\n\
|
||||
\ \ -extension : permitir extens\u00f5es do fornecedor - n\u00e3o seguir rigorosamente as\n\
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Regras de Compatibilidade e Ap\u00eandice E.2 da Espec. JAXB\n\
|
||||
\ \ -b <file/dir> : especifica arquivos de bind externos (cada <file> deve ter seu pr\u00f3prio -b)\n\
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Se for fornecido um diret\u00f3rio, **/*.xjb ser\u00e1 pesquisado\n\
|
||||
\ \ -d <dir> : os arquivos gerados ficar\u00e3o neste diret\u00f3rio\n\
|
||||
\ \ -p <pkg> : especifica o pacote do alvo\n\
|
||||
\ \ -httpproxy <proxy> : definir proxy HTTP/HTTPS. O formato \u00e9 [user[:password]@]proxyHost:proxyPort\n\
|
||||
\ \ -httpproxyfile <f> : Funciona como -httpproxy, mas usa o argumento em um arquivo para proteger a senha \n\
|
||||
\ \ -classpath <arg> : especifica onde localizar os arquivos de classe do usu\u00e1rio\n\
|
||||
\ \ -catalog <file> : especifica arquivos do cat\u00e1logo para resolver refer\u00eancias da entidade externa\n\
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ suporta TR9401, formato de XCatalog e do Cat\u00e1logo XML do OASIS.\n\
|
||||
\ \ -readOnly : os arquivos gerados ficar\u00e3o no modo somente leitura\n\
|
||||
\ \ -npa : suprime a gera\u00e7\u00e3o de anota\u00e7\u00f5es do n\u00edvel do pacote (**/package-info.java)\n\
|
||||
\ \ -no-header : suprime a gera\u00e7\u00e3o de um cabe\u00e7alho do arquivo com timestamp\n\
|
||||
\ \ -target (2.0|2.1) : atua como XJC 2.0 ou 2.1 e gera c\u00f3digo que n\u00e3o usa nenhum recurso 2.2.\n\
|
||||
\ \ -encoding <encoding> : especifica codifica\u00e7\u00e3o de caracteres para arquivos de origem gerados\n\
|
||||
\ \ -enableIntrospection : ativa a gera\u00e7\u00e3o correta de getters/setters Boolianos para ativar apis de Introspec\u00e7\u00e3o de Bean \n\
|
||||
\ \ -contentForWildcard : gera a propriedade do conte\u00fado dos tipos com v\u00e1rios xs:todos elementos derivados \n\
|
||||
\ \ -xmlschema : trata a sa\u00edda como Esquema XML de W3C (default)\n\
|
||||
\ \ -dtd : trata a entrada como XML DTD (experimental,n\u00e3o suportada)\n\
|
||||
\ \ -wsdl : trata a entrada como WSDL e compila esquemas dentro dela (experimental,n\u00e3o suportada)\n\
|
||||
\ \ -verbose : verbose extra\n\
|
||||
\ \ -quiet : suprime a sa\u00edda do compilador\n\
|
||||
\ \ -help : exibe esta mensagem de ajuda\n\
|
||||
\ \ -version : exibe informa\u00e7\u00f5es da vers\u00e3o\n\
|
||||
\ \ -fullversion : exibe informa\u00e7\u00f5es da vers\u00e3o completa\n\
|
||||
|
||||
Driver.AddonUsage = \nExtens\u00f5es:
|
||||
|
||||
# {0} - one of: DTD, RELAX NG, RELAX NG compact syntax, WSDL; {1} - one of (respectively): -dtd, -relaxng, -relaxng-compact, -wsdl
|
||||
# {0} - one of: DTD, WSDL; {1} - one of (respectively): -dtd, -wsdl
|
||||
Driver.ExperimentalLanguageWarning = Voc\u00ea est\u00e1 tentando compilar {0}? O suporte para {0} \u00e9 experimental. Voc\u00ea pode ativ\u00e1-lo usando a op\u00e7\u00e3o {1}.
|
||||
|
||||
# Not concatenated with any other String. Variable: Name of a directory (input argument of the XJC utility).
|
||||
|
@ -36,7 +36,42 @@ Driver.Private.Usage = \u5176\u4ed6\u4e13\u7528\u6d4b\u8bd5\u9009\u9879:\n\ \ -d
|
||||
Driver.Public.Usage = \u7528\u6cd5: xjc [-options ...] <schema file/URL/dir/jar> ... [-b <bindinfo>] ...\n\u5982\u679c\u6307\u5b9a dir, \u5c06\u7f16\u8bd1\u8be5\u76ee\u5f55\u4e2d\u7684\u6240\u6709\u6a21\u5f0f\u6587\u4ef6\u3002\n\u5982\u679c\u6307\u5b9a jar, \u5c06\u7f16\u8bd1 /META-INF/sun-jaxb.episode \u7ed1\u5b9a\u6587\u4ef6\u3002\n\u9009\u9879:\n\ \ -nv : \u4e0d\u5bf9\u8f93\u5165\u6a21\u5f0f\u6267\u884c\u4e25\u683c\u9a8c\u8bc1\n\ \ -extension : \u5141\u8bb8\u4f9b\u5e94\u5546\u6269\u5c55 - \u4e0d\u4e25\u683c\u9075\u5faa\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ JAXB \u89c4\u8303\u4e2d\u7684\u517c\u5bb9\u6027\u89c4\u5219\u548c\u5e94\u7528\u7a0b\u5e8f E.2\n\ \ -b <file/dir> : \u6307\u5b9a\u5916\u90e8\u7ed1\u5b9a\u6587\u4ef6 (\u6bcf\u4e2a <file> \u5fc5\u987b\u5177\u6709\u81ea\u5df1\u7684 -b)\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \u5982\u679c\u6307\u5b9a\u76ee\u5f55, \u5219\u5c06\u641c\u7d22 **/*.xjb\n\ \ -d <dir> : \u751f\u6210\u7684\u6587\u4ef6\u5c06\u653e\u5165\u6b64\u76ee\u5f55\u4e2d\n\ \ -p <pkg> : \u6307\u5b9a\u76ee\u6807\u7a0b\u5e8f\u5305\n\ \ -httpproxy <proxy> : \u8bbe\u7f6e HTTP/HTTPS \u4ee3\u7406\u3002\u683c\u5f0f\u4e3a [user[:password]@]proxyHost:proxyPort\n\ \ -httpproxyfile <f> : \u4f5c\u7528\u4e0e -httpproxy \u7c7b\u4f3c, \u4f46\u5728\u6587\u4ef6\u4e2d\u91c7\u7528\u53c2\u6570\u6765\u4fdd\u62a4\u53e3\u4ee4\n\ \ -classpath <arg> : \u6307\u5b9a\u67e5\u627e\u7528\u6237\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e\n\ \ -catalog <file> : \u6307\u5b9a\u7528\u4e8e\u89e3\u6790\u5916\u90e8\u5b9e\u4f53\u5f15\u7528\u7684\u76ee\u5f55\u6587\u4ef6\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \u652f\u6301 TR9401, XCatalog \u548c OASIS XML \u76ee\u5f55\u683c\u5f0f\u3002\n\ \ -readOnly : \u751f\u6210\u7684\u6587\u4ef6\u5c06\u5904\u4e8e\u53ea\u8bfb\u6a21\u5f0f\n\ \ -npa : \u7981\u6b62\u751f\u6210\u7a0b\u5e8f\u5305\u7ea7\u522b\u6ce8\u91ca (**/package-info.java)\n\ \ -no-header : \u7981\u6b62\u751f\u6210\u5e26\u6709\u65f6\u95f4\u6233\u7684\u6587\u4ef6\u5934\n\ \ -target (2.0|2.1) : \u884c\u4e3a\u4e0e XJC 2.0 \u6216 2.1 \u7c7b\u4f3c, \u7528\u4e8e\u751f\u6210\u4e0d\u4f7f\u7528\u4efb\u4f55 2.2 \u529f\u80fd\u7684\u4ee3\u7801\u3002\n\ \ -encoding <encoding> : \u4e3a\u751f\u6210\u7684\u6e90\u6587\u4ef6\u6307\u5b9a\u5b57\u7b26\u7f16\u7801\n\ \ -enableIntrospection : \u7528\u4e8e\u6b63\u786e\u751f\u6210\u5e03\u5c14\u578b getter/setter \u4ee5\u542f\u7528 Bean \u81ea\u6d4b apis \n\ \ -contentForWildcard : \u4e3a\u5177\u6709\u591a\u4e2a xs:any \u6d3e\u751f\u5143\u7d20\u7684\u7c7b\u578b\u751f\u6210\u5185\u5bb9\u5c5e\u6027\n\ \ -xmlschema : \u91c7\u7528 W3C XML \u6a21\u5f0f\u5904\u7406\u8f93\u5165 (\u9ed8\u8ba4\u503c)\n\ \ -relaxng : \u91c7\u7528 RELAX NG \u5904\u7406\u8f93\u5165 (\u5b9e\u9a8c\u6027\u7684, \u4e0d\u652f\u6301)\n\ \ -relaxng-compact : \u91c7\u7528 RELAX NG \u7b80\u6d01\u8bed\u6cd5\u5904\u7406\u8f93\u5165 (\u5b9e\u9a8c\u6027\u7684, \u4e0d\u652f\u6301)\n\ \ -dtd : \u91c7\u7528 XML DTD \u5904\u7406\u8f93\u5165 (\u5b9e\u9a8c\u6027\u7684, \u4e0d\u652f\u6301)\n\ \ -wsdl : \u91c7\u7528 WSDL \u5904\u7406\u8f93\u5165\u5e76\u7f16\u8bd1\u5176\u4e2d\u7684\u6a21\u5f0f (\u5b9e\u9a8c\u6027\u7684, \u4e0d\u652f\u6301)\n\ \ -verbose : \u7279\u522b\u8be6\u7ec6\n\ \ -quiet : \u9690\u85cf\u7f16\u8bd1\u5668\u8f93\u51fa\n\ \ -help : \u663e\u793a\u6b64\u5e2e\u52a9\u6d88\u606f\n\ \ -version : \u663e\u793a\u7248\u672c\u4fe1\u606f\n\ \ -fullversion : \u663e\u793a\u5b8c\u6574\u7684\u7248\u672c\u4fe1\u606f\n
|
||||
Driver.AddonUsage = \n\u6269\u5c55:
|
||||
|
||||
# {0} - one of: DTD, RELAX NG, RELAX NG compact syntax, WSDL; {1} - one of (respectively): -dtd, -relaxng, -relaxng-compact, -wsdl
|
||||
Driver.Public.Usage = \u7528\u6cd5: xjc [-options ...] <schema file/URL/dir/jar> ... [-b <bindinfo>] ...\n\
|
||||
\u5982\u679c\u6307\u5b9a dir, \u5c06\u7f16\u8bd1\u8be5\u76ee\u5f55\u4e2d\u7684\u6240\u6709\u6a21\u5f0f\u6587\u4ef6\u3002\n\
|
||||
\u5982\u679c\u6307\u5b9a jar, \u5c06\u7f16\u8bd1 /META-INF/sun-jaxb.episode \u7ed1\u5b9a\u6587\u4ef6\u3002\n\
|
||||
\u9009\u9879:\n\
|
||||
\ \ -nv : \u4e0d\u5bf9\u8f93\u5165\u6a21\u5f0f\u6267\u884c\u4e25\u683c\u9a8c\u8bc1\n\
|
||||
\ \ -extension : \u5141\u8bb8\u4f9b\u5e94\u5546\u6269\u5c55 - \u4e0d\u4e25\u683c\u9075\u5faa\n\
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ JAXB \u89c4\u8303\u4e2d\u7684\u517c\u5bb9\u6027\u89c4\u5219\u548c\u5e94\u7528\u7a0b\u5e8f E.2\n\
|
||||
\ \ -b <file/dir> : \u6307\u5b9a\u5916\u90e8\u7ed1\u5b9a\u6587\u4ef6 (\u6bcf\u4e2a <file> \u5fc5\u987b\u5177\u6709\u81ea\u5df1\u7684 -b)\n\
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \u5982\u679c\u6307\u5b9a\u76ee\u5f55, \u5219\u5c06\u641c\u7d22 **/*.xjb\n\
|
||||
\ \ -d <dir> : \u751f\u6210\u7684\u6587\u4ef6\u5c06\u653e\u5165\u6b64\u76ee\u5f55\u4e2d\n\
|
||||
\ \ -p <pkg> : \u6307\u5b9a\u76ee\u6807\u7a0b\u5e8f\u5305\n\
|
||||
\ \ -httpproxy <proxy> : \u8bbe\u7f6e HTTP/HTTPS \u4ee3\u7406\u3002\u683c\u5f0f\u4e3a [user[:password]@]proxyHost:proxyPort\n\
|
||||
\ \ -httpproxyfile <f> : \u4f5c\u7528\u4e0e -httpproxy \u7c7b\u4f3c, \u4f46\u5728\u6587\u4ef6\u4e2d\u91c7\u7528\u53c2\u6570\u6765\u4fdd\u62a4\u53e3\u4ee4\n\
|
||||
\ \ -classpath <arg> : \u6307\u5b9a\u67e5\u627e\u7528\u6237\u7c7b\u6587\u4ef6\u7684\u4f4d\u7f6e\n\
|
||||
\ \ -catalog <file> : \u6307\u5b9a\u7528\u4e8e\u89e3\u6790\u5916\u90e8\u5b9e\u4f53\u5f15\u7528\u7684\u76ee\u5f55\u6587\u4ef6\n\
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \u652f\u6301 TR9401, XCatalog \u548c OASIS XML \u76ee\u5f55\u683c\u5f0f\u3002\n\
|
||||
\ \ -readOnly : \u751f\u6210\u7684\u6587\u4ef6\u5c06\u5904\u4e8e\u53ea\u8bfb\u6a21\u5f0f\n\
|
||||
\ \ -npa : \u7981\u6b62\u751f\u6210\u7a0b\u5e8f\u5305\u7ea7\u522b\u6ce8\u91ca (**/package-info.java)\n\
|
||||
\ \ -no-header : \u7981\u6b62\u751f\u6210\u5e26\u6709\u65f6\u95f4\u6233\u7684\u6587\u4ef6\u5934\n\
|
||||
\ \ -target (2.0|2.1) : \u884c\u4e3a\u4e0e XJC 2.0 \u6216 2.1 \u7c7b\u4f3c, \u7528\u4e8e\u751f\u6210\u4e0d\u4f7f\u7528\u4efb\u4f55 2.2 \u529f\u80fd\u7684\u4ee3\u7801\u3002\n\
|
||||
\ \ -encoding <encoding> : \u4e3a\u751f\u6210\u7684\u6e90\u6587\u4ef6\u6307\u5b9a\u5b57\u7b26\u7f16\u7801\n\
|
||||
\ \ -enableIntrospection : \u7528\u4e8e\u6b63\u786e\u751f\u6210\u5e03\u5c14\u578b getter/setter \u4ee5\u542f\u7528 Bean \u81ea\u6d4b apis \n\
|
||||
\ \ -contentForWildcard : \u4e3a\u5177\u6709\u591a\u4e2a xs:any \u6d3e\u751f\u5143\u7d20\u7684\u7c7b\u578b\u751f\u6210\u5185\u5bb9\u5c5e\u6027\n\
|
||||
\ \ -xmlschema : \u91c7\u7528 W3C XML \u6a21\u5f0f\u5904\u7406\u8f93\u5165 (\u9ed8\u8ba4\u503c)\n\
|
||||
\ \ -dtd : \u91c7\u7528 XML DTD \u5904\u7406\u8f93\u5165 (\u5b9e\u9a8c\u6027\u7684, \u4e0d\u652f\u6301)\n\
|
||||
\ \ -wsdl : \u91c7\u7528 WSDL \u5904\u7406\u8f93\u5165\u5e76\u7f16\u8bd1\u5176\u4e2d\u7684\u6a21\u5f0f (\u5b9e\u9a8c\u6027\u7684, \u4e0d\u652f\u6301)\n\
|
||||
\ \ -verbose : \u7279\u522b\u8be6\u7ec6\n\
|
||||
\ \ -quiet : \u9690\u85cf\u7f16\u8bd1\u5668\u8f93\u51fa\n\
|
||||
\ \ -help : \u663e\u793a\u6b64\u5e2e\u52a9\u6d88\u606f\n\
|
||||
\ \ -version : \u663e\u793a\u7248\u672c\u4fe1\u606f\n\
|
||||
\ \ -fullversion : \u663e\u793a\u5b8c\u6574\u7684\u7248\u672c\u4fe1\u606f\n\
|
||||
|
||||
Driver.AddonUsage = \n\
|
||||
\u6269\u5c55:
|
||||
|
||||
# {0} - one of: DTD, WSDL; {1} - one of (respectively): -dtd, -wsdl
|
||||
Driver.ExperimentalLanguageWarning = \u662f\u5426\u8981\u5c1d\u8bd5\u7f16\u8bd1{0}? \u5bf9{0}\u7684\u652f\u6301\u662f\u5b9e\u9a8c\u6027\u7684\u3002\u53ef\u901a\u8fc7\u4f7f\u7528{1}\u9009\u9879\u542f\u7528\u5b83\u3002
|
||||
|
||||
# Not concatenated with any other String. Variable: Name of a directory (input argument of the XJC utility).
|
||||
|
@ -33,10 +33,41 @@ ConsoleErrorReporter.LineXOfY = \ \ {1} \u7684\u7b2c {0} \u884c
|
||||
ConsoleErrorReporter.UnknownFile = \u4e0d\u660e\u7684\u6a94\u6848
|
||||
|
||||
Driver.Private.Usage = \u5176\u4ed6\u5c08\u7528\u6e2c\u8a66\u9078\u9805:\n\\ \\ -debug : \u5728\u9664\u932f\u6a21\u5f0f\u4e2d\u57f7\u884c (\u5305\u542b -verbose)\n\\ \\ -mode <mode> : \u5728\u5176\u4ed6\u57f7\u884c\u4e2d\u6a21\u5f0f\u4e0b\u57f7\u884c XJC\n\\ \\ -private : \u986f\u793a\u6b64\u8aaa\u660e\u8a0a\u606f\n\u6a21\u5f0f:\n\\ \\ code : \u7522\u751f Java \u4f86\u6e90\u7a0b\u5f0f\u78bc (\u9810\u8a2d\u503c)\n\\ \\ dryrun : \u5728\u8a18\u61b6\u9ad4\u4e2d\u7de8\u8b6f\u7db1\u8981, \u4f46\u4e0d\u7522\u751f Java \u4f86\u6e90\n\\ \\ zip : \u5c07 Java \u4f86\u6e90\u7a0b\u5f0f\u78bc\u8f49\u63db\u70ba -d \u9078\u9805\u6307\u5b9a\u7684 zip \u6a94\u6848\n\\ \\ sig : \u50be\u5370\u7522\u751f\u4e4b\u7a0b\u5f0f\u78bc\u7684\u7c3d\u7ae0\n\\ \\ forest : \u50be\u5370\u8f49\u63db\u7684 DOM \u6a39\u7cfb\n
|
||||
Driver.Public.Usage = \u7528\u6cd5: xjc [-options ...] <schema file/URL/dir/jar> ... [-b <bindinfo>] ...\n\u82e5\u6307\u5b9a dir, \u5c07\u7de8\u8b6f\u5176\u4e2d\u7684\u6240\u6709\u7db1\u8981\u6a94\u6848.\n\u82e5\u6307\u5b9a jar, \u5c07\u7de8\u8b6f /META-INF/sun-jaxb.episode \u9023\u7d50\u6a94.\n\u9078\u9805:\n\\ \\ -nv : \u4e0d\u57f7\u884c\u56b4\u683c\u7684\u8f38\u5165\u7db1\u8981\u9a57\u8b49\n\\ \\ -extension : \u5141\u8a31\u5ee0\u5546\u64f4\u5145\u5957\u4ef6 - \u4e0d\u56b4\u683c\u9075\u5faa\n\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ JAXB \u898f\u683c\u4e2d\u7684\u76f8\u5bb9\u6027\u898f\u5247\u8207 App E.2\n\\ \\ -b <file/dir> : \u6307\u5b9a\u5916\u90e8\u9023\u7d50\u6a94 (\u6bcf\u500b <file> \u9700\u6709\u81ea\u5df1\u7684 -b)\n\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \u82e5\u6307\u5b9a\u76ee\u9304, \u5247\u6703\u641c\u5c0b **/*.xjb\n\\ \\ -d <dir> : \u7522\u751f\u7684\u6a94\u6848\u5c07\u79fb\u81f3\u6b64\u76ee\u9304\n\\ \\ -p <pkg> : \u6307\u5b9a\u76ee\u6a19\u5957\u88dd\u7a0b\u5f0f\n\\ \\ -httpproxy <proxy> : \u8a2d\u5b9a HTTP/HTTPS \u4ee3\u7406\u4e3b\u6a5f. \u683c\u5f0f\u70ba [user[:password]@]proxyHost:proxyPort\n\\ \\ -httpproxyfile <f> : \u4f5c\u7528\u5982\u540c -httpproxy, \u4f46\u63a5\u53d7\u6a94\u6848\u4e2d\u7684\u5f15\u6578\u4ee5\u4fdd\u8b77\u5bc6\u78bc \n\\ \\ -classpath <arg> : \u6307\u5b9a\u5c0b\u627e\u4f7f\u7528\u8005\u985e\u5225\u6a94\u6848\u7684\u4f4d\u7f6e\n\\ \\ -catalog <file> : \u6307\u5b9a\u89e3\u6790\u5916\u90e8\u5be6\u9ad4\u53c3\u7167\u7684\u76ee\u9304\u6a94\u6848\n\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \u652f\u63f4 TR9401\u3001XCatalog \u4ee5\u53ca OASIS XML \u76ee\u9304\u683c\u5f0f.\n\\ \\ -readOnly : \u7522\u751f\u7684\u6a94\u6848\u5c07\u662f\u552f\u8b80\u6a21\u5f0f\n\\ \\ -npa : \u6291\u5236\u5957\u88dd\u7a0b\u5f0f\u5c64\u6b21\u8a3b\u89e3 (**/package-info.java) \u7684\u7522\u751f\n\\ \\ -no-header : \u6291\u5236\u6a94\u6848\u6a19\u982d\u548c\u6642\u6233\u7684\u7522\u751f\n\\ \\ -target (2.0|2.1) : \u4f5c\u7528\u5982\u540c XJC 2.0 \u6216 2.1, \u4e26\u4e14\u6703\u7522\u751f\u4e0d\u4f7f\u7528\u4efb\u4f55 2.2 \u529f\u80fd\u7684\u7a0b\u5f0f\u78bc.\n\\ \\ -encoding <encoding> : \u70ba\u7522\u751f\u7684\u4f86\u6e90\u6a94\u6848\u6307\u5b9a\u5b57\u5143\u7de8\u78bc\n\\ \\ -enableIntrospection : \u6b63\u78ba\u7522\u751f\u5e03\u6797\u503c getter/setter \u4ee5\u555f\u7528 Bean \u81ea\u6211\u6aa2\u67e5 api \n\\ \\ -contentForWildcard : \u70ba\u542b\u6709\u591a\u500b xs:any \u884d\u751f\u4e4b\u5143\u7d20\u7684\u985e\u578b\u7522\u751f\u5167\u5bb9\u7279\u6027 \n\\ \\ -xmlschema : \u5c07\u8f38\u5165\u8996\u70ba W3C XML \u7db1\u8981 (\u9810\u8a2d\u503c)\n\\ \\ -relaxng : \u5c07\u8f38\u5165\u8996\u70ba RELAX NG (\u5be6\u9a57\u6027, \u4e0d\u63d0\u4f9b\u652f\u63f4)\n\\ \\ -relaxng-compact : \u5c07\u8f38\u5165\u8996\u70ba RELAX NG \u7cbe\u7c21\u8a9e\u6cd5 (\u5be6\u9a57\u6027, \u4e0d\u63d0\u4f9b\u4e0d\u652f\u63f4)\n\\ \\ -dtd : \u5c07\u8f38\u5165\u8996\u70ba XML DTD (\u5be6\u9a57\u6027, \u4e0d\u63d0\u4f9b\u652f\u63f4)\n\\ \\ -wsdl : \u5c07\u8f38\u5165\u8996\u70ba WSDL, \u4e26\u7de8\u8b6f\u5176\u4e2d\u7684\u7db1\u8981 (\u5be6\u9a57\u6027, \u4e0d\u63d0\u4f9b\u652f\u63f4)\n\\ \\ -verbose : \u63d0\u4f9b\u984d\u5916\u7684\u8a73\u7d30\u8cc7\u8a0a\n\\ \\ -quiet : \u6291\u5236\u7de8\u8b6f\u5668\u8f38\u51fa\n\\ \\ -help : \u986f\u793a\u6b64\u8aaa\u660e\u8a0a\u606f\n\\ \\ -version : \u986f\u793a\u7248\u672c\u8cc7\u8a0a\n\\ \\ -fullversion : \u986f\u793a\u5b8c\u6574\u7248\u672c\u8cc7\u8a0a\n
|
||||
Driver.Public.Usage = \u7528\u6cd5: xjc [-options ...] <schema file/URL/dir/jar> ... [-b <bindinfo>] ...\n\
|
||||
\u82e5\u6307\u5b9a dir, \u5c07\u7de8\u8b6f\u5176\u4e2d\u7684\u6240\u6709\u7db1\u8981\u6a94\u6848.\n\
|
||||
\u82e5\u6307\u5b9a jar, \u5c07\u7de8\u8b6f /META-INF/sun-jaxb.episode \u9023\u7d50\u6a94.\n\
|
||||
\u9078\u9805:\n\
|
||||
\ \ -nv : \u4e0d\u57f7\u884c\u56b4\u683c\u7684\u8f38\u5165\u7db1\u8981\u9a57\u8b49\n\
|
||||
\ \ -extension : \u5141\u8a31\u5ee0\u5546\u64f4\u5145\u5957\u4ef6 - \u4e0d\u56b4\u683c\u9075\u5faa\n\
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ JAXB \u898f\u683c\u4e2d\u7684\u76f8\u5bb9\u6027\u898f\u5247\u8207 App E.2\n\
|
||||
\ \ -b <file/dir> : \u6307\u5b9a\u5916\u90e8\u9023\u7d50\u6a94 (\u6bcf\u500b <file> \u9700\u6709\u81ea\u5df1\u7684 -b)\n\
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \u82e5\u6307\u5b9a\u76ee\u9304, \u5247\u6703\u641c\u5c0b **/*.xjb\n\
|
||||
\ \ -d <dir> : \u7522\u751f\u7684\u6a94\u6848\u5c07\u79fb\u81f3\u6b64\u76ee\u9304\n\
|
||||
\ \ -p <pkg> : \u6307\u5b9a\u76ee\u6a19\u5957\u88dd\u7a0b\u5f0f\n\
|
||||
\ \ -httpproxy <proxy> : \u8a2d\u5b9a HTTP/HTTPS \u4ee3\u7406\u4e3b\u6a5f. \u683c\u5f0f\u70ba [user[:password]@]proxyHost:proxyPort\n\
|
||||
\ \ -httpproxyfile <f> : \u4f5c\u7528\u5982\u540c -httpproxy, \u4f46\u63a5\u53d7\u6a94\u6848\u4e2d\u7684\u5f15\u6578\u4ee5\u4fdd\u8b77\u5bc6\u78bc \n\
|
||||
\ \ -classpath <arg> : \u6307\u5b9a\u5c0b\u627e\u4f7f\u7528\u8005\u985e\u5225\u6a94\u6848\u7684\u4f4d\u7f6e\n\
|
||||
\ \ -catalog <file> : \u6307\u5b9a\u89e3\u6790\u5916\u90e8\u5be6\u9ad4\u53c3\u7167\u7684\u76ee\u9304\u6a94\u6848\n\
|
||||
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \u652f\u63f4 TR9401\u3001XCatalog \u4ee5\u53ca OASIS XML \u76ee\u9304\u683c\u5f0f.\n\
|
||||
\ \ -readOnly : \u7522\u751f\u7684\u6a94\u6848\u5c07\u662f\u552f\u8b80\u6a21\u5f0f\n\
|
||||
\ \ -npa : \u6291\u5236\u5957\u88dd\u7a0b\u5f0f\u5c64\u6b21\u8a3b\u89e3 (**/package-info.java) \u7684\u7522\u751f\n\
|
||||
\ \ -no-header : \u6291\u5236\u6a94\u6848\u6a19\u982d\u548c\u6642\u6233\u7684\u7522\u751f\n\
|
||||
\ \ -target (2.0|2.1) : \u4f5c\u7528\u5982\u540c XJC 2.0 \u6216 2.1, \u4e26\u4e14\u6703\u7522\u751f\u4e0d\u4f7f\u7528\u4efb\u4f55 2.2 \u529f\u80fd\u7684\u7a0b\u5f0f\u78bc.\n\
|
||||
\ \ -encoding <encoding> : \u70ba\u7522\u751f\u7684\u4f86\u6e90\u6a94\u6848\u6307\u5b9a\u5b57\u5143\u7de8\u78bc\n\
|
||||
\ \ -enableIntrospection : \u6b63\u78ba\u7522\u751f\u5e03\u6797\u503c getter/setter \u4ee5\u555f\u7528 Bean \u81ea\u6211\u6aa2\u67e5 api \n\
|
||||
\ \ -contentForWildcard : \u70ba\u542b\u6709\u591a\u500b xs:any \u884d\u751f\u4e4b\u5143\u7d20\u7684\u985e\u578b\u7522\u751f\u5167\u5bb9\u7279\u6027 \n\
|
||||
\ \ -xmlschema : \u5c07\u8f38\u5165\u8996\u70ba W3C XML \u7db1\u8981 (\u9810\u8a2d\u503c)\n\
|
||||
\ \ -dtd : \u5c07\u8f38\u5165\u8996\u70ba XML DTD (\u5be6\u9a57\u6027, \u4e0d\u63d0\u4f9b\u652f\u63f4)\n\
|
||||
\ \ -wsdl : \u5c07\u8f38\u5165\u8996\u70ba WSDL, \u4e26\u7de8\u8b6f\u5176\u4e2d\u7684\u7db1\u8981 (\u5be6\u9a57\u6027, \u4e0d\u63d0\u4f9b\u652f\u63f4)\n\
|
||||
\ \ -verbose : \u63d0\u4f9b\u984d\u5916\u7684\u8a73\u7d30\u8cc7\u8a0a\n\
|
||||
\ \ -quiet : \u6291\u5236\u7de8\u8b6f\u5668\u8f38\u51fa\n\
|
||||
\ \ -help : \u986f\u793a\u6b64\u8aaa\u660e\u8a0a\u606f\n\
|
||||
\ \ -version : \u986f\u793a\u7248\u672c\u8cc7\u8a0a\n\
|
||||
\ \ -fullversion : \u986f\u793a\u5b8c\u6574\u7248\u672c\u8cc7\u8a0a\n\
|
||||
|
||||
Driver.AddonUsage = \n\u64f4\u5145\u5957\u4ef6:
|
||||
|
||||
# {0} - one of: DTD, RELAX NG, RELAX NG compact syntax, WSDL; {1} - one of (respectively): -dtd, -relaxng, -relaxng-compact, -wsdl
|
||||
# {0} - one of: DTD, WSDL; {1} - one of (respectively): -dtd, -wsdl
|
||||
Driver.ExperimentalLanguageWarning = \u60a8\u6b63\u5728\u5617\u8a66\u7de8\u8b6f {0} \u55ce? \u5c0d {0} \u7684\u652f\u63f4\u662f\u5be6\u9a57\u6027\u7684. \u60a8\u53ef\u4f7f\u7528 {1} \u9078\u9805\u4f86\u555f\u7528.
|
||||
|
||||
# Not concatenated with any other String. Variable: Name of a directory (input argument of the XJC utility).
|
||||
|
@ -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
|
||||
@ -38,8 +38,6 @@ import com.sun.tools.internal.xjc.reader.internalizer.DOMForestScanner;
|
||||
import com.sun.tools.internal.xjc.reader.internalizer.InternalizationLogic;
|
||||
import com.sun.tools.internal.xjc.reader.internalizer.SCDBasedBindingSet;
|
||||
import com.sun.tools.internal.xjc.reader.internalizer.VersionChecker;
|
||||
import com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler;
|
||||
import com.sun.tools.internal.xjc.reader.relaxng.RELAXNGInternalizationLogic;
|
||||
import com.sun.tools.internal.xjc.reader.xmlschema.BGMBuilder;
|
||||
import com.sun.tools.internal.xjc.reader.xmlschema.bindinfo.AnnotationParserFactoryImpl;
|
||||
import com.sun.tools.internal.xjc.reader.xmlschema.parser.CustomizationContextChecker;
|
||||
@ -54,15 +52,6 @@ import com.sun.xml.internal.xsom.parser.XMLParser;
|
||||
import com.sun.xml.internal.xsom.parser.XSOMParser;
|
||||
import javax.xml.XMLConstants;
|
||||
|
||||
import com.sun.xml.internal.rngom.ast.builder.SchemaBuilder;
|
||||
import com.sun.xml.internal.rngom.ast.util.CheckingSchemaBuilder;
|
||||
import com.sun.xml.internal.rngom.digested.DPattern;
|
||||
import com.sun.xml.internal.rngom.digested.DSchemaBuilderImpl;
|
||||
import com.sun.xml.internal.rngom.parse.IllegalSchemaException;
|
||||
import com.sun.xml.internal.rngom.parse.Parseable;
|
||||
import com.sun.xml.internal.rngom.parse.compact.CompactParseable;
|
||||
import com.sun.xml.internal.rngom.parse.xml.SAXParseable;
|
||||
import com.sun.xml.internal.rngom.xml.sax.XMLReaderCreator;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.NodeList;
|
||||
@ -73,8 +62,6 @@ import org.xml.sax.ErrorHandler;
|
||||
import org.xml.sax.InputSource;
|
||||
import org.xml.sax.SAXException;
|
||||
import org.xml.sax.SAXParseException;
|
||||
import org.xml.sax.XMLFilter;
|
||||
import org.xml.sax.XMLReader;
|
||||
import org.xml.sax.helpers.XMLFilterImpl;
|
||||
|
||||
/**
|
||||
@ -141,16 +128,6 @@ public final class ModelLoader {
|
||||
grammar = loadDTD(opt.getGrammars()[0], bindFile );
|
||||
break;
|
||||
|
||||
case RELAXNG :
|
||||
checkTooManySchemaErrors();
|
||||
grammar = loadRELAXNG();
|
||||
break;
|
||||
|
||||
case RELAXNG_COMPACT :
|
||||
checkTooManySchemaErrors();
|
||||
grammar = loadRELAXNGCompact();
|
||||
break;
|
||||
|
||||
case WSDL:
|
||||
grammar = annotateXMLSchema( loadWSDL() );
|
||||
break;
|
||||
@ -206,12 +183,6 @@ public final class ModelLoader {
|
||||
case DTD:
|
||||
msg = new String[]{"DTD","-dtd"};
|
||||
break;
|
||||
case RELAXNG:
|
||||
msg = new String[]{"RELAX NG","-relaxng"};
|
||||
break;
|
||||
case RELAXNG_COMPACT:
|
||||
msg = new String[]{"RELAX NG compact syntax","-relaxng-compact"};
|
||||
break;
|
||||
case WSDL:
|
||||
msg = new String[]{"WSDL","-wsdl"};
|
||||
break;
|
||||
@ -528,71 +499,4 @@ public final class ModelLoader {
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses a RELAX NG grammar into an annotated grammar.
|
||||
*/
|
||||
private Model loadRELAXNG() throws SAXException {
|
||||
|
||||
// build DOM forest
|
||||
final DOMForest forest = buildDOMForest( new RELAXNGInternalizationLogic() );
|
||||
|
||||
// use JAXP masquerading to validate the input document.
|
||||
// DOMForest -> ExtensionBindingChecker -> RNGOM
|
||||
|
||||
XMLReaderCreator xrc = new XMLReaderCreator() {
|
||||
public XMLReader createXMLReader() {
|
||||
|
||||
// foreset parser cannot change the receivers while it's working,
|
||||
// so we need to have one XMLFilter that works as a buffer
|
||||
XMLFilter buffer = new XMLFilterImpl() {
|
||||
@Override
|
||||
public void parse(InputSource source) throws IOException, SAXException {
|
||||
forest.createParser().parse( source, this, this, this );
|
||||
}
|
||||
};
|
||||
|
||||
XMLFilter f = new ExtensionBindingChecker(Const.RELAXNG_URI,opt,errorReceiver);
|
||||
f.setParent(buffer);
|
||||
|
||||
f.setEntityResolver(opt.entityResolver);
|
||||
|
||||
return f;
|
||||
}
|
||||
};
|
||||
|
||||
Parseable p = new SAXParseable( opt.getGrammars()[0], errorReceiver, xrc );
|
||||
|
||||
return loadRELAXNG(p);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads RELAX NG compact syntax
|
||||
*/
|
||||
private Model loadRELAXNGCompact() {
|
||||
if(opt.getBindFiles().length>0)
|
||||
errorReceiver.error(new SAXParseException(
|
||||
Messages.format(Messages.ERR_BINDING_FILE_NOT_SUPPORTED_FOR_RNC),null));
|
||||
|
||||
// TODO: entity resolver?
|
||||
Parseable p = new CompactParseable( opt.getGrammars()[0], errorReceiver );
|
||||
|
||||
return loadRELAXNG(p);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Common part between the XML syntax and the compact syntax.
|
||||
*/
|
||||
private Model loadRELAXNG(Parseable p) {
|
||||
SchemaBuilder sb = new CheckingSchemaBuilder(new DSchemaBuilderImpl(),errorReceiver);
|
||||
|
||||
try {
|
||||
DPattern out = (DPattern)p.parse(sb);
|
||||
return RELAXNGCompiler.build(out,codeModel,opt);
|
||||
} catch (IllegalSchemaException e) {
|
||||
errorReceiver.error(e.getMessage(),e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2014, 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
|
||||
@ -562,14 +562,6 @@ public class Options
|
||||
schemaLanguage = Language.DTD;
|
||||
return 1;
|
||||
}
|
||||
if (args[i].equals("-relaxng")) {
|
||||
schemaLanguage = Language.RELAXNG;
|
||||
return 1;
|
||||
}
|
||||
if (args[i].equals("-relaxng-compact")) {
|
||||
schemaLanguage = Language.RELAXNG_COMPACT;
|
||||
return 1;
|
||||
}
|
||||
if (args[i].equals("-xmlschema")) {
|
||||
schemaLanguage = Language.XMLSCHEMA;
|
||||
return 1;
|
||||
@ -869,10 +861,6 @@ public class Options
|
||||
if ((grammars != null) && (grammars.size() > 0)) {
|
||||
String name = grammars.get(0).getSystemId().toLowerCase();
|
||||
|
||||
if (name.endsWith(".rng"))
|
||||
return Language.RELAXNG;
|
||||
if (name.endsWith(".rnc"))
|
||||
return Language.RELAXNG_COMPACT;
|
||||
if (name.endsWith(".dtd"))
|
||||
return Language.DTD;
|
||||
if (name.endsWith(".wsdl"))
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2012, 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
|
||||
@ -32,7 +32,7 @@ import javax.xml.namespace.NamespaceContext;
|
||||
|
||||
import com.sun.xml.internal.xsom.XmlString;
|
||||
|
||||
import org.relaxng.datatype.ValidationContext;
|
||||
import com.sun.xml.internal.org.relaxng.datatype.ValidationContext;
|
||||
|
||||
/**
|
||||
* Take a {@link ValidationContext} and make it look like a {@link NamespaceContext}.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/**
|
||||
* Copyright (c) 2001, Thai Open Source Software Center Ltd
|
||||
/*
|
||||
* Copyright (c) 2005, 2015, Thai Open Source Software Center Ltd
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -31,7 +31,8 @@
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
package org.relaxng.datatype;
|
||||
|
||||
package com.sun.xml.internal.org.relaxng.datatype;
|
||||
|
||||
/**
|
||||
* Datatype object.
|
@ -1,5 +1,5 @@
|
||||
/**
|
||||
* Copyright (c) 2001, Thai Open Source Software Center Ltd
|
||||
/*
|
||||
* Copyright (c) 2005, 2015, Thai Open Source Software Center Ltd
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -31,7 +31,8 @@
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
package org.relaxng.datatype;
|
||||
|
||||
package com.sun.xml.internal.org.relaxng.datatype;
|
||||
|
||||
/**
|
||||
* Creates a user-defined type by adding parameters to
|
@ -1,5 +1,5 @@
|
||||
/**
|
||||
* Copyright (c) 2001, Thai Open Source Software Center Ltd
|
||||
/*
|
||||
* Copyright (c) 2005, 2015, Thai Open Source Software Center Ltd
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -31,7 +31,8 @@
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
package org.relaxng.datatype;
|
||||
|
||||
package com.sun.xml.internal.org.relaxng.datatype;
|
||||
|
||||
/**
|
||||
* Signals Datatype related exceptions.
|
@ -1,5 +1,5 @@
|
||||
/**
|
||||
* Copyright (c) 2001, Thai Open Source Software Center Ltd
|
||||
/*
|
||||
* Copyright (c) 2005, 2015, Thai Open Source Software Center Ltd
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -31,7 +31,8 @@
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
package org.relaxng.datatype;
|
||||
|
||||
package com.sun.xml.internal.org.relaxng.datatype;
|
||||
|
||||
/**
|
||||
* A Datatype library
|
@ -1,5 +1,5 @@
|
||||
/**
|
||||
* Copyright (c) 2001, Thai Open Source Software Center Ltd
|
||||
/*
|
||||
* Copyright (c) 2005, 2015, Thai Open Source Software Center Ltd
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -31,7 +31,8 @@
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
package org.relaxng.datatype;
|
||||
|
||||
package com.sun.xml.internal.org.relaxng.datatype;
|
||||
|
||||
/**
|
||||
* Factory class for the DatatypeLibrary class.
|
@ -1,5 +1,5 @@
|
||||
/**
|
||||
* Copyright (c) 2001, Thai Open Source Software Center Ltd
|
||||
/*
|
||||
* Copyright (c) 2005, 2015, Thai Open Source Software Center Ltd
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -31,7 +31,8 @@
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
package org.relaxng.datatype;
|
||||
|
||||
package com.sun.xml.internal.org.relaxng.datatype;
|
||||
|
||||
/**
|
||||
* Datatype streaming validator.
|
@ -1,5 +1,5 @@
|
||||
/**
|
||||
* Copyright (c) 2001, Thai Open Source Software Center Ltd
|
||||
/*
|
||||
* Copyright (c) 2005, 2015, Thai Open Source Software Center Ltd
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -31,7 +31,8 @@
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
package org.relaxng.datatype;
|
||||
|
||||
package com.sun.xml.internal.org.relaxng.datatype;
|
||||
|
||||
/**
|
||||
* An interface that must be implemented by caller to
|
@ -1,5 +1,5 @@
|
||||
/**
|
||||
* Copyright (c) 2001, Thai Open Source Software Center Ltd
|
||||
* Copyright (c) 2001, 2015 Thai Open Source Software Center Ltd
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -31,10 +31,10 @@
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
package org.relaxng.datatype.helpers;
|
||||
package com.sun.xml.internal.org.relaxng.datatype.helpers;
|
||||
|
||||
import org.relaxng.datatype.DatatypeLibraryFactory;
|
||||
import org.relaxng.datatype.DatatypeLibrary;
|
||||
import com.sun.xml.internal.org.relaxng.datatype.DatatypeLibraryFactory;
|
||||
import com.sun.xml.internal.org.relaxng.datatype.DatatypeLibrary;
|
||||
import java.util.Enumeration;
|
||||
import java.util.NoSuchElementException;
|
||||
import java.util.Vector;
|
@ -1,5 +1,5 @@
|
||||
/**
|
||||
* Copyright (c) 2001, Thai Open Source Software Center Ltd
|
||||
/*
|
||||
* Copyright (c) 2005, 2015, Thai Open Source Software Center Ltd
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -31,9 +31,10 @@
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
package org.relaxng.datatype.helpers;
|
||||
|
||||
import org.relaxng.datatype.*;
|
||||
package com.sun.xml.internal.org.relaxng.datatype.helpers;
|
||||
|
||||
import com.sun.xml.internal.org.relaxng.datatype.*;
|
||||
|
||||
/**
|
||||
* Dummy implementation of {@link DatatypeBuilder}.
|
@ -1,5 +1,5 @@
|
||||
/**
|
||||
* Copyright (c) 2001, Thai Open Source Software Center Ltd
|
||||
/*
|
||||
* Copyright (c) 2005, 2015, Thai Open Source Software Center Ltd
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -31,9 +31,10 @@
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
package org.relaxng.datatype.helpers;
|
||||
|
||||
import org.relaxng.datatype.*;
|
||||
package com.sun.xml.internal.org.relaxng.datatype.helpers;
|
||||
|
||||
import com.sun.xml.internal.org.relaxng.datatype.*;
|
||||
|
||||
/**
|
||||
* Dummy implementation of {@link DatatypeStreamingValidator}.
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2012, 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
|
||||
@ -53,7 +53,7 @@ import com.sun.xml.internal.rngom.binary.SchemaPatternBuilder;
|
||||
import com.sun.xml.internal.rngom.parse.IllegalSchemaException;
|
||||
import com.sun.xml.internal.rngom.parse.host.ParsedPatternHost;
|
||||
import com.sun.xml.internal.rngom.parse.host.SchemaBuilderHost;
|
||||
import org.relaxng.datatype.DatatypeLibraryFactory;
|
||||
import com.sun.xml.internal.org.relaxng.datatype.DatatypeLibraryFactory;
|
||||
import org.xml.sax.ErrorHandler;
|
||||
|
||||
/**
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user