Merge
This commit is contained in:
commit
06c13c260e
@ -355,3 +355,4 @@ c7be2a78c31b3b6132f2f5e9e4b3d3bb1c20245c jdk-9+108
|
||||
925be13b3740d07a5958ccb5ab3c0ae1baba7055 jdk-9+110
|
||||
f900d5afd9c83a0df8f36161c27c5e4c86a66f4c jdk-9+111
|
||||
03543a758cd5890f2266e4b9678378a925dde22a jdk-9+112
|
||||
55b6d550828d1223b364e6ead4a56e56411c56df jdk-9+113
|
||||
|
@ -34,6 +34,7 @@ export LEGACY_BUILD_DIR=@OPENJDK_TARGET_OS@-@OPENJDK_TARGET_CPU_LEGACY@
|
||||
export OPENJDK_TARGET_OS="@OPENJDK_TARGET_OS@"
|
||||
export OPENJDK_TARGET_CPU="@OPENJDK_TARGET_CPU@"
|
||||
export OPENJDK_TARGET_CPU_LIBDIR="@OPENJDK_TARGET_CPU_LIBDIR@"
|
||||
export DEBUG_LEVEL="@DEBUG_LEVEL@"
|
||||
|
||||
export AWK="@AWK@"
|
||||
export BASH="@BASH@"
|
||||
@ -47,8 +48,6 @@ export EXPR="@EXPR@"
|
||||
export FILE="@FILE@"
|
||||
export FIND="@FIND@"
|
||||
export GREP="@GREP@"
|
||||
export JAVAP="@FIXPATH@ @BOOT_JDK@/bin/javap @JAVA_TOOL_FLAGS_SMALL@"
|
||||
export JIMAGE="@FIXPATH@ @BUILD_OUTPUT@/jdk/bin/jimage"
|
||||
export LDD="@LDD@"
|
||||
export LN="@LN@"
|
||||
export MKDIR="@MKDIR@"
|
||||
@ -72,6 +71,17 @@ export UNARCHIVE="@UNZIP@ -q"
|
||||
export SRC_ROOT="@TOPDIR@"
|
||||
export OUTPUT_ROOT="@OUTPUT_ROOT@"
|
||||
|
||||
if [ "@COMPILE_TYPE@" != "cross" ]; then
|
||||
export JAVAP="@FIXPATH@ $OUTPUT_ROOT/jdk/bin/javap @JAVA_TOOL_FLAGS_SMALL@"
|
||||
export JIMAGE="@FIXPATH@ $OUTPUT_ROOT/jdk/bin/jimage"
|
||||
elif [ "@CREATE_BUILDJDK@" = "true" ]; then
|
||||
export JAVAP="@FIXPATH@ $OUTPUT_ROOT/buildjdk/jdk/bin/javap @JAVA_TOOL_FLAGS_SMALL@"
|
||||
export JIMAGE="@FIXPATH@ $OUTPUT_ROOT/buildjdk/jdk/bin/jimage"
|
||||
else
|
||||
export JAVAP="@FIXPATH@ @BUILD_JDK@/bin/javap @JAVA_TOOL_FLAGS_SMALL@"
|
||||
export JIMAGE="@FIXPATH@ @BUILD_JDK@/bin/jimage"
|
||||
fi
|
||||
|
||||
if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
|
||||
export PATH="@VS_PATH@"
|
||||
fi
|
||||
|
@ -75,6 +75,7 @@ diff_text() {
|
||||
THIS_FILE=$2
|
||||
|
||||
SUFFIX="${THIS_FILE##*.}"
|
||||
NAME="${THIS_FILE##*/}"
|
||||
|
||||
TMP=1
|
||||
|
||||
@ -92,6 +93,7 @@ diff_text() {
|
||||
$GREP '^[<>]' | \
|
||||
$SED -e '/[<>] \* from.*\.idl/d' \
|
||||
-e '/[<>] .*[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}.*/d' \
|
||||
-e '/[<>] .*[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}.*/d' \
|
||||
-e '/[<>] \*.*[0-9]\{4\} [0-9][0-9]*:[0-9]\{2\}:[0-9]\{2\}.*/d' \
|
||||
-e '/\/\/ Generated from input file.*/d' \
|
||||
-e '/\/\/ This file was generated AUTOMATICALLY from a template file.*/d' \
|
||||
@ -100,12 +102,34 @@ diff_text() {
|
||||
# Ignore date strings in class files.
|
||||
# Anonymous lambda classes get randomly assigned counters in their names.
|
||||
if test "x$SUFFIX" = "xclass"; then
|
||||
if [ "$NAME" = "module-info.class" ] || [ "$NAME" = "SystemModules.class" ]
|
||||
then
|
||||
# The SystemModules.class and module-info.class have several issues
|
||||
# with random ordering of elements in HashSets.
|
||||
MODULES_CLASS_FILTER="$SED \
|
||||
-e 's/,$//' \
|
||||
-e 's/;$//' \
|
||||
-e 's/^ *[0-9]*://' \
|
||||
-e 's/#[0-9]* */#/' \
|
||||
-e 's/ *\/\// \/\//' \
|
||||
-e 's/aload *[0-9]*/aload X/' \
|
||||
-e 's/ldc_w/ldc /' \
|
||||
| $SORT \
|
||||
"
|
||||
$JAVAP -c -constants -l -p "${OTHER_FILE}" \
|
||||
| eval "$MODULES_CLASS_FILTER" > ${OTHER_FILE}.javap &
|
||||
$JAVAP -c -constants -l -p "${THIS_FILE}" \
|
||||
| eval "$MODULES_CLASS_FILTER" > ${THIS_FILE}.javap &
|
||||
wait
|
||||
TMP=$($DIFF ${OTHER_FILE}.javap ${THIS_FILE}.javap)
|
||||
# To improve performance when large diffs are found, do a rough filtering of classes
|
||||
# elibeble for these exceptions
|
||||
if $GREP -R -e '[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}' \
|
||||
-e 'lambda\$[a-zA-Z0-9]*\$[0-9]' ${THIS_FILE} > /dev/null; then
|
||||
$JAVAP -c -constants -l -p "${OTHER_FILE}" > ${OTHER_FILE}.javap
|
||||
$JAVAP -c -constants -l -p "${THIS_FILE}" > ${THIS_FILE}.javap
|
||||
elif $GREP -R -e '[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}' \
|
||||
-e 'lambda\$[a-zA-Z0-9]*\$[0-9]' ${THIS_FILE} > /dev/null
|
||||
then
|
||||
$JAVAP -c -constants -l -p "${OTHER_FILE}" > ${OTHER_FILE}.javap &
|
||||
$JAVAP -c -constants -l -p "${THIS_FILE}" > ${THIS_FILE}.javap &
|
||||
wait
|
||||
TMP=$($DIFF ${OTHER_FILE}.javap ${THIS_FILE}.javap | \
|
||||
$GREP '^[<>]' | \
|
||||
$SED -e '/[<>].*[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}.*/d' \
|
||||
@ -305,14 +329,19 @@ compare_general_files() {
|
||||
if [ -e $OTHER_DIR/$f ]; then
|
||||
SUFFIX="${f##*.}"
|
||||
if [ "$(basename $f)" = "release" ]; then
|
||||
# Ignore differences in change numbers in release file.
|
||||
# In release file, ignore differences in change numbers and order
|
||||
# of modules in list.
|
||||
OTHER_FILE=$WORK_DIR/$f.other
|
||||
THIS_FILE=$WORK_DIR/$f.this
|
||||
$MKDIR -p $(dirname $OTHER_FILE)
|
||||
$MKDIR -p $(dirname $THIS_FILE)
|
||||
RELEASE_FILTER="$SED \
|
||||
-e 's/\:[0-9a-f]\{12,12\}/:CHANGE/g' \
|
||||
-e 's/[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}/<DATE>/g'
|
||||
-e 's/[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}/<DATE>/g' \
|
||||
-e 's/^#.*/#COMMENT/g' \
|
||||
-e 's/MODULES=/MODULES=\'$'\n/' \
|
||||
-e 's/,/\'$'\n/g' \
|
||||
| $SORT
|
||||
"
|
||||
$CAT $OTHER_DIR/$f | eval "$RELEASE_FILTER" > $OTHER_FILE
|
||||
$CAT $THIS_DIR/$f | eval "$RELEASE_FILTER" > $THIS_FILE
|
||||
@ -330,8 +359,9 @@ compare_general_files() {
|
||||
-e 's/\(-- Generated by javadoc \).*\( --\)/\1(removed)\2/' \
|
||||
-e 's/[A-Z][a-z]*, [A-Z][a-z]* [0-9][0-9]*, [0-9]\{4\} [0-9][0-9:]* [AMP]\{2,2\} [A-Z][A-Z]*/<DATE>/'
|
||||
"
|
||||
$CAT $OTHER_DIR/$f | eval "$HTML_FILTER" > $OTHER_FILE
|
||||
$CAT $THIS_DIR/$f | eval "$HTML_FILTER" > $THIS_FILE
|
||||
$CAT $OTHER_DIR/$f | eval "$HTML_FILTER" > $OTHER_FILE &
|
||||
$CAT $THIS_DIR/$f | eval "$HTML_FILTER" > $THIS_FILE &
|
||||
wait
|
||||
else
|
||||
OTHER_FILE=$OTHER_DIR/$f
|
||||
THIS_FILE=$THIS_DIR/$f
|
||||
@ -389,7 +419,7 @@ compare_zip_file() {
|
||||
$RM -rf $THIS_UNZIPDIR $OTHER_UNZIPDIR
|
||||
$MKDIR -p $THIS_UNZIPDIR
|
||||
$MKDIR -p $OTHER_UNZIPDIR
|
||||
if [ "$TYPE" = "jar" || "$TYPE" = "war" || "$TYPE" = "zip" || "$TYPE" = "jmod"]
|
||||
if [ "$TYPE" = "jar" -o "$TYPE" = "war" -o "$TYPE" = "zip" -o "$TYPE" = "jmod" ]
|
||||
then
|
||||
(cd $THIS_UNZIPDIR && $UNARCHIVE $THIS_ZIP)
|
||||
(cd $OTHER_UNZIPDIR && $UNARCHIVE $OTHER_ZIP)
|
||||
@ -526,7 +556,7 @@ compare_all_jar_files() {
|
||||
|
||||
# TODO filter?
|
||||
ZIPS=$(cd $THIS_DIR && $FIND . -type f -name "*.jar" -o -name "*.war" \
|
||||
-o -name "modules" -o -name "*.jmod" | $SORT | $FILTER)
|
||||
-o -name "modules" | $SORT | $FILTER)
|
||||
|
||||
if [ -n "$ZIPS" ]; then
|
||||
echo Jar files...
|
||||
@ -600,8 +630,8 @@ compare_bin_file() {
|
||||
&& [ -f "$OTHER/support/native/java.base/java_objs/java.diz" ]; then
|
||||
OTHER_DIZ_FILE="$OTHER/support/native/java.base/java_objs/java.diz"
|
||||
elif [ "$NAME" = "jimage.exe" ] \
|
||||
&& [ -f "$OTHER/support/native/jdk.dev/jimage_objs/jimage.diz" ]; then
|
||||
OTHER_DIZ_FILE="$OTHER/support/native/jdk.dev/jimage_objs/jimage.diz"
|
||||
&& [ -f "$OTHER/support/native/jdk.jlink/jimage_objs/jimage.diz" ]; then
|
||||
OTHER_DIZ_FILE="$OTHER/support/native/jdk.jlink/jimage_objs/jimage.diz"
|
||||
elif [ "$NAME" = "javacpl.exe" ] \
|
||||
&& [ -f "$OTHER/support/native/jdk.plugin/javacpl/javacpl.diz" ]; then
|
||||
OTHER_DIZ_FILE="$OTHER/support/native/jdk.plugin/javacpl/javacpl.diz"
|
||||
@ -632,8 +662,8 @@ compare_bin_file() {
|
||||
&& [ -f "$THIS/support/native/java.base/java_objs/java.diz" ]; then
|
||||
THIS_DIZ_FILE="$THIS/support/native/java.base/java_objs/java.diz"
|
||||
elif [ "$NAME" = "jimage.exe" ] \
|
||||
&& [ -f "$THIS/support/native/jdk.dev/jimage_objs/jimage.diz" ]; then
|
||||
THIS_DIZ_FILE="$THIS/support/native/jdk.dev/jimage_objs/jimage.diz"
|
||||
&& [ -f "$THIS/support/native/jdk.jlink/jimage_objs/jimage.diz" ]; then
|
||||
THIS_DIZ_FILE="$THIS/support/native/jdk.jlink/jimage_objs/jimage.diz"
|
||||
elif [ "$NAME" = "javacpl.exe" ] \
|
||||
&& [ -f "$THIS/support/native/jdk.plugin/javacpl/javacpl.diz" ]; then
|
||||
THIS_DIZ_FILE="$THIS/support/native/jdk.plugin/javacpl/javacpl.diz"
|
||||
@ -732,6 +762,13 @@ compare_bin_file() {
|
||||
SYM_SORT_CMD="cat"
|
||||
fi
|
||||
|
||||
if [ -n "$SYMBOLS_DIFF_FILTER" ] && [ -z "$NEED_SYMBOLS_DIFF_FILTER" ] \
|
||||
|| [[ "$NEED_SYMBOLS_DIFF_FILTER" = *"$BIN_FILE"* ]]; then
|
||||
this_SYMBOLS_DIFF_FILTER="$SYMBOLS_DIFF_FILTER"
|
||||
else
|
||||
this_SYMBOLS_DIFF_FILTER="$CAT"
|
||||
fi
|
||||
|
||||
# Check symbols
|
||||
if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
|
||||
# The output from dumpbin on windows differs depending on if the debug symbol
|
||||
@ -750,8 +787,16 @@ compare_bin_file() {
|
||||
$NM -j $ORIG_OTHER_FILE 2> /dev/null | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.other
|
||||
$NM -j $ORIG_THIS_FILE 2> /dev/null | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.this
|
||||
else
|
||||
$NM -a $ORIG_OTHER_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.other
|
||||
$NM -a $ORIG_THIS_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.this
|
||||
$NM -a $ORIG_OTHER_FILE 2> /dev/null | $GREP -v $NAME \
|
||||
| $AWK '{print $2, $3, $4, $5}' \
|
||||
| eval "$this_SYMBOLS_DIFF_FILTER" \
|
||||
| $SYM_SORT_CMD \
|
||||
> $WORK_FILE_BASE.symbols.other
|
||||
$NM -a $ORIG_THIS_FILE 2> /dev/null | $GREP -v $NAME \
|
||||
| $AWK '{print $2, $3, $4, $5}' \
|
||||
| eval "$this_SYMBOLS_DIFF_FILTER" \
|
||||
| $SYM_SORT_CMD \
|
||||
> $WORK_FILE_BASE.symbols.this
|
||||
fi
|
||||
|
||||
LC_ALL=C $DIFF $WORK_FILE_BASE.symbols.other $WORK_FILE_BASE.symbols.this > $WORK_FILE_BASE.symbols.diff
|
||||
@ -828,9 +873,10 @@ compare_bin_file() {
|
||||
FULLDUMP_DIFF_FILTER="$CAT"
|
||||
fi
|
||||
$FULLDUMP_CMD $OTHER_FILE | eval "$BUILD_ID_FILTER" | eval "$FULLDUMP_DIFF_FILTER" \
|
||||
> $WORK_FILE_BASE.fulldump.other 2>&1
|
||||
> $WORK_FILE_BASE.fulldump.other 2>&1 &
|
||||
$FULLDUMP_CMD $THIS_FILE | eval "$BUILD_ID_FILTER" | eval "$FULLDUMP_DIFF_FILTER" \
|
||||
> $WORK_FILE_BASE.fulldump.this 2>&1
|
||||
> $WORK_FILE_BASE.fulldump.this 2>&1 &
|
||||
wait
|
||||
|
||||
LC_ALL=C $DIFF $WORK_FILE_BASE.fulldump.other $WORK_FILE_BASE.fulldump.this \
|
||||
> $WORK_FILE_BASE.fulldump.diff
|
||||
@ -854,18 +900,19 @@ compare_bin_file() {
|
||||
FULLDUMP_MSG=" "
|
||||
DIFF_FULLDUMP=
|
||||
if [[ "$KNOWN_FULLDUMP_DIFF $ACCEPTED_FULLDUMP_DIFF" = *"$BIN_FILE"* ]]; then
|
||||
FULLDUMP_MSG=" ! "
|
||||
FULLDUMP_MSG=" ! "
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Compare disassemble output
|
||||
if [ -n "$DIS_CMD" ] && [ -z "$SKIP_DIS_DIFF" ]; then
|
||||
# By default we filter out differences that include references to symbols.
|
||||
# To get a raw diff with the complete disassembly, set
|
||||
# DIS_DIFF_FILTER="$CAT"
|
||||
if [ -z "$DIS_DIFF_FILTER" ]; then
|
||||
DIS_DIFF_FILTER="$GREP -v ' # .* <.*>$' | $SED -r -e 's/(\b|x)([0-9a-fA-F]+)(\b|:|>)/X/g'"
|
||||
this_DIS_DIFF_FILTER="$CAT"
|
||||
if [ -n "$DIS_DIFF_FILTER" ]; then
|
||||
if [ -z "$NEED_DIS_DIFF_FILTER" ] \
|
||||
|| [[ "$NEED_DIS_DIFF_FILTER" = *"$BIN_FILE"* ]]; then
|
||||
this_DIS_DIFF_FILTER="$DIS_DIFF_FILTER"
|
||||
fi
|
||||
fi
|
||||
if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
|
||||
DIS_GREP_ARG=-a
|
||||
@ -873,9 +920,10 @@ compare_bin_file() {
|
||||
DIS_GREP_ARG=
|
||||
fi
|
||||
$DIS_CMD $OTHER_FILE | $GREP $DIS_GREP_ARG -v $NAME \
|
||||
| eval "$DIS_DIFF_FILTER" > $WORK_FILE_BASE.dis.other 2>&1
|
||||
| eval "$this_DIS_DIFF_FILTER" > $WORK_FILE_BASE.dis.other 2>&1 &
|
||||
$DIS_CMD $THIS_FILE | $GREP $DIS_GREP_ARG -v $NAME \
|
||||
| eval "$DIS_DIFF_FILTER" > $WORK_FILE_BASE.dis.this 2>&1
|
||||
| eval "$this_DIS_DIFF_FILTER" > $WORK_FILE_BASE.dis.this 2>&1 &
|
||||
wait
|
||||
|
||||
LC_ALL=C $DIFF $WORK_FILE_BASE.dis.other $WORK_FILE_BASE.dis.this > $WORK_FILE_BASE.dis.diff
|
||||
|
||||
@ -884,11 +932,15 @@ compare_bin_file() {
|
||||
DIS_MSG=$($PRINTF "%8d" $DIS_DIFF_SIZE)
|
||||
if [[ "$ACCEPTED_DIS_DIFF" != *"$BIN_FILE"* ]]; then
|
||||
DIFF_DIS=true
|
||||
if [[ "$KNOWN_DIS_DIFF" != *"$BIN_FILE"* ]]; then
|
||||
if [ "$MAX_KNOWN_DIS_DIFF_SIZE" = "" ]; then
|
||||
MAX_KNOWN_DIS_DIFF_SIZE="0"
|
||||
fi
|
||||
if [[ "$KNOWN_DIS_DIFF" = *"$BIN_FILE"* ]] \
|
||||
&& [ "$DIS_DIFF_SIZE" -lt "$MAX_KNOWN_DIS_DIFF_SIZE" ]; then
|
||||
DIS_MSG=" $DIS_MSG "
|
||||
else
|
||||
DIS_MSG="*$DIS_MSG*"
|
||||
REGRESSIONS=true
|
||||
else
|
||||
DIS_MSG=" $DIS_MSG "
|
||||
fi
|
||||
else
|
||||
DIS_MSG="($DIS_MSG)"
|
||||
|
@ -89,7 +89,9 @@ if [ "$OPENJDK_TARGET_OS" = "linux" ]; then
|
||||
./bin/jimage
|
||||
./bin/jinfo
|
||||
./bin/jjs
|
||||
./bin/jlink
|
||||
./bin/jmap
|
||||
./bin/jmod
|
||||
./bin/jps
|
||||
./bin/jrunscript
|
||||
./bin/jsadebugd
|
||||
@ -113,21 +115,36 @@ if [ "$OPENJDK_TARGET_OS" = "linux" ]; then
|
||||
./bin/xjc
|
||||
"
|
||||
|
||||
# Issue with __FILE__ usage in generated header files prevent clean fulldump diff of
|
||||
# server jvm with old hotspot build.
|
||||
KNOWN_FULLDUMP_DIFF="
|
||||
./lib$OPENJDK_TARGET_CPU_LIBDIR/client/libjvm.so
|
||||
./lib$OPENJDK_TARGET_CPU_LIBDIR/server/libjvm.so
|
||||
./lib$OPENJDK_TARGET_CPU_LIBDIR/minimal/libjvm.so
|
||||
"
|
||||
|
||||
if [ "$OPENJDK_TARGET_CPU" = "x86" ]; then
|
||||
KNOWN_DIS_DIFF="
|
||||
./lib$OPENJDK_TARGET_CPU_LIBDIR/server/libjvm.so
|
||||
if [ "$OPENJDK_TARGET_CPU" = "arm" ]; then
|
||||
# NOTE: When comparing the old and new hotspot builds, the link time
|
||||
# optimization makes good comparisons impossible. Fulldump compare always
|
||||
# fails and disassembly can end up with some functions in different order.
|
||||
# So for now, accept the difference but put a limit on the size. The
|
||||
# different order of functions shouldn't result in a very big diff.
|
||||
KNOWN_FULLDUMP_DIFF="
|
||||
./lib$OPENJDK_TARGET_CPU_LIBDIR/minimal/libjvm.so
|
||||
"
|
||||
|
||||
# Link time optimization adds random numbers to symbol names
|
||||
NEED_DIS_DIFF_FILTER="
|
||||
./lib$OPENJDK_TARGET_CPU_LIBDIR/minimal/libjvm.so
|
||||
"
|
||||
DIS_DIFF_FILTER="$SED -r \
|
||||
-e 's/\.[0-9]+/.X/g' \
|
||||
-e 's/\t[0-9a-f]{4} [0-9a-f]{4} /\tXXXX XXXX /' \
|
||||
-e 's/\t[0-9a-f]{5,} /\t<HEX> /' \
|
||||
"
|
||||
KNOWN_DIS_DIFF="
|
||||
./lib$OPENJDK_TARGET_CPU_LIBDIR/minimal/libjvm.so
|
||||
"
|
||||
MAX_KNOWN_DIS_DIFF_SIZE="3000"
|
||||
|
||||
NEED_SYMBOLS_DIFF_FILTER="
|
||||
./lib$OPENJDK_TARGET_CPU_LIBDIR/minimal/libjvm.so
|
||||
"
|
||||
SYMBOLS_DIFF_FILTER="$SED -r \
|
||||
-e 's/\.[0-9]+/.X/g'
|
||||
"
|
||||
DIS_DIFF_FILTER="$SED \
|
||||
-e 's/\(:\t\)\([0-9a-z]\{2,2\} \)\{1,7\}/\1<hex>/g' \
|
||||
-e 's/0x[0-9a-z]\{2,9\}/<hex>/g'"
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -224,7 +241,9 @@ if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "x86_64" ];
|
||||
./bin/jimage
|
||||
./bin/jinfo
|
||||
./bin/jjs
|
||||
./bin/jlink
|
||||
./bin/jmap
|
||||
./bin/jmod
|
||||
./bin/jps
|
||||
./bin/jrunscript
|
||||
./bin/jsadebugd
|
||||
@ -250,15 +269,10 @@ if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "x86_64" ];
|
||||
|
||||
SKIP_FULLDUMP_DIFF="true"
|
||||
|
||||
# Filter random C++ symbol strings.
|
||||
# Some numbers differ randomly.
|
||||
# Random strings looking like this differ: <.XAKoKoPIac2W0OA.
|
||||
DIS_DIFF_FILTER="$SED \
|
||||
-e 's/\.[a-zA-Z0-9_\$]\{15\}/<SYM>/g' \
|
||||
-e 's/\(\# \)[0-9a-f]*\( <\)/\1<HEX>\2/g' \
|
||||
-e 's/0x[0-9a-f]*$/<HEX>/g' \
|
||||
-e 's/0x[0-9a-f]*\([,(>]\)/<HEX>\1/g' \
|
||||
-e 's/: [0-9a-f][0-9a-f]\( [0-9a-f][0-9a-f]\)\{2,10\}/: <NUMS>/g' \
|
||||
-e 's/ [\.A-Za-z0-9%@]\{16\}$/ <BIN>/g'"
|
||||
-e 's/<\.[A-Za-z0-9]\{\15}\./<.SYM./' \
|
||||
"
|
||||
|
||||
fi
|
||||
|
||||
@ -356,7 +370,9 @@ if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "sparcv9" ]
|
||||
./bin/jimage
|
||||
./bin/jinfo
|
||||
./bin/jjs
|
||||
./bin/jlink
|
||||
./bin/jmap
|
||||
./bin/jmod
|
||||
./bin/jps
|
||||
./bin/jrunscript
|
||||
./bin/jsadebugd
|
||||
@ -380,26 +396,32 @@ if [ "$OPENJDK_TARGET_OS" = "solaris" ] && [ "$OPENJDK_TARGET_CPU" = "sparcv9" ]
|
||||
./bin/xjc
|
||||
"
|
||||
|
||||
# Some numbers differ randomly.
|
||||
DIS_DIFF_FILTER="$SED \
|
||||
-e 's/\$[a-zA-Z0-9_\$]\{15\}/<SYM>/g' \
|
||||
-e 's/: [0-9a-f][0-9a-f]\( [0-9a-f][0-9a-f]\)\{2,10\}/: <NUMS>/g' \
|
||||
-e 's/, [0-9a-fx\-]\{1,8\}/, <CONST>/g' \
|
||||
-e 's/call [0-9a-f]\{7\}/call <ADDR>/g' \
|
||||
-e 's/^[0-9a-f]\{16\}/<ADDR>:/' \
|
||||
-e 's/^ *[0-9a-f]\{3,8\}:/ <ADDR>:/' \
|
||||
-e 's/: [0-9a-f][0-9a-f]\( [0-9a-f][0-9a-f]\)\{2,10\}/: <NUMS>/' \
|
||||
-e 's/\$[a-zA-Z0-9_\$]\{15\}\./<SYM>./' \
|
||||
-e 's/, [0-9a-fx\-]\{1,8\}/, <ADDR>/g' \
|
||||
-e 's/0x[0-9a-f]\{1,8\}/<HEX>/g' \
|
||||
-e 's/\! [0-9a-f]\{1,8\} /! <ADDR> /g'"
|
||||
-e 's/\! [0-9a-f]\{1,8\} /! <ADDR> /' \
|
||||
-e 's/call [0-9a-f]\{4,7\}/call <ADDR>/' \
|
||||
-e 's/%hi(0),/%hi(<HEX>),/' \
|
||||
"
|
||||
|
||||
# libjvm.so
|
||||
# __FILE__ macro usage in debug.hpp causes differences between old and new
|
||||
# hotspot builds in ad_sparc.o and ad_sparc_clone.o. The .o files compare
|
||||
# equal when stripped, but at link time differences appear. Removing
|
||||
# __FILE__ from ShouldNotCallThis() and ShouldNotReachHere() removes
|
||||
# the differences.
|
||||
KNOWN_DIS_DIFF="
|
||||
./lib/sparcv9/server/libjvm.so
|
||||
./lib/sparcv9/libsaproc.so
|
||||
"
|
||||
|
||||
MAX_KNOWN_DIS_DIFF_SIZE="3000"
|
||||
|
||||
# On slowdebug the disassembly can differ randomly.
|
||||
if [ "$DEBUG_LEVEL" = "slowdebug" ]; then
|
||||
ACCEPTED_DIS_DIFF="
|
||||
./lib/sparcv9/libfontmanager.so
|
||||
./lib/sparcv9/server/libjvm.so
|
||||
"
|
||||
fi
|
||||
|
||||
SKIP_FULLDUMP_DIFF="true"
|
||||
|
||||
fi
|
||||
@ -419,6 +441,7 @@ if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
|
||||
./demo/jvmti/minst/lib/minst.dll
|
||||
./bin/attach.dll
|
||||
./bin/jsoundds.dll
|
||||
./bin/client/jvm.dll
|
||||
./bin/server/jvm.dll
|
||||
./bin/appletviewer.exe
|
||||
./bin/idlj.exe
|
||||
@ -438,7 +461,9 @@ if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
|
||||
./bin/jimage.exe
|
||||
./bin/jinfo.exe
|
||||
./bin/jjs.exe
|
||||
./bin/jlink.exe
|
||||
./bin/jmap.exe
|
||||
./bin/jmod.exe
|
||||
./bin/jps.exe
|
||||
./bin/jrunscript.exe
|
||||
./bin/jsadebugd.exe
|
||||
@ -469,22 +494,39 @@ if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
|
||||
./bin/jabswitch.exe
|
||||
"
|
||||
|
||||
# On windows, there are unavoidable allignment issues making
|
||||
# a perfect disasm diff impossible. Filter out the following:
|
||||
# * Random parts of C++ symbols (this is a bit greedy, but does the trick)
|
||||
# @XXXXX
|
||||
# * Hexadecimal addresses that are sometimes alligned differently.
|
||||
# * Dates in version strings XXXX_XX_XX.
|
||||
DIS_DIFF_FILTER="$SED \
|
||||
-e 's/^ [0-9A-F]\{16\}: //g' \
|
||||
-e 's/[@?][A-Za-z0-9_]\{1,25\}/<SYM>/g' \
|
||||
-e 's/\([\[+]\)[0-9A-F]\{4,16\}h\]/\1<HEXSTR>]/g' \
|
||||
-e 's/_[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}/_<DATE>/g'"
|
||||
#DIS_DIFF_FILTER="$CAT"
|
||||
if [ "$OPENJDK_TARGET_CPU" = "x86" ]; then
|
||||
DIS_DIFF_FILTER="$SED -r \
|
||||
-e 's/^ [0-9A-F]{16}: //' \
|
||||
-e 's/^ [0-9A-F]{8}: / <ADDR>: /' \
|
||||
-e 's/(offset \?\?)_C@_.*/\1<SYM>/' \
|
||||
-e 's/[@?][A-Za-z0-9_]{1,25}/<SYM>/' \
|
||||
-e 's/([-,+])[0-9A-F]{2,16}/\1<HEXSTR>/g' \
|
||||
-e 's/\[[0-9A-F]{4,16}h\]/[<HEXSTR>]/' \
|
||||
-e 's/: ([a-z]{2}[a-z ]{2}) [0-9A-F]{2,16}h?$/: \1 <HEXSTR>/' \
|
||||
-e 's/_20[0-9]{2}_[0-1][0-9]_[0-9]{2}/_<DATE>/' \
|
||||
"
|
||||
elif [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
|
||||
DIS_DIFF_FILTER="$SED -r \
|
||||
-e 's/^ [0-9A-F]{16}: //' \
|
||||
-e 's/\[[0-9A-F]{4,16}h\]/[<HEXSTR>]/' \
|
||||
-e 's/([,+])[0-9A-F]{2,16}h/\1<HEXSTR>/' \
|
||||
-e 's/([a-z]{2}[a-z ]{2}) [0-9A-F]{4,16}$/\1 <HEXSTR>/' \
|
||||
-e 's/\[\?\?_C@_.*/[<SYM>]/' \
|
||||
"
|
||||
fi
|
||||
|
||||
SKIP_BIN_DIFF="true"
|
||||
SKIP_FULLDUMP_DIFF="true"
|
||||
|
||||
# NOTE: When comparing the old and new hotspot builds, the server jvm.dll
|
||||
# cannot be made equal in disassembly. Some functions just always end up
|
||||
# in different order. So for now, accept the difference but put a limit
|
||||
# on the size. The different order of functions shouldn't result in a very
|
||||
# big diff.
|
||||
KNOWN_DIS_DIFF="
|
||||
./bin/server/jvm.dll
|
||||
"
|
||||
MAX_KNOWN_DIS_DIFF_SIZE="2000000"
|
||||
fi
|
||||
|
||||
|
||||
@ -512,7 +554,9 @@ if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
|
||||
./bin/jimage
|
||||
./bin/jinfo
|
||||
./bin/jjs
|
||||
./bin/jlink
|
||||
./bin/jmap
|
||||
./bin/jmod
|
||||
./bin/jps
|
||||
./bin/jrunscript
|
||||
./bin/jsadebugd
|
||||
@ -565,6 +609,7 @@ if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
|
||||
./Contents/Home/lib/libverify.dylib
|
||||
./Contents/Home/lib/libsaproc.dylib
|
||||
./Contents/Home/lib/libsplashscreen.dylib
|
||||
./Contents/Home/lib/server/libjsig.dylib
|
||||
./Contents/Home/lib/server/libjvm.dylib
|
||||
./Contents/Home/lib/deploy/JavaControlPanel.prefPane/Contents/MacOS/JavaControlPanel
|
||||
./Contents/Resources/JavaControlPanelHelper
|
||||
@ -590,6 +635,7 @@ if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
|
||||
./lib/libverify.dylib
|
||||
./lib/libsaproc.dylib
|
||||
./lib/libsplashscreen.dylib
|
||||
./lib/server/libjsig.dylib
|
||||
./lib/server/libjvm.dylib
|
||||
./lib/deploy/JavaControlPanel.prefPane/Contents/MacOS/JavaControlPanel
|
||||
./Versions/A/Resources/finish_installation.app/Contents/MacOS/finish_installation
|
||||
@ -606,7 +652,8 @@ if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then
|
||||
|
||||
DIS_DIFF_FILTER="LANG=C $SED \
|
||||
-e 's/0x[0-9a-f]\{3,16\}/<HEXSTR>/g' -e 's/^[0-9a-f]\{12,20\}/<ADDR>/' \
|
||||
-e 's/## literal pool for: .Java HotSpot(TM) 64-Bit Server VM.*/<COMMENT>/g'
|
||||
-e 's/-20[0-9][0-9]-[0-1][0-9]-[0-3][0-9]-[0-2][0-9]\{5\}/<DATE>/g' \
|
||||
-e 's/), built on .*/), <DATE>/' \
|
||||
"
|
||||
|
||||
fi
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2014, 2016, 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
|
||||
@ -111,16 +111,6 @@ java.desktop_EXCLUDES += \
|
||||
sun/awt/X11/doc-files \
|
||||
#
|
||||
|
||||
# The exception handling of swing beaninfo
|
||||
# These resources violates the convention of having code and resources together under
|
||||
# $(JDK_TOPDIR)/src/.../classes directories
|
||||
$(eval $(call SetupCopyFiles,COPY_BEANINFO, \
|
||||
SRC := $(JDK_TOPDIR)/make/data/swingbeaninfo/images, \
|
||||
DEST := $(JDK_OUTPUTDIR)/modules/java.desktop/javax/swing/beaninfo/images, \
|
||||
FILES := $(wildcard $(JDK_TOPDIR)/make/data/swingbeaninfo/images/*.gif)))
|
||||
|
||||
java.desktop_COPY_EXTRA += $(COPY_BEANINFO)
|
||||
|
||||
java.desktop_EXCLUDE_FILES += \
|
||||
javax/swing/plaf/nimbus/InternalFrameTitlePanePainter.java \
|
||||
javax/swing/plaf/nimbus/OptionPaneMessageAreaPainter.java \
|
||||
|
@ -74,6 +74,7 @@ ATTACH_FIRST_COPYRIGHT_YEAR = 2005
|
||||
JCONSOLE_FIRST_COPYRIGHT_YEAR = 2006
|
||||
SCTPAPI_FIRST_COPYRIGHT_YEAR = 2009
|
||||
TRACING_FIRST_COPYRIGHT_YEAR = 2008
|
||||
JSHELLAPI_FIRST_COPYRIGHT_YEAR = 2015
|
||||
TREEAPI_FIRST_COPYRIGHT_YEAR = 2005
|
||||
NASHORNAPI_FIRST_COPYRIGHT_YEAR = 2014
|
||||
DYNALINKAPI_FIRST_COPYRIGHT_YEAR = 2015
|
||||
@ -1197,6 +1198,65 @@ $(JCONSOLE_PACKAGES_FILE): $(call PackageDependencies,$(JCONSOLE_PKGS))
|
||||
$(prep-target)
|
||||
$(call PackageFilter,$(JCONSOLE_PKGS))
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# jshellapidocs
|
||||
#
|
||||
|
||||
ALL_OTHER_TARGETS += jshellapidocs
|
||||
|
||||
JSHELLAPI_DOCDIR := $(JDK_API_DOCSDIR)/jshell
|
||||
JSHELLAPI2COREAPI := ../../$(JDKJRE2COREAPI)
|
||||
JSHELLAPI_DOCTITLE := JShell API
|
||||
JSHELLAPI_WINDOWTITLE := JShell API
|
||||
JSHELLAPI_HEADER := <strong>JSHELL API</strong>
|
||||
JSHELLAPI_BOTTOM := $(call CommonBottom,$(JSHELLAPI_FIRST_COPYRIGHT_YEAR))
|
||||
JSHELLAPI_GROUPNAME := Packages
|
||||
JSHELLAPI_REGEXP := jdk.jshell.*
|
||||
# JSHELLAPI_PKGS is located in NON_CORE_PKGS.gmk
|
||||
|
||||
JSHELLAPI_INDEX_HTML = $(JSHELLAPI_DOCDIR)/index.html
|
||||
JSHELLAPI_OPTIONS_FILE = $(DOCSTMPDIR)/jshellapi.options
|
||||
JSHELLAPI_PACKAGES_FILE = $(DOCSTMPDIR)/jshellapi.packages
|
||||
|
||||
# The modules required to be documented
|
||||
JSHELLAPI_MODULES = jdk.jshell
|
||||
|
||||
jshellapidocs: $(JSHELLAPI_INDEX_HTML)
|
||||
|
||||
# Set relative location to core api document root
|
||||
$(JSHELLAPI_INDEX_HTML): GET2DOCSDIR=$(JSHELLAPI2COREAPI)/..
|
||||
|
||||
# Run javadoc if the index file is out of date or missing
|
||||
$(JSHELLAPI_INDEX_HTML): $(JSHELLAPI_OPTIONS_FILE) $(JSHELLAPI_PACKAGES_FILE) $(COREAPI_INDEX_FILE)
|
||||
$(prep-javadoc)
|
||||
$(call JavadocSummary,$(JSHELLAPI_OPTIONS_FILE),$(JSHELLAPI_PACKAGES_FILE))
|
||||
$(JAVADOC_CMD_SMALL) -d $(@D) \
|
||||
@$(JSHELLAPI_OPTIONS_FILE) @$(JSHELLAPI_PACKAGES_FILE)
|
||||
|
||||
# Create file with javadoc options in it
|
||||
$(JSHELLAPI_OPTIONS_FILE):
|
||||
$(prep-target)
|
||||
@($(call COMMON_JAVADOCFLAGS) ; \
|
||||
$(call COMMON_JAVADOCTAGS) ; \
|
||||
$(call OptionOnly,-Xdoclint:all) ; \
|
||||
$(call OptionPair,-system,none) ; \
|
||||
$(call OptionPair,-modulesourcepath,$(RELEASEDOCS_MODULESOURCEPATH)) ; \
|
||||
$(call OptionPair,-addmods,$(JSHELLAPI_MODULES)) ; \
|
||||
$(call OptionPair,-encoding,ascii) ; \
|
||||
$(call OptionPair,-doctitle,$(JSHELLAPI_DOCTITLE)) ; \
|
||||
$(call OptionPair,-windowtitle,$(JSHELLAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
|
||||
$(call OptionPair,-header,$(JSHELLAPI_HEADER)$(DRAFT_HEADER)) ; \
|
||||
$(call OptionPair,-bottom,$(JSHELLAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
|
||||
$(call OptionTrip,-group,$(JSHELLAPI_GROUPNAME),$(JSHELLAPI_REGEXP)); \
|
||||
$(call OptionTrip,-linkoffline,$(JSHELLAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
|
||||
) >> $@
|
||||
|
||||
# Create a file with the package names in it
|
||||
$(JSHELLAPI_PACKAGES_FILE): $(call PackageDependencies,$(JSHELLAPI_PKGS))
|
||||
$(prep-target)
|
||||
$(call PackageFilter,$(JSHELLAPI_PKGS))
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# treeapidocs
|
||||
|
@ -341,7 +341,8 @@ ALL_TARGETS += docs-javadoc docs-jvmtidoc
|
||||
ifeq ($(CREATE_BUILDJDK), true)
|
||||
# This target is only called by the recursive call below.
|
||||
create-buildjdk-compile-hotspot-helper: hotspot
|
||||
create-buildjdk-compile-modules-helper: jdk.jlink-launchers java.base-copy
|
||||
create-buildjdk-compile-modules-helper: jdk.jlink-launchers java.base-copy \
|
||||
jdk.jdeps-launchers
|
||||
endif
|
||||
|
||||
create-buildjdk-copy:
|
||||
|
@ -82,6 +82,7 @@ CORE_PKGS = \
|
||||
java.awt \
|
||||
java.awt.color \
|
||||
java.awt.datatransfer \
|
||||
java.awt.desktop \
|
||||
java.awt.dnd \
|
||||
java.awt.event \
|
||||
java.awt.font \
|
||||
|
@ -66,6 +66,7 @@ BOOT_MODULES += \
|
||||
jdk.sctp \
|
||||
jdk.security.auth \
|
||||
jdk.security.jgss \
|
||||
jdk.unsupported \
|
||||
jdk.vm.ci \
|
||||
#
|
||||
|
||||
@ -115,6 +116,7 @@ PLATFORM_MODULES += \
|
||||
#
|
||||
|
||||
JRE_TOOL_MODULES += \
|
||||
jdk.jdwp.agent \
|
||||
jdk.pack200 \
|
||||
jdk.scripting.nashorn.shell \
|
||||
#
|
||||
|
@ -80,6 +80,8 @@ ATTACH_PKGS = com.sun.tools.attach \
|
||||
|
||||
JCONSOLE_PKGS = com.sun.tools.jconsole
|
||||
|
||||
JSHELLAPI_PKGS = jdk.jshell
|
||||
|
||||
TREEAPI_PKGS = com.sun.source.doctree \
|
||||
com.sun.source.tree \
|
||||
com.sun.source.util
|
||||
|
@ -48,7 +48,7 @@ import java.util.function.Consumer;
|
||||
import java.util.function.Function;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import sun.misc.Unsafe;
|
||||
import jdk.internal.misc.Unsafe;
|
||||
|
||||
import jdk.test.lib.process.*;
|
||||
import static jdk.test.lib.Asserts.assertTrue;
|
||||
|
Loading…
x
Reference in New Issue
Block a user