Merge
This commit is contained in:
commit
76b98b17f4
@ -5,3 +5,5 @@ nbproject/private/
|
|||||||
^.hgtip
|
^.hgtip
|
||||||
^.bridge2
|
^.bridge2
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
.metadata/
|
||||||
|
.recommenders/
|
||||||
|
3860
README-builds.html
3860
README-builds.html
File diff suppressed because it is too large
Load Diff
1263
README-builds.md
Normal file
1263
README-builds.md
Normal file
File diff suppressed because it is too large
Load Diff
@ -305,6 +305,16 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
|
|||||||
BOOT_JDK_SOURCETARGET="-source 8 -target 8"
|
BOOT_JDK_SOURCETARGET="-source 8 -target 8"
|
||||||
AC_SUBST(BOOT_JDK_SOURCETARGET)
|
AC_SUBST(BOOT_JDK_SOURCETARGET)
|
||||||
AC_SUBST(JAVAC_FLAGS)
|
AC_SUBST(JAVAC_FLAGS)
|
||||||
|
|
||||||
|
# Check if the boot jdk is 32 or 64 bit
|
||||||
|
if "$JAVA" -d64 -version > /dev/null 2>&1; then
|
||||||
|
BOOT_JDK_BITS="64"
|
||||||
|
else
|
||||||
|
BOOT_JDK_BITS="32"
|
||||||
|
fi
|
||||||
|
AC_MSG_CHECKING([if Boot JDK is 32 or 64 bits])
|
||||||
|
AC_MSG_RESULT([$BOOT_JDK_BITS])
|
||||||
|
AC_SUBST(BOOT_JDK_BITS)
|
||||||
])
|
])
|
||||||
|
|
||||||
AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
|
AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
|
||||||
@ -341,7 +351,7 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
|
|||||||
# Maximum amount of heap memory.
|
# Maximum amount of heap memory.
|
||||||
# Maximum stack size.
|
# Maximum stack size.
|
||||||
JVM_MAX_HEAP=`expr $MEMORY_SIZE / 2`
|
JVM_MAX_HEAP=`expr $MEMORY_SIZE / 2`
|
||||||
if test "x$BUILD_NUM_BITS" = x32; then
|
if test "x$BOOT_JDK_BITS" = "x32"; then
|
||||||
if test "$JVM_MAX_HEAP" -gt "1100"; then
|
if test "$JVM_MAX_HEAP" -gt "1100"; then
|
||||||
JVM_MAX_HEAP=1100
|
JVM_MAX_HEAP=1100
|
||||||
elif test "$JVM_MAX_HEAP" -lt "512"; then
|
elif test "$JVM_MAX_HEAP" -lt "512"; then
|
||||||
@ -349,10 +359,7 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
|
|||||||
fi
|
fi
|
||||||
STACK_SIZE=768
|
STACK_SIZE=768
|
||||||
else
|
else
|
||||||
# Running Javac on a JVM on a 64-bit machine, takes more space since 64-bit
|
# Running a 64 bit JVM allows for and requires a bigger heap
|
||||||
# pointers are used. Apparently, we need to increase the heap and stack
|
|
||||||
# space for the jvm. More specifically, when running javac to build huge
|
|
||||||
# jdk batch
|
|
||||||
if test "$JVM_MAX_HEAP" -gt "1600"; then
|
if test "$JVM_MAX_HEAP" -gt "1600"; then
|
||||||
JVM_MAX_HEAP=1600
|
JVM_MAX_HEAP=1600
|
||||||
elif test "$JVM_MAX_HEAP" -lt "512"; then
|
elif test "$JVM_MAX_HEAP" -lt "512"; then
|
||||||
|
@ -66,7 +66,7 @@ export STRIP="@STRIP@ @STRIPFLAGS@"
|
|||||||
export TEE="@TEE@"
|
export TEE="@TEE@"
|
||||||
export UNIQ="@UNIQ@"
|
export UNIQ="@UNIQ@"
|
||||||
export UNPACK200="@FIXPATH@ @BOOT_JDK@/bin/unpack200"
|
export UNPACK200="@FIXPATH@ @BOOT_JDK@/bin/unpack200"
|
||||||
export UNZIP="@UNZIP@"
|
export UNARCHIVE="@UNZIP@ -q"
|
||||||
|
|
||||||
export SRC_ROOT="@TOPDIR@"
|
export SRC_ROOT="@TOPDIR@"
|
||||||
export OUTPUT_ROOT="@OUTPUT_ROOT@"
|
export OUTPUT_ROOT="@OUTPUT_ROOT@"
|
||||||
|
@ -815,6 +815,7 @@ JAXWS_TOPDIR
|
|||||||
JAXP_TOPDIR
|
JAXP_TOPDIR
|
||||||
CORBA_TOPDIR
|
CORBA_TOPDIR
|
||||||
LANGTOOLS_TOPDIR
|
LANGTOOLS_TOPDIR
|
||||||
|
BOOT_JDK_BITS
|
||||||
JAVAC_FLAGS
|
JAVAC_FLAGS
|
||||||
BOOT_JDK_SOURCETARGET
|
BOOT_JDK_SOURCETARGET
|
||||||
JARSIGNER
|
JARSIGNER
|
||||||
@ -4587,7 +4588,7 @@ VS_SDK_PLATFORM_NAME_2013=
|
|||||||
#CUSTOM_AUTOCONF_INCLUDE
|
#CUSTOM_AUTOCONF_INCLUDE
|
||||||
|
|
||||||
# Do not change or remove the following line, it is needed for consistency checks:
|
# Do not change or remove the following line, it is needed for consistency checks:
|
||||||
DATE_WHEN_GENERATED=1444643341
|
DATE_WHEN_GENERATED=1445354942
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#
|
#
|
||||||
@ -26920,6 +26921,18 @@ $as_echo "$tool_specified" >&6; }
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Check if the boot jdk is 32 or 64 bit
|
||||||
|
if "$JAVA" -d64 -version > /dev/null 2>&1; then
|
||||||
|
BOOT_JDK_BITS="64"
|
||||||
|
else
|
||||||
|
BOOT_JDK_BITS="32"
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Boot JDK is 32 or 64 bits" >&5
|
||||||
|
$as_echo_n "checking if Boot JDK is 32 or 64 bits... " >&6; }
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_BITS" >&5
|
||||||
|
$as_echo "$BOOT_JDK_BITS" >&6; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#
|
#
|
||||||
@ -53099,7 +53112,7 @@ $as_echo_n "checking flags for boot jdk java command for big workloads... " >&6;
|
|||||||
# Maximum amount of heap memory.
|
# Maximum amount of heap memory.
|
||||||
# Maximum stack size.
|
# Maximum stack size.
|
||||||
JVM_MAX_HEAP=`expr $MEMORY_SIZE / 2`
|
JVM_MAX_HEAP=`expr $MEMORY_SIZE / 2`
|
||||||
if test "x$BUILD_NUM_BITS" = x32; then
|
if test "x$BOOT_JDK_BITS" = "x32"; then
|
||||||
if test "$JVM_MAX_HEAP" -gt "1100"; then
|
if test "$JVM_MAX_HEAP" -gt "1100"; then
|
||||||
JVM_MAX_HEAP=1100
|
JVM_MAX_HEAP=1100
|
||||||
elif test "$JVM_MAX_HEAP" -lt "512"; then
|
elif test "$JVM_MAX_HEAP" -lt "512"; then
|
||||||
@ -53107,10 +53120,7 @@ $as_echo_n "checking flags for boot jdk java command for big workloads... " >&6;
|
|||||||
fi
|
fi
|
||||||
STACK_SIZE=768
|
STACK_SIZE=768
|
||||||
else
|
else
|
||||||
# Running Javac on a JVM on a 64-bit machine, takes more space since 64-bit
|
# Running a 64 bit JVM allows for and requires a bigger heap
|
||||||
# pointers are used. Apparently, we need to increase the heap and stack
|
|
||||||
# space for the jvm. More specifically, when running javac to build huge
|
|
||||||
# jdk batch
|
|
||||||
if test "$JVM_MAX_HEAP" -gt "1600"; then
|
if test "$JVM_MAX_HEAP" -gt "1600"; then
|
||||||
JVM_MAX_HEAP=1600
|
JVM_MAX_HEAP=1600
|
||||||
elif test "$JVM_MAX_HEAP" -lt "512"; then
|
elif test "$JVM_MAX_HEAP" -lt "512"; then
|
||||||
|
@ -51,8 +51,6 @@ else
|
|||||||
STAT_PRINT_SIZE="-c %s"
|
STAT_PRINT_SIZE="-c %s"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
UNARCHIVE="$UNZIP -q"
|
|
||||||
|
|
||||||
COMPARE_EXCEPTIONS_INCLUDE="$SRC_ROOT/common/bin/compare_exceptions.sh.incl"
|
COMPARE_EXCEPTIONS_INCLUDE="$SRC_ROOT/common/bin/compare_exceptions.sh.incl"
|
||||||
if [ ! -e "$COMPARE_EXCEPTIONS_INCLUDE" ]; then
|
if [ ! -e "$COMPARE_EXCEPTIONS_INCLUDE" ]; then
|
||||||
echo "Error: Cannot locate the exceptions file, it should have been here: $COMPARE_EXCEPTIONS_INCLUDE"
|
echo "Error: Cannot locate the exceptions file, it should have been here: $COMPARE_EXCEPTIONS_INCLUDE"
|
||||||
|
62
common/bin/update-build-readme.sh
Normal file
62
common/bin/update-build-readme.sh
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Get an absolute path to this script, since that determines the top-level
|
||||||
|
# directory.
|
||||||
|
this_script_dir=`dirname $0`
|
||||||
|
TOPDIR=`cd $this_script_dir/../.. > /dev/null && pwd`
|
||||||
|
|
||||||
|
GREP=grep
|
||||||
|
MD_FILE=$TOPDIR/README-builds.md
|
||||||
|
HTML_FILE=$TOPDIR/README-builds.html
|
||||||
|
|
||||||
|
# Locate the markdown processor tool and check that it is the correct version.
|
||||||
|
locate_markdown_processor() {
|
||||||
|
if [ -z "$MARKDOWN" ]; then
|
||||||
|
MARKDOWN=`which markdown 2> /dev/null`
|
||||||
|
if [ -z "$MARKDOWN" ]; then
|
||||||
|
echo "Error: Cannot locate markdown processor" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Test version
|
||||||
|
MARKDOWN_VERSION=`$MARKDOWN -version | $GREP version`
|
||||||
|
if [ "x$MARKDOWN_VERSION" != "xThis is Markdown, version 1.0.1." ]; then
|
||||||
|
echo "Error: Expected markdown version 1.0.1." 1>&2
|
||||||
|
echo "Actual version found: $MARKDOWN_VERSION" 1>&2
|
||||||
|
echo "Download markdown here: https://daringfireball.net/projects/markdown/" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# Verify that the source markdown file looks sound.
|
||||||
|
verify_source_code() {
|
||||||
|
TOO_LONG_LINES=`$GREP -E -e '^.{80}.+$' $MD_FILE`
|
||||||
|
if [ "x$TOO_LONG_LINES" != x ]; then
|
||||||
|
echo "Warning: The following lines are longer than 80 characters:"
|
||||||
|
$GREP -E -e '^.{80}.+$' $MD_FILE
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Convert the markdown file to html format.
|
||||||
|
process_source() {
|
||||||
|
echo "Generating html file from markdown"
|
||||||
|
cat > $HTML_FILE << END
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>OpenJDK Build README</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
END
|
||||||
|
markdown $MD_FILE >> $HTML_FILE
|
||||||
|
cat >> $HTML_FILE <<END
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
END
|
||||||
|
echo "Done"
|
||||||
|
}
|
||||||
|
|
||||||
|
locate_markdown_processor
|
||||||
|
verify_source_code
|
||||||
|
process_source
|
@ -438,6 +438,18 @@ jdk.jvmstat_COPY := aliasmap
|
|||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
jdk.vm.ci_EXCLUDE_FILES += \
|
||||||
|
jdk/vm/ci/options/processor/OptionProcessor.java \
|
||||||
|
jdk/vm/ci/service/processor/ServiceProviderProcessor.java \
|
||||||
|
#
|
||||||
|
|
||||||
|
jdk.vm.ci_EXCLUDES += \
|
||||||
|
META-INF/jvmci.options \
|
||||||
|
META-INF/jvmci.providers \
|
||||||
|
#
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
||||||
jdk.xml.bind_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
|
jdk.xml.bind_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
|
||||||
jdk.xml.bind_CLEAN := .properties
|
jdk.xml.bind_CLEAN := .properties
|
||||||
jdk.xml.bind_COPY := .xsd JAXBContextFactory.java ZeroOneBooleanAdapter.java
|
jdk.xml.bind_COPY := .xsd JAXBContextFactory.java ZeroOneBooleanAdapter.java
|
||||||
@ -479,6 +491,7 @@ ifneq ($(OPENJDK_TARGET_OS), $(OPENJDK_TARGET_OS_TYPE))
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
SHARE_SRC_DIRS += \
|
SHARE_SRC_DIRS += \
|
||||||
|
$(HOTSPOT_TOPDIR)/src/$1/share/classes \
|
||||||
$(JDK_TOPDIR)/src/$1/share/classes \
|
$(JDK_TOPDIR)/src/$1/share/classes \
|
||||||
$(LANGTOOLS_TOPDIR)/src/$1/share/classes \
|
$(LANGTOOLS_TOPDIR)/src/$1/share/classes \
|
||||||
$(CORBA_TOPDIR)/src/$1/share/classes \
|
$(CORBA_TOPDIR)/src/$1/share/classes \
|
||||||
@ -531,7 +544,7 @@ define SetupModuleCompilation
|
|||||||
|
|
||||||
$$(eval $$(call SetupJavaCompilation,$1, \
|
$$(eval $$(call SetupJavaCompilation,$1, \
|
||||||
SETUP := $$(if $$($1_SETUP), $$($1_SETUP), GENERATE_JDKBYTECODE), \
|
SETUP := $$(if $$($1_SETUP), $$($1_SETUP), GENERATE_JDKBYTECODE), \
|
||||||
SRC := $$(wildcard $$(call ALL_SRC_DIRS,$1)), \
|
SRC := $$(if $$($1_SRC), $$($1_SRC), $$(wildcard $$(call ALL_SRC_DIRS,$1))), \
|
||||||
INCLUDES := $(JDK_USER_DEFINED_FILTER),\
|
INCLUDES := $(JDK_USER_DEFINED_FILTER),\
|
||||||
BIN := $$(if $$($1_BIN), $$($1_BIN), $(JDK_OUTPUTDIR)/modules/$1), \
|
BIN := $$(if $$($1_BIN), $$($1_BIN), $(JDK_OUTPUTDIR)/modules/$1), \
|
||||||
HEADERS := $(SUPPORT_OUTPUTDIR)/headers/$1, \
|
HEADERS := $(SUPPORT_OUTPUTDIR)/headers/$1, \
|
||||||
|
@ -39,7 +39,8 @@ $(eval $(call IncludeCustomExtension, , Images-pre.gmk))
|
|||||||
|
|
||||||
MAIN_MODULES += java.se java.smartcardio jdk.httpserver jdk.sctp \
|
MAIN_MODULES += java.se java.smartcardio jdk.httpserver jdk.sctp \
|
||||||
jdk.security.auth jdk.security.jgss jdk.pack200 jdk.xml.dom \
|
jdk.security.auth jdk.security.jgss jdk.pack200 jdk.xml.dom \
|
||||||
jdk.accessibility jdk.internal.le jdk.scripting.nashorn.shell
|
jdk.accessibility jdk.internal.le jdk.scripting.nashorn.shell \
|
||||||
|
jdk.vm.ci
|
||||||
|
|
||||||
# providers
|
# providers
|
||||||
PROVIDER_MODULES += jdk.charsets jdk.crypto.ec jdk.crypto.pkcs11 jdk.jvmstat jdk.localedata \
|
PROVIDER_MODULES += jdk.charsets jdk.crypto.ec jdk.crypto.pkcs11 jdk.jvmstat jdk.localedata \
|
||||||
@ -48,7 +49,8 @@ PROVIDER_MODULES += jdk.charsets jdk.crypto.ec jdk.crypto.pkcs11 jdk.jvmstat jdk
|
|||||||
# tools
|
# tools
|
||||||
TOOLS_MODULES += jdk.attach jdk.compiler jdk.dev \
|
TOOLS_MODULES += jdk.attach jdk.compiler jdk.dev \
|
||||||
jdk.javadoc jdk.jcmd jdk.jconsole jdk.hotspot.agent jdk.jartool \
|
jdk.javadoc jdk.jcmd jdk.jconsole jdk.hotspot.agent jdk.jartool \
|
||||||
jdk.jdeps jdk.jdi jdk.jdwp.agent jdk.policytool jdk.rmic jdk.xml.bind jdk.xml.ws
|
jdk.jdeps jdk.jdi jdk.jdwp.agent jdk.jshell jdk.policytool jdk.rmic \
|
||||||
|
jdk.xml.bind jdk.xml.ws
|
||||||
|
|
||||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||||
PROVIDER_MODULES += jdk.crypto.mscapi
|
PROVIDER_MODULES += jdk.crypto.mscapi
|
||||||
|
@ -107,6 +107,7 @@ $(eval $(call DeclareRecipesForPhase, GENSRC, \
|
|||||||
JDK_GENSRC_TARGETS := $(filter %-gensrc-jdk, $(GENSRC_TARGETS))
|
JDK_GENSRC_TARGETS := $(filter %-gensrc-jdk, $(GENSRC_TARGETS))
|
||||||
LANGTOOLS_GENSRC_TARGETS := $(filter %-gensrc-langtools, $(GENSRC_TARGETS))
|
LANGTOOLS_GENSRC_TARGETS := $(filter %-gensrc-langtools, $(GENSRC_TARGETS))
|
||||||
CORBA_GENSRC_TARGETS := $(filter %-gensrc-corba, $(GENSRC_TARGETS))
|
CORBA_GENSRC_TARGETS := $(filter %-gensrc-corba, $(GENSRC_TARGETS))
|
||||||
|
HOTSPOT_GENSRC_TARGETS := $(filter %-gensrc-hotspot, $(GENSRC_TARGETS))
|
||||||
|
|
||||||
ALL_TARGETS += $(GENSRC_TARGETS)
|
ALL_TARGETS += $(GENSRC_TARGETS)
|
||||||
|
|
||||||
@ -128,7 +129,8 @@ $(eval $(call DeclareRecipesForPhase, COPY, \
|
|||||||
FILE_PREFIX := Copy, \
|
FILE_PREFIX := Copy, \
|
||||||
MAKE_SUBDIR := copy, \
|
MAKE_SUBDIR := copy, \
|
||||||
CHECK_MODULES := $(ALL_MODULES), \
|
CHECK_MODULES := $(ALL_MODULES), \
|
||||||
USE_WRAPPER := true))
|
USE_WRAPPER := true, \
|
||||||
|
MULTIPLE_MAKEFILES := true))
|
||||||
|
|
||||||
ALL_TARGETS += $(COPY_TARGETS)
|
ALL_TARGETS += $(COPY_TARGETS)
|
||||||
|
|
||||||
@ -352,6 +354,8 @@ else
|
|||||||
|
|
||||||
$(CORBA_GENSRC_TARGETS): interim-langtools
|
$(CORBA_GENSRC_TARGETS): interim-langtools
|
||||||
|
|
||||||
|
$(HOTSPOT_GENSRC_TARGETS): interim-langtools
|
||||||
|
|
||||||
$(JDK_GENSRC_TARGETS): interim-langtools buildtools-jdk
|
$(JDK_GENSRC_TARGETS): interim-langtools buildtools-jdk
|
||||||
|
|
||||||
$(GENDATA_TARGETS): interim-langtools buildtools-jdk
|
$(GENDATA_TARGETS): interim-langtools buildtools-jdk
|
||||||
@ -415,6 +419,9 @@ else
|
|||||||
# Explicitly add dependencies for special targets
|
# Explicitly add dependencies for special targets
|
||||||
java.base-java: unpack-sec
|
java.base-java: unpack-sec
|
||||||
|
|
||||||
|
# The copy target copies files generated by gensrc
|
||||||
|
java.base-copy-hotspot: java.base-gensrc-hotspot
|
||||||
|
|
||||||
jdk.jdeps-gendata: java rmic
|
jdk.jdeps-gendata: java rmic
|
||||||
|
|
||||||
zip-security: java.base-java java.security.jgss-java java.security.jgss-libs \
|
zip-security: java.base-java java.security.jgss-java java.security.jgss-libs \
|
||||||
|
@ -108,7 +108,8 @@ endef
|
|||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
MAKE_TOPDIR_LIST := $(JDK_TOPDIR) $(CORBA_TOPDIR) $(LANGTOOLS_TOPDIR)
|
MAKE_TOPDIR_LIST := $(JDK_TOPDIR) $(CORBA_TOPDIR) $(LANGTOOLS_TOPDIR) \
|
||||||
|
$(HOTSPOT_TOPDIR)
|
||||||
MAKE_MAKEDIR_LIST := make
|
MAKE_MAKEDIR_LIST := make
|
||||||
|
|
||||||
# Helper macro for DeclareRecipesForPhase
|
# Helper macro for DeclareRecipesForPhase
|
||||||
@ -179,7 +180,7 @@ endef
|
|||||||
# FILE_PREFIX : File prefix for this build phase
|
# FILE_PREFIX : File prefix for this build phase
|
||||||
# USE_WRAPPER : Set to true to use ModuleWrapper.gmk
|
# USE_WRAPPER : Set to true to use ModuleWrapper.gmk
|
||||||
# CHECK_MODULES : List of modules to try
|
# CHECK_MODULES : List of modules to try
|
||||||
# MULTIPLE_MAKEFILES : Set to true to handle makefils for the same module in
|
# MULTIPLE_MAKEFILES : Set to true to handle makefiles for the same module and
|
||||||
# phase in multiple repos
|
# phase in multiple repos
|
||||||
# Exported variables:
|
# Exported variables:
|
||||||
# $1_MODULES : All modules that had rules generated
|
# $1_MODULES : All modules that had rules generated
|
||||||
|
@ -33,6 +33,7 @@ include SetupJavaCompilers.gmk
|
|||||||
# Module list macros
|
# Module list macros
|
||||||
|
|
||||||
ALL_TOP_SRC_DIRS := \
|
ALL_TOP_SRC_DIRS := \
|
||||||
|
$(HOTSPOT_TOPDIR)/src \
|
||||||
$(JDK_TOPDIR)/src \
|
$(JDK_TOPDIR)/src \
|
||||||
$(LANGTOOLS_TOPDIR)/src \
|
$(LANGTOOLS_TOPDIR)/src \
|
||||||
$(CORBA_TOPDIR)/src \
|
$(CORBA_TOPDIR)/src \
|
||||||
|
@ -49,9 +49,9 @@ ARCH := $(word 1,$(subst -, ,$(TARGET)))
|
|||||||
# Define external dependencies
|
# Define external dependencies
|
||||||
|
|
||||||
# Latest that could be made to work.
|
# Latest that could be made to work.
|
||||||
gcc_ver := gcc-4.8.2
|
gcc_ver := gcc-4.9.2
|
||||||
binutils_ver := binutils-2.24
|
binutils_ver := binutils-2.25
|
||||||
ccache_ver := ccache-3.1.9
|
ccache_ver := ccache-3.2.1
|
||||||
mpfr_ver := mpfr-3.0.1
|
mpfr_ver := mpfr-3.0.1
|
||||||
gmp_ver := gmp-4.3.2
|
gmp_ver := gmp-4.3.2
|
||||||
mpc_ver := mpc-1.0.1
|
mpc_ver := mpc-1.0.1
|
||||||
|
@ -32,10 +32,11 @@ VS_VERSION="2013"
|
|||||||
VS_VERSION_NUM="12.0"
|
VS_VERSION_NUM="12.0"
|
||||||
VS_VERSION_NUM_NODOT="120"
|
VS_VERSION_NUM_NODOT="120"
|
||||||
SDK_VERSION="8.1"
|
SDK_VERSION="8.1"
|
||||||
|
VS_VERSION_SP="SP4"
|
||||||
|
|
||||||
SCRIPT_DIR="$(cd "$(dirname $0)" > /dev/null && pwd)"
|
SCRIPT_DIR="$(cd "$(dirname $0)" > /dev/null && pwd)"
|
||||||
BUILD_DIR="${SCRIPT_DIR}/../../build/devkit"
|
BUILD_DIR="${SCRIPT_DIR}/../../build/devkit"
|
||||||
DEVKIT_ROOT="${BUILD_DIR}/VS${VS_VERSION}-devkit"
|
DEVKIT_ROOT="${BUILD_DIR}/VS${VS_VERSION}${VS_VERSION_SP}-devkit"
|
||||||
DEVKIT_BUNDLE="${DEVKIT_ROOT}.tar.gz"
|
DEVKIT_BUNDLE="${DEVKIT_ROOT}.tar.gz"
|
||||||
|
|
||||||
echo "Creating devkit in $DEVKIT_ROOT"
|
echo "Creating devkit in $DEVKIT_ROOT"
|
||||||
@ -103,7 +104,7 @@ echo-info() {
|
|||||||
echo "Generating devkit.info..."
|
echo "Generating devkit.info..."
|
||||||
rm -f $DEVKIT_ROOT/devkit.info
|
rm -f $DEVKIT_ROOT/devkit.info
|
||||||
echo-info "# This file describes to configure how to interpret the contents of this devkit"
|
echo-info "# This file describes to configure how to interpret the contents of this devkit"
|
||||||
echo-info "DEVKIT_NAME=\"Microsoft Visual Studio $VS_VERSION (devkit)\""
|
echo-info "DEVKIT_NAME=\"Microsoft Visual Studio $VS_VERSION $VS_VERSION_SP (devkit)\""
|
||||||
echo-info "DEVKIT_VS_VERSION=\"$VS_VERSION\""
|
echo-info "DEVKIT_VS_VERSION=\"$VS_VERSION\""
|
||||||
echo-info ""
|
echo-info ""
|
||||||
echo-info "DEVKIT_TOOLCHAIN_PATH_x86=\"\$DEVKIT_ROOT/VC/bin:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86\""
|
echo-info "DEVKIT_TOOLCHAIN_PATH_x86=\"\$DEVKIT_ROOT/VC/bin:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86\""
|
||||||
|
@ -122,11 +122,18 @@ jprt.i586.fastdebugOpen.build.configure.args= \
|
|||||||
jprt.i586.productOpen.build.configure.args= \
|
jprt.i586.productOpen.build.configure.args= \
|
||||||
${my.i586.default.build.configure.args} \
|
${my.i586.default.build.configure.args} \
|
||||||
${jprt.productOpen.build.configure.args}
|
${jprt.productOpen.build.configure.args}
|
||||||
|
jprt.linux_i586.build.configure.args= \
|
||||||
|
--with-devkit=$GCC492_OEL64_HOME \
|
||||||
|
${jprt.i586.build.configure.args}
|
||||||
|
jprt.linux_x64.build.configure.args= \
|
||||||
|
--with-devkit=$GCC492_OEL64_HOME
|
||||||
jprt.windows_i586.build.configure.args= \
|
jprt.windows_i586.build.configure.args= \
|
||||||
--with-devkit=$VS2013_HOME \
|
--with-devkit=$VS2013SP4_HOME \
|
||||||
${jprt.i586.build.configure.args}
|
${jprt.i586.build.configure.args}
|
||||||
jprt.windows_x64.build.configure.args= \
|
jprt.windows_x64.build.configure.args= \
|
||||||
--with-devkit=$VS2013_HOME
|
--with-devkit=$VS2013SP4_HOME
|
||||||
|
jprt.macosx_x64.build.configure.args= \
|
||||||
|
--with-devkit=$XCODE_511_HOME
|
||||||
|
|
||||||
########
|
########
|
||||||
#
|
#
|
||||||
|
43
modules.xml
43
modules.xml
@ -237,6 +237,7 @@
|
|||||||
<to>java.instrument</to>
|
<to>java.instrument</to>
|
||||||
<to>jdk.jfr</to>
|
<to>jdk.jfr</to>
|
||||||
<to>jdk.scripting.nashorn</to>
|
<to>jdk.scripting.nashorn</to>
|
||||||
|
<to>jdk.vm.ci</to>
|
||||||
</export>
|
</export>
|
||||||
<export>
|
<export>
|
||||||
<name>jdk.internal.org.objectweb.asm.commons</name>
|
<name>jdk.internal.org.objectweb.asm.commons</name>
|
||||||
@ -290,6 +291,7 @@
|
|||||||
<to>jdk.security.auth</to>
|
<to>jdk.security.auth</to>
|
||||||
<to>jdk.security.jgss</to>
|
<to>jdk.security.jgss</to>
|
||||||
<to>jdk.snmp</to>
|
<to>jdk.snmp</to>
|
||||||
|
<to>jdk.vm.ci</to>
|
||||||
<to>java.instrument</to>
|
<to>java.instrument</to>
|
||||||
</export>
|
</export>
|
||||||
<export>
|
<export>
|
||||||
@ -787,6 +789,19 @@
|
|||||||
<to>jdk.accessibility</to>
|
<to>jdk.accessibility</to>
|
||||||
</export>
|
</export>
|
||||||
</module>
|
</module>
|
||||||
|
<module>
|
||||||
|
<name>jdk.jshell</name>
|
||||||
|
<depend>java.base</depend>
|
||||||
|
<depend re-exports="true">java.compiler</depend>
|
||||||
|
<depend>jdk.compiler</depend>
|
||||||
|
<depend>java.desktop</depend>
|
||||||
|
<depend>java.prefs</depend>
|
||||||
|
<depend>jdk.jdi</depend>
|
||||||
|
<depend>jdk.internal.le</depend>
|
||||||
|
<export>
|
||||||
|
<name>jdk.jshell</name>
|
||||||
|
</export>
|
||||||
|
</module>
|
||||||
<module>
|
<module>
|
||||||
<name>java.instrument</name>
|
<name>java.instrument</name>
|
||||||
<depend>java.base</depend>
|
<depend>java.base</depend>
|
||||||
@ -1547,14 +1562,17 @@
|
|||||||
</export>
|
</export>
|
||||||
<export>
|
<export>
|
||||||
<name>com.sun.tools.javac.api</name>
|
<name>com.sun.tools.javac.api</name>
|
||||||
|
<to>jdk.jshell</to>
|
||||||
<to>jdk.javadoc</to>
|
<to>jdk.javadoc</to>
|
||||||
</export>
|
</export>
|
||||||
<export>
|
<export>
|
||||||
<name>com.sun.tools.javac.code</name>
|
<name>com.sun.tools.javac.code</name>
|
||||||
|
<to>jdk.jshell</to>
|
||||||
<to>jdk.javadoc</to>
|
<to>jdk.javadoc</to>
|
||||||
</export>
|
</export>
|
||||||
<export>
|
<export>
|
||||||
<name>com.sun.tools.javac.comp</name>
|
<name>com.sun.tools.javac.comp</name>
|
||||||
|
<to>jdk.jshell</to>
|
||||||
<to>jdk.javadoc</to>
|
<to>jdk.javadoc</to>
|
||||||
</export>
|
</export>
|
||||||
<export>
|
<export>
|
||||||
@ -1564,16 +1582,22 @@
|
|||||||
</export>
|
</export>
|
||||||
<export>
|
<export>
|
||||||
<name>com.sun.tools.javac.jvm</name>
|
<name>com.sun.tools.javac.jvm</name>
|
||||||
|
<to>jdk.jshell</to>
|
||||||
<to>jdk.javadoc</to>
|
<to>jdk.javadoc</to>
|
||||||
</export>
|
</export>
|
||||||
<export>
|
<export>
|
||||||
<name>com.sun.tools.javac.main</name>
|
<name>com.sun.tools.javac.main</name>
|
||||||
|
<to>jdk.jshell</to>
|
||||||
<to>jdk.javadoc</to>
|
<to>jdk.javadoc</to>
|
||||||
</export>
|
</export>
|
||||||
<export>
|
<export>
|
||||||
<name>com.sun.tools.javac.nio</name>
|
<name>com.sun.tools.javac.nio</name>
|
||||||
<to>jdk.javadoc</to>
|
<to>jdk.javadoc</to>
|
||||||
</export>
|
</export>
|
||||||
|
<export>
|
||||||
|
<name>com.sun.tools.javac.parser</name>
|
||||||
|
<to>jdk.jshell</to>
|
||||||
|
</export>
|
||||||
<export>
|
<export>
|
||||||
<name>com.sun.tools.javac.platform</name>
|
<name>com.sun.tools.javac.platform</name>
|
||||||
<to>jdk.javadoc</to>
|
<to>jdk.javadoc</to>
|
||||||
@ -1584,10 +1608,12 @@
|
|||||||
</export>
|
</export>
|
||||||
<export>
|
<export>
|
||||||
<name>com.sun.tools.javac.tree</name>
|
<name>com.sun.tools.javac.tree</name>
|
||||||
|
<to>jdk.jshell</to>
|
||||||
<to>jdk.javadoc</to>
|
<to>jdk.javadoc</to>
|
||||||
</export>
|
</export>
|
||||||
<export>
|
<export>
|
||||||
<name>com.sun.tools.javac.util</name>
|
<name>com.sun.tools.javac.util</name>
|
||||||
|
<to>jdk.jshell</to>
|
||||||
<to>jdk.javadoc</to>
|
<to>jdk.javadoc</to>
|
||||||
<to>jdk.jdeps</to>
|
<to>jdk.jdeps</to>
|
||||||
</export>
|
</export>
|
||||||
@ -1648,22 +1674,27 @@
|
|||||||
<depend>java.base</depend>
|
<depend>java.base</depend>
|
||||||
<export>
|
<export>
|
||||||
<name>jdk.internal.jline</name>
|
<name>jdk.internal.jline</name>
|
||||||
|
<to>jdk.jshell</to>
|
||||||
<to>jdk.scripting.nashorn.shell</to>
|
<to>jdk.scripting.nashorn.shell</to>
|
||||||
</export>
|
</export>
|
||||||
<export>
|
<export>
|
||||||
<name>jdk.internal.jline.console</name>
|
<name>jdk.internal.jline.console</name>
|
||||||
|
<to>jdk.jshell</to>
|
||||||
<to>jdk.scripting.nashorn.shell</to>
|
<to>jdk.scripting.nashorn.shell</to>
|
||||||
</export>
|
</export>
|
||||||
<export>
|
<export>
|
||||||
<name>jdk.internal.jline.console.completer</name>
|
<name>jdk.internal.jline.console.completer</name>
|
||||||
|
<to>jdk.jshell</to>
|
||||||
<to>jdk.scripting.nashorn.shell</to>
|
<to>jdk.scripting.nashorn.shell</to>
|
||||||
</export>
|
</export>
|
||||||
<export>
|
<export>
|
||||||
<name>jdk.internal.jline.console.history</name>
|
<name>jdk.internal.jline.console.history</name>
|
||||||
|
<to>jdk.jshell</to>
|
||||||
<to>jdk.scripting.nashorn.shell</to>
|
<to>jdk.scripting.nashorn.shell</to>
|
||||||
</export>
|
</export>
|
||||||
<export>
|
<export>
|
||||||
<name>jdk.internal.jline.internal</name>
|
<name>jdk.internal.jline.internal</name>
|
||||||
|
<to>jdk.jshell</to>
|
||||||
<to>jdk.scripting.nashorn.shell</to>
|
<to>jdk.scripting.nashorn.shell</to>
|
||||||
</export>
|
</export>
|
||||||
</module>
|
</module>
|
||||||
@ -1871,6 +1902,18 @@
|
|||||||
<name>com.sun.security.jgss</name>
|
<name>com.sun.security.jgss</name>
|
||||||
</export>
|
</export>
|
||||||
</module>
|
</module>
|
||||||
|
<module>
|
||||||
|
<name>jdk.vm.ci</name>
|
||||||
|
<depend>java.base</depend>
|
||||||
|
<export>
|
||||||
|
<name>jdk.vm.ci.hotspot</name>
|
||||||
|
<to>jdk.jfr</to>
|
||||||
|
</export>
|
||||||
|
<export>
|
||||||
|
<name>jdk.vm.ci.hotspot.events</name>
|
||||||
|
<to>jdk.jfr</to>
|
||||||
|
</export>
|
||||||
|
</module>
|
||||||
<module>
|
<module>
|
||||||
<name>jdk.xml.bind</name>
|
<name>jdk.xml.bind</name>
|
||||||
<depend>java.activation</depend>
|
<depend>java.activation</depend>
|
||||||
|
@ -67,6 +67,7 @@ import java.util.UUID;
|
|||||||
public class LingeredApp {
|
public class LingeredApp {
|
||||||
|
|
||||||
private static final long spinDelay = 1000;
|
private static final long spinDelay = 1000;
|
||||||
|
private static final int appWaitTime = 100;
|
||||||
|
|
||||||
private final String lockFileName;
|
private final String lockFileName;
|
||||||
private long lockCreationTime;
|
private long lockCreationTime;
|
||||||
@ -111,6 +112,12 @@ public class LingeredApp {
|
|||||||
this.storedAppOutput = new ArrayList<String>();
|
this.storedAppOutput = new ArrayList<String>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public LingeredApp() {
|
||||||
|
final String lockName = UUID.randomUUID().toString() + ".lck";
|
||||||
|
this.lockFileName = lockName;
|
||||||
|
this.storedAppOutput = new ArrayList<String>();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @return name of lock file
|
* @return name of lock file
|
||||||
@ -338,21 +345,18 @@ public class LingeredApp {
|
|||||||
* High level interface for test writers
|
* High level interface for test writers
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* Factory method that creates SmartAppTest object with ready to use application
|
* Factory method that creates LingeredApp object with ready to use application
|
||||||
* lock name is autogenerated, wait timeout is hardcoded
|
* lock name is autogenerated
|
||||||
* @param cmd - vm options, could be null to auto add testvm.options
|
* @param cmd - vm options, could be null to auto add testvm.options
|
||||||
* @return LingeredApp object
|
* @return LingeredApp object
|
||||||
* @throws IOException
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
public static LingeredApp startApp(List<String> cmd) throws IOException {
|
public static LingeredApp startApp(List<String> cmd) throws IOException {
|
||||||
final String lockName = UUID.randomUUID().toString() + ".lck";
|
LingeredApp a = new LingeredApp();
|
||||||
final int waitTime = 10;
|
|
||||||
|
|
||||||
LingeredApp a = new LingeredApp(lockName);
|
|
||||||
a.createLock();
|
a.createLock();
|
||||||
try {
|
try {
|
||||||
a.runApp(cmd);
|
a.runApp(cmd);
|
||||||
a.waitAppReady(waitTime);
|
a.waitAppReady(appWaitTime);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
a.deleteLock();
|
a.deleteLock();
|
||||||
throw ex;
|
throw ex;
|
||||||
@ -361,6 +365,26 @@ public class LingeredApp {
|
|||||||
return a;
|
return a;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Factory method that starts pre-created LingeredApp
|
||||||
|
* lock name is autogenerated
|
||||||
|
* @param cmd - vm options, could be null to auto add testvm.options
|
||||||
|
* @param theApp - app to start
|
||||||
|
* @return LingeredApp object
|
||||||
|
* @throws IOException
|
||||||
|
*/
|
||||||
|
|
||||||
|
public static void startApp(List<String> cmd, LingeredApp theApp) throws IOException {
|
||||||
|
theApp.createLock();
|
||||||
|
try {
|
||||||
|
theApp.runApp(cmd);
|
||||||
|
theApp.waitAppReady(appWaitTime);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
theApp.deleteLock();
|
||||||
|
throw ex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static LingeredApp startApp() throws IOException {
|
public static LingeredApp startApp() throws IOException {
|
||||||
return startApp(null);
|
return startApp(null);
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,81 @@
|
|||||||
|
/*
|
||||||
|
* 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
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
package jdk.test.lib.apps;
|
||||||
|
|
||||||
|
import java.util.concurrent.Phaser;
|
||||||
|
|
||||||
|
public class LingeredAppWithDeadlock extends LingeredApp {
|
||||||
|
|
||||||
|
private static final Object Lock1 = new Object();
|
||||||
|
private static final Object Lock2 = new Object();
|
||||||
|
|
||||||
|
private static volatile int reachCount = 0;
|
||||||
|
|
||||||
|
private static final Phaser p = new Phaser(2);
|
||||||
|
|
||||||
|
private static class ThreadOne extends Thread {
|
||||||
|
public void run() {
|
||||||
|
// wait Lock2 is locked
|
||||||
|
p.arriveAndAwaitAdvance();
|
||||||
|
synchronized (Lock1) {
|
||||||
|
// signal Lock1 is locked
|
||||||
|
p.arriveAndAwaitAdvance();
|
||||||
|
synchronized (Lock2) {
|
||||||
|
reachCount += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class ThreadTwo extends Thread {
|
||||||
|
public void run() {
|
||||||
|
synchronized (Lock2) {
|
||||||
|
// signal Lock2 is locked
|
||||||
|
p.arriveAndAwaitAdvance();
|
||||||
|
// wait Lock1 is locked
|
||||||
|
p.arriveAndAwaitAdvance();
|
||||||
|
synchronized (Lock1) {
|
||||||
|
reachCount += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String args[]) {
|
||||||
|
if (args.length != 1) {
|
||||||
|
System.err.println("Lock file name is not specified");
|
||||||
|
System.exit(7);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Run two theads that should come to deadlock
|
||||||
|
new ThreadOne().start();
|
||||||
|
new ThreadTwo().start();
|
||||||
|
|
||||||
|
if (reachCount > 0) {
|
||||||
|
// Not able to deadlock, exiting
|
||||||
|
System.exit(3);
|
||||||
|
}
|
||||||
|
|
||||||
|
LingeredApp.main(args);
|
||||||
|
}
|
||||||
|
}
|
@ -112,6 +112,12 @@ public class WhiteBox {
|
|||||||
|
|
||||||
public native void forceSafepoint();
|
public native void forceSafepoint();
|
||||||
|
|
||||||
|
private native long getConstantPool0(Class<?> aClass);
|
||||||
|
public long getConstantPool(Class<?> aClass) {
|
||||||
|
Objects.requireNonNull(aClass);
|
||||||
|
return getConstantPool0(aClass);
|
||||||
|
}
|
||||||
|
|
||||||
// JVMTI
|
// JVMTI
|
||||||
private native void addToBootstrapClassLoaderSearch0(String segment);
|
private native void addToBootstrapClassLoaderSearch0(String segment);
|
||||||
public void addToBootstrapClassLoaderSearch(String segment){
|
public void addToBootstrapClassLoaderSearch(String segment){
|
||||||
@ -159,6 +165,7 @@ public class WhiteBox {
|
|||||||
public native int NMTGetHashSize();
|
public native int NMTGetHashSize();
|
||||||
|
|
||||||
// Compiler
|
// Compiler
|
||||||
|
public native int matchesMethod(Executable method, String pattern);
|
||||||
public native int deoptimizeFrames(boolean makeNotEntrant);
|
public native int deoptimizeFrames(boolean makeNotEntrant);
|
||||||
public native void deoptimizeAll();
|
public native void deoptimizeAll();
|
||||||
public boolean isMethodCompiled(Executable method) {
|
public boolean isMethodCompiled(Executable method) {
|
||||||
@ -288,6 +295,11 @@ public class WhiteBox {
|
|||||||
public native void forceNMethodSweep();
|
public native void forceNMethodSweep();
|
||||||
public native Object[] getCodeHeapEntries(int type);
|
public native Object[] getCodeHeapEntries(int type);
|
||||||
public native int getCompilationActivityMode();
|
public native int getCompilationActivityMode();
|
||||||
|
private native long getMethodData0(Executable method);
|
||||||
|
public long getMethodData(Executable method) {
|
||||||
|
Objects.requireNonNull(method);
|
||||||
|
return getMethodData0(method);
|
||||||
|
}
|
||||||
public native Object[] getCodeBlob(long addr);
|
public native Object[] getCodeBlob(long addr);
|
||||||
|
|
||||||
// Intered strings
|
// Intered strings
|
||||||
|
@ -35,14 +35,16 @@ public class NMethod extends CodeBlob {
|
|||||||
}
|
}
|
||||||
private NMethod(Object[] obj) {
|
private NMethod(Object[] obj) {
|
||||||
super((Object[])obj[0]);
|
super((Object[])obj[0]);
|
||||||
assert obj.length == 4;
|
assert obj.length == 5;
|
||||||
comp_level = (Integer) obj[1];
|
comp_level = (Integer) obj[1];
|
||||||
insts = (byte[]) obj[2];
|
insts = (byte[]) obj[2];
|
||||||
compile_id = (Integer) obj[3];
|
compile_id = (Integer) obj[3];
|
||||||
|
address = (Long) obj[4];
|
||||||
}
|
}
|
||||||
public final byte[] insts;
|
public final byte[] insts;
|
||||||
public final int comp_level;
|
public final int comp_level;
|
||||||
public final int compile_id;
|
public final int compile_id;
|
||||||
|
public final long address;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
@ -51,6 +53,7 @@ public class NMethod extends CodeBlob {
|
|||||||
+ ", insts=" + insts
|
+ ", insts=" + insts
|
||||||
+ ", comp_level=" + comp_level
|
+ ", comp_level=" + comp_level
|
||||||
+ ", compile_id=" + compile_id
|
+ ", compile_id=" + compile_id
|
||||||
|
+ ", address=" + address
|
||||||
+ '}';
|
+ '}';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user