8059595: Verifier::verify is wasting time before is_eligible_for_verification check
Summary: Do the check earlier.
Reviewed-by: hseigel, kamg
#
# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# 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.
#
# Profile-based Test Group Definitions
#
# These groups define the tests that cover the different possible runtimes:
# - compact1, compact2, compact3, full JRE, JDK
#
# In addition they support testing of the minimal VM on compact1 and compact2.
# Essentially this defines groups based around the specified API's and VM
# services available in the runtime.
#
# The groups are defined hierarchically in two forms:
# - The need_xxx groups list all the tests that have a dependency on
# a specific profile. This is either because it tests a feature in
# that profile, or the test infrastructure uses a feature in that
# profile.
# - The primary groups are defined in terms of the other primary groups
# combined with the needs_xxx groups (including and excluding them as
# appropriate). For example the jre can run all tests from compact3, plus
# those from needs_jre, but excluding those from need_jdk.
#
# The bottom group defines all the actual tests to be considered, simply
# by listing the top-level test directories.
#
# To use a group simply list it on the jtreg command line eg:
# jtreg :jdk
# runs all tests. While
# jtreg :compact2
# runs those tests that only require compact1 and compact2 API's.
#
# Full JDK can run all tests
#
jdk = \
:jre \
:needs_jdk
# Tests that require a full JDK to execute. Either they test a feature
# only in the JDK or they use tools that are only in the JDK. The latter
# can be resolved in some cases by using tools from the compile-jdk.
#
needs_jdk = \
gc/TestG1ZeroPGCTJcmdThreadPrint.java \
gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java \
gc/metaspace/TestMetaspacePerfCounters.java \
gc/metaspace/TestPerfCountersAndMemoryPools.java \
runtime/6819213/TestBootNativeLibraryPath.java \
runtime/7158988/FieldMonitor.java \
runtime/7194254/Test7194254.java \
runtime/Metaspace/FragmentMetaspace.java \
runtime/NMT/BaselineWithParameter.java \
runtime/NMT/JcmdBaselineDetail.java \
runtime/NMT/JcmdDetailDiff.java \
runtime/NMT/JcmdScaleDetail.java \
runtime/NMT/JcmdScale.java \
runtime/NMT/JcmdSummaryDiff.java \
runtime/NMT/JcmdWithNMTDisabled.java \
runtime/NMT/MallocRoundingReportTest.java \
runtime/NMT/MallocSiteHashOverflow.java \
runtime/NMT/MallocStressTest.java \
runtime/NMT/MallocTestType.java \
runtime/NMT/MallocTrackingVerify.java \
runtime/NMT/ReleaseCommittedMemory.java \
runtime/NMT/ReleaseNoCommit.java \
runtime/NMT/ShutdownTwice.java \
runtime/NMT/SummaryAfterShutdown.java \
runtime/NMT/SummarySanityCheck.java \
runtime/NMT/ThreadedMallocTestType.java \
runtime/NMT/ThreadedVirtualAllocTestType.java \
runtime/NMT/UnsafeMallocLimit.java \
runtime/NMT/VirtualAllocCommitUncommitRecommit.java \
runtime/NMT/VirtualAllocTestType.java \
runtime/RedefineObject/TestRedefineObject.java \
runtime/Thread/TestThreadDumpMonitorContention.java \
runtime/XCheckJniJsig/XCheckJSig.java \
serviceability/attach/AttachWithStalePidFile.java \
serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java \
serviceability/dcmd/DynLibDcmdTest.java
# JRE adds further tests to compact3
#
jre = \
:compact3 \
:needs_jre \
-:needs_jdk
# Tests that require the full JRE
#
needs_jre = \
compiler/6852078/Test6852078.java \
compiler/7047069/Test7047069.java \
runtime/6294277/SourceDebugExtension.java \
runtime/ClassFile/JsrRewriting.java \
runtime/ClassFile/OomWhileParsingRepeatedJsr.java
# Compact 3 adds further tests to compact2
#
compact3 = \
:compact2 \
:needs_compact3 \
-:needs_jre \
-:needs_jdk
# Tests that require compact3 API's
#
needs_compact3 = \
gc/6581734/Test6581734.java \
gc/7072527/TestFullGCCount.java \
gc/g1/TestHumongousAllocInitialMark.java \
gc/arguments/TestG1HeapRegionSize.java \
gc/metaspace/TestMetaspaceMemoryPool.java \
gc/arguments/TestDynMinHeapFreeRatio.java \
gc/arguments/TestDynMaxHeapFreeRatio.java \
runtime/InternalApi/ThreadCpuTimesDeadlock.java \
serviceability/threads/TestFalseDeadLock.java \
# Compact 2 adds full VM tests
compact2 = \
:compact2_minimal \
:compact1 \
:needs_full_vm_compact2 \
-:needs_compact3 \
-:needs_jre \
-:needs_jdk
# Tests that require compact2 API's and a full VM
#
needs_full_vm_compact2 =
# Compact 1 adds full VM tests
#
compact1 = \
:compact1_minimal \
:needs_full_vm_compact1 \
-:needs_compact2 \
-:needs_full_vm_compact2 \
-:needs_compact3 \
-:needs_jre \
-:needs_jdk
# Tests that require compact1 API's and a full VM
#
needs_full_vm_compact1 = \
runtime/NMT \
gc/g1/TestRegionAlignment.java \
gc/g1/TestShrinkToOneRegion.java \
gc/metaspace/G1AddMetaspaceDependency.java \
gc/startup_warnings/TestCMS.java \
gc/startup_warnings/TestCMSIncrementalMode.java \
gc/startup_warnings/TestCMSNoIncrementalMode.java \
gc/startup_warnings/TestDefaultMaxRAMFraction.java \
gc/startup_warnings/TestDefNewCMS.java \
gc/startup_warnings/TestIncGC.java \
gc/startup_warnings/TestParallelGC.java \
gc/startup_warnings/TestParallelScavengeSerialOld.java \
gc/startup_warnings/TestParNewCMS.java \
gc/startup_warnings/TestParNewSerialOld.java \
runtime/SharedArchiveFile/SharedArchiveFile.java
# Minimal VM on Compact 2 adds in some compact2 tests
#
compact2_minimal = \
:compact1_minimal \
:needs_compact2 \
-:needs_full_vm_compact2 \
-:needs_compact3 \
-:needs_jre \
-:needs_jdk
# Tests that require compact2 API's
#
needs_compact2 =
# All tests that run on the most minimal configuration: Minimal VM on Compact 1
compact1_minimal = \
serviceability/ \
compiler/ \
testlibrary/ \
testlibrary_tests/ \
sanity/ \
runtime/ \
gc/ \
-:needs_full_vm_compact1 \
-:needs_full_vm_compact2 \
-:needs_compact2 \
-:needs_compact3 \
-:needs_jre \
-:needs_jdk
# All tests that explicitly set the G1 GC
#
needs_g1gc = \
compiler/regalloc/C1ObjectSpillInLogicOp.java \
gc/8000311/Test8000311.java \
gc/TestG1ZeroPGCTJcmdThreadPrint.java \
gc/TestSystemGC.java \
gc/arguments/TestAlignmentToUseLargePages.java \
gc/arguments/TestG1HeapRegionSize.java \
gc/arguments/TestG1HeapSizeFlags.java \
gc/arguments/TestMaxHeapSizeTools.java \
gc/arguments/TestMaxNewSize.java \
gc/arguments/TestUseCompressedOopsErgo.java \
gc/class_unloading/TestG1ClassUnloadingHWM.java \
gc/g1/ \
gc/metaspace/G1AddMetaspaceDependency.java \
gc/metaspace/TestMetaspacePerfCounters.java \
gc/startup_warnings/TestG1.java
# All tests that explicitly set the serial GC
#
needs_serialgc = \
gc/TestSystemGC.java \
gc/arguments/TestAlignmentToUseLargePages.java \
gc/arguments/TestMaxNewSize.java \
gc/arguments/TestSerialHeapSizeFlags.java \
gc/arguments/TestUseCompressedOopsErgo.java \
gc/defnew/HeapChangeLogging.java \
gc/metaspace/TestMetaspacePerfCounters.java \
gc/metaspace/TestPerfCountersAndMemoryPools.java \
gc/startup_warnings/TestSerialGC.java
# All tests that explicitly set the parallel GC
#
needs_parallelgc = \
gc/TestSystemGC.java \
gc/arguments/TestAlignmentToUseLargePages.java \
gc/arguments/TestMaxNewSize.java \
gc/arguments/TestMinInitialErgonomics.java \
gc/arguments/TestUseCompressedOopsErgo.java \
gc/metaspace/TestMetaspacePerfCounters.java \
gc/parallelScavenge/ \
gc/startup_warnings/TestParallelGC.java \
gc/startup_warnings/TestParallelScavengeSerialOld.java
# All tests that explicitly set the CMS GC
#
needs_cmsgc = \
gc/6581734/Test6581734.java \
gc/TestSystemGC.java \
gc/arguments/TestAlignmentToUseLargePages.java \
gc/arguments/TestCMSHeapSizeFlags.java \
gc/arguments/TestMaxNewSize.java \
gc/arguments/TestUseCompressedOopsErgo.java \
gc/class_unloading/TestCMSClassUnloadingEnabledHWM.java \
gc/concurrentMarkSweep/ \
gc/startup_warnings/TestCMS.java \
gc/startup_warnings/TestCMSIncrementalMode.java \
gc/startup_warnings/TestCMSNoIncrementalMode.java \
gc/startup_warnings/TestDefNewCMS.java \
gc/startup_warnings/TestParNewCMS.java
# All tests that explicitly set some GC
#
needs_gc = \
:needs_g1gc \
:needs_serialgc \
:needs_parallelgc \
:needs_cmsgc
# All tests that do not set any GC explicitly
#
not_needs_gc = \
:jdk \
-:needs_gc
# All tests that could be executed with the G1 GC without VM flags conflict
#
applicable_g1gc = \
:jdk \
-:needs_serialgc \
-:needs_parallelgc \
-:needs_cmsgc
# All tests that could be executed with the serial GC without VM flags conflict
#
applicable_serialgc = \
:jdk \
-:needs_g1gc \
-:needs_parallelgc \
-:needs_cmsgc
# All tests that could be executed with the parallel GC without VM flags conflict
#
applicable_parallelgc = \
:jdk \
-:needs_g1gc \
-:needs_serialgc \
-:needs_cmsgc
# All tests that could be executed with the CMS GC without VM flags conflict
#
applicable_cmsgc = \
:jdk \
-:needs_g1gc \
-:needs_serialgc \
-:needs_parallelgc
# When called from top level the test suites use the hotspot_ prefix
hotspot_wbapitest = \
sanity/
hotspot_compiler_1 = \
compiler/5057225/Test5057225.java \
compiler/5091921/Test5091921.java \
compiler/5091921/Test6186134.java \
compiler/5091921/Test6196102.java \
compiler/5091921/Test6357214.java \
compiler/5091921/Test6559156.java \
compiler/5091921/Test6753639.java \
compiler/5091921/Test6935022.java \
compiler/5091921/Test6959129.java \
compiler/5091921/Test6985295.java \
compiler/5091921/Test6992759.java \
compiler/5091921/Test7005594.java \
compiler/5091921/Test7020614.java \
compiler/6378821/Test6378821.java \
compiler/6431242/Test.java \
compiler/6443505/Test6443505.java \
compiler/6478991/NullCheckTest.java \
compiler/6539464/Test.java \
compiler/6579789/Test6579789.java \
compiler/6636138/ \
compiler/6646019/Test.java \
compiler/6659207/Test.java \
compiler/6661247/Test.java \
compiler/6663621/IVTest.java \
compiler/6689060/Test.java \
compiler/6695810/Test.java \
compiler/6700047/Test6700047.java \
compiler/6711100/Test.java \
compiler/6724218/Test.java \
compiler/6732154/Test6732154.java \
compiler/6758234/Test6758234.java \
compiler/6769124/ \
compiler/6772683/InterruptedTest.java \
compiler/6778657/Test.java \
compiler/6795161/Test.java \
compiler/6795362/Test6795362.java \
compiler/6795465/Test6795465.java \
compiler/6796786/Test6796786.java \
compiler/6799693/Test.java \
compiler/6805724/Test6805724.java \
compiler/6814842/Test6814842.java \
compiler/6823453/Test.java \
compiler/6833129/Test.java \
compiler/6837011/Test6837011.java \
compiler/6843752/Test.java \
compiler/6849574/Test.java \
compiler/6855164/Test.java \
compiler/6855215/Test6855215.java \
compiler/6857159/Test6857159.java \
compiler/6860469/Test.java \
compiler/6863155/Test6863155.java \
compiler/6863420/Test.java \
compiler/6865265/StackOverflowBug.java \
compiler/6879902/Test6879902.java \
compiler/6880034/Test6880034.java \
compiler/6891750/Test6891750.java \
compiler/6892265/Test.java \
compiler/6894807/IsInstanceTest.java \
compiler/6901572/Test.java \
compiler/6909839/Test6909839.java \
compiler/6910484/Test.java \
compiler/6910605/Test.java \
compiler/6910618/Test.java \
compiler/6916644/Test6916644.java \
compiler/6921969/TestMultiplyLongHiZero.java \
compiler/6930043/Test6930043.java \
compiler/6932496/Test6932496.java \
compiler/6956668/Test6956668.java \
compiler/6968348/Test6968348.java \
compiler/6973329/Test.java
hotspot_compiler_2 = \
compiler/6982370/Test6982370.java \
compiler/7009231/Test7009231.java \
compiler/7009359/Test7009359.java \
compiler/7017746/Test.java \
compiler/7024475/Test7024475.java \
compiler/7041100/Test7041100.java \
compiler/7044738/Test7044738.java \
compiler/7046096/Test7046096.java \
compiler/7048332/Test7048332.java \
compiler/7068051/Test7068051.java \
compiler/7082949/Test7082949.java \
compiler/7088020/Test7088020.java \
compiler/7090976/Test7090976.java \
compiler/7103261/Test7103261.java \
compiler/7110586/Test7110586.java \
compiler/7119644/ \
compiler/7141637/SpreadNullArg.java \
compiler/7169782/Test7169782.java \
compiler/7174363/Test7174363.java \
compiler/7179138/ \
compiler/7190310/ \
compiler/7192963/ \
compiler/7200264/TestIntVect.java \
compiler/8000805/Test8000805.java \
compiler/8002069/Test8002069.java \
compiler/8004741/Test8004741.java \
compiler/8005033/Test8005033.java \
compiler/8005419/Test8005419.java \
compiler/8005956/PolynomialRoot.java \
compiler/8007294/Test8007294.java
hotspot_compiler_3 = \
compiler/8007722/Test8007722.java \
compiler/8009761/Test8009761.java \
compiler/8010927/Test8010927.java \
compiler/8011706/Test8011706.java \
compiler/8011771/Test8011771.java \
compiler/8011901/Test8011901.java \
compiler/arraycopy/TestMissingControl.java \
compiler/ciReplay/TestVM_no_comp_level.sh \
compiler/classUnloading/anonymousClass/TestAnonymousClassUnloading.java \
compiler/codecache/CheckUpperLimit.java \
compiler/codegen/ \
compiler/cpuflags/RestoreMXCSR.java \
compiler/EscapeAnalysis/ \
compiler/exceptions/TestRecursiveReplacedException.java \
compiler/floatingpoint/ModNaN.java \
compiler/gcbarriers/G1CrashTest.java \
compiler/inlining/ \
compiler/IntegerArithmetic/TestIntegerComparison.java \
compiler/intrinsics/bmi/TestAndnI.java \
compiler/intrinsics/bmi/TestAndnI.java \
compiler/intrinsics/bmi/TestAndnL.java \
compiler/intrinsics/bmi/TestBlsiI.java \
compiler/intrinsics/bmi/TestBlsiL.java \
compiler/intrinsics/bmi/TestBlsmskI.java \
compiler/intrinsics/bmi/TestBlsmskL.java \
compiler/intrinsics/bmi/TestBlsrI.java \
compiler/intrinsics/bmi/TestBlsrL.java \
compiler/intrinsics/bmi/TestLzcntI.java \
compiler/intrinsics/bmi/TestLzcntL.java \
compiler/intrinsics/bmi/TestTzcntI.java \
compiler/intrinsics/bmi/TestTzcntL.java \
compiler/intrinsics/clone/TestObjectClone.java \
compiler/intrinsics/hashcode/TestHashCode.java \
compiler/intrinsics/mathexact/CompareTest.java \
compiler/intrinsics/mathexact/GVNTest.java \
compiler/intrinsics/mathexact/NegExactILoadTest.java \
compiler/intrinsics/mathexact/NegExactILoopDependentTest.java \
compiler/intrinsics/mathexact/NegExactINonConstantTest.java \
compiler/intrinsics/mathexact/SubExactICondTest.java \
compiler/intrinsics/mathexact/SubExactILoadTest.java \
compiler/intrinsics/mathexact/SubExactILoopDependentTest.java \
compiler/intrinsics/stringequals/TestStringEqualsBadLength.java \
compiler/intrinsics/unsafe/UnsafeGetAddressTest.java \
compiler/jsr292/ConcurrentClassLoadingTest.java \
compiler/jsr292/CreatesInterfaceDotEqualsCallInfo.java \
compiler/jsr292/CreatesInterfaceDotEqualsCallInfo.java \
compiler/loopopts/TestLogSum.java \
compiler/macronodes/TestEliminateAllocationPhi.java \
compiler/membars/TestMemBarAcquire.java \
compiler/osr/TestOSRWithNonEmptyStack.java \
compiler/profiling/TestMethodHandleInvokesIntrinsic.java \
compiler/profiling/TestSpecTrapClassUnloading.java \
compiler/profiling/TestUnexpectedProfilingMismatch.java \
compiler/regalloc/C1ObjectSpillInLogicOp.java \
compiler/startup/NumCompilerThreadsCheck.java \
compiler/startup/SmallCodeCacheStartup.java \
compiler/types/TestSpeculationFailedHigherEqual.java \
compiler/types/TypeSpeculation.java \
compiler/uncommontrap/StackOverflowGuardPagesOff.java \
compiler/uncommontrap/TestStackBangMonitorOwned.java \
compiler/uncommontrap/TestStackBangRbp.java \
compiler/unsafe/GetUnsafeObjectG1PreBarrier.java
hotspot_compiler_closed = \
closed/compiler/4292742/Test.java \
closed/compiler/4474154/Test4474154.java \
closed/compiler/4482613/Test4482613.java \
closed/compiler/4490177/tctest.java \
closed/compiler/4495990/Application.java \
closed/compiler/4522874/Test4522874.sh \
closed/compiler/4629512/Test4629512.java \
closed/compiler/4647299/Looper.java \
closed/compiler/4655758/TestClass.java \
closed/compiler/4671453/LongCompTest.java \
closed/compiler/4671460/CharArrTest.java \
closed/compiler/4709105/StringTest2.java \
closed/compiler/4732721/Bug.java \
closed/compiler/4750681/ReadTest.java \
closed/compiler/4787943/LongCrash.java \
closed/compiler/4819903/Base64Test.java \
closed/compiler/4903383/Test.java \
closed/compiler/4906393/Test.java \
closed/compiler/4907999/Uidtest.java \
closed/compiler/4917709/Tester.java \
closed/compiler/4957832/Test.java \
closed/compiler/4965430/LoopTest.java \
closed/compiler/4979449/T4979449.java \
closed/compiler/5031274/Test.java \
closed/compiler/5043395/T5043395.java \
closed/compiler/5049410/Test.java \
closed/compiler/5098422/Test.java \
closed/compiler/6173783/Test.java \
closed/compiler/6272923/Test6272923.sh \
closed/compiler/6290963/Test.java \
closed/compiler/6305546/Test.java \
closed/compiler/6309806/Test.java \
closed/compiler/6311859/Test.java \
closed/compiler/6321689/Test.java \
closed/compiler/6326935/Test.java \
closed/compiler/6367889/Test.java \
closed/compiler/6371167/Test.java \
closed/compiler/6389127/Test.java \
closed/compiler/6397650/Test.java \
closed/compiler/6414932/Test.java \
closed/compiler/6421619/Test_6421619.java \
closed/compiler/6427750/UnsafeVolatile.java \
closed/compiler/6431243/Test.java \
closed/compiler/6433572/TestSyncJSR.java \
closed/compiler/6433840/clinit.java \
closed/compiler/6457854/Test.java \
closed/compiler/6476804/Test.java \
closed/compiler/6512111/CorruptFinalLong.java \
closed/compiler/6551887/Test.java \
closed/compiler/6571539/Test.java \
closed/compiler/6587132/Test.java \
closed/compiler/6588045/Test.java \
closed/compiler/6588598/etype.java \
closed/compiler/6661918/Test6661918.java \
closed/compiler/6707044/Test.java \
closed/compiler/6730716/Test.java \
closed/compiler/6772368/Test6772368.sh \
closed/compiler/6897150/Test6897150.java \
closed/compiler/6931567/Test6931567.java \
closed/compiler/7196857/Test7196857.java \
closed/compiler/8009699/Test8009699.java \
closed/compiler/8009699/Test8009699B.java \
closed/compiler/8014811/Test8014811.java \
closed/compiler/8029507/InvokePrivate.java \
closed/compiler/callingConvention/Arg9Double.java \
closed/compiler/deoptimization/DeoptArithmetic.java \
closed/compiler/deoptimization/TestDoubleLocals.java \
closed/compiler/deoptimization/TestDoubleMerge.java
hotspot_gc = \
sanity/ExecuteInternalVMTests.java
hotspot_runtime = \
runtime/ \
-runtime/6888954/vmerrors.sh \
-runtime/RedefineObject/TestRedefineObject.java \
-runtime/8003720/Test8003720.java \
-runtime/Metaspace/FragmentMetaspace.java \
-runtime/Metaspace/FragmentMetaspaceSimple.java \
-runtime/Thread/TestThreadDumpMonitorContention.java \
-runtime/SharedArchiveFile/SharedBaseAddress.java \
-runtime/memory/ReserveMemory.java \
-runtime/Unsafe/RangeCheck.java \
-runtime/SharedArchiveFile/CdsSameObjectAlignment.java \
-runtime/SharedArchiveFile/DefaultUseWithClient.java \
-runtime/Thread/CancellableThreadTest.java \
-runtime/7158988/FieldMonitor.java
hotspot_runtime_closed = \
sanity/ExecuteInternalVMTests.java
hotspot_serviceability = \
sanity/ExecuteInternalVMTests.java
hotspot_all = \
:hotspot_compiler_1 \
:hotspot_compiler_2 \
:hotspot_compiler_3 \
:hotspot_compiler_closed \
:hotspot_gc \
:hotspot_runtime \
:hotspot_serviceability