8139304: Remove elaborate call site descriptor class hierarchy and factory for them. Remove AutoDiscovery, DefaultPrelinkFilter, and BottomGuardingDynamicLinker as they can be inlined into DynamicLinkerFactory. Remove CallerSensitiveDetector as it can be inlined into AbstractJavaLinker. Make ClassMap non-public.
Reviewed-by: hannesw, sundar
#
# 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}