8130681: Kitchensink startup crashes JVM with NMT overlapping ranges
Summary: add_committed_region now handles overlapping commits.
Reviewed-by: hseigel, coleenp
#
# Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# 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.
#
##############
#
# Global settings
#
# Install test bundle for targets in jprt.test.bundle.targets set
jprt.selective.test.bundle.installation=true
# The current release name
jprt.tools.default.release=jdk9
# Check if this is the equivalent of a hotspot push job
# Interpret -testset hotspot to mean exactly that
my.is.hotspot.job.hotspot=true
my.is.hotspot.job=${my.is.hotspot.job.${jprt.test.set}}
# Disable syncing the source after builds and tests are done
jprt.sync.push=${my.is.hotspot.job ? false : true}
# Directories to be excluded from the source bundles
jprt.bundle.exclude.src.dirs=build dist webrev
# Use configure when building
jprt.build.use.configure=true
# Set up the run flavors (jvm variants)
jprt.run.flavors=c1,c2,default,${my.additional.run.flavors}
# Set make target to use for different build flavors
jprt.build.flavor.debugOpen.target=jprt_bundle
jprt.build.flavor.fastdebug.target=jprt_bundle
jprt.build.flavor.product.target=jprt_bundle
jprt.build.flavor.productOpen.target=jprt_bundle
jprt.build.flavor.optimized.target=jprt_bundle
jprt.build.flavor.optimizedOpen.target=jprt_bundle
# Use these configure args to define debug level
jprt.debug.build.configure.args=--with-debug-level=slowdebug
jprt.fastdebug.build.configure.args=--with-debug-level=fastdebug --disable-precompiled-headers
jprt.product.build.configure.args=--with-debug-level=release
jprt.optimized.build.configure.args=--with-debug-level=optimized
jprt.debugOpen.build.configure.args=${jprt.debug.build.configure.args} --enable-openjdk-only
jprt.fastdebugOpen.build.configure.args=${jprt.fastdebug.build.configure.args} --enable-openjdk-only
jprt.productOpen.build.configure.args=${jprt.product.build.configure.args} --enable-openjdk-only
jprt.optimizedOpen.build.configure.args=${jprt.product.build.configure.args} --enable-openjdk-only
# Select build flavors and build targets
jprt.build.flavors=${my.is.hotspot.job ? ${my.build.flavors.hotspot} : ${my.build.flavors.default}}
jprt.build.targets=${my.is.hotspot.job ? ${my.build.targets.hotspot} : ${my.build.targets.default}}
# Select test targets - jprt default for jprt.test.set is "default"
jprt.test.targets=${my.test.targets.${jprt.test.set}}
jprt.make.rule.test.targets=${my.make.rule.test.targets.${jprt.test.set}}
jprt.test.bundle.targets=${my.jprt.test.bundle.targets.${jprt.test.set}}
# 7155453: Work-around to prevent popups on OSX from blocking test completion
# but the work-around is added to all platforms to be consistent
jprt.jbb.options=-Djava.awt.headless=true
########
#
# Build options (generic)
#
# Configure args common to all builds
# Also allows for additional, testset specific configure arguments to be set
jprt.build.configure.args= \
--with-output-sync=recurse \
--with-boot-jdk=$ALT_BOOTDIR \
--with-jobs=$ALT_PARALLEL_COMPILE_JOBS \
${my.additional.build.configure.args.${jprt.test.set}} \
${my.custom.build.configure.args}
# i586 is often cross-compiled from 64-bit machines, so need to set target bits explicitly
jprt.i586.build.configure.args= \
--with-target-bits=32
# i586 platforms have both client and server, but to allow for overriding the exact configuration
# on a per-build flavor basis the value is set for the individual build flavors
my.i586.default.build.configure.args= \
--with-jvm-variants=client,server
jprt.i586.debug.build.configure.args= \
${my.i586.default.build.configure.args} \
${jprt.debug.build.configure.args}
jprt.i586.fastdebug.build.configure.args= \
${my.i586.default.build.configure.args} \
${jprt.fastdebug.build.configure.args}
jprt.i586.product.build.configure.args= \
${my.i586.default.build.configure.args} \
${jprt.product.build.configure.args}
jprt.i586.debugOpen.build.configure.args= \
${my.i586.default.build.configure.args} \
${jprt.debugOpen.build.configure.args}
jprt.i586.fastdebugOpen.build.configure.args= \
${my.i586.default.build.configure.args} \
${jprt.fastdebugOpen.build.configure.args}
jprt.i586.productOpen.build.configure.args= \
${my.i586.default.build.configure.args} \
${jprt.productOpen.build.configure.args}
jprt.windows_i586.build.configure.args= \
--with-devkit=$VS2013_HOME \
${jprt.i586.build.configure.args}
jprt.windows_x64.build.configure.args= \
--with-devkit=$VS2013_HOME
########
#
# Build targets and options (default/jdk)
#
# The default build flavors
my.build.flavors.default=fastdebug,product
# Standard list of jprt build targets for this source tree
my.build.targets.default= \
solaris_sparcv9_5.11-{product|fastdebug}, \
solaris_x64_5.11-{product|fastdebug}, \
linux_i586_2.6-{product|fastdebug}, \
linux_x64_2.6-{product|fastdebug}, \
macosx_x64_10.9-{product|fastdebug}, \
windows_i586_6.2-{product|fastdebug}, \
windows_x64_6.2-{product|fastdebug}
# Test target list (no fastdebug & limited c2 testing)
my.test.target.set= \
solaris_sparcv9_5.11-product-c2-TESTNAME, \
solaris_x64_5.11-product-c2-TESTNAME, \
linux_i586_2.6-product-{c1|c2}-TESTNAME, \
linux_x64_2.6-product-c2-TESTNAME, \
macosx_x64_10.9-product-c2-TESTNAME, \
windows_i586_6.2-product-c1-TESTNAME, \
windows_x64_6.2-product-c2-TESTNAME
# Default vm test targets (testset=default)
my.test.targets.default= \
${my.test.target.set:TESTNAME=jvm98}, \
${my.test.target.set:TESTNAME=scimark}
# Default jdk test targets (testset=default)
my.make.rule.test.targets.default= \
${my.test.target.set:TESTNAME=langtools_jtreg}, \
${my.test.target.set:TESTNAME=jdk_lang}, \
${my.test.target.set:TESTNAME=jdk_math}, \
${my.test.target.set:TESTNAME=jdk_util}
# Default vm test targets (testset=core)
my.test.targets.core=
# Core jdk test targets (testset=core)
my.make.rule.test.targets.core= \
${my.test.target.set:TESTNAME=jdk_lang}, \
${my.test.target.set:TESTNAME=jdk_math}, \
${my.test.target.set:TESTNAME=jdk_util}, \
${my.test.target.set:TESTNAME=jdk_io}, \
${my.test.target.set:TESTNAME=jdk_net}, \
${my.test.target.set:TESTNAME=jdk_nio}, \
${my.test.target.set:TESTNAME=jdk_security1}, \
${my.test.target.set:TESTNAME=jdk_security2}, \
${my.test.target.set:TESTNAME=jdk_security3}, \
${my.test.target.set:TESTNAME=jdk_security4}, \
${my.test.target.set:TESTNAME=jdk_rmi}, \
${my.test.target.set:TESTNAME=jdk_text}, \
${my.test.target.set:TESTNAME=jdk_time}, \
${my.test.target.set:TESTNAME=jdk_other}, \
${my.test.target.set:TESTNAME=core_tools}
# Svc vm test targets (testset=svc)
my.test.targets.svc=
# Core jdk test targets (testset=svc)
my.make.rule.test.targets.svc= \
${my.test.target.set:TESTNAME=jdk_management}, \
${my.test.target.set:TESTNAME=jdk_instrument}, \
${my.test.target.set:TESTNAME=jdk_jmx}, \
${my.test.target.set:TESTNAME=jdk_jdi}, \
${my.test.target.set:TESTNAME=svc_tools}, \
${my.make.rule.test.targets.svc.extra}
# JAXP vm test targets (testset=jaxp)
my.test.targets.jaxp=
# JAXP test targets (testset=jaxp)
my.make.rule.test.targets.jaxp= \
${my.test.target.set:TESTNAME=jaxp_all}
# All vm test targets (testset=all)
my.test.targets.all= \
${my.test.targets.default}, \
${my.test.target.set:TESTNAME=runThese}, \
${my.test.target.set:TESTNAME=jbb_default}
# All jdk test targets (testset=all)
my.make.rule.test.targets.all= \
${my.make.rule.test.targets.core}, \
${my.make.rule.test.targets.svc}, \
${my.test.target.set:TESTNAME=jdk_awt}, \
${my.test.target.set:TESTNAME=jdk_beans}, \
${my.test.target.set:TESTNAME=jdk_sound}, \
${my.test.target.set:TESTNAME=jdk_swing}
# PIT vm test targets (testset=pit)
my.test.targets.pit= \
${my.test.targets.all}
# PIT jdk test targets (testset=pit)
my.make.rule.test.targets.pit= \
${my.test.target.set:TESTNAME=langtools_jtreg}, \
${my.make.rule.test.targets.core}, \
${my.make.rule.test.targets.svc} \
${my.make.rule.test.targets.jaxp}
# JCK test targets in test/Makefile (no windows)
my.test.target.set.jck= \
solaris_sparcv9_5.11-product-c2-JCK7TESTRULE, \
solaris_x64_5.11-product-c2-JCK7TESTRULE, \
linux_i586_2.6-product-c1-JCK7TESTRULE, \
linux_x64_2.6-product-c2-JCK7TESTRULE
# JCK testset targets
my.make.rule.test.targets.jck= \
${my.test.target.set.jck:JCK7TESTRULE=jck7devtools}, \
${my.test.target.set.jck:JCK7TESTRULE=jck7runtime}, \
${my.test.target.set.jck:JCK7TESTRULE=jck7compiler}
#############
#
# Hotspot related settings (testset=hotspot)
#
# The hotspot build flavors
my.build.flavors.hotspot= \
debugOpen,fastdebug,product,productOpen,optimized,optimizedOpen \
${my.additional.build.flavors.hotspot}
# Platforms built for hotspot push jobs
my.build.targets.hotspot= \
solaris_sparcv9_5.11-{product|fastdebug}, \
solaris_x64_5.11-{product|fastdebug}, \
linux_i586_2.6-{product|fastdebug}, \
linux_x64_2.6-{product|fastdebug}, \
macosx_x64_10.9-{product|fastdebug}, \
windows_i586_6.2-{product|fastdebug}, \
windows_x64_6.2-{product|fastdebug}, \
solaris_x64_5.11-{debugOpen}, \
linux_x64_2.6-{productOpen}, \
${my.additional.build.targets.hotspot}
# Tests to run on the various platforms for hotspot push jobs
my.test.targets.hotspot.solaris.sparcv9= \
solaris_sparcv9_5.11-{product|fastdebug}-c2-jvm98, \
solaris_sparcv9_5.11-{product|fastdebug}-c2-jvm98_nontiered, \
solaris_sparcv9_5.11-{product|fastdebug}-c2-scimark, \
solaris_sparcv9_5.11-product-c2-runThese8, \
solaris_sparcv9_5.11-{product|fastdebug}-c2-GCBasher_SerialGC, \
solaris_sparcv9_5.11-{product|fastdebug}-c2-GCBasher_ParallelGC, \
solaris_sparcv9_5.11-{product|fastdebug}-c2-GCBasher_CMS, \
solaris_sparcv9_5.11-{product|fastdebug}-c2-GCBasher_G1
my.test.targets.hotspot.solaris.x64= \
solaris_x64_5.11-{product|fastdebug}-c2-jvm98, \
solaris_x64_5.11-{product|fastdebug}-c2-jvm98_nontiered, \
solaris_x64_5.11-{product|fastdebug}-c2-scimark, \
solaris_x64_5.11-product-c2-runThese8, \
solaris_x64_5.11-product-c2-runThese8_Xcomp_lang, \
solaris_x64_5.11-product-c2-runThese8_Xcomp_vm, \
solaris_x64_5.11-{product|fastdebug}-c2-GCBasher_SerialGC, \
solaris_x64_5.11-{product|fastdebug}-c2-GCBasher_ParallelGC, \
solaris_x64_5.11-{product|fastdebug}-c2-GCBasher_CMS, \
solaris_x64_5.11-{product|fastdebug}-c2-GCBasher_G1
my.test.targets.hotspot.linux.i586= \
linux_i586_2.6-{product|fastdebug}-{c1|c2}-jvm98, \
linux_i586_2.6-{product|fastdebug}-c2-jvm98_nontiered, \
linux_i586_2.6-{product|fastdebug}-{c1|c2}-scimark, \
linux_i586_2.6-product-c1-runThese8_Xcomp_lang, \
linux_i586_2.6-product-c1-runThese8_Xcomp_vm, \
linux_i586_2.6-fastdebug-c1-runThese8_Xshare, \
linux_i586_2.6-fastdebug-c2-runThese8_Xcomp_lang, \
linux_i586_2.6-fastdebug-c2-runThese8_Xcomp_vm, \
linux_i586_2.6-{product|fastdebug}-{c1|c2}-GCBasher_SerialGC, \
linux_i586_2.6-{product|fastdebug}-{c1|c2}-GCBasher_ParallelGC, \
linux_i586_2.6-{product|fastdebug}-{c1|c2}-GCBasher_CMS, \
linux_i586_2.6-{product|fastdebug}-{c1|c2}-GCBasher_G1
my.test.targets.hotspot.linux.x64= \
linux_x64_2.6-{product|fastdebug}-c2-jvm98, \
linux_x64_2.6-{product|fastdebug}-c2-jvm98_nontiered, \
linux_x64_2.6-{product|fastdebug}-c2-scimark, \
linux_x64_2.6-{product|fastdebug}-c2-GCBasher_SerialGC, \
linux_x64_2.6-{product|fastdebug}-c2-GCBasher_ParallelGC, \
linux_x64_2.6-{product|fastdebug}-c2-GCBasher_CMS, \
linux_x64_2.6-{product|fastdebug}-c2-GCBasher_G1
my.test.targets.hotspot.macosx.x64= \
macosx_x64_10.9-{product|fastdebug}-c2-jvm98, \
macosx_x64_10.9-{product|fastdebug}-c2-jvm98_nontiered, \
macosx_x64_10.9-{product|fastdebug}-c2-scimark, \
macosx_x64_10.9-{product|fastdebug}-c2-GCBasher_SerialGC, \
macosx_x64_10.9-{product|fastdebug}-c2-GCBasher_ParallelGC, \
macosx_x64_10.9-{product|fastdebug}-c2-GCBasher_CMS, \
macosx_x64_10.9-{product|fastdebug}-c2-GCBasher_G1
my.test.targets.hotspot.windows.i586= \
windows_i586_6.2-{product|fastdebug}-{c1|c2}-jvm98, \
windows_i586_6.2-{product|fastdebug}-c2-jvm98_nontiered, \
windows_i586_6.2-{product|fastdebug}-{c1|c2}-scimark, \
windows_i586_6.2-product-{c1|c2}-runThese8, \
windows_i586_6.2-product-{c1|c2}-runThese8_Xcomp_lang, \
windows_i586_6.2-product-{c1|c2}-runThese8_Xcomp_vm, \
windows_i586_6.2-fastdebug-c1-runThese8_Xshare, \
windows_i586_6.2-{product|fastdebug}-{c1|c2}-GCBasher_SerialGC, \
windows_i586_6.2-{product|fastdebug}-{c1|c2}-GCBasher_ParallelGC, \
windows_i586_6.2-{product|fastdebug}-{c1|c2}-GCBasher_CMS, \
windows_i586_6.2-{product|fastdebug}-{c1|c2}-GCBasher_G1
my.test.targets.hotspot.windows.x64= \
windows_x64_6.2-{product|fastdebug}-c2-jvm98, \
windows_x64_6.2-{product|fastdebug}-c2-jvm98_nontiered, \
windows_x64_6.2-{product|fastdebug}-c2-scimark, \
windows_x64_6.2-product-c2-runThese8, \
windows_x64_6.2-product-c2-runThese8_Xcomp_lang, \
windows_x64_6.2-product-c2-runThese8_Xcomp_vm, \
windows_x64_6.2-{product|fastdebug}-c2-GCBasher_SerialGC, \
windows_x64_6.2-{product|fastdebug}-c2-GCBasher_ParallelGC, \
windows_x64_6.2-{product|fastdebug}-c2-GCBasher_CMS, \
windows_x64_6.2-{product|fastdebug}-c2-GCBasher_G1
# Some basic "smoke" tests for OpenJDK builds
my.test.targets.hotspot.open= \
solaris_x64_5.11-{productOpen|fastdebugOpen}-c2-jvm98, \
linux_x64_2.6-{productOpen|fastdebugOpen}-c2-jvm98
# The complete list of test targets for jprt
my.test.targets.hotspot= \
${my.test.targets.hotspot.open}, \
${my.test.targets.hotspot.solaris.sparcv9}, \
${my.test.targets.hotspot.solaris.x64}, \
${my.test.targets.hotspot.linux.i586}, \
${my.test.targets.hotspot.linux.x64}, \
${my.test.targets.hotspot.macosx.x64}, \
${my.test.targets.hotspot.windows.i586}, \
${my.test.targets.hotspot.windows.x64}, \
${my.test.targets.hotspot.solaris.sparcv9}, \
${my.test.targets.hotspot.solaris.x64}, \
${my.test.targets.hotspot.linux.x64}, \
${my.test.targets.hotspot.windows.i586}, \
${my.test.targets.hotspot.windows.x64}, \
${my.additional.test.targets.hotspot}
# Make file based test targets
my.make.rule.test.targets.hotspot.basicvmtests= \
linux_i586_2.6-*-default-hotspot_basicvmtest, \
linux_x64_2.6-*-default-hotspot_basicvmtest, \
macosx_x64_10.9-*-default-hotspot_basicvmtest, \
solaris_sparcv9_5.11-*-default-hotspot_basicvmtest, \
solaris_x64_5.11-*-default-hotspot_basicvmtest, \
windows_i586_6.2-*-default-hotspot_basicvmtest, \
windows_x64_6.2-*-default-hotspot_basicvmtest
my.make.rule.test.targets.hotspot.reg.group= \
solaris_sparcv9_5.11-fastdebug-c2-GROUP, \
solaris_x64_5.11-fastdebug-c2-GROUP, \
linux_i586_2.6-fastdebug-c2-GROUP, \
linux_x64_2.6-fastdebug-c2-GROUP, \
macosx_x64_10.9-fastdebug-c2-GROUP, \
windows_i586_6.2-fastdebug-c2-GROUP, \
windows_x64_6.2-fastdebug-c2-GROUP, \
linux_i586_2.6-fastdebug-c1-GROUP, \
windows_i586_6.2-fastdebug-c1-GROUP
# Hotspot jtreg tests
my.make.rule.test.targets.hotspot.reg= \
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_compiler_1}, \
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_compiler_2}, \
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_compiler_3}, \
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_compiler_closed}, \
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_gc}, \
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_gc_closed}, \
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_gc_gcold}, \
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_runtime}, \
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_serviceability}, \
${my.make.rule.test.targets.hotspot.reg.group:GROUP=jdk_svc_sanity}, \
${my.additional.make.rule.test.targets.hotspot.reg}
# Other Makefile based Hotspot tests
my.make.rule.test.targets.hotspot.other= \
${my.make.rule.test.targets.hotspot.basicvmtests}, \
${my.additional.make.rule.test.targets.hotspot.other}
# All the makefile based tests to run
my.make.rule.test.targets.hotspot= \
${my.make.rule.test.targets.hotspot.reg} \
${my.make.rule.test.targets.hotspot.other}
# Install the test bundle for the testset hotspot jtreg tests
# (but not for the other Makefile based tests)
my.jprt.test.bundle.targets.hotspot=${my.make.rule.test.targets.hotspot.reg}
# Native jdk and hotspot test targets (testset=nativesanity)
my.make.rule.test.targets.nativesanity= \
${my.test.target.set:TESTNAME=jdk_native_sanity}, \
${my.test.target.set:TESTNAME=hotspot_native_sanity}
# Install the test bundle for the nativesanity jtreg tests
my.jprt.test.bundle.targets.nativesanity=${my.make.rule.test.targets.nativesanity}