# HG changeset patch # User lana # Date 1428104091 25200 # Node ID 3ddc731d69805a60994e9e6a48ee46937efb43ad # Parent f40752db7773ca0c737f2ad88371e35c57fdfed7# Parent 30263f16b3955ce341c14e554d136097100ccb8f Merge diff -r f40752db7773 -r 3ddc731d6980 hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java --- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java Fri Apr 03 16:34:51 2015 -0700 @@ -123,6 +123,7 @@ private static Type intxType; private static Type uintxType; + private static Type sizetType; private static CIntegerType boolType; private Boolean sharingEnabled; private Boolean compressedOopsEnabled; @@ -175,7 +176,7 @@ public long getIntx() { if (Assert.ASSERTS_ENABLED) { - Assert.that(isIntx(), "not a intx flag!"); + Assert.that(isIntx(), "not an intx flag!"); } return addr.getCIntegerAt(0, intxType.getSize(), false); } @@ -191,6 +192,17 @@ return addr.getCIntegerAt(0, uintxType.getSize(), true); } + public boolean isSizet() { + return type.equals("size_t"); + } + + public long getSizet() { + if (Assert.ASSERTS_ENABLED) { + Assert.that(isSizet(), "not a size_t flag!"); + } + return addr.getCIntegerAt(0, sizetType.getSize(), true); + } + public String getValue() { if (isBool()) { return new Boolean(getBool()).toString(); @@ -198,6 +210,8 @@ return new Long(getIntx()).toString(); } else if (isUIntx()) { return new Long(getUIntx()).toString(); + } else if (isSizet()) { + return new Long(getSizet()).toString(); } else { return null; } @@ -323,6 +337,7 @@ intxType = db.lookupType("intx"); uintxType = db.lookupType("uintx"); + sizetType = db.lookupType("size_t"); boolType = (CIntegerType) db.lookupType("bool"); minObjAlignmentInBytes = getObjectAlignmentInBytes(); diff -r f40752db7773 -r 3ddc731d6980 hotspot/make/linux/makefiles/gcc.make --- a/hotspot/make/linux/makefiles/gcc.make Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/make/linux/makefiles/gcc.make Fri Apr 03 16:34:51 2015 -0700 @@ -207,7 +207,7 @@ WARNINGS_ARE_ERRORS += -Wno-return-type -Wno-empty-body endif -WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value -Wformat=2 -Wreturn-type +WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value -Wformat=2 -Wreturn-type -Woverloaded-virtual ifeq ($(USE_CLANG),) # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp --- a/hotspot/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2014, Red Hat Inc. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -673,7 +673,6 @@ void gen_write_ref_array_pre_barrier(Register addr, Register count, bool dest_uninitialized) { BarrierSet* bs = Universe::heap()->barrier_set(); switch (bs->kind()) { - case BarrierSet::G1SATBCT: case BarrierSet::G1SATBCTLogging: // With G1, don't generate the call if we statically know that the target in uninitialized if (!dest_uninitialized) { @@ -719,7 +718,6 @@ assert_different_registers(start, end, scratch); BarrierSet* bs = Universe::heap()->barrier_set(); switch (bs->kind()) { - case BarrierSet::G1SATBCT: case BarrierSet::G1SATBCTLogging: { diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/cpu/aarch64/vm/templateTable_aarch64.cpp --- a/hotspot/src/cpu/aarch64/vm/templateTable_aarch64.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/cpu/aarch64/vm/templateTable_aarch64.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2014, Red Hat Inc. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -150,7 +150,6 @@ assert(val == noreg || val == r0, "parameter is just for looks"); switch (barrier) { #if INCLUDE_ALL_GCS - case BarrierSet::G1SATBCT: case BarrierSet::G1SATBCTLogging: { // flatten object address if needed diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/cpu/ppc/vm/c2_globals_ppc.hpp --- a/hotspot/src/cpu/ppc/vm/c2_globals_ppc.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/cpu/ppc/vm/c2_globals_ppc.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. * Copyright 2012, 2014 SAP AG. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -49,7 +49,7 @@ define_pd_global(intx, MinJumpTableSize, 10); define_pd_global(intx, INTPRESSURE, 25); define_pd_global(intx, InteriorEntryAlignment, 16); -define_pd_global(intx, NewSizeThreadIncrease, ScaleForWordSize(4*K)); +define_pd_global(size_t, NewSizeThreadIncrease, ScaleForWordSize(4*K)); define_pd_global(intx, RegisterCostAreaRatio, 16000); define_pd_global(bool, UseTLAB, true); define_pd_global(bool, ResizeTLAB, true); @@ -85,14 +85,14 @@ define_pd_global(intx, CodeCacheExpansionSize, 64*K); // Ergonomics related flags -define_pd_global(uint64_t,MaxRAM, 4ULL*G); +define_pd_global(uint64_t, MaxRAM, 4ULL*G); define_pd_global(uintx, CodeCacheMinBlockLength, 4); define_pd_global(uintx, CodeCacheMinimumUseSpace, 400*K); define_pd_global(bool, TrapBasedRangeChecks, true); // Heap related flags -define_pd_global(uintx,MetaspaceSize, ScaleForWordSize(16*M)); +define_pd_global(size_t, MetaspaceSize, ScaleForWordSize(16*M)); // Ergonomics related flags define_pd_global(bool, NeverActAsServerClassMachine, false); diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/cpu/ppc/vm/globals_ppc.hpp --- a/hotspot/src/cpu/ppc/vm/globals_ppc.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/cpu/ppc/vm/globals_ppc.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved. * Copyright 2012, 2013 SAP AG. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -56,7 +56,7 @@ define_pd_global(bool, UseMembar, false); // GC Ergo Flags -define_pd_global(uintx, CMSYoungGenPerWorker, 16*M); // Default max size of CMS young gen, per GC worker thread. +define_pd_global(size_t, CMSYoungGenPerWorker, 16*M); // Default max size of CMS young gen, per GC worker thread. define_pd_global(uintx, TypeProfileLevel, 0); diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp --- a/hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -608,7 +608,6 @@ void gen_write_ref_array_pre_barrier(Register from, Register to, Register count, bool dest_uninitialized, Register Rtmp1) { BarrierSet* const bs = Universe::heap()->barrier_set(); switch (bs->kind()) { - case BarrierSet::G1SATBCT: case BarrierSet::G1SATBCTLogging: // With G1, don't generate the call if we statically know that the target in uninitialized if (!dest_uninitialized) { @@ -665,7 +664,6 @@ BarrierSet* const bs = Universe::heap()->barrier_set(); switch (bs->kind()) { - case BarrierSet::G1SATBCT: case BarrierSet::G1SATBCTLogging: { if (branchToEnd) { diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/cpu/ppc/vm/templateTable_ppc_64.cpp --- a/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -66,7 +66,6 @@ switch (barrier) { #if INCLUDE_ALL_GCS - case BarrierSet::G1SATBCT: case BarrierSet::G1SATBCTLogging: { // Load and record the previous value. diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/cpu/sparc/vm/c1_globals_sparc.hpp --- a/hotspot/src/cpu/sparc/vm/c1_globals_sparc.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/cpu/sparc/vm/c1_globals_sparc.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 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 @@ -53,10 +53,10 @@ define_pd_global(intx, CodeCacheExpansionSize, 32*K ); define_pd_global(uintx, CodeCacheMinBlockLength, 1); define_pd_global(uintx, CodeCacheMinimumUseSpace, 400*K); -define_pd_global(uintx, MetaspaceSize, 12*M ); +define_pd_global(size_t, MetaspaceSize, 12*M ); define_pd_global(bool, NeverActAsServerClassMachine, true ); -define_pd_global(intx, NewSizeThreadIncrease, 16*K ); -define_pd_global(uint64_t,MaxRAM, 1ULL*G); +define_pd_global(size_t, NewSizeThreadIncrease, 16*K ); +define_pd_global(uint64_t, MaxRAM, 1ULL*G); define_pd_global(intx, InitialCodeCacheSize, 160*K); #endif // !TIERED diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/cpu/sparc/vm/c2_globals_sparc.hpp --- a/hotspot/src/cpu/sparc/vm/c2_globals_sparc.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/cpu/sparc/vm/c2_globals_sparc.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 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 @@ -51,7 +51,7 @@ define_pd_global(intx, FreqInlineSize, 175); define_pd_global(intx, INTPRESSURE, 48); // large register set define_pd_global(intx, InteriorEntryAlignment, 16); // = CodeEntryAlignment -define_pd_global(intx, NewSizeThreadIncrease, ScaleForWordSize(4*K)); +define_pd_global(size_t, NewSizeThreadIncrease, ScaleForWordSize(4*K)); define_pd_global(intx, RegisterCostAreaRatio, 12000); define_pd_global(bool, UseTLAB, true); define_pd_global(bool, ResizeTLAB, true); @@ -90,7 +90,7 @@ define_pd_global(intx, NonNMethodCodeHeapSize, 5*M ); define_pd_global(intx, CodeCacheExpansionSize, 32*K); // Ergonomics related flags -define_pd_global(uint64_t,MaxRAM, 4ULL*G); +define_pd_global(uint64_t, MaxRAM, 4ULL*G); #endif define_pd_global(uintx, CodeCacheMinBlockLength, 4); define_pd_global(uintx, CodeCacheMinimumUseSpace, 400*K); @@ -98,7 +98,7 @@ define_pd_global(bool, TrapBasedRangeChecks, false); // Not needed on sparc. // Heap related flags -define_pd_global(uintx,MetaspaceSize, ScaleForWordSize(16*M)); +define_pd_global(size_t, MetaspaceSize, ScaleForWordSize(16*M)); // Ergonomics related flags define_pd_global(bool, NeverActAsServerClassMachine, false); diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/cpu/sparc/vm/globals_sparc.hpp --- a/hotspot/src/cpu/sparc/vm/globals_sparc.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/cpu/sparc/vm/globals_sparc.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 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 @@ -75,7 +75,7 @@ define_pd_global(bool, UseMembar, false); // GC Ergo Flags -define_pd_global(uintx, CMSYoungGenPerWorker, 16*M); // default max size of CMS young gen, per GC worker thread +define_pd_global(size_t, CMSYoungGenPerWorker, 16*M); // default max size of CMS young gen, per GC worker thread define_pd_global(uintx, TypeProfileLevel, 0); diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp --- a/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/cpu/sparc/vm/stubGenerator_sparc.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -957,7 +957,6 @@ void gen_write_ref_array_pre_barrier(Register addr, Register count, bool dest_uninitialized) { BarrierSet* bs = Universe::heap()->barrier_set(); switch (bs->kind()) { - case BarrierSet::G1SATBCT: case BarrierSet::G1SATBCTLogging: // With G1, don't generate the call if we statically know that the target in uninitialized if (!dest_uninitialized) { @@ -1005,7 +1004,6 @@ BarrierSet* bs = Universe::heap()->barrier_set(); switch (bs->kind()) { - case BarrierSet::G1SATBCT: case BarrierSet::G1SATBCTLogging: { // Get some new fresh output registers. diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/cpu/sparc/vm/templateTable_sparc.cpp --- a/hotspot/src/cpu/sparc/vm/templateTable_sparc.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/cpu/sparc/vm/templateTable_sparc.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 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 @@ -56,7 +56,6 @@ assert(index == noreg || offset == 0, "only one offset"); switch (barrier) { #if INCLUDE_ALL_GCS - case BarrierSet::G1SATBCT: case BarrierSet::G1SATBCTLogging: { // Load and record the previous value. diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/cpu/x86/vm/c1_globals_x86.hpp --- a/hotspot/src/cpu/x86/vm/c1_globals_x86.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/cpu/x86/vm/c1_globals_x86.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 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 @@ -32,39 +32,39 @@ // (see c1_globals.hpp) #ifndef TIERED -define_pd_global(bool, BackgroundCompilation, true ); -define_pd_global(bool, UseTLAB, true ); -define_pd_global(bool, ResizeTLAB, true ); -define_pd_global(bool, InlineIntrinsics, true ); -define_pd_global(bool, PreferInterpreterNativeStubs, false); -define_pd_global(bool, ProfileTraps, false); -define_pd_global(bool, UseOnStackReplacement, true ); -define_pd_global(bool, TieredCompilation, false); -define_pd_global(intx, CompileThreshold, 1500 ); +define_pd_global(bool, BackgroundCompilation, true ); +define_pd_global(bool, UseTLAB, true ); +define_pd_global(bool, ResizeTLAB, true ); +define_pd_global(bool, InlineIntrinsics, true ); +define_pd_global(bool, PreferInterpreterNativeStubs, false); +define_pd_global(bool, ProfileTraps, false); +define_pd_global(bool, UseOnStackReplacement, true ); +define_pd_global(bool, TieredCompilation, false); +define_pd_global(intx, CompileThreshold, 1500 ); -define_pd_global(intx, OnStackReplacePercentage, 933 ); -define_pd_global(intx, FreqInlineSize, 325 ); -define_pd_global(intx, NewSizeThreadIncrease, 4*K ); -define_pd_global(intx, InitialCodeCacheSize, 160*K); -define_pd_global(intx, ReservedCodeCacheSize, 32*M ); -define_pd_global(intx, NonProfiledCodeHeapSize, 13*M ); -define_pd_global(intx, ProfiledCodeHeapSize, 14*M ); -define_pd_global(intx, NonNMethodCodeHeapSize, 5*M ); -define_pd_global(bool, ProfileInterpreter, false); -define_pd_global(intx, CodeCacheExpansionSize, 32*K ); -define_pd_global(uintx, CodeCacheMinBlockLength, 1); -define_pd_global(uintx, CodeCacheMinimumUseSpace, 400*K); -define_pd_global(uintx, MetaspaceSize, 12*M ); -define_pd_global(bool, NeverActAsServerClassMachine, true ); -define_pd_global(uint64_t,MaxRAM, 1ULL*G); -define_pd_global(bool, CICompileOSR, true ); +define_pd_global(intx, OnStackReplacePercentage, 933 ); +define_pd_global(intx, FreqInlineSize, 325 ); +define_pd_global(size_t, NewSizeThreadIncrease, 4*K ); +define_pd_global(intx, InitialCodeCacheSize, 160*K); +define_pd_global(intx, ReservedCodeCacheSize, 32*M ); +define_pd_global(intx, NonProfiledCodeHeapSize, 13*M ); +define_pd_global(intx, ProfiledCodeHeapSize, 14*M ); +define_pd_global(intx, NonNMethodCodeHeapSize, 5*M ); +define_pd_global(bool, ProfileInterpreter, false); +define_pd_global(intx, CodeCacheExpansionSize, 32*K ); +define_pd_global(uintx, CodeCacheMinBlockLength, 1 ); +define_pd_global(uintx, CodeCacheMinimumUseSpace, 400*K); +define_pd_global(size_t, MetaspaceSize, 12*M ); +define_pd_global(bool, NeverActAsServerClassMachine, true ); +define_pd_global(uint64_t, MaxRAM, 1ULL*G); +define_pd_global(bool, CICompileOSR, true ); #endif // !TIERED -define_pd_global(bool, UseTypeProfile, false); -define_pd_global(bool, RoundFPResults, true ); +define_pd_global(bool, UseTypeProfile, false); +define_pd_global(bool, RoundFPResults, true ); -define_pd_global(bool, LIRFillDelaySlots, false); -define_pd_global(bool, OptimizeSinglePrecision, true ); -define_pd_global(bool, CSEArrayLength, false); -define_pd_global(bool, TwoOperandLIRForm, true ); +define_pd_global(bool, LIRFillDelaySlots, false); +define_pd_global(bool, OptimizeSinglePrecision, true ); +define_pd_global(bool, CSEArrayLength, false); +define_pd_global(bool, TwoOperandLIRForm, true ); #endif // CPU_X86_VM_C1_GLOBALS_X86_HPP diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/cpu/x86/vm/c2_globals_x86.hpp --- a/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 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 @@ -54,25 +54,25 @@ #ifdef AMD64 define_pd_global(intx, INTPRESSURE, 13); define_pd_global(intx, InteriorEntryAlignment, 16); -define_pd_global(intx, NewSizeThreadIncrease, ScaleForWordSize(4*K)); +define_pd_global(size_t, NewSizeThreadIncrease, ScaleForWordSize(4*K)); define_pd_global(intx, LoopUnrollLimit, 60); // InitialCodeCacheSize derived from specjbb2000 run. define_pd_global(intx, InitialCodeCacheSize, 2496*K); // Integral multiple of CodeCacheExpansionSize define_pd_global(intx, CodeCacheExpansionSize, 64*K); // Ergonomics related flags -define_pd_global(uint64_t,MaxRAM, 128ULL*G); +define_pd_global(uint64_t, MaxRAM, 128ULL*G); #else define_pd_global(intx, INTPRESSURE, 6); define_pd_global(intx, InteriorEntryAlignment, 4); -define_pd_global(intx, NewSizeThreadIncrease, 4*K); +define_pd_global(size_t, NewSizeThreadIncrease, 4*K); define_pd_global(intx, LoopUnrollLimit, 50); // Design center runs on 1.3.1 // InitialCodeCacheSize derived from specjbb2000 run. define_pd_global(intx, InitialCodeCacheSize, 2304*K); // Integral multiple of CodeCacheExpansionSize define_pd_global(intx, CodeCacheExpansionSize, 32*K); // Ergonomics related flags -define_pd_global(uint64_t,MaxRAM, 4ULL*G); +define_pd_global(uint64_t, MaxRAM, 4ULL*G); #endif // AMD64 define_pd_global(intx, RegisterCostAreaRatio, 16000); @@ -93,7 +93,7 @@ define_pd_global(bool, TrapBasedRangeChecks, false); // Not needed on x86. // Heap related flags -define_pd_global(uintx,MetaspaceSize, ScaleForWordSize(16*M)); +define_pd_global(size_t, MetaspaceSize, ScaleForWordSize(16*M)); // Ergonomics related flags define_pd_global(bool, NeverActAsServerClassMachine, false); diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/cpu/x86/vm/globals_x86.hpp --- a/hotspot/src/cpu/x86/vm/globals_x86.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/cpu/x86/vm/globals_x86.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -78,7 +78,7 @@ #endif // GC Ergo Flags -define_pd_global(uintx, CMSYoungGenPerWorker, 64*M); // default max size of CMS young gen, per GC worker thread +define_pd_global(size_t, CMSYoungGenPerWorker, 64*M); // default max size of CMS young gen, per GC worker thread define_pd_global(uintx, TypeProfileLevel, 111); diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp --- a/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -706,7 +706,6 @@ assert_different_registers(start, count); BarrierSet* bs = Universe::heap()->barrier_set(); switch (bs->kind()) { - case BarrierSet::G1SATBCT: case BarrierSet::G1SATBCTLogging: // With G1, don't generate the call if we statically know that the target in uninitialized if (!uninitialized_target) { @@ -739,7 +738,6 @@ BarrierSet* bs = Universe::heap()->barrier_set(); assert_different_registers(start, count); switch (bs->kind()) { - case BarrierSet::G1SATBCT: case BarrierSet::G1SATBCTLogging: { __ pusha(); // push registers diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp --- a/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -1207,7 +1207,6 @@ void gen_write_ref_array_pre_barrier(Register addr, Register count, bool dest_uninitialized) { BarrierSet* bs = Universe::heap()->barrier_set(); switch (bs->kind()) { - case BarrierSet::G1SATBCT: case BarrierSet::G1SATBCTLogging: // With G1, don't generate the call if we statically know that the target in uninitialized if (!dest_uninitialized) { @@ -1252,7 +1251,6 @@ assert_different_registers(start, count, scratch); BarrierSet* bs = Universe::heap()->barrier_set(); switch (bs->kind()) { - case BarrierSet::G1SATBCT: case BarrierSet::G1SATBCTLogging: { __ pusha(); // push registers (overkill) diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/cpu/x86/vm/templateTable_x86.cpp --- a/hotspot/src/cpu/x86/vm/templateTable_x86.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/cpu/x86/vm/templateTable_x86.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -156,7 +156,6 @@ assert(val == noreg || val == rax, "parameter is just for looks"); switch (barrier) { #if INCLUDE_ALL_GCS - case BarrierSet::G1SATBCT: case BarrierSet::G1SATBCTLogging: { // flatten object address if needed diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/cpu/zero/vm/globals_zero.hpp --- a/hotspot/src/cpu/zero/vm/globals_zero.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/cpu/zero/vm/globals_zero.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. * Copyright 2007, 2008, 2009, 2010, 2011 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -57,7 +57,7 @@ define_pd_global(bool, UseMembar, true); // GC Ergo Flags -define_pd_global(uintx, CMSYoungGenPerWorker, 16*M); // default max size of CMS young gen, per GC worker thread +define_pd_global(size_t, CMSYoungGenPerWorker, 16*M); // default max size of CMS young gen, per GC worker thread define_pd_global(uintx, TypeProfileLevel, 0); diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/cpu/zero/vm/shark_globals_zero.hpp --- a/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/cpu/zero/vm/shark_globals_zero.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. * Copyright 2008, 2009, 2010 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -50,7 +50,7 @@ define_pd_global(intx, OnStackReplacePercentage, 933 ); define_pd_global(intx, FreqInlineSize, 325 ); define_pd_global(uintx, NewRatio, 12 ); -define_pd_global(intx, NewSizeThreadIncrease, 4*K ); +define_pd_global(size_t, NewSizeThreadIncrease, 4*K ); define_pd_global(intx, InitialCodeCacheSize, 160*K); define_pd_global(intx, ReservedCodeCacheSize, 32*M ); define_pd_global(intx, NonProfiledCodeHeapSize, 13*M ); @@ -61,7 +61,7 @@ define_pd_global(uintx, CodeCacheMinBlockLength, 1 ); define_pd_global(uintx, CodeCacheMinimumUseSpace, 200*K); -define_pd_global(uintx, MetaspaceSize, 12*M ); +define_pd_global(size_t, MetaspaceSize, 12*M ); define_pd_global(bool, NeverActAsServerClassMachine, true ); define_pd_global(uint64_t, MaxRAM, 1ULL*G); define_pd_global(bool, CICompileOSR, true ); diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/os_cpu/aix_ppc/vm/globals_aix_ppc.hpp --- a/hotspot/src/os_cpu/aix_ppc/vm/globals_aix_ppc.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/os_cpu/aix_ppc/vm/globals_aix_ppc.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -40,13 +40,13 @@ define_pd_global(intx, CompilerThreadStackSize, 4096); // Allow extra space in DEBUG builds for asserts. -define_pd_global(uintx,JVMInvokeMethodSlack, 8192); +define_pd_global(size_t, JVMInvokeMethodSlack, 8192); define_pd_global(intx, StackYellowPages, 6); define_pd_global(intx, StackRedPages, 1); define_pd_global(intx, StackShadowPages, 6 DEBUG_ONLY(+2)); // Only used on 64 bit platforms -define_pd_global(uintx,HeapBaseMinAddress, 2*G); +define_pd_global(size_t, HeapBaseMinAddress, 2*G); #endif // OS_CPU_AIX_OJDKPPC_VM_GLOBALS_AIX_PPC_HPP diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp --- a/hotspot/src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 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 @@ -43,9 +43,9 @@ define_pd_global(intx, CompilerThreadStackSize, 0); -define_pd_global(uintx, JVMInvokeMethodSlack, 8192); +define_pd_global(size_t, JVMInvokeMethodSlack, 8192); // Used on 64 bit platforms for UseCompressedOops base address -define_pd_global(uintx, HeapBaseMinAddress, 2*G); +define_pd_global(size_t, HeapBaseMinAddress, 2*G); #endif // OS_CPU_BSD_X86_VM_GLOBALS_BSD_X86_HPP diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp --- a/hotspot/src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. * Copyright 2007, 2008, 2010 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -39,9 +39,9 @@ define_pd_global(intx, VMThreadStackSize, 512); #endif // _LP64 define_pd_global(intx, CompilerThreadStackSize, 0); -define_pd_global(uintx, JVMInvokeMethodSlack, 8192); +define_pd_global(size_t, JVMInvokeMethodSlack, 8192); // Used on 64 bit platforms for UseCompressedOops base address -define_pd_global(uintx, HeapBaseMinAddress, 2*G); +define_pd_global(size_t, HeapBaseMinAddress, 2*G); #endif // OS_CPU_BSD_ZERO_VM_GLOBALS_BSD_ZERO_HPP diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp --- a/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -116,6 +116,14 @@ #endif } +void os::Linux::ucontext_set_pc(ucontext_t * uc, address pc) { +#ifdef BUILTIN_SIM + uc->uc_mcontext.gregs[REG_PC] = (intptr_t)pc; +#else + uc->uc_mcontext.pc = (intptr_t)pc; +#endif +} + intptr_t* os::Linux::ucontext_get_sp(ucontext_t * uc) { #ifdef BUILTIN_SIM return (intptr_t*)uc->uc_mcontext.gregs[REG_SP]; @@ -311,7 +319,7 @@ } #else if (StubRoutines::is_safefetch_fault(pc)) { - uc->uc_mcontext.pc = intptr_t(StubRoutines::continuation_for_safefetch_fault(pc)); + os::Linux::ucontext_set_pc(uc, StubRoutines::continuation_for_safefetch_fault(pc)); return 1; } #endif @@ -432,11 +440,7 @@ // save all thread context in case we need to restore it if (thread != NULL) thread->set_saved_exception_pc(pc); -#ifdef BUILTIN_SIM - uc->uc_mcontext.gregs[REG_PC] = (greg_t)stub; -#else - uc->uc_mcontext.pc = (__u64)stub; -#endif + os::Linux::ucontext_set_pc(uc, stub); return true; } diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp --- a/hotspot/src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -40,13 +40,13 @@ define_pd_global(intx, CompilerThreadStackSize, 4096); // Allow extra space in DEBUG builds for asserts. -define_pd_global(uintx,JVMInvokeMethodSlack, 8192); +define_pd_global(size_t, JVMInvokeMethodSlack, 8192); define_pd_global(intx, StackYellowPages, 6); define_pd_global(intx, StackRedPages, 1); define_pd_global(intx, StackShadowPages, 6 DEBUG_ONLY(+2)); // Only used on 64 bit platforms -define_pd_global(uintx,HeapBaseMinAddress, 2*G); +define_pd_global(size_t, HeapBaseMinAddress, 2*G); #endif // OS_CPU_LINUX_PPC_VM_GLOBALS_LINUX_PPC_HPP diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp --- a/hotspot/src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 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 @@ -30,10 +30,10 @@ // runtime system. (see globals.hpp) // -define_pd_global(uintx, JVMInvokeMethodSlack, 12288); +define_pd_global(size_t, JVMInvokeMethodSlack, 12288); define_pd_global(intx, CompilerThreadStackSize, 0); // Used on 64 bit platforms for UseCompressedOops base address -define_pd_global(uintx, HeapBaseMinAddress, CONST64(4)*G); +define_pd_global(size_t, HeapBaseMinAddress, CONST64(4)*G); #endif // OS_CPU_LINUX_SPARC_VM_GLOBALS_LINUX_SPARC_HPP diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/os_cpu/linux_x86/vm/globals_linux_x86.hpp --- a/hotspot/src/os_cpu/linux_x86/vm/globals_linux_x86.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/os_cpu/linux_x86/vm/globals_linux_x86.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 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 @@ -42,9 +42,9 @@ define_pd_global(intx, CompilerThreadStackSize, 0); -define_pd_global(uintx,JVMInvokeMethodSlack, 8192); +define_pd_global(size_t, JVMInvokeMethodSlack, 8192); // Used on 64 bit platforms for UseCompressedOops base address -define_pd_global(uintx,HeapBaseMinAddress, 2*G); +define_pd_global(size_t, HeapBaseMinAddress, 2*G); #endif // OS_CPU_LINUX_X86_VM_GLOBALS_LINUX_X86_HPP diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp --- a/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. * Copyright 2007, 2008, 2010 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -39,9 +39,9 @@ define_pd_global(intx, VMThreadStackSize, 512); #endif // _LP64 define_pd_global(intx, CompilerThreadStackSize, 0); -define_pd_global(uintx, JVMInvokeMethodSlack, 8192); +define_pd_global(size_t, JVMInvokeMethodSlack, 8192); // Used on 64 bit platforms for UseCompressedOops base address -define_pd_global(uintx, HeapBaseMinAddress, 2*G); +define_pd_global(size_t, HeapBaseMinAddress, 2*G); #endif // OS_CPU_LINUX_ZERO_VM_GLOBALS_LINUX_ZERO_HPP diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp --- a/hotspot/src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 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 @@ -30,16 +30,16 @@ // (see globals.hpp) // -define_pd_global(uintx, JVMInvokeMethodSlack, 12288); +define_pd_global(size_t, JVMInvokeMethodSlack, 12288); define_pd_global(intx, CompilerThreadStackSize, 0); // Used on 64 bit platforms for UseCompressedOops base address #ifdef _LP64 // use 6G as default base address because by default the OS maps the application // to 4G on Solaris-Sparc. This leaves at least 2G for the native heap. -define_pd_global(uintx, HeapBaseMinAddress, CONST64(6)*G); +define_pd_global(size_t, HeapBaseMinAddress, CONST64(6)*G); #else -define_pd_global(uintx, HeapBaseMinAddress, 2*G); +define_pd_global(size_t, HeapBaseMinAddress, 2*G); #endif diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp --- a/hotspot/src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 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 @@ -32,18 +32,18 @@ #ifdef AMD64 define_pd_global(intx, ThreadStackSize, 1024); // 0 => use system default define_pd_global(intx, VMThreadStackSize, 1024); -define_pd_global(uintx,JVMInvokeMethodSlack, 8*K); +define_pd_global(size_t, JVMInvokeMethodSlack, 8*K); #else // ThreadStackSize 320 allows a couple of test cases to run while // keeping the number of threads that can be created high. define_pd_global(intx, ThreadStackSize, 320); define_pd_global(intx, VMThreadStackSize, 512); -define_pd_global(uintx,JVMInvokeMethodSlack, 10*K); +define_pd_global(size_t, JVMInvokeMethodSlack, 10*K); #endif // AMD64 define_pd_global(intx, CompilerThreadStackSize, 0); // Used on 64 bit platforms for UseCompressedOops base address -define_pd_global(uintx,HeapBaseMinAddress, 2*G); +define_pd_global(size_t, HeapBaseMinAddress, 2*G); #endif // OS_CPU_SOLARIS_X86_VM_GLOBALS_SOLARIS_X86_HPP diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/os_cpu/windows_x86/vm/globals_windows_x86.hpp --- a/hotspot/src/os_cpu/windows_x86/vm/globals_windows_x86.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/os_cpu/windows_x86/vm/globals_windows_x86.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 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 @@ -43,9 +43,9 @@ define_pd_global(intx, CompilerThreadStackSize, 0); #endif -define_pd_global(uintx, JVMInvokeMethodSlack, 8192); +define_pd_global(size_t, JVMInvokeMethodSlack, 8192); // Used on 64 bit platforms for UseCompressedOops base address -define_pd_global(uintx, HeapBaseMinAddress, 2*G); +define_pd_global(size_t, HeapBaseMinAddress, 2*G); #endif // OS_CPU_WINDOWS_X86_VM_GLOBALS_WINDOWS_X86_HPP diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/c1/c1_LIRGenerator.cpp --- a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -1421,7 +1421,6 @@ // Do the pre-write barrier, if any. switch (_bs->kind()) { #if INCLUDE_ALL_GCS - case BarrierSet::G1SATBCT: case BarrierSet::G1SATBCTLogging: G1SATBCardTableModRef_pre_barrier(addr_opr, pre_val, do_load, patch, info); break; @@ -1442,7 +1441,6 @@ void LIRGenerator::post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val) { switch (_bs->kind()) { #if INCLUDE_ALL_GCS - case BarrierSet::G1SATBCT: case BarrierSet::G1SATBCTLogging: G1SATBCardTableModRef_post_barrier(addr, new_val); break; diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp --- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 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 @@ -186,7 +186,7 @@ cp->space->set_compaction_top(compact_top); cp->space = cp->space->next_compaction_space(); if (cp->space == NULL) { - cp->gen = GenCollectedHeap::heap()->prev_gen(cp->gen); + cp->gen = GenCollectedHeap::heap()->young_gen(); assert(cp->gen != NULL, "compaction must succeed"); cp->space = cp->gen->first_compaction_space(); assert(cp->space != NULL, "generation must have a first compaction space"); @@ -900,7 +900,6 @@ } } - // Callers of this iterator beware: The closure application should // be robust in the face of uninitialized objects and should (always) // return a correct size so that the next addr + size below gives us a @@ -2663,8 +2662,8 @@ // Need to smooth wrt historical average if (ResizeOldPLAB) { _blocks_to_claim[i].sample( - MAX2((size_t)CMSOldPLABMin, - MIN2((size_t)CMSOldPLABMax, + MAX2(CMSOldPLABMin, + MIN2(CMSOldPLABMax, _global_num_blocks[i]/(_global_num_workers[i]*CMSOldPLABNumRefills)))); } // Reset counters for next round diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp --- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 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 @@ -36,7 +36,9 @@ // space, in this case a CompactibleFreeListSpace. // Forward declarations +class CMSCollector; class CompactibleFreeListSpace; +class ConcurrentMarkSweepGeneration; class BlkClosure; class BlkClosureCareful; class FreeChunk; @@ -396,6 +398,10 @@ // Resizing support void set_end(HeapWord* value); // override + // Never mangle CompactibleFreeListSpace + void mangle_unused_area() {} + void mangle_unused_area_complete() {} + // Mutual exclusion support Mutex* freelistLock() const { return &_freelistLock; } diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp --- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -369,7 +369,7 @@ double CMSStats::time_until_cms_gen_full() const { size_t cms_free = _cms_gen->cmsSpace()->free(); GenCollectedHeap* gch = GenCollectedHeap::heap(); - size_t expected_promotion = MIN2(gch->get_gen(0)->capacity(), + size_t expected_promotion = MIN2(gch->young_gen()->capacity(), (size_t) _cms_gen->gc_stats()->avg_promoted()->padded_average()); if (cms_free > expected_promotion) { // Start a cms collection if there isn't enough space to promote @@ -506,7 +506,7 @@ _collector_policy(cp), _should_unload_classes(CMSClassUnloadingEnabled), _concurrent_cycles_since_last_unload(0), - _roots_scanning_options(SharedHeap::SO_None), + _roots_scanning_options(GenCollectedHeap::SO_None), _inter_sweep_estimate(CMS_SweepWeight, CMS_SweepPadding), _intra_sweep_estimate(CMS_SweepWeight, CMS_SweepPadding), _gc_tracer_cm(new (ResourceObj::C_HEAP, mtGC) CMSTracer()), @@ -626,8 +626,8 @@ // Support for parallelizing young gen rescan GenCollectedHeap* gch = GenCollectedHeap::heap(); - assert(gch->prev_gen(_cmsGen)->kind() == Generation::ParNew, "CMS can only be used with ParNew"); - _young_gen = (ParNewGeneration*)gch->prev_gen(_cmsGen); + assert(gch->young_gen()->kind() == Generation::ParNew, "CMS can only be used with ParNew"); + _young_gen = (ParNewGeneration*)gch->young_gen(); if (gch->supports_inline_contig_alloc()) { _top_addr = gch->top_addr(); _end_addr = gch->end_addr(); @@ -869,7 +869,7 @@ if (prev_level >= 0) { size_t prev_size = 0; GenCollectedHeap* gch = GenCollectedHeap::heap(); - Generation* prev_gen = gch->get_gen(prev_level); + Generation* prev_gen = gch->young_gen(); prev_size = prev_gen->capacity(); gclog_or_tty->print_cr(" Younger gen size "SIZE_FORMAT, prev_size/1000); @@ -1049,11 +1049,8 @@ // expand and retry size_t s = _cmsSpace->expansionSpaceRequired(obj_size); // HeapWords expand_for_gc_cause(s*HeapWordSize, MinHeapDeltaBytes, CMSExpansionCause::_satisfy_promotion); - // Since there's currently no next generation, we don't try to promote + // Since this is the old generation, we don't try to promote // into a more senior generation. - assert(next_gen() == NULL, "assumption, based upon which no attempt " - "is made to pass on a possibly failing " - "promotion to next generation"); res = _cmsSpace->promote(obj, obj_size); } if (res != NULL) { @@ -2499,7 +2496,7 @@ gch->gen_process_roots(_cmsGen->level(), true, // younger gens are roots true, // activate StrongRootsScope - SharedHeap::ScanningOption(roots_scanning_options()), + GenCollectedHeap::ScanningOption(roots_scanning_options()), should_unload_classes(), ¬Older, NULL, @@ -2567,7 +2564,7 @@ gch->gen_process_roots(_cmsGen->level(), true, // younger gens are roots true, // activate StrongRootsScope - SharedHeap::ScanningOption(roots_scanning_options()), + GenCollectedHeap::ScanningOption(roots_scanning_options()), should_unload_classes(), ¬Older, NULL, @@ -2751,7 +2748,7 @@ void CMSCollector::setup_cms_unloading_and_verification_state() { const bool should_verify = VerifyBeforeGC || VerifyAfterGC || VerifyDuringGC || VerifyBeforeExit; - const int rso = SharedHeap::SO_AllCodeCache; + const int rso = GenCollectedHeap::SO_AllCodeCache; // We set the proper root for this CMS cycle here. if (should_unload_classes()) { // Should unload classes this cycle @@ -3000,7 +2997,6 @@ report_heap_summary(GCWhen::BeforeGC); ReferenceProcessor* rp = ref_processor(); - SpecializationStats::clear(); assert(_restart_addr == NULL, "Control point invariant"); { // acquire locks for subsequent manipulations @@ -3011,7 +3007,6 @@ rp->enable_discovery(); _collectorState = Marking; } - SpecializationStats::print(); } void CMSCollector::checkpointRootsInitialWork() { @@ -3092,7 +3087,7 @@ gch->gen_process_roots(_cmsGen->level(), true, // younger gens are roots true, // activate StrongRootsScope - SharedHeap::ScanningOption(roots_scanning_options()), + GenCollectedHeap::ScanningOption(roots_scanning_options()), should_unload_classes(), ¬Older, NULL, @@ -4329,7 +4324,6 @@ verify_work_stacks_empty(); verify_overflow_empty(); - SpecializationStats::clear(); if (PrintGCDetails) { gclog_or_tty->print("[YG occupancy: "SIZE_FORMAT" K ("SIZE_FORMAT" K)]", _young_gen->used() / K, @@ -4360,7 +4354,6 @@ } verify_work_stacks_empty(); verify_overflow_empty(); - SpecializationStats::print(); } void CMSCollector::checkpointRootsFinalWork() { @@ -4528,13 +4521,13 @@ gch->gen_process_roots(_collector->_cmsGen->level(), false, // yg was scanned above false, // this is parallel code - SharedHeap::ScanningOption(_collector->CMSCollector::roots_scanning_options()), + GenCollectedHeap::ScanningOption(_collector->CMSCollector::roots_scanning_options()), _collector->should_unload_classes(), &par_mri_cl, NULL, &cld_closure); assert(_collector->should_unload_classes() - || (_collector->CMSCollector::roots_scanning_options() & SharedHeap::SO_AllCodeCache), + || (_collector->CMSCollector::roots_scanning_options() & GenCollectedHeap::SO_AllCodeCache), "if we didn't scan the code cache, we have to be ready to drop nmethods with expired weak oops"); _timer.stop(); if (PrintCMSStatistics != 0) { @@ -4664,14 +4657,14 @@ gch->gen_process_roots(_collector->_cmsGen->level(), false, // yg was scanned above false, // this is parallel code - SharedHeap::ScanningOption(_collector->CMSCollector::roots_scanning_options()), + GenCollectedHeap::ScanningOption(_collector->CMSCollector::roots_scanning_options()), _collector->should_unload_classes(), &par_mrias_cl, NULL, NULL); // The dirty klasses will be handled below assert(_collector->should_unload_classes() - || (_collector->CMSCollector::roots_scanning_options() & SharedHeap::SO_AllCodeCache), + || (_collector->CMSCollector::roots_scanning_options() & GenCollectedHeap::SO_AllCodeCache), "if we didn't scan the code cache, we have to be ready to drop nmethods with expired weak oops"); _timer.stop(); if (PrintCMSStatistics != 0) { @@ -5255,14 +5248,14 @@ gch->gen_process_roots(_cmsGen->level(), true, // younger gens as roots false, // use the local StrongRootsScope - SharedHeap::ScanningOption(roots_scanning_options()), + GenCollectedHeap::ScanningOption(roots_scanning_options()), should_unload_classes(), &mrias_cl, NULL, NULL); // The dirty klasses will be handled below assert(should_unload_classes() - || (roots_scanning_options() & SharedHeap::SO_AllCodeCache), + || (roots_scanning_options() & GenCollectedHeap::SO_AllCodeCache), "if we didn't scan the code cache, we have to be ready to drop nmethods with expired weak oops"); } diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp --- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 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 @@ -25,6 +25,7 @@ #ifndef SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_CONCURRENTMARKSWEEPGENERATION_HPP #define SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_CONCURRENTMARKSWEEPGENERATION_HPP +#include "gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp" #include "gc_implementation/shared/gcHeapSummary.hpp" #include "gc_implementation/shared/gSpaceCounters.hpp" #include "gc_implementation/shared/gcStats.hpp" @@ -55,6 +56,7 @@ // means of a sliding mark-compact. class AdaptiveSizePolicy; +class CMSCollector; class CMSConcMarkingTask; class CMSGCAdaptivePolicyCounters; class CMSTracer; @@ -64,6 +66,7 @@ class ConcurrentMarkSweepThread; class CompactibleFreeListSpace; class FreeChunk; +class ParNewGeneration; class PromotionInfo; class ScanMarkedObjectsAgainCarefullyClosure; class TenuredGeneration; diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -696,32 +696,32 @@ } if (FLAG_IS_DEFAULT(MarkStackSize)) { - uintx mark_stack_size = + size_t mark_stack_size = MIN2(MarkStackSizeMax, - MAX2(MarkStackSize, (uintx) (parallel_marking_threads() * TASKQUEUE_SIZE))); + MAX2(MarkStackSize, (size_t) (parallel_marking_threads() * TASKQUEUE_SIZE))); // Verify that the calculated value for MarkStackSize is in range. // It would be nice to use the private utility routine from Arguments. if (!(mark_stack_size >= 1 && mark_stack_size <= MarkStackSizeMax)) { - warning("Invalid value calculated for MarkStackSize (" UINTX_FORMAT "): " - "must be between " UINTX_FORMAT " and " UINTX_FORMAT, - mark_stack_size, (uintx) 1, MarkStackSizeMax); + warning("Invalid value calculated for MarkStackSize (" SIZE_FORMAT "): " + "must be between 1 and " SIZE_FORMAT, + mark_stack_size, MarkStackSizeMax); return; } - FLAG_SET_ERGO(uintx, MarkStackSize, mark_stack_size); + FLAG_SET_ERGO(size_t, MarkStackSize, mark_stack_size); } else { // Verify MarkStackSize is in range. if (FLAG_IS_CMDLINE(MarkStackSize)) { if (FLAG_IS_DEFAULT(MarkStackSizeMax)) { if (!(MarkStackSize >= 1 && MarkStackSize <= MarkStackSizeMax)) { - warning("Invalid value specified for MarkStackSize (" UINTX_FORMAT "): " - "must be between " UINTX_FORMAT " and " UINTX_FORMAT, - MarkStackSize, (uintx) 1, MarkStackSizeMax); + warning("Invalid value specified for MarkStackSize (" SIZE_FORMAT "): " + "must be between 1 and " SIZE_FORMAT, + MarkStackSize, MarkStackSizeMax); return; } } else if (FLAG_IS_CMDLINE(MarkStackSizeMax)) { if (!(MarkStackSize >= 1 && MarkStackSize <= MarkStackSizeMax)) { - warning("Invalid value specified for MarkStackSize (" UINTX_FORMAT ")" - " or for MarkStackSizeMax (" UINTX_FORMAT ")", + warning("Invalid value specified for MarkStackSize (" SIZE_FORMAT ")" + " or for MarkStackSizeMax (" SIZE_FORMAT ")", MarkStackSize, MarkStackSizeMax); return; } @@ -745,7 +745,7 @@ // so that the assertion in MarkingTaskQueue::task_queue doesn't fail _active_tasks = _max_worker_id; - size_t max_regions = (size_t) _g1h->max_regions(); + uint max_regions = _g1h->max_regions(); for (uint i = 0; i < _max_worker_id; ++i) { CMTaskQueue* task_queue = new CMTaskQueue(); task_queue->initialize(); diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/concurrentMark.hpp --- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -34,6 +34,7 @@ class G1CollectedHeap; class CMBitMap; class CMTask; +class ConcurrentMark; typedef GenericTaskQueue CMTaskQueue; typedef GenericTaskQueueSet CMTaskQueueSet; diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -48,6 +48,7 @@ #include "gc_implementation/g1/g1ParScanThreadState.inline.hpp" #include "gc_implementation/g1/g1RegionToSpaceMapper.hpp" #include "gc_implementation/g1/g1RemSet.inline.hpp" +#include "gc_implementation/g1/g1RootProcessor.hpp" #include "gc_implementation/g1/g1StringDedup.hpp" #include "gc_implementation/g1/g1YCTypes.hpp" #include "gc_implementation/g1/heapRegion.inline.hpp" @@ -89,18 +90,6 @@ // apply to TLAB allocation, which is not part of this interface: it // is done by clients of this interface.) -// Notes on implementation of parallelism in different tasks. -// -// G1ParVerifyTask uses heap_region_par_iterate() for parallelism. -// The number of GC workers is passed to heap_region_par_iterate(). -// It does use run_task() which sets _n_workers in the task. -// G1ParTask executes g1_process_roots() -> -// SharedHeap::process_roots() which calls eventually to -// CardTableModRefBS::par_non_clean_card_iterate_work() which uses -// SequentialSubTasksDone. SharedHeap::process_roots() also -// directly uses SubTasksDone (_process_strong_tasks field in SharedHeap). -// - // Local to this file. class RefineCardTableEntryClosure: public CardTableEntryClosure { @@ -1767,7 +1756,6 @@ _is_alive_closure_stw(this), _ref_processor_cm(NULL), _ref_processor_stw(NULL), - _process_strong_tasks(new SubTasksDone(G1H_PS_NumElements)), _bot_shared(NULL), _evac_failure_scan_stack(NULL), _mark_in_progress(false), @@ -1801,9 +1789,6 @@ _gc_tracer_cm(new (ResourceObj::C_HEAP, mtGC) G1OldTracer()) { _g1h = this; - if (_process_strong_tasks == NULL || !_process_strong_tasks->valid()) { - vm_exit_during_initialization("Failed necessary allocation."); - } _allocator = G1Allocator::create_allocator(_g1h); _humongous_object_threshold_in_words = HeapRegion::GrainWords / 2; @@ -2026,10 +2011,6 @@ Shared_DirtyCardQ_lock, &JavaThread::dirty_card_queue_set()); - // In case we're keeping closure specialization stats, initialize those - // counts and that mechanism. - SpecializationStats::clear(); - // Here we allocate the dummy HeapRegion that is required by the // G1AllocRegion class. HeapRegion* dummy_region = _hrm.get_dummy_region(); @@ -2206,11 +2187,11 @@ hot_card_cache->drain(worker_i, g1_rem_set(), into_cset_dcq); DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set(); - int n_completed_buffers = 0; + size_t n_completed_buffers = 0; while (dcqs.apply_closure_to_completed_buffer(cl, worker_i, 0, true)) { n_completed_buffers++; } - g1_policy()->phase_times()->record_update_rs_processed_buffers(worker_i, n_completed_buffers); + g1_policy()->phase_times()->record_thread_work_item(G1GCPhaseTimes::UpdateRS, worker_i, n_completed_buffers); dcqs.clear_n_completed_buffers(); assert(!dcqs.completed_buffers_exist_dirty(), "Completed buffers exist!"); } @@ -3111,11 +3092,12 @@ G1VerifyCodeRootOopClosure codeRootsCl(this, &rootsCl, vo); G1VerifyCodeRootBlobClosure blobsCl(&codeRootsCl); - process_all_roots(true, // activate StrongRootsScope - SO_AllCodeCache, // roots scanning options - &rootsCl, - &cldCl, - &blobsCl); + { + G1RootProcessor root_processor(this); + root_processor.process_all_roots(&rootsCl, + &cldCl, + &blobsCl); + } bool failures = rootsCl.failures() || codeRootsCl.failures(); @@ -3321,7 +3303,6 @@ concurrent_mark()->print_summary_info(); } g1_policy()->print_yg_surv_rate_info(); - SpecializationStats::print(); } #ifndef PRODUCT @@ -3751,9 +3732,9 @@ TraceCPUTime tcpu(G1Log::finer(), true, gclog_or_tty); - int active_workers = workers()->active_workers(); + uint active_workers = workers()->active_workers(); double pause_start_sec = os::elapsedTime(); - g1_policy()->phase_times()->note_gc_start(active_workers); + g1_policy()->phase_times()->note_gc_start(active_workers, mark_in_progress()); log_gc_header(); TraceCollectorStats tcs(g1mm()->incremental_collection_counters()); @@ -4365,60 +4346,11 @@ } }; -class G1CodeBlobClosure : public CodeBlobClosure { - class HeapRegionGatheringOopClosure : public OopClosure { - G1CollectedHeap* _g1h; - OopClosure* _work; - nmethod* _nm; - - template - void do_oop_work(T* p) { - _work->do_oop(p); - T oop_or_narrowoop = oopDesc::load_heap_oop(p); - if (!oopDesc::is_null(oop_or_narrowoop)) { - oop o = oopDesc::decode_heap_oop_not_null(oop_or_narrowoop); - HeapRegion* hr = _g1h->heap_region_containing_raw(o); - assert(!_g1h->obj_in_cs(o) || hr->rem_set()->strong_code_roots_list_contains(_nm), "if o still in CS then evacuation failed and nm must already be in the remset"); - hr->add_strong_code_root(_nm); - } - } - - public: - HeapRegionGatheringOopClosure(OopClosure* oc) : _g1h(G1CollectedHeap::heap()), _work(oc), _nm(NULL) {} - - void do_oop(oop* o) { - do_oop_work(o); - } - - void do_oop(narrowOop* o) { - do_oop_work(o); - } - - void set_nm(nmethod* nm) { - _nm = nm; - } - }; - - HeapRegionGatheringOopClosure _oc; -public: - G1CodeBlobClosure(OopClosure* oc) : _oc(oc) {} - - void do_code_blob(CodeBlob* cb) { - nmethod* nm = cb->as_nmethod_or_null(); - if (nm != NULL) { - if (!nm->test_set_oops_do_mark()) { - _oc.set_nm(nm); - nm->oops_do(&_oc); - nm->fix_oop_relocations(); - } - } - } -}; - class G1ParTask : public AbstractGangTask { protected: G1CollectedHeap* _g1h; RefToScanQueueSet *_queues; + G1RootProcessor* _root_processor; ParallelTaskTerminator _terminator; uint _n_workers; @@ -4426,10 +4358,11 @@ Mutex* stats_lock() { return &_stats_lock; } public: - G1ParTask(G1CollectedHeap* g1h, RefToScanQueueSet *task_queues) + G1ParTask(G1CollectedHeap* g1h, RefToScanQueueSet *task_queues, G1RootProcessor* root_processor) : AbstractGangTask("G1 collection"), _g1h(g1h), _queues(task_queues), + _root_processor(root_processor), _terminator(0, _queues), _stats_lock(Mutex::leaf, "parallel G1 stats lock", true) {} @@ -4443,13 +4376,7 @@ ParallelTaskTerminator* terminator() { return &_terminator; } virtual void set_for_termination(int active_workers) { - // This task calls set_n_termination() in par_non_clean_card_iterate_work() - // in the young space (_par_seq_tasks) in the G1 heap - // for SequentialSubTasksDone. - // This task also uses SubTasksDone in SharedHeap and G1CollectedHeap - // both of which need setting by set_n_termination(). - _g1h->SharedHeap::set_n_termination(active_workers); - _g1h->set_n_termination(active_workers); + _root_processor->set_num_workers(active_workers); terminator()->reset_for_reuse(active_workers); _n_workers = active_workers; } @@ -4486,8 +4413,7 @@ void work(uint worker_id) { if (worker_id >= _n_workers) return; // no work needed this round - double start_time_ms = os::elapsedTime() * 1000.0; - _g1h->g1_policy()->phase_times()->record_gc_worker_start_time(worker_id, start_time_ms); + _g1h->g1_policy()->phase_times()->record_time_secs(G1GCPhaseTimes::GCWorkerStart, worker_id, os::elapsedTime()); { ResourceMark rm; @@ -4519,24 +4445,21 @@ false, // Process all klasses. true); // Need to claim CLDs. - G1CodeBlobClosure scan_only_code_cl(&scan_only_root_cl); - G1CodeBlobClosure scan_mark_code_cl(&scan_mark_root_cl); - // IM Weak code roots are handled later. - OopClosure* strong_root_cl; OopClosure* weak_root_cl; CLDClosure* strong_cld_cl; CLDClosure* weak_cld_cl; - CodeBlobClosure* strong_code_cl; + + bool trace_metadata = false; if (_g1h->g1_policy()->during_initial_mark_pause()) { // We also need to mark copied objects. strong_root_cl = &scan_mark_root_cl; strong_cld_cl = &scan_mark_cld_cl; - strong_code_cl = &scan_mark_code_cl; if (ClassUnloadingWithConcurrentMark) { weak_root_cl = &scan_mark_weak_root_cl; weak_cld_cl = &scan_mark_weak_cld_cl; + trace_metadata = true; } else { weak_root_cl = &scan_mark_root_cl; weak_cld_cl = &scan_mark_cld_cl; @@ -4546,31 +4469,32 @@ weak_root_cl = &scan_only_root_cl; strong_cld_cl = &scan_only_cld_cl; weak_cld_cl = &scan_only_cld_cl; - strong_code_cl = &scan_only_code_cl; } - - G1ParPushHeapRSClosure push_heap_rs_cl(_g1h, &pss); - pss.start_strong_roots(); - _g1h->g1_process_roots(strong_root_cl, - weak_root_cl, - &push_heap_rs_cl, - strong_cld_cl, - weak_cld_cl, - strong_code_cl, - worker_id); - + + _root_processor->evacuate_roots(strong_root_cl, + weak_root_cl, + strong_cld_cl, + weak_cld_cl, + trace_metadata, + worker_id); + + G1ParPushHeapRSClosure push_heap_rs_cl(_g1h, &pss); + _root_processor->scan_remembered_sets(&push_heap_rs_cl, + weak_root_cl, + worker_id); pss.end_strong_roots(); { double start = os::elapsedTime(); G1ParEvacuateFollowersClosure evac(_g1h, &pss, _queues, &_terminator); evac.do_void(); - double elapsed_ms = (os::elapsedTime()-start)*1000.0; - double term_ms = pss.term_time()*1000.0; - _g1h->g1_policy()->phase_times()->add_obj_copy_time(worker_id, elapsed_ms-term_ms); - _g1h->g1_policy()->phase_times()->record_termination(worker_id, term_ms, pss.term_attempts()); + double elapsed_sec = os::elapsedTime() - start; + double term_sec = pss.term_time(); + _g1h->g1_policy()->phase_times()->add_time_secs(G1GCPhaseTimes::ObjCopy, worker_id, elapsed_sec - term_sec); + _g1h->g1_policy()->phase_times()->record_time_secs(G1GCPhaseTimes::Termination, worker_id, term_sec); + _g1h->g1_policy()->phase_times()->record_thread_work_item(G1GCPhaseTimes::Termination, worker_id, pss.term_attempts()); } _g1h->g1_policy()->record_thread_age_table(pss.age_table()); _g1h->update_surviving_young_words(pss.surviving_young_words()+1); @@ -4586,100 +4510,10 @@ // destructors are executed here and are included as part of the // "GC Worker Time". } - - double end_time_ms = os::elapsedTime() * 1000.0; - _g1h->g1_policy()->phase_times()->record_gc_worker_end_time(worker_id, end_time_ms); + _g1h->g1_policy()->phase_times()->record_time_secs(G1GCPhaseTimes::GCWorkerEnd, worker_id, os::elapsedTime()); } }; -// *** Common G1 Evacuation Stuff - -// This method is run in a GC worker. - -void -G1CollectedHeap:: -g1_process_roots(OopClosure* scan_non_heap_roots, - OopClosure* scan_non_heap_weak_roots, - G1ParPushHeapRSClosure* scan_rs, - CLDClosure* scan_strong_clds, - CLDClosure* scan_weak_clds, - CodeBlobClosure* scan_strong_code, - uint worker_i) { - - // First scan the shared roots. - double ext_roots_start = os::elapsedTime(); - double closure_app_time_sec = 0.0; - - bool during_im = _g1h->g1_policy()->during_initial_mark_pause(); - bool trace_metadata = during_im && ClassUnloadingWithConcurrentMark; - - BufferingOopClosure buf_scan_non_heap_roots(scan_non_heap_roots); - BufferingOopClosure buf_scan_non_heap_weak_roots(scan_non_heap_weak_roots); - - process_roots(false, // no scoping; this is parallel code - SharedHeap::SO_None, - &buf_scan_non_heap_roots, - &buf_scan_non_heap_weak_roots, - scan_strong_clds, - // Unloading Initial Marks handle the weak CLDs separately. - (trace_metadata ? NULL : scan_weak_clds), - scan_strong_code); - - // Now the CM ref_processor roots. - if (!_process_strong_tasks->is_task_claimed(G1H_PS_refProcessor_oops_do)) { - // We need to treat the discovered reference lists of the - // concurrent mark ref processor as roots and keep entries - // (which are added by the marking threads) on them live - // until they can be processed at the end of marking. - ref_processor_cm()->weak_oops_do(&buf_scan_non_heap_roots); - } - - if (trace_metadata) { - // Barrier to make sure all workers passed - // the strong CLD and strong nmethods phases. - active_strong_roots_scope()->wait_until_all_workers_done_with_threads(n_par_threads()); - - // Now take the complement of the strong CLDs. - ClassLoaderDataGraph::roots_cld_do(NULL, scan_weak_clds); - } - - // Finish up any enqueued closure apps (attributed as object copy time). - buf_scan_non_heap_roots.done(); - buf_scan_non_heap_weak_roots.done(); - - double obj_copy_time_sec = buf_scan_non_heap_roots.closure_app_seconds() - + buf_scan_non_heap_weak_roots.closure_app_seconds(); - - g1_policy()->phase_times()->record_obj_copy_time(worker_i, obj_copy_time_sec * 1000.0); - - double ext_root_time_ms = - ((os::elapsedTime() - ext_roots_start) - obj_copy_time_sec) * 1000.0; - - g1_policy()->phase_times()->record_ext_root_scan_time(worker_i, ext_root_time_ms); - - // During conc marking we have to filter the per-thread SATB buffers - // to make sure we remove any oops into the CSet (which will show up - // as implicitly live). - double satb_filtering_ms = 0.0; - if (!_process_strong_tasks->is_task_claimed(G1H_PS_filter_satb_buffers)) { - if (mark_in_progress()) { - double satb_filter_start = os::elapsedTime(); - - JavaThread::satb_mark_queue_set().filter_thread_buffers(); - - satb_filtering_ms = (os::elapsedTime() - satb_filter_start) * 1000.0; - } - } - g1_policy()->phase_times()->record_satb_filtering_time(worker_i, satb_filtering_ms); - - // Now scan the complement of the collection set. - G1CodeBlobClosure scavenge_cs_nmethods(scan_non_heap_weak_roots); - - g1_rem_set()->oops_into_collection_set_do(scan_rs, &scavenge_cs_nmethods, worker_i); - - _process_strong_tasks->all_tasks_completed(); -} - class G1StringSymbolTableUnlinkTask : public AbstractGangTask { private: BoolObjectClosure* _is_alive; @@ -5054,14 +4888,13 @@ G1RedirtyLoggedCardsTask(DirtyCardQueueSet* queue) : AbstractGangTask("Redirty Cards"), _queue(queue) { } virtual void work(uint worker_id) { - double start_time = os::elapsedTime(); + G1GCPhaseTimes* phase_times = G1CollectedHeap::heap()->g1_policy()->phase_times(); + G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::RedirtyCards, worker_id); RedirtyLoggedCardTableEntryClosure cl; _queue->par_apply_closure_to_all_completed_buffers(&cl); - G1GCPhaseTimes* timer = G1CollectedHeap::heap()->g1_policy()->phase_times(); - timer->record_redirty_logged_cards_time_ms(worker_id, (os::elapsedTime() - start_time) * 1000.0); - timer->record_redirty_logged_cards_processed_cards(worker_id, cl.num_processed()); + phase_times->record_thread_work_item(G1GCPhaseTimes::RedirtyCards, worker_id, cl.num_processed()); } }; @@ -5608,7 +5441,6 @@ workers()->set_active_workers(n_workers); set_par_threads(n_workers); - G1ParTask g1_par_task(this, _task_queues); init_for_evac_failure(NULL); @@ -5617,7 +5449,8 @@ double end_par_time_sec; { - StrongRootsScope srs(this); + G1RootProcessor root_processor(this); + G1ParTask g1_par_task(this, _task_queues, &root_processor); // InitialMark needs claim bits to keep track of the marked-through CLDs. if (g1_policy()->during_initial_mark_pause()) { ClassLoaderDataGraph::clear_claimed_marks(); @@ -5633,18 +5466,20 @@ end_par_time_sec = os::elapsedTime(); // Closing the inner scope will execute the destructor - // for the StrongRootsScope object. We record the current + // for the G1RootProcessor object. We record the current // elapsed time before closing the scope so that time - // taken for the SRS destructor is NOT included in the + // taken for the destructor is NOT included in the // reported parallel time. } + G1GCPhaseTimes* phase_times = g1_policy()->phase_times(); + double par_time_ms = (end_par_time_sec - start_par_time_sec) * 1000.0; - g1_policy()->phase_times()->record_par_time(par_time_ms); + phase_times->record_par_time(par_time_ms); double code_root_fixup_time_ms = (os::elapsedTime() - end_par_time_sec) * 1000.0; - g1_policy()->phase_times()->record_code_root_fixup_time(code_root_fixup_time_ms); + phase_times->record_code_root_fixup_time(code_root_fixup_time_ms); set_par_threads(0); @@ -5656,9 +5491,14 @@ process_discovered_references(n_workers); if (G1StringDedup::is_enabled()) { + double fixup_start = os::elapsedTime(); + G1STWIsAliveClosure is_alive(this); G1KeepAliveClosure keep_alive(this); - G1StringDedup::unlink_or_oops_do(&is_alive, &keep_alive); + G1StringDedup::unlink_or_oops_do(&is_alive, &keep_alive, true, phase_times); + + double fixup_time_ms = (os::elapsedTime() - fixup_start) * 1000.0; + phase_times->record_string_dedup_fixup_time(fixup_time_ms); } _allocator->release_gc_alloc_regions(n_workers, evacuation_info); diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -56,6 +56,7 @@ class GenerationSpec; class OopsInHeapRegionClosure; class G1KlassScanClosure; +class G1ParScanThreadState; class ObjectClosure; class SpaceClosure; class CompactibleSpaceClosure; @@ -780,22 +781,6 @@ // statistics or updating free lists. void abandon_collection_set(HeapRegion* cs_head); - // Applies "scan_non_heap_roots" to roots outside the heap, - // "scan_rs" to roots inside the heap (having done "set_region" to - // indicate the region in which the root resides), - // and does "scan_metadata" If "scan_rs" is - // NULL, then this step is skipped. The "worker_i" - // param is for use with parallel roots processing, and should be - // the "i" of the calling parallel worker thread's work(i) function. - // In the sequential case this param will be ignored. - void g1_process_roots(OopClosure* scan_non_heap_roots, - OopClosure* scan_non_heap_weak_roots, - G1ParPushHeapRSClosure* scan_rs, - CLDClosure* scan_strong_clds, - CLDClosure* scan_weak_clds, - CodeBlobClosure* scan_strong_code, - uint worker_i); - // The concurrent marker (and the thread it runs in.) ConcurrentMark* _cm; ConcurrentMarkThread* _cmThread; @@ -982,21 +967,10 @@ // of G1CollectedHeap::_gc_time_stamp. uint* _worker_cset_start_region_time_stamp; - enum G1H_process_roots_tasks { - G1H_PS_filter_satb_buffers, - G1H_PS_refProcessor_oops_do, - // Leave this one last. - G1H_PS_NumElements - }; - - SubTasksDone* _process_strong_tasks; - volatile bool _free_regions_coming; public: - SubTasksDone* process_strong_tasks() { return _process_strong_tasks; } - void set_refine_cte_cl_concurrency(bool concurrent); RefToScanQueue *task_queue(int i) const; @@ -1029,21 +1003,11 @@ // Initialize weak reference processing. virtual void ref_processing_init(); - void set_par_threads(uint t) { - SharedHeap::set_par_threads(t); - // Done in SharedHeap but oddly there are - // two _process_strong_tasks's in a G1CollectedHeap - // so do it here too. - _process_strong_tasks->set_n_threads(t); - } - + // Explicitly import set_par_threads into this scope + using SharedHeap::set_par_threads; // Set _n_par_threads according to a policy TBD. void set_par_threads(); - void set_n_termination(int t) { - _process_strong_tasks->set_n_threads(t); - } - virtual CollectedHeap::Name kind() const { return CollectedHeap::G1CollectedHeap; } @@ -1118,6 +1082,10 @@ // The number of regions that are completely free. uint num_free_regions() const { return _hrm.num_free_regions(); } + MemoryUsage get_auxiliary_data_memory_usage() const { + return _hrm.get_auxiliary_data_memory_usage(); + } + // The number of regions that are not completely free. uint num_used_regions() const { return num_regions() - num_free_regions(); } diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -321,7 +321,7 @@ void G1CollectorPolicy::initialize_flags() { if (G1HeapRegionSize != HeapRegion::GrainBytes) { - FLAG_SET_ERGO(uintx, G1HeapRegionSize, HeapRegion::GrainBytes); + FLAG_SET_ERGO(size_t, G1HeapRegionSize, HeapRegion::GrainBytes); } if (SurvivorRatio < 1) { @@ -335,7 +335,7 @@ uintx max_regions = G1CollectedHeap::heap()->max_regions(); size_t max_young_size = (size_t)_young_gen_sizer->max_young_length(max_regions) * HeapRegion::GrainBytes; if (max_young_size != MaxNewSize) { - FLAG_SET_ERGO(uintx, MaxNewSize, max_young_size); + FLAG_SET_ERGO(size_t, MaxNewSize, max_young_size); } } @@ -1073,7 +1073,7 @@ if (update_stats) { double cost_per_card_ms = 0.0; if (_pending_cards > 0) { - cost_per_card_ms = phase_times()->average_last_update_rs_time() / (double) _pending_cards; + cost_per_card_ms = phase_times()->average_time_ms(G1GCPhaseTimes::UpdateRS) / (double) _pending_cards; _cost_per_card_ms_seq->add(cost_per_card_ms); } @@ -1081,7 +1081,7 @@ double cost_per_entry_ms = 0.0; if (cards_scanned > 10) { - cost_per_entry_ms = phase_times()->average_last_scan_rs_time() / (double) cards_scanned; + cost_per_entry_ms = phase_times()->average_time_ms(G1GCPhaseTimes::ScanRS) / (double) cards_scanned; if (_last_gc_was_young) { _cost_per_entry_ms_seq->add(cost_per_entry_ms); } else { @@ -1123,7 +1123,7 @@ double cost_per_byte_ms = 0.0; if (copied_bytes > 0) { - cost_per_byte_ms = phase_times()->average_last_obj_copy_time() / (double) copied_bytes; + cost_per_byte_ms = phase_times()->average_time_ms(G1GCPhaseTimes::ObjCopy) / (double) copied_bytes; if (_in_marking_window) { _cost_per_byte_ms_during_cm_seq->add(cost_per_byte_ms); } else { @@ -1132,8 +1132,8 @@ } double all_other_time_ms = pause_time_ms - - (phase_times()->average_last_update_rs_time() + phase_times()->average_last_scan_rs_time() - + phase_times()->average_last_obj_copy_time() + phase_times()->average_last_termination_time()); + (phase_times()->average_time_ms(G1GCPhaseTimes::UpdateRS) + phase_times()->average_time_ms(G1GCPhaseTimes::ScanRS) + + phase_times()->average_time_ms(G1GCPhaseTimes::ObjCopy) + phase_times()->average_time_ms(G1GCPhaseTimes::Termination)); double young_other_time_ms = 0.0; if (young_cset_region_length() > 0) { @@ -1174,8 +1174,8 @@ // Note that _mmu_tracker->max_gc_time() returns the time in seconds. double update_rs_time_goal_ms = _mmu_tracker->max_gc_time() * MILLIUNITS * G1RSetUpdatingPauseTimePercent / 100.0; - adjust_concurrent_refinement(phase_times()->average_last_update_rs_time(), - phase_times()->sum_last_update_rs_processed_buffers(), update_rs_time_goal_ms); + adjust_concurrent_refinement(phase_times()->average_time_ms(G1GCPhaseTimes::UpdateRS), + phase_times()->sum_thread_work_items(G1GCPhaseTimes::UpdateRS), update_rs_time_goal_ms); _collectionSetChooser->verify(); } @@ -2114,19 +2114,19 @@ _other.add(pause_time_ms - phase_times->accounted_time_ms()); _root_region_scan_wait.add(phase_times->root_region_scan_wait_time_ms()); _parallel.add(phase_times->cur_collection_par_time_ms()); - _ext_root_scan.add(phase_times->average_last_ext_root_scan_time()); - _satb_filtering.add(phase_times->average_last_satb_filtering_times_ms()); - _update_rs.add(phase_times->average_last_update_rs_time()); - _scan_rs.add(phase_times->average_last_scan_rs_time()); - _obj_copy.add(phase_times->average_last_obj_copy_time()); - _termination.add(phase_times->average_last_termination_time()); + _ext_root_scan.add(phase_times->average_time_ms(G1GCPhaseTimes::ExtRootScan)); + _satb_filtering.add(phase_times->average_time_ms(G1GCPhaseTimes::SATBFiltering)); + _update_rs.add(phase_times->average_time_ms(G1GCPhaseTimes::UpdateRS)); + _scan_rs.add(phase_times->average_time_ms(G1GCPhaseTimes::ScanRS)); + _obj_copy.add(phase_times->average_time_ms(G1GCPhaseTimes::ObjCopy)); + _termination.add(phase_times->average_time_ms(G1GCPhaseTimes::Termination)); - double parallel_known_time = phase_times->average_last_ext_root_scan_time() + - phase_times->average_last_satb_filtering_times_ms() + - phase_times->average_last_update_rs_time() + - phase_times->average_last_scan_rs_time() + - phase_times->average_last_obj_copy_time() + - + phase_times->average_last_termination_time(); + double parallel_known_time = phase_times->average_time_ms(G1GCPhaseTimes::ExtRootScan) + + phase_times->average_time_ms(G1GCPhaseTimes::SATBFiltering) + + phase_times->average_time_ms(G1GCPhaseTimes::UpdateRS) + + phase_times->average_time_ms(G1GCPhaseTimes::ScanRS) + + phase_times->average_time_ms(G1GCPhaseTimes::ObjCopy) + + phase_times->average_time_ms(G1GCPhaseTimes::Termination); double parallel_other_time = phase_times->cur_collection_par_time_ms() - parallel_known_time; _parallel_other.add(parallel_other_time); diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -22,13 +22,13 @@ * */ - #include "precompiled.hpp" #include "gc_implementation/g1/g1CollectedHeap.inline.hpp" #include "gc_implementation/g1/g1GCPhaseTimes.hpp" #include "gc_implementation/g1/g1Log.hpp" #include "gc_implementation/g1/g1StringDedup.hpp" -#include "runtime/atomic.inline.hpp" +#include "memory/allocation.hpp" +#include "runtime/os.hpp" // Helper class for avoiding interleaved logging class LineBuffer: public StackObj { @@ -71,184 +71,258 @@ va_end(ap); } + void print_cr() { + gclog_or_tty->print_cr("%s", _buffer); + _cur = _indent_level * INDENT_CHARS; + } + void append_and_print_cr(const char* format, ...) ATTRIBUTE_PRINTF(2, 3) { va_list ap; va_start(ap, format); vappend(format, ap); va_end(ap); - gclog_or_tty->print_cr("%s", _buffer); - _cur = _indent_level * INDENT_CHARS; + print_cr(); } }; -PRAGMA_DIAG_PUSH -PRAGMA_FORMAT_NONLITERAL_IGNORED template -void WorkerDataArray::print(int level, const char* title) { - if (_length == 1) { - // No need for min, max, average and sum for only one worker - LineBuffer buf(level); - buf.append("[%s: ", title); - buf.append(_print_format, _data[0]); - buf.append_and_print_cr("]"); - return; +class WorkerDataArray : public CHeapObj { + friend class G1GCParPhasePrinter; + T* _data; + uint _length; + const char* _title; + bool _print_sum; + int _log_level; + uint _indent_level; + bool _enabled; + + WorkerDataArray* _thread_work_items; + + NOT_PRODUCT(T uninitialized();) + + // We are caching the sum and average to only have to calculate them once. + // This is not done in an MT-safe way. It is intended to allow single + // threaded code to call sum() and average() multiple times in any order + // without having to worry about the cost. + bool _has_new_data; + T _sum; + T _min; + T _max; + double _average; + + public: + WorkerDataArray(uint length, const char* title, bool print_sum, int log_level, uint indent_level) : + _title(title), _length(0), _print_sum(print_sum), _log_level(log_level), _indent_level(indent_level), + _has_new_data(true), _thread_work_items(NULL), _enabled(true) { + assert(length > 0, "Must have some workers to store data for"); + _length = length; + _data = NEW_C_HEAP_ARRAY(T, _length, mtGC); + } + + ~WorkerDataArray() { + FREE_C_HEAP_ARRAY(T, _data); + } + + void link_thread_work_items(WorkerDataArray* thread_work_items) { + _thread_work_items = thread_work_items; + } + + WorkerDataArray* thread_work_items() { return _thread_work_items; } + + void set(uint worker_i, T value) { + assert(worker_i < _length, err_msg("Worker %d is greater than max: %d", worker_i, _length)); + assert(_data[worker_i] == WorkerDataArray::uninitialized(), err_msg("Overwriting data for worker %d in %s", worker_i, _title)); + _data[worker_i] = value; + _has_new_data = true; + } + + void set_thread_work_item(uint worker_i, size_t value) { + assert(_thread_work_items != NULL, "No sub count"); + _thread_work_items->set(worker_i, value); } - T min = _data[0]; - T max = _data[0]; - T sum = 0; + T get(uint worker_i) { + assert(worker_i < _length, err_msg("Worker %d is greater than max: %d", worker_i, _length)); + assert(_data[worker_i] != WorkerDataArray::uninitialized(), err_msg("No data added for worker %d", worker_i)); + return _data[worker_i]; + } + + void add(uint worker_i, T value) { + assert(worker_i < _length, err_msg("Worker %d is greater than max: %d", worker_i, _length)); + assert(_data[worker_i] != WorkerDataArray::uninitialized(), err_msg("No data to add to for worker %d", worker_i)); + _data[worker_i] += value; + _has_new_data = true; + } - LineBuffer buf(level); - buf.append("[%s:", title); - for (uint i = 0; i < _length; ++i) { - T val = _data[i]; - min = MIN2(val, min); - max = MAX2(val, max); - sum += val; - if (G1Log::finest()) { - buf.append(" "); - buf.append(_print_format, val); - } + double average(){ + calculate_totals(); + return _average; + } + + T sum() { + calculate_totals(); + return _sum; + } + + T minimum() { + calculate_totals(); + return _min; } - if (G1Log::finest()) { - buf.append_and_print_cr("%s", ""); + T maximum() { + calculate_totals(); + return _max; } - double avg = (double)sum / (double)_length; - buf.append(" Min: "); - buf.append(_print_format, min); - buf.append(", Avg: "); - buf.append("%.1lf", avg); // Always print average as a double - buf.append(", Max: "); - buf.append(_print_format, max); - buf.append(", Diff: "); - buf.append(_print_format, max - min); - if (_print_sum) { - // for things like the start and end times the sum is not - // that relevant - buf.append(", Sum: "); - buf.append(_print_format, sum); + void reset() PRODUCT_RETURN; + void verify() PRODUCT_RETURN; + + void set_enabled(bool enabled) { _enabled = enabled; } + + int log_level() { return _log_level; } + + private: + + void calculate_totals(){ + if (!_has_new_data) { + return; + } + + _sum = (T)0; + _min = _data[0]; + _max = _min; + for (uint i = 0; i < _length; ++i) { + T val = _data[i]; + _sum += val; + _min = MIN2(_min, val); + _max = MAX2(_max, val); + } + _average = (double)_sum / (double)_length; + _has_new_data = false; } - buf.append_and_print_cr("]"); -} -PRAGMA_DIAG_POP +}; + #ifndef PRODUCT -template <> const int WorkerDataArray::_uninitialized = -1; -template <> const double WorkerDataArray::_uninitialized = -1.0; -template <> const size_t WorkerDataArray::_uninitialized = (size_t)-1; +template <> +size_t WorkerDataArray::uninitialized() { + return (size_t)-1; +} + +template <> +double WorkerDataArray::uninitialized() { + return -1.0; +} template void WorkerDataArray::reset() { for (uint i = 0; i < _length; i++) { - _data[i] = (T)_uninitialized; + _data[i] = WorkerDataArray::uninitialized(); + } + if (_thread_work_items != NULL) { + _thread_work_items->reset(); } } template void WorkerDataArray::verify() { + if (!_enabled) { + return; + } + for (uint i = 0; i < _length; i++) { - assert(_data[i] != _uninitialized, - err_msg("Invalid data for worker %u, data: %lf, uninitialized: %lf", - i, (double)_data[i], (double)_uninitialized)); + assert(_data[i] != WorkerDataArray::uninitialized(), + err_msg("Invalid data for worker %u in '%s'", i, _title)); + } + if (_thread_work_items != NULL) { + _thread_work_items->verify(); } } #endif G1GCPhaseTimes::G1GCPhaseTimes(uint max_gc_threads) : - _max_gc_threads(max_gc_threads), - _last_gc_worker_start_times_ms(_max_gc_threads, "%.1lf", false), - _last_ext_root_scan_times_ms(_max_gc_threads, "%.1lf"), - _last_satb_filtering_times_ms(_max_gc_threads, "%.1lf"), - _last_update_rs_times_ms(_max_gc_threads, "%.1lf"), - _last_update_rs_processed_buffers(_max_gc_threads, "%d"), - _last_scan_rs_times_ms(_max_gc_threads, "%.1lf"), - _last_strong_code_root_scan_times_ms(_max_gc_threads, "%.1lf"), - _last_obj_copy_times_ms(_max_gc_threads, "%.1lf"), - _last_termination_times_ms(_max_gc_threads, "%.1lf"), - _last_termination_attempts(_max_gc_threads, SIZE_FORMAT), - _last_gc_worker_end_times_ms(_max_gc_threads, "%.1lf", false), - _last_gc_worker_times_ms(_max_gc_threads, "%.1lf"), - _last_gc_worker_other_times_ms(_max_gc_threads, "%.1lf"), - _last_redirty_logged_cards_time_ms(_max_gc_threads, "%.1lf"), - _last_redirty_logged_cards_processed_cards(_max_gc_threads, SIZE_FORMAT), - _cur_string_dedup_queue_fixup_worker_times_ms(_max_gc_threads, "%.1lf"), - _cur_string_dedup_table_fixup_worker_times_ms(_max_gc_threads, "%.1lf") + _max_gc_threads(max_gc_threads) { assert(max_gc_threads > 0, "Must have some GC threads"); + + _gc_par_phases[GCWorkerStart] = new WorkerDataArray(max_gc_threads, "GC Worker Start (ms)", false, G1Log::LevelFiner, 2); + _gc_par_phases[ExtRootScan] = new WorkerDataArray(max_gc_threads, "Ext Root Scanning (ms)", true, G1Log::LevelFiner, 2); + + // Root scanning phases + _gc_par_phases[ThreadRoots] = new WorkerDataArray(max_gc_threads, "Thread Roots (ms)", true, G1Log::LevelFinest, 3); + _gc_par_phases[StringTableRoots] = new WorkerDataArray(max_gc_threads, "StringTable Roots (ms)", true, G1Log::LevelFinest, 3); + _gc_par_phases[UniverseRoots] = new WorkerDataArray(max_gc_threads, "Universe Roots (ms)", true, G1Log::LevelFinest, 3); + _gc_par_phases[JNIRoots] = new WorkerDataArray(max_gc_threads, "JNI Handles Roots (ms)", true, G1Log::LevelFinest, 3); + _gc_par_phases[ObjectSynchronizerRoots] = new WorkerDataArray(max_gc_threads, "ObjectSynchronizer Roots (ms)", true, G1Log::LevelFinest, 3); + _gc_par_phases[FlatProfilerRoots] = new WorkerDataArray(max_gc_threads, "FlatProfiler Roots (ms)", true, G1Log::LevelFinest, 3); + _gc_par_phases[ManagementRoots] = new WorkerDataArray(max_gc_threads, "Management Roots (ms)", true, G1Log::LevelFinest, 3); + _gc_par_phases[SystemDictionaryRoots] = new WorkerDataArray(max_gc_threads, "SystemDictionary Roots (ms)", true, G1Log::LevelFinest, 3); + _gc_par_phases[CLDGRoots] = new WorkerDataArray(max_gc_threads, "CLDG Roots (ms)", true, G1Log::LevelFinest, 3); + _gc_par_phases[JVMTIRoots] = new WorkerDataArray(max_gc_threads, "JVMTI Roots (ms)", true, G1Log::LevelFinest, 3); + _gc_par_phases[CodeCacheRoots] = new WorkerDataArray(max_gc_threads, "CodeCache Roots (ms)", true, G1Log::LevelFinest, 3); + _gc_par_phases[CMRefRoots] = new WorkerDataArray(max_gc_threads, "CM RefProcessor Roots (ms)", true, G1Log::LevelFinest, 3); + _gc_par_phases[WaitForStrongCLD] = new WorkerDataArray(max_gc_threads, "Wait For Strong CLD (ms)", true, G1Log::LevelFinest, 3); + _gc_par_phases[WeakCLDRoots] = new WorkerDataArray(max_gc_threads, "Weak CLD Roots (ms)", true, G1Log::LevelFinest, 3); + _gc_par_phases[SATBFiltering] = new WorkerDataArray(max_gc_threads, "SATB Filtering (ms)", true, G1Log::LevelFinest, 3); + + _gc_par_phases[UpdateRS] = new WorkerDataArray(max_gc_threads, "Update RS (ms)", true, G1Log::LevelFiner, 2); + _gc_par_phases[ScanRS] = new WorkerDataArray(max_gc_threads, "Scan RS (ms)", true, G1Log::LevelFiner, 2); + _gc_par_phases[CodeRoots] = new WorkerDataArray(max_gc_threads, "Code Root Scanning (ms)", true, G1Log::LevelFiner, 2); + _gc_par_phases[ObjCopy] = new WorkerDataArray(max_gc_threads, "Object Copy (ms)", true, G1Log::LevelFiner, 2); + _gc_par_phases[Termination] = new WorkerDataArray(max_gc_threads, "Termination (ms)", true, G1Log::LevelFiner, 2); + _gc_par_phases[GCWorkerTotal] = new WorkerDataArray(max_gc_threads, "GC Worker Total (ms)", true, G1Log::LevelFiner, 2); + _gc_par_phases[GCWorkerEnd] = new WorkerDataArray(max_gc_threads, "GC Worker End (ms)", false, G1Log::LevelFiner, 2); + _gc_par_phases[Other] = new WorkerDataArray(max_gc_threads, "GC Worker Other (ms)", true, G1Log::LevelFiner, 2); + + _update_rs_processed_buffers = new WorkerDataArray(max_gc_threads, "Processed Buffers", true, G1Log::LevelFiner, 3); + _gc_par_phases[UpdateRS]->link_thread_work_items(_update_rs_processed_buffers); + + _termination_attempts = new WorkerDataArray(max_gc_threads, "Termination Attempts", true, G1Log::LevelFinest, 3); + _gc_par_phases[Termination]->link_thread_work_items(_termination_attempts); + + _gc_par_phases[StringDedupQueueFixup] = new WorkerDataArray(max_gc_threads, "Queue Fixup (ms)", true, G1Log::LevelFiner, 2); + _gc_par_phases[StringDedupTableFixup] = new WorkerDataArray(max_gc_threads, "Table Fixup (ms)", true, G1Log::LevelFiner, 2); + + _gc_par_phases[RedirtyCards] = new WorkerDataArray(max_gc_threads, "Parallel Redirty", true, G1Log::LevelFinest, 3); + _redirtied_cards = new WorkerDataArray(max_gc_threads, "Redirtied Cards", true, G1Log::LevelFinest, 3); + _gc_par_phases[RedirtyCards]->link_thread_work_items(_redirtied_cards); } -void G1GCPhaseTimes::note_gc_start(uint active_gc_threads) { +void G1GCPhaseTimes::note_gc_start(uint active_gc_threads, bool mark_in_progress) { assert(active_gc_threads > 0, "The number of threads must be > 0"); - assert(active_gc_threads <= _max_gc_threads, "The number of active threads must be <= the max nubmer of threads"); + assert(active_gc_threads <= _max_gc_threads, "The number of active threads must be <= the max number of threads"); _active_gc_threads = active_gc_threads; - _last_gc_worker_start_times_ms.reset(); - _last_ext_root_scan_times_ms.reset(); - _last_satb_filtering_times_ms.reset(); - _last_update_rs_times_ms.reset(); - _last_update_rs_processed_buffers.reset(); - _last_scan_rs_times_ms.reset(); - _last_strong_code_root_scan_times_ms.reset(); - _last_obj_copy_times_ms.reset(); - _last_termination_times_ms.reset(); - _last_termination_attempts.reset(); - _last_gc_worker_end_times_ms.reset(); - _last_gc_worker_times_ms.reset(); - _last_gc_worker_other_times_ms.reset(); + for (int i = 0; i < GCParPhasesSentinel; i++) { + _gc_par_phases[i]->reset(); + } - _last_redirty_logged_cards_time_ms.reset(); - _last_redirty_logged_cards_processed_cards.reset(); - + _gc_par_phases[StringDedupQueueFixup]->set_enabled(G1StringDedup::is_enabled()); + _gc_par_phases[StringDedupTableFixup]->set_enabled(G1StringDedup::is_enabled()); } void G1GCPhaseTimes::note_gc_end() { - _last_gc_worker_start_times_ms.verify(); - _last_ext_root_scan_times_ms.verify(); - _last_satb_filtering_times_ms.verify(); - _last_update_rs_times_ms.verify(); - _last_update_rs_processed_buffers.verify(); - _last_scan_rs_times_ms.verify(); - _last_strong_code_root_scan_times_ms.verify(); - _last_obj_copy_times_ms.verify(); - _last_termination_times_ms.verify(); - _last_termination_attempts.verify(); - _last_gc_worker_end_times_ms.verify(); + for (uint i = 0; i < _active_gc_threads; i++) { + double worker_time = _gc_par_phases[GCWorkerEnd]->get(i) - _gc_par_phases[GCWorkerStart]->get(i); + record_time_secs(GCWorkerTotal, i , worker_time); - for (uint i = 0; i < _active_gc_threads; i++) { - double worker_time = _last_gc_worker_end_times_ms.get(i) - _last_gc_worker_start_times_ms.get(i); - _last_gc_worker_times_ms.set(i, worker_time); + double worker_known_time = + _gc_par_phases[ExtRootScan]->get(i) + + _gc_par_phases[SATBFiltering]->get(i) + + _gc_par_phases[UpdateRS]->get(i) + + _gc_par_phases[ScanRS]->get(i) + + _gc_par_phases[CodeRoots]->get(i) + + _gc_par_phases[ObjCopy]->get(i) + + _gc_par_phases[Termination]->get(i); - double worker_known_time = _last_ext_root_scan_times_ms.get(i) + - _last_satb_filtering_times_ms.get(i) + - _last_update_rs_times_ms.get(i) + - _last_scan_rs_times_ms.get(i) + - _last_strong_code_root_scan_times_ms.get(i) + - _last_obj_copy_times_ms.get(i) + - _last_termination_times_ms.get(i); - - double worker_other_time = worker_time - worker_known_time; - _last_gc_worker_other_times_ms.set(i, worker_other_time); + record_time_secs(Other, i, worker_time - worker_known_time); } - _last_gc_worker_times_ms.verify(); - _last_gc_worker_other_times_ms.verify(); - - _last_redirty_logged_cards_time_ms.verify(); - _last_redirty_logged_cards_processed_cards.verify(); -} - -void G1GCPhaseTimes::note_string_dedup_fixup_start() { - _cur_string_dedup_queue_fixup_worker_times_ms.reset(); - _cur_string_dedup_table_fixup_worker_times_ms.reset(); -} - -void G1GCPhaseTimes::note_string_dedup_fixup_end() { - _cur_string_dedup_queue_fixup_worker_times_ms.verify(); - _cur_string_dedup_table_fixup_worker_times_ms.verify(); + for (int i = 0; i < GCParPhasesSentinel; i++) { + _gc_par_phases[i]->verify(); + } } void G1GCPhaseTimes::print_stats(int level, const char* str, double value) { @@ -288,35 +362,172 @@ return misc_time_ms; } +// record the time a phase took in seconds +void G1GCPhaseTimes::record_time_secs(GCParPhases phase, uint worker_i, double secs) { + _gc_par_phases[phase]->set(worker_i, secs); +} + +// add a number of seconds to a phase +void G1GCPhaseTimes::add_time_secs(GCParPhases phase, uint worker_i, double secs) { + _gc_par_phases[phase]->add(worker_i, secs); +} + +void G1GCPhaseTimes::record_thread_work_item(GCParPhases phase, uint worker_i, size_t count) { + _gc_par_phases[phase]->set_thread_work_item(worker_i, count); +} + +// return the average time for a phase in milliseconds +double G1GCPhaseTimes::average_time_ms(GCParPhases phase) { + return _gc_par_phases[phase]->average() * 1000.0; +} + +double G1GCPhaseTimes::get_time_ms(GCParPhases phase, uint worker_i) { + return _gc_par_phases[phase]->get(worker_i) * 1000.0; +} + +double G1GCPhaseTimes::sum_time_ms(GCParPhases phase) { + return _gc_par_phases[phase]->sum() * 1000.0; +} + +double G1GCPhaseTimes::min_time_ms(GCParPhases phase) { + return _gc_par_phases[phase]->minimum() * 1000.0; +} + +double G1GCPhaseTimes::max_time_ms(GCParPhases phase) { + return _gc_par_phases[phase]->maximum() * 1000.0; +} + +size_t G1GCPhaseTimes::get_thread_work_item(GCParPhases phase, uint worker_i) { + assert(_gc_par_phases[phase]->thread_work_items() != NULL, "No sub count"); + return _gc_par_phases[phase]->thread_work_items()->get(worker_i); +} + +size_t G1GCPhaseTimes::sum_thread_work_items(GCParPhases phase) { + assert(_gc_par_phases[phase]->thread_work_items() != NULL, "No sub count"); + return _gc_par_phases[phase]->thread_work_items()->sum(); +} + +double G1GCPhaseTimes::average_thread_work_items(GCParPhases phase) { + assert(_gc_par_phases[phase]->thread_work_items() != NULL, "No sub count"); + return _gc_par_phases[phase]->thread_work_items()->average(); +} + +size_t G1GCPhaseTimes::min_thread_work_items(GCParPhases phase) { + assert(_gc_par_phases[phase]->thread_work_items() != NULL, "No sub count"); + return _gc_par_phases[phase]->thread_work_items()->minimum(); +} + +size_t G1GCPhaseTimes::max_thread_work_items(GCParPhases phase) { + assert(_gc_par_phases[phase]->thread_work_items() != NULL, "No sub count"); + return _gc_par_phases[phase]->thread_work_items()->maximum(); +} + +class G1GCParPhasePrinter : public StackObj { + G1GCPhaseTimes* _phase_times; + public: + G1GCParPhasePrinter(G1GCPhaseTimes* phase_times) : _phase_times(phase_times) {} + + void print(G1GCPhaseTimes::GCParPhases phase_id) { + WorkerDataArray* phase = _phase_times->_gc_par_phases[phase_id]; + + if (phase->_log_level > G1Log::level() || !phase->_enabled) { + return; + } + + if (phase->_length == 1) { + print_single_length(phase_id, phase); + } else { + print_multi_length(phase_id, phase); + } + } + + private: + + void print_single_length(G1GCPhaseTimes::GCParPhases phase_id, WorkerDataArray* phase) { + // No need for min, max, average and sum for only one worker + LineBuffer buf(phase->_indent_level); + buf.append_and_print_cr("[%s: %.1lf]", phase->_title, _phase_times->get_time_ms(phase_id, 0)); + + if (phase->_thread_work_items != NULL) { + LineBuffer buf2(phase->_thread_work_items->_indent_level); + buf2.append_and_print_cr("[%s: "SIZE_FORMAT"]", phase->_thread_work_items->_title, _phase_times->sum_thread_work_items(phase_id)); + } + } + + void print_time_values(LineBuffer& buf, G1GCPhaseTimes::GCParPhases phase_id, WorkerDataArray* phase) { + for (uint i = 0; i < phase->_length; ++i) { + buf.append(" %.1lf", _phase_times->get_time_ms(phase_id, i)); + } + buf.print_cr(); + } + + void print_count_values(LineBuffer& buf, G1GCPhaseTimes::GCParPhases phase_id, WorkerDataArray* thread_work_items) { + for (uint i = 0; i < thread_work_items->_length; ++i) { + buf.append(" " SIZE_FORMAT, _phase_times->get_thread_work_item(phase_id, i)); + } + buf.print_cr(); + } + + void print_thread_work_items(G1GCPhaseTimes::GCParPhases phase_id, WorkerDataArray* thread_work_items) { + LineBuffer buf(thread_work_items->_indent_level); + buf.append("[%s:", thread_work_items->_title); + + if (G1Log::finest()) { + print_count_values(buf, phase_id, thread_work_items); + } + + assert(thread_work_items->_print_sum, err_msg("%s does not have print sum true even though it is a count", thread_work_items->_title)); + + buf.append_and_print_cr(" Min: " SIZE_FORMAT ", Avg: %.1lf, Max: " SIZE_FORMAT ", Diff: " SIZE_FORMAT ", Sum: " SIZE_FORMAT "]", + _phase_times->min_thread_work_items(phase_id), _phase_times->average_thread_work_items(phase_id), _phase_times->max_thread_work_items(phase_id), + _phase_times->max_thread_work_items(phase_id) - _phase_times->min_thread_work_items(phase_id), _phase_times->sum_thread_work_items(phase_id)); + } + + void print_multi_length(G1GCPhaseTimes::GCParPhases phase_id, WorkerDataArray* phase) { + LineBuffer buf(phase->_indent_level); + buf.append("[%s:", phase->_title); + + if (G1Log::finest()) { + print_time_values(buf, phase_id, phase); + } + + buf.append(" Min: %.1lf, Avg: %.1lf, Max: %.1lf, Diff: %.1lf", + _phase_times->min_time_ms(phase_id), _phase_times->average_time_ms(phase_id), _phase_times->max_time_ms(phase_id), + _phase_times->max_time_ms(phase_id) - _phase_times->min_time_ms(phase_id)); + + if (phase->_print_sum) { + // for things like the start and end times the sum is not + // that relevant + buf.append(", Sum: %.1lf", _phase_times->sum_time_ms(phase_id)); + } + + buf.append_and_print_cr("]"); + + if (phase->_thread_work_items != NULL) { + print_thread_work_items(phase_id, phase->_thread_work_items); + } + } +}; + void G1GCPhaseTimes::print(double pause_time_sec) { + G1GCParPhasePrinter par_phase_printer(this); + if (_root_region_scan_wait_time_ms > 0.0) { print_stats(1, "Root Region Scan Waiting", _root_region_scan_wait_time_ms); } + print_stats(1, "Parallel Time", _cur_collection_par_time_ms, _active_gc_threads); - _last_gc_worker_start_times_ms.print(2, "GC Worker Start (ms)"); - _last_ext_root_scan_times_ms.print(2, "Ext Root Scanning (ms)"); - if (_last_satb_filtering_times_ms.sum() > 0.0) { - _last_satb_filtering_times_ms.print(2, "SATB Filtering (ms)"); + for (int i = 0; i <= GCMainParPhasesLast; i++) { + par_phase_printer.print((GCParPhases) i); } - _last_update_rs_times_ms.print(2, "Update RS (ms)"); - _last_update_rs_processed_buffers.print(3, "Processed Buffers"); - _last_scan_rs_times_ms.print(2, "Scan RS (ms)"); - _last_strong_code_root_scan_times_ms.print(2, "Code Root Scanning (ms)"); - _last_obj_copy_times_ms.print(2, "Object Copy (ms)"); - _last_termination_times_ms.print(2, "Termination (ms)"); - if (G1Log::finest()) { - _last_termination_attempts.print(3, "Termination Attempts"); - } - _last_gc_worker_other_times_ms.print(2, "GC Worker Other (ms)"); - _last_gc_worker_times_ms.print(2, "GC Worker Total (ms)"); - _last_gc_worker_end_times_ms.print(2, "GC Worker End (ms)"); print_stats(1, "Code Root Fixup", _cur_collection_code_root_fixup_time_ms); print_stats(1, "Code Root Purge", _cur_strong_code_root_purge_time_ms); if (G1StringDedup::is_enabled()) { print_stats(1, "String Dedup Fixup", _cur_string_dedup_fixup_time_ms, _active_gc_threads); - _cur_string_dedup_queue_fixup_worker_times_ms.print(2, "Queue Fixup (ms)"); - _cur_string_dedup_table_fixup_worker_times_ms.print(2, "Table Fixup (ms)"); + for (int i = StringDedupPhasesFirst; i <= StringDedupPhasesLast; i++) { + par_phase_printer.print((GCParPhases) i); + } } print_stats(1, "Clear CT", _cur_clear_ct_time_ms); double misc_time_ms = pause_time_sec * MILLIUNITS - accounted_time_ms(); @@ -340,10 +551,7 @@ print_stats(2, "Ref Proc", _cur_ref_proc_time_ms); print_stats(2, "Ref Enq", _cur_ref_enq_time_ms); print_stats(2, "Redirty Cards", _recorded_redirty_logged_cards_time_ms); - if (G1Log::finest()) { - _last_redirty_logged_cards_time_ms.print(3, "Parallel Redirty"); - _last_redirty_logged_cards_processed_cards.print(3, "Redirtied Cards"); - } + par_phase_printer.print(RedirtyCards); if (G1EagerReclaimHumongousObjects) { print_stats(2, "Humongous Register", _cur_fast_reclaim_humongous_register_time_ms); if (G1Log::finest()) { @@ -366,3 +574,17 @@ print_stats(2, "Verify After", _cur_verify_after_time_ms); } } + +G1GCParPhaseTimesTracker::G1GCParPhaseTimesTracker(G1GCPhaseTimes* phase_times, G1GCPhaseTimes::GCParPhases phase, uint worker_id) : + _phase_times(phase_times), _phase(phase), _worker_id(worker_id) { + if (_phase_times != NULL) { + _start_time = os::elapsedTime(); + } +} + +G1GCParPhaseTimesTracker::~G1GCParPhaseTimesTracker() { + if (_phase_times != NULL) { + _phase_times->record_time_secs(_phase, _worker_id, os::elapsedTime() - _start_time); + } +} + diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -26,106 +26,60 @@ #define SHARE_VM_GC_IMPLEMENTATION_G1_G1GCPHASETIMESLOG_HPP #include "memory/allocation.hpp" -#include "gc_interface/gcCause.hpp" - -template -class WorkerDataArray : public CHeapObj { - T* _data; - uint _length; - const char* _print_format; - bool _print_sum; - - NOT_PRODUCT(static const T _uninitialized;) - - // We are caching the sum and average to only have to calculate them once. - // This is not done in an MT-safe way. It is intended to allow single - // threaded code to call sum() and average() multiple times in any order - // without having to worry about the cost. - bool _has_new_data; - T _sum; - double _average; - - public: - WorkerDataArray(uint length, const char* print_format, bool print_sum = true) : - _length(length), _print_format(print_format), _print_sum(print_sum), _has_new_data(true) { - assert(length > 0, "Must have some workers to store data for"); - _data = NEW_C_HEAP_ARRAY(T, _length, mtGC); - } - - ~WorkerDataArray() { - FREE_C_HEAP_ARRAY(T, _data); - } - - void set(uint worker_i, T value) { - assert(worker_i < _length, err_msg("Worker %d is greater than max: %d", worker_i, _length)); - assert(_data[worker_i] == (T)-1, err_msg("Overwriting data for worker %d", worker_i)); - _data[worker_i] = value; - _has_new_data = true; - } - T get(uint worker_i) { - assert(worker_i < _length, err_msg("Worker %d is greater than max: %d", worker_i, _length)); - assert(_data[worker_i] != (T)-1, err_msg("No data to add to for worker %d", worker_i)); - return _data[worker_i]; - } - - void add(uint worker_i, T value) { - assert(worker_i < _length, err_msg("Worker %d is greater than max: %d", worker_i, _length)); - assert(_data[worker_i] != (T)-1, err_msg("No data to add to for worker %d", worker_i)); - _data[worker_i] += value; - _has_new_data = true; - } - - double average(){ - if (_has_new_data) { - calculate_totals(); - } - return _average; - } +class LineBuffer; - T sum() { - if (_has_new_data) { - calculate_totals(); - } - return _sum; - } - - void print(int level, const char* title); - - void reset() PRODUCT_RETURN; - void verify() PRODUCT_RETURN; - - private: - - void calculate_totals(){ - _sum = (T)0; - for (uint i = 0; i < _length; ++i) { - _sum += _data[i]; - } - _average = (double)_sum / (double)_length; - _has_new_data = false; - } -}; +template class WorkerDataArray; class G1GCPhaseTimes : public CHeapObj { + friend class G1GCParPhasePrinter; - private: uint _active_gc_threads; uint _max_gc_threads; - WorkerDataArray _last_gc_worker_start_times_ms; - WorkerDataArray _last_ext_root_scan_times_ms; - WorkerDataArray _last_satb_filtering_times_ms; - WorkerDataArray _last_update_rs_times_ms; - WorkerDataArray _last_update_rs_processed_buffers; - WorkerDataArray _last_scan_rs_times_ms; - WorkerDataArray _last_strong_code_root_scan_times_ms; - WorkerDataArray _last_obj_copy_times_ms; - WorkerDataArray _last_termination_times_ms; - WorkerDataArray _last_termination_attempts; - WorkerDataArray _last_gc_worker_end_times_ms; - WorkerDataArray _last_gc_worker_times_ms; - WorkerDataArray _last_gc_worker_other_times_ms; + public: + enum GCParPhases { + GCWorkerStart, + ExtRootScan, + ThreadRoots, + StringTableRoots, + UniverseRoots, + JNIRoots, + ObjectSynchronizerRoots, + FlatProfilerRoots, + ManagementRoots, + SystemDictionaryRoots, + CLDGRoots, + JVMTIRoots, + CodeCacheRoots, + CMRefRoots, + WaitForStrongCLD, + WeakCLDRoots, + SATBFiltering, + UpdateRS, + ScanRS, + CodeRoots, + ObjCopy, + Termination, + Other, + GCWorkerTotal, + GCWorkerEnd, + StringDedupQueueFixup, + StringDedupTableFixup, + RedirtyCards, + GCParPhasesSentinel + }; + + private: + // Markers for grouping the phases in the GCPhases enum above + static const int GCMainParPhasesLast = GCWorkerEnd; + static const int StringDedupPhasesFirst = StringDedupQueueFixup; + static const int StringDedupPhasesLast = StringDedupTableFixup; + + WorkerDataArray* _gc_par_phases[GCParPhasesSentinel]; + WorkerDataArray* _update_rs_processed_buffers; + WorkerDataArray* _termination_attempts; + WorkerDataArray* _redirtied_cards; double _cur_collection_par_time_ms; double _cur_collection_code_root_fixup_time_ms; @@ -135,9 +89,7 @@ double _cur_evac_fail_restore_remsets; double _cur_evac_fail_remove_self_forwards; - double _cur_string_dedup_fixup_time_ms; - WorkerDataArray _cur_string_dedup_queue_fixup_worker_times_ms; - WorkerDataArray _cur_string_dedup_table_fixup_worker_times_ms; + double _cur_string_dedup_fixup_time_ms; double _cur_clear_ct_time_ms; double _cur_ref_proc_time_ms; @@ -149,8 +101,6 @@ double _recorded_young_cset_choice_time_ms; double _recorded_non_young_cset_choice_time_ms; - WorkerDataArray _last_redirty_logged_cards_time_ms; - WorkerDataArray _last_redirty_logged_cards_processed_cards; double _recorded_redirty_logged_cards_time_ms; double _recorded_young_free_cset_time_ms; @@ -172,54 +122,34 @@ public: G1GCPhaseTimes(uint max_gc_threads); - void note_gc_start(uint active_gc_threads); + void note_gc_start(uint active_gc_threads, bool mark_in_progress); void note_gc_end(); void print(double pause_time_sec); - void record_gc_worker_start_time(uint worker_i, double ms) { - _last_gc_worker_start_times_ms.set(worker_i, ms); - } - - void record_ext_root_scan_time(uint worker_i, double ms) { - _last_ext_root_scan_times_ms.set(worker_i, ms); - } + // record the time a phase took in seconds + void record_time_secs(GCParPhases phase, uint worker_i, double secs); - void record_satb_filtering_time(uint worker_i, double ms) { - _last_satb_filtering_times_ms.set(worker_i, ms); - } + // add a number of seconds to a phase + void add_time_secs(GCParPhases phase, uint worker_i, double secs); - void record_update_rs_time(uint worker_i, double ms) { - _last_update_rs_times_ms.set(worker_i, ms); - } + void record_thread_work_item(GCParPhases phase, uint worker_i, size_t count); - void record_update_rs_processed_buffers(uint worker_i, int processed_buffers) { - _last_update_rs_processed_buffers.set(worker_i, processed_buffers); - } + // return the average time for a phase in milliseconds + double average_time_ms(GCParPhases phase); - void record_scan_rs_time(uint worker_i, double ms) { - _last_scan_rs_times_ms.set(worker_i, ms); - } - - void record_strong_code_root_scan_time(uint worker_i, double ms) { - _last_strong_code_root_scan_times_ms.set(worker_i, ms); - } - - void record_obj_copy_time(uint worker_i, double ms) { - _last_obj_copy_times_ms.set(worker_i, ms); - } + size_t sum_thread_work_items(GCParPhases phase); - void add_obj_copy_time(uint worker_i, double ms) { - _last_obj_copy_times_ms.add(worker_i, ms); - } + private: + double get_time_ms(GCParPhases phase, uint worker_i); + double sum_time_ms(GCParPhases phase); + double min_time_ms(GCParPhases phase); + double max_time_ms(GCParPhases phase); + size_t get_thread_work_item(GCParPhases phase, uint worker_i); + double average_thread_work_items(GCParPhases phase); + size_t min_thread_work_items(GCParPhases phase); + size_t max_thread_work_items(GCParPhases phase); - void record_termination(uint worker_i, double ms, size_t attempts) { - _last_termination_times_ms.set(worker_i, ms); - _last_termination_attempts.set(worker_i, attempts); - } - - void record_gc_worker_end_time(uint worker_i, double ms) { - _last_gc_worker_end_times_ms.set(worker_i, ms); - } + public: void record_clear_ct_time(double ms) { _cur_clear_ct_time_ms = ms; @@ -249,21 +179,10 @@ _cur_evac_fail_remove_self_forwards = ms; } - void note_string_dedup_fixup_start(); - void note_string_dedup_fixup_end(); - void record_string_dedup_fixup_time(double ms) { _cur_string_dedup_fixup_time_ms = ms; } - void record_string_dedup_queue_fixup_worker_time(uint worker_id, double ms) { - _cur_string_dedup_queue_fixup_worker_times_ms.set(worker_id, ms); - } - - void record_string_dedup_table_fixup_worker_time(uint worker_id, double ms) { - _cur_string_dedup_table_fixup_worker_times_ms.set(worker_id, ms); - } - void record_ref_proc_time(double ms) { _cur_ref_proc_time_ms = ms; } @@ -303,14 +222,6 @@ _recorded_non_young_cset_choice_time_ms = time_ms; } - void record_redirty_logged_cards_time_ms(uint worker_i, double time_ms) { - _last_redirty_logged_cards_time_ms.set(worker_i, time_ms); - } - - void record_redirty_logged_cards_processed_cards(uint worker_i, size_t processed_buffers) { - _last_redirty_logged_cards_processed_cards.set(worker_i, processed_buffers); - } - void record_redirty_logged_cards_time_ms(double time_ms) { _recorded_redirty_logged_cards_time_ms = time_ms; } @@ -364,38 +275,16 @@ double fast_reclaim_humongous_time_ms() { return _cur_fast_reclaim_humongous_time_ms; } - - double average_last_update_rs_time() { - return _last_update_rs_times_ms.average(); - } - - int sum_last_update_rs_processed_buffers() { - return _last_update_rs_processed_buffers.sum(); - } - - double average_last_scan_rs_time(){ - return _last_scan_rs_times_ms.average(); - } +}; - double average_last_strong_code_root_scan_time(){ - return _last_strong_code_root_scan_times_ms.average(); - } - - double average_last_obj_copy_time() { - return _last_obj_copy_times_ms.average(); - } - - double average_last_termination_time() { - return _last_termination_times_ms.average(); - } - - double average_last_ext_root_scan_time() { - return _last_ext_root_scan_times_ms.average(); - } - - double average_last_satb_filtering_times_ms() { - return _last_satb_filtering_times_ms.average(); - } +class G1GCParPhaseTimesTracker : public StackObj { + double _start_time; + G1GCPhaseTimes::GCParPhases _phase; + G1GCPhaseTimes* _phase_times; + uint _worker_id; +public: + G1GCParPhaseTimesTracker(G1GCPhaseTimes* phase_times, G1GCPhaseTimes::GCParPhases phase, uint worker_id); + ~G1GCParPhaseTimesTracker(); }; #endif // SHARE_VM_GC_IMPLEMENTATION_G1_G1GCPHASETIMESLOG_HPP diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/g1Log.hpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1Log.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1Log.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -28,6 +28,7 @@ #include "memory/allocation.hpp" class G1Log : public AllStatic { + public: typedef enum { LevelNone, LevelFine, @@ -35,6 +36,7 @@ LevelFinest } LogLevel; + private: static LogLevel _level; public: @@ -50,6 +52,10 @@ return _level == LevelFinest; } + static LogLevel level() { + return _level; + } + static void init(); }; diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -31,6 +31,7 @@ #include "code/icBuffer.hpp" #include "gc_implementation/g1/g1Log.hpp" #include "gc_implementation/g1/g1MarkSweep.hpp" +#include "gc_implementation/g1/g1RootProcessor.hpp" #include "gc_implementation/g1/g1StringDedup.hpp" #include "gc_implementation/shared/gcHeapSummary.hpp" #include "gc_implementation/shared/gcTimer.hpp" @@ -125,21 +126,22 @@ GCTraceTime tm("phase 1", G1Log::fine() && Verbose, true, gc_timer(), gc_tracer()->gc_id()); GenMarkSweep::trace(" 1"); - SharedHeap* sh = SharedHeap::heap(); + G1CollectedHeap* g1h = G1CollectedHeap::heap(); // Need cleared claim bits for the roots processing ClassLoaderDataGraph::clear_claimed_marks(); MarkingCodeBlobClosure follow_code_closure(&GenMarkSweep::follow_root_closure, !CodeBlobToOopClosure::FixRelocations); - sh->process_strong_roots(true, // activate StrongRootsScope - SharedHeap::SO_None, - &GenMarkSweep::follow_root_closure, - &GenMarkSweep::follow_cld_closure, - &follow_code_closure); + { + G1RootProcessor root_processor(g1h); + root_processor.process_strong_roots(&GenMarkSweep::follow_root_closure, + &GenMarkSweep::follow_cld_closure, + &follow_code_closure); + } // Process reference objects found during marking ReferenceProcessor* rp = GenMarkSweep::ref_processor(); - assert(rp == G1CollectedHeap::heap()->ref_processor_stw(), "Sanity"); + assert(rp == g1h->ref_processor_stw(), "Sanity"); rp->setup_policy(clear_all_softrefs); const ReferenceProcessorStats& stats = @@ -225,6 +227,12 @@ } }; +class G1AlwaysTrueClosure: public BoolObjectClosure { +public: + bool do_object_b(oop p) { return true; } +}; +static G1AlwaysTrueClosure always_true; + void G1MarkSweep::mark_sweep_phase3() { G1CollectedHeap* g1h = G1CollectedHeap::heap(); @@ -232,24 +240,23 @@ GCTraceTime tm("phase 3", G1Log::fine() && Verbose, true, gc_timer(), gc_tracer()->gc_id()); GenMarkSweep::trace("3"); - SharedHeap* sh = SharedHeap::heap(); - // Need cleared claim bits for the roots processing ClassLoaderDataGraph::clear_claimed_marks(); CodeBlobToOopClosure adjust_code_closure(&GenMarkSweep::adjust_pointer_closure, CodeBlobToOopClosure::FixRelocations); - sh->process_all_roots(true, // activate StrongRootsScope - SharedHeap::SO_AllCodeCache, - &GenMarkSweep::adjust_pointer_closure, - &GenMarkSweep::adjust_cld_closure, - &adjust_code_closure); + { + G1RootProcessor root_processor(g1h); + root_processor.process_all_roots(&GenMarkSweep::adjust_pointer_closure, + &GenMarkSweep::adjust_cld_closure, + &adjust_code_closure); + } assert(GenMarkSweep::ref_processor() == g1h->ref_processor_stw(), "Sanity"); g1h->ref_processor_stw()->weak_oops_do(&GenMarkSweep::adjust_pointer_closure); // Now adjust pointers in remaining weak roots. (All of which should // have been cleared if they pointed to non-surviving objects.) - sh->process_weak_roots(&GenMarkSweep::adjust_pointer_closure); + JNIHandles::weak_oops_do(&always_true, &GenMarkSweep::adjust_pointer_closure); if (G1StringDedup::is_enabled()) { G1StringDedup::oops_do(&GenMarkSweep::adjust_pointer_closure); diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1OopClosures.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -109,6 +109,18 @@ template void do_klass_barrier(T* p, oop new_obj); }; +enum G1Barrier { + G1BarrierNone, + G1BarrierEvac, + G1BarrierKlass +}; + +enum G1Mark { + G1MarkNone, + G1MarkFromRoot, + G1MarkPromotedFromRoot +}; + template class G1ParCopyClosure : public G1ParCopyHelper { private: diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/g1ParScanThreadState.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1ParScanThreadState.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1ParScanThreadState.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -226,6 +226,8 @@ } assert(obj_ptr != NULL, "when we get here, allocation should have succeeded"); + assert(_g1h->is_in_reserved(obj_ptr), "Allocated memory should be in the heap"); + #ifndef PRODUCT // Should this evacuation fail? if (_g1h->evacuation_should_fail()) { diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/g1RegionToSpaceMapper.hpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1RegionToSpaceMapper.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1RegionToSpaceMapper.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -57,6 +57,9 @@ public: MemRegion reserved() { return _storage.reserved(); } + size_t reserved_size() { return _storage.reserved_size(); } + size_t committed_size() { return _storage.committed_size(); } + void set_mapping_changed_listener(G1MappingChangedListener* listener) { _listener = listener; } virtual ~G1RegionToSpaceMapper() { diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 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 @@ -79,7 +79,6 @@ _cards_scanned(NULL), _total_cards_scanned(0), _prev_period_summary() { - _seq_task = new SubTasksDone(NumSeqTasks); _cset_rs_update_cl = NEW_C_HEAP_ARRAY(G1ParPushHeapRSClosure*, n_workers(), mtGC); for (uint i = 0; i < n_workers(); i++) { _cset_rs_update_cl[i] = NULL; @@ -90,7 +89,6 @@ } G1RemSet::~G1RemSet() { - delete _seq_task; for (uint i = 0; i < n_workers(); i++) { assert(_cset_rs_update_cl[i] == NULL, "it should be"); } @@ -109,7 +107,7 @@ double _strong_code_root_scan_time_sec; uint _worker_i; - int _block_size; + size_t _block_size; bool _try_claimed; public: @@ -127,7 +125,7 @@ _g1h = G1CollectedHeap::heap(); _bot_shared = _g1h->bot_shared(); _ct_bs = _g1h->g1_barrier_set(); - _block_size = MAX2(G1RSetScanBlockSize, 1); + _block_size = MAX2(G1RSetScanBlockSize, 1); } void set_try_claimed() { _try_claimed = true; } @@ -248,9 +246,8 @@ assert(_cards_scanned != NULL, "invariant"); _cards_scanned[worker_i] = scanRScl.cards_done(); - _g1p->phase_times()->record_scan_rs_time(worker_i, scan_rs_time_sec * 1000.0); - _g1p->phase_times()->record_strong_code_root_scan_time(worker_i, - scanRScl.strong_code_root_scan_time_sec() * 1000.0); + _g1p->phase_times()->record_time_secs(G1GCPhaseTimes::ScanRS, worker_i, scan_rs_time_sec); + _g1p->phase_times()->record_time_secs(G1GCPhaseTimes::CodeRoots, worker_i, scanRScl.strong_code_root_scan_time_sec()); } // Closure used for updating RSets and recording references that @@ -287,13 +284,11 @@ }; void G1RemSet::updateRS(DirtyCardQueue* into_cset_dcq, uint worker_i) { - double start = os::elapsedTime(); + G1GCParPhaseTimesTracker x(_g1p->phase_times(), G1GCPhaseTimes::UpdateRS, worker_i); // Apply the given closure to all remaining log entries. RefineRecordRefsIntoCSCardTableEntryClosure into_cset_update_rs_cl(_g1, into_cset_dcq); _g1->iterate_dirty_card_closure(&into_cset_update_rs_cl, into_cset_dcq, false, worker_i); - - _g1p->phase_times()->record_update_rs_time(worker_i, (os::elapsedTime() - start) * 1000.0); } void G1RemSet::cleanupHRRS() { diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/g1RemSet.hpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -58,7 +58,6 @@ }; CardTableModRefBS* _ct_bs; - SubTasksDone* _seq_task; G1CollectorPolicy* _g1p; ConcurrentG1Refine* _cg1r; diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/g1RootProcessor.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1RootProcessor.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -0,0 +1,337 @@ +/* + * Copyright (c) 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. + * + */ + +#include "precompiled.hpp" + +#include "classfile/stringTable.hpp" +#include "classfile/systemDictionary.hpp" +#include "code/codeCache.hpp" +#include "gc_implementation/g1/bufferingOopClosure.hpp" +#include "gc_implementation/g1/g1CollectedHeap.inline.hpp" +#include "gc_implementation/g1/g1CollectorPolicy.hpp" +#include "gc_implementation/g1/g1GCPhaseTimes.hpp" +#include "gc_implementation/g1/g1RemSet.inline.hpp" +#include "gc_implementation/g1/g1RootProcessor.hpp" +#include "memory/allocation.inline.hpp" +#include "runtime/fprofiler.hpp" +#include "runtime/mutex.hpp" +#include "services/management.hpp" + +class G1CodeBlobClosure : public CodeBlobClosure { + class HeapRegionGatheringOopClosure : public OopClosure { + G1CollectedHeap* _g1h; + OopClosure* _work; + nmethod* _nm; + + template + void do_oop_work(T* p) { + _work->do_oop(p); + T oop_or_narrowoop = oopDesc::load_heap_oop(p); + if (!oopDesc::is_null(oop_or_narrowoop)) { + oop o = oopDesc::decode_heap_oop_not_null(oop_or_narrowoop); + HeapRegion* hr = _g1h->heap_region_containing_raw(o); + assert(!_g1h->obj_in_cs(o) || hr->rem_set()->strong_code_roots_list_contains(_nm), "if o still in CS then evacuation failed and nm must already be in the remset"); + hr->add_strong_code_root(_nm); + } + } + + public: + HeapRegionGatheringOopClosure(OopClosure* oc) : _g1h(G1CollectedHeap::heap()), _work(oc), _nm(NULL) {} + + void do_oop(oop* o) { + do_oop_work(o); + } + + void do_oop(narrowOop* o) { + do_oop_work(o); + } + + void set_nm(nmethod* nm) { + _nm = nm; + } + }; + + HeapRegionGatheringOopClosure _oc; +public: + G1CodeBlobClosure(OopClosure* oc) : _oc(oc) {} + + void do_code_blob(CodeBlob* cb) { + nmethod* nm = cb->as_nmethod_or_null(); + if (nm != NULL) { + if (!nm->test_set_oops_do_mark()) { + _oc.set_nm(nm); + nm->oops_do(&_oc); + nm->fix_oop_relocations(); + } + } + } +}; + + +void G1RootProcessor::worker_has_discovered_all_strong_classes() { + uint n_workers = _g1h->n_par_threads(); + assert(ClassUnloadingWithConcurrentMark, "Currently only needed when doing G1 Class Unloading"); + + uint new_value = (uint)Atomic::add(1, &_n_workers_discovered_strong_classes); + if (new_value == n_workers) { + // This thread is last. Notify the others. + MonitorLockerEx ml(&_lock, Mutex::_no_safepoint_check_flag); + _lock.notify_all(); + } +} + +void G1RootProcessor::wait_until_all_strong_classes_discovered() { + uint n_workers = _g1h->n_par_threads(); + assert(ClassUnloadingWithConcurrentMark, "Currently only needed when doing G1 Class Unloading"); + + if ((uint)_n_workers_discovered_strong_classes != n_workers) { + MonitorLockerEx ml(&_lock, Mutex::_no_safepoint_check_flag); + while ((uint)_n_workers_discovered_strong_classes != n_workers) { + _lock.wait(Mutex::_no_safepoint_check_flag, 0, false); + } + } +} + +G1RootProcessor::G1RootProcessor(G1CollectedHeap* g1h) : + _g1h(g1h), + _process_strong_tasks(new SubTasksDone(G1RP_PS_NumElements)), + _srs(g1h), + _lock(Mutex::leaf, "G1 Root Scanning barrier lock", false, Monitor::_safepoint_check_never), + _n_workers_discovered_strong_classes(0) {} + +void G1RootProcessor::evacuate_roots(OopClosure* scan_non_heap_roots, + OopClosure* scan_non_heap_weak_roots, + CLDClosure* scan_strong_clds, + CLDClosure* scan_weak_clds, + bool trace_metadata, + uint worker_i) { + // First scan the shared roots. + double ext_roots_start = os::elapsedTime(); + G1GCPhaseTimes* phase_times = _g1h->g1_policy()->phase_times(); + + BufferingOopClosure buf_scan_non_heap_roots(scan_non_heap_roots); + BufferingOopClosure buf_scan_non_heap_weak_roots(scan_non_heap_weak_roots); + + OopClosure* const weak_roots = &buf_scan_non_heap_weak_roots; + OopClosure* const strong_roots = &buf_scan_non_heap_roots; + + // CodeBlobClosures are not interoperable with BufferingOopClosures + G1CodeBlobClosure root_code_blobs(scan_non_heap_roots); + + process_java_roots(strong_roots, + trace_metadata ? scan_strong_clds : NULL, + scan_strong_clds, + trace_metadata ? NULL : scan_weak_clds, + &root_code_blobs, + phase_times, + worker_i); + + // This is the point where this worker thread will not find more strong CLDs/nmethods. + // Report this so G1 can synchronize the strong and weak CLDs/nmethods processing. + if (trace_metadata) { + worker_has_discovered_all_strong_classes(); + } + + process_vm_roots(strong_roots, weak_roots, phase_times, worker_i); + + { + // Now the CM ref_processor roots. + G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::CMRefRoots, worker_i); + if (!_process_strong_tasks->is_task_claimed(G1RP_PS_refProcessor_oops_do)) { + // We need to treat the discovered reference lists of the + // concurrent mark ref processor as roots and keep entries + // (which are added by the marking threads) on them live + // until they can be processed at the end of marking. + _g1h->ref_processor_cm()->weak_oops_do(&buf_scan_non_heap_roots); + } + } + + if (trace_metadata) { + { + G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::WaitForStrongCLD, worker_i); + // Barrier to make sure all workers passed + // the strong CLD and strong nmethods phases. + wait_until_all_strong_classes_discovered(); + } + + // Now take the complement of the strong CLDs. + G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::WeakCLDRoots, worker_i); + ClassLoaderDataGraph::roots_cld_do(NULL, scan_weak_clds); + } else { + phase_times->record_time_secs(G1GCPhaseTimes::WaitForStrongCLD, worker_i, 0.0); + phase_times->record_time_secs(G1GCPhaseTimes::WeakCLDRoots, worker_i, 0.0); + } + + // Finish up any enqueued closure apps (attributed as object copy time). + buf_scan_non_heap_roots.done(); + buf_scan_non_heap_weak_roots.done(); + + double obj_copy_time_sec = buf_scan_non_heap_roots.closure_app_seconds() + + buf_scan_non_heap_weak_roots.closure_app_seconds(); + + phase_times->record_time_secs(G1GCPhaseTimes::ObjCopy, worker_i, obj_copy_time_sec); + + double ext_root_time_sec = os::elapsedTime() - ext_roots_start - obj_copy_time_sec; + + phase_times->record_time_secs(G1GCPhaseTimes::ExtRootScan, worker_i, ext_root_time_sec); + + // During conc marking we have to filter the per-thread SATB buffers + // to make sure we remove any oops into the CSet (which will show up + // as implicitly live). + { + G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::SATBFiltering, worker_i); + if (!_process_strong_tasks->is_task_claimed(G1RP_PS_filter_satb_buffers) && _g1h->mark_in_progress()) { + JavaThread::satb_mark_queue_set().filter_thread_buffers(); + } + } + + _process_strong_tasks->all_tasks_completed(); +} + +void G1RootProcessor::process_strong_roots(OopClosure* oops, + CLDClosure* clds, + CodeBlobClosure* blobs) { + + process_java_roots(oops, clds, clds, NULL, blobs, NULL, 0); + process_vm_roots(oops, NULL, NULL, 0); + + _process_strong_tasks->all_tasks_completed(); +} + +void G1RootProcessor::process_all_roots(OopClosure* oops, + CLDClosure* clds, + CodeBlobClosure* blobs) { + + process_java_roots(oops, NULL, clds, clds, NULL, NULL, 0); + process_vm_roots(oops, oops, NULL, 0); + + if (!_process_strong_tasks->is_task_claimed(G1RP_PS_CodeCache_oops_do)) { + CodeCache::blobs_do(blobs); + } + + _process_strong_tasks->all_tasks_completed(); +} + +void G1RootProcessor::process_java_roots(OopClosure* strong_roots, + CLDClosure* thread_stack_clds, + CLDClosure* strong_clds, + CLDClosure* weak_clds, + CodeBlobClosure* strong_code, + G1GCPhaseTimes* phase_times, + uint worker_i) { + assert(thread_stack_clds == NULL || weak_clds == NULL, "There is overlap between those, only one may be set"); + // Iterating over the CLDG and the Threads are done early to allow us to + // first process the strong CLDs and nmethods and then, after a barrier, + // let the thread process the weak CLDs and nmethods. + { + G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::CLDGRoots, worker_i); + if (!_process_strong_tasks->is_task_claimed(G1RP_PS_ClassLoaderDataGraph_oops_do)) { + ClassLoaderDataGraph::roots_cld_do(strong_clds, weak_clds); + } + } + + { + G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::ThreadRoots, worker_i); + Threads::possibly_parallel_oops_do(strong_roots, thread_stack_clds, strong_code); + } +} + +void G1RootProcessor::process_vm_roots(OopClosure* strong_roots, + OopClosure* weak_roots, + G1GCPhaseTimes* phase_times, + uint worker_i) { + { + G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::UniverseRoots, worker_i); + if (!_process_strong_tasks->is_task_claimed(G1RP_PS_Universe_oops_do)) { + Universe::oops_do(strong_roots); + } + } + + { + G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::JNIRoots, worker_i); + if (!_process_strong_tasks->is_task_claimed(G1RP_PS_JNIHandles_oops_do)) { + JNIHandles::oops_do(strong_roots); + } + } + + { + G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::ObjectSynchronizerRoots, worker_i); + if (!_process_strong_tasks-> is_task_claimed(G1RP_PS_ObjectSynchronizer_oops_do)) { + ObjectSynchronizer::oops_do(strong_roots); + } + } + + { + G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::FlatProfilerRoots, worker_i); + if (!_process_strong_tasks->is_task_claimed(G1RP_PS_FlatProfiler_oops_do)) { + FlatProfiler::oops_do(strong_roots); + } + } + + { + G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::ManagementRoots, worker_i); + if (!_process_strong_tasks->is_task_claimed(G1RP_PS_Management_oops_do)) { + Management::oops_do(strong_roots); + } + } + + { + G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::JVMTIRoots, worker_i); + if (!_process_strong_tasks->is_task_claimed(G1RP_PS_jvmti_oops_do)) { + JvmtiExport::oops_do(strong_roots); + } + } + + { + G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::SystemDictionaryRoots, worker_i); + if (!_process_strong_tasks->is_task_claimed(G1RP_PS_SystemDictionary_oops_do)) { + SystemDictionary::roots_oops_do(strong_roots, weak_roots); + } + } + + { + G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::StringTableRoots, worker_i); + // All threads execute the following. A specific chunk of buckets + // from the StringTable are the individual tasks. + if (weak_roots != NULL) { + StringTable::possibly_parallel_oops_do(weak_roots); + } + } +} + +void G1RootProcessor::scan_remembered_sets(G1ParPushHeapRSClosure* scan_rs, + OopClosure* scan_non_heap_weak_roots, + uint worker_i) { + G1GCPhaseTimes* phase_times = _g1h->g1_policy()->phase_times(); + G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::CodeCacheRoots, worker_i); + + // Now scan the complement of the collection set. + G1CodeBlobClosure scavenge_cs_nmethods(scan_non_heap_weak_roots); + + _g1h->g1_rem_set()->oops_into_collection_set_do(scan_rs, &scavenge_cs_nmethods, worker_i); +} + +void G1RootProcessor::set_num_workers(int active_workers) { + _process_strong_tasks->set_n_threads(active_workers); +} diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/g1RootProcessor.hpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1RootProcessor.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -0,0 +1,121 @@ +/* + * Copyright (c) 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. + * + */ + +#ifndef SHARE_VM_GC_IMPLEMENTATION_G1_ROOTPROCESSOR_HPP +#define SHARE_VM_GC_IMPLEMENTATION_G1_ROOTPROCESSOR_HPP + +#include "memory/allocation.hpp" +#include "memory/sharedHeap.hpp" +#include "runtime/mutex.hpp" + +class CLDClosure; +class CodeBlobClosure; +class G1CollectedHeap; +class G1GCPhaseTimes; +class G1ParPushHeapRSClosure; +class Monitor; +class OopClosure; +class SubTasksDone; + +// Scoped object to assist in applying oop, CLD and code blob closures to +// root locations. Handles claiming of different root scanning tasks +// and takes care of global state for root scanning via a StrongRootsScope. +// In the parallel case there is a shared G1RootProcessor object where all +// worker thread call the process_roots methods. +class G1RootProcessor : public StackObj { + G1CollectedHeap* _g1h; + SubTasksDone* _process_strong_tasks; + SharedHeap::StrongRootsScope _srs; + + // Used to implement the Thread work barrier. + Monitor _lock; + volatile jint _n_workers_discovered_strong_classes; + + enum G1H_process_roots_tasks { + G1RP_PS_Universe_oops_do, + G1RP_PS_JNIHandles_oops_do, + G1RP_PS_ObjectSynchronizer_oops_do, + G1RP_PS_FlatProfiler_oops_do, + G1RP_PS_Management_oops_do, + G1RP_PS_SystemDictionary_oops_do, + G1RP_PS_ClassLoaderDataGraph_oops_do, + G1RP_PS_jvmti_oops_do, + G1RP_PS_CodeCache_oops_do, + G1RP_PS_filter_satb_buffers, + G1RP_PS_refProcessor_oops_do, + // Leave this one last. + G1RP_PS_NumElements + }; + + void worker_has_discovered_all_strong_classes(); + void wait_until_all_strong_classes_discovered(); + + void process_java_roots(OopClosure* scan_non_heap_roots, + CLDClosure* thread_stack_clds, + CLDClosure* scan_strong_clds, + CLDClosure* scan_weak_clds, + CodeBlobClosure* scan_strong_code, + G1GCPhaseTimes* phase_times, + uint worker_i); + + void process_vm_roots(OopClosure* scan_non_heap_roots, + OopClosure* scan_non_heap_weak_roots, + G1GCPhaseTimes* phase_times, + uint worker_i); + +public: + G1RootProcessor(G1CollectedHeap* g1h); + + // Apply closures to the strongly and weakly reachable roots in the system + // in a single pass. + // Record and report timing measurements for sub phases using the worker_i + void evacuate_roots(OopClosure* scan_non_heap_roots, + OopClosure* scan_non_heap_weak_roots, + CLDClosure* scan_strong_clds, + CLDClosure* scan_weak_clds, + bool trace_metadata, + uint worker_i); + + // Apply oops, clds and blobs to all strongly reachable roots in the system + void process_strong_roots(OopClosure* oops, + CLDClosure* clds, + CodeBlobClosure* blobs); + + // Apply oops, clds and blobs to strongly and weakly reachable roots in the system + void process_all_roots(OopClosure* oops, + CLDClosure* clds, + CodeBlobClosure* blobs); + + // Apply scan_rs to all locations in the union of the remembered sets for all + // regions in the collection set + // (having done "set_region" to indicate the region in which the root resides), + void scan_remembered_sets(G1ParPushHeapRSClosure* scan_rs, + OopClosure* scan_non_heap_weak_roots, + uint worker_i); + + // Inform the root processor about the number of worker threads + void set_num_workers(int active_workers); +}; + +#endif // SHARE_VM_GC_IMPLEMENTATION_G1_ROOTPROCESSOR_HPP diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/g1StringDedup.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1StringDedup.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1StringDedup.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -106,7 +106,7 @@ void G1StringDedup::oops_do(OopClosure* keep_alive) { assert(is_enabled(), "String deduplication not enabled"); - unlink_or_oops_do(NULL, keep_alive); + unlink_or_oops_do(NULL, keep_alive, true /* allow_resize_and_rehash */); } void G1StringDedup::unlink(BoolObjectClosure* is_alive) { @@ -123,45 +123,39 @@ class G1StringDedupUnlinkOrOopsDoTask : public AbstractGangTask { private: G1StringDedupUnlinkOrOopsDoClosure _cl; + G1GCPhaseTimes* _phase_times; public: G1StringDedupUnlinkOrOopsDoTask(BoolObjectClosure* is_alive, OopClosure* keep_alive, - bool allow_resize_and_rehash) : + bool allow_resize_and_rehash, + G1GCPhaseTimes* phase_times) : AbstractGangTask("G1StringDedupUnlinkOrOopsDoTask"), - _cl(is_alive, keep_alive, allow_resize_and_rehash) { - } + _cl(is_alive, keep_alive, allow_resize_and_rehash), _phase_times(phase_times) { } virtual void work(uint worker_id) { - double queue_fixup_start = os::elapsedTime(); - G1StringDedupQueue::unlink_or_oops_do(&_cl); - - double table_fixup_start = os::elapsedTime(); - G1StringDedupTable::unlink_or_oops_do(&_cl, worker_id); - - double queue_fixup_time_ms = (table_fixup_start - queue_fixup_start) * 1000.0; - double table_fixup_time_ms = (os::elapsedTime() - table_fixup_start) * 1000.0; - G1CollectorPolicy* g1p = G1CollectedHeap::heap()->g1_policy(); - g1p->phase_times()->record_string_dedup_queue_fixup_worker_time(worker_id, queue_fixup_time_ms); - g1p->phase_times()->record_string_dedup_table_fixup_worker_time(worker_id, table_fixup_time_ms); + { + G1GCParPhaseTimesTracker x(_phase_times, G1GCPhaseTimes::StringDedupQueueFixup, worker_id); + G1StringDedupQueue::unlink_or_oops_do(&_cl); + } + { + G1GCParPhaseTimesTracker x(_phase_times, G1GCPhaseTimes::StringDedupTableFixup, worker_id); + G1StringDedupTable::unlink_or_oops_do(&_cl, worker_id); + } } }; -void G1StringDedup::unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* keep_alive, bool allow_resize_and_rehash) { +void G1StringDedup::unlink_or_oops_do(BoolObjectClosure* is_alive, + OopClosure* keep_alive, + bool allow_resize_and_rehash, + G1GCPhaseTimes* phase_times) { assert(is_enabled(), "String deduplication not enabled"); - G1CollectorPolicy* g1p = G1CollectedHeap::heap()->g1_policy(); - g1p->phase_times()->note_string_dedup_fixup_start(); - double fixup_start = os::elapsedTime(); - G1StringDedupUnlinkOrOopsDoTask task(is_alive, keep_alive, allow_resize_and_rehash); + G1StringDedupUnlinkOrOopsDoTask task(is_alive, keep_alive, allow_resize_and_rehash, phase_times); G1CollectedHeap* g1h = G1CollectedHeap::heap(); g1h->set_par_threads(); g1h->workers()->run_task(&task); g1h->set_par_threads(0); - - double fixup_time_ms = (os::elapsedTime() - fixup_start) * 1000.0; - g1p->phase_times()->record_string_dedup_fixup_time(fixup_time_ms); - g1p->phase_times()->note_string_dedup_fixup_end(); } void G1StringDedup::threads_do(ThreadClosure* tc) { diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/g1StringDedup.hpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1StringDedup.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1StringDedup.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -91,6 +91,7 @@ class ThreadClosure; class outputStream; class G1StringDedupTable; +class G1GCPhaseTimes; // // Main interface for interacting with string deduplication. @@ -131,7 +132,7 @@ static void oops_do(OopClosure* keep_alive); static void unlink(BoolObjectClosure* is_alive); static void unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* keep_alive, - bool allow_resize_and_rehash = true); + bool allow_resize_and_rehash, G1GCPhaseTimes* phase_times = NULL); static void threads_do(ThreadClosure* tc); static void print_worker_threads_on(outputStream* st); diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 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 @@ -86,7 +86,7 @@ "If true, enable reference discovery during concurrent " \ "marking and reference processing at the end of remark.") \ \ - product(intx, G1SATBBufferSize, 1*K, \ + product(size_t, G1SATBBufferSize, 1*K, \ "Number of entries in an SATB log buffer.") \ \ develop(intx, G1SATBProcessCompletedThreshold, 20, \ @@ -112,7 +112,7 @@ "Prints the liveness information for all regions in the heap " \ "at the end of a marking cycle.") \ \ - product(intx, G1UpdateBufferSize, 256, \ + product(size_t, G1UpdateBufferSize, 256, \ "Size of an update buffer") \ \ product(intx, G1ConcRefinementYellowZone, 0, \ @@ -148,7 +148,7 @@ "Select green, yellow and red zones adaptively to meet the " \ "the pause requirements.") \ \ - product(uintx, G1ConcRSLogCacheSize, 10, \ + product(size_t, G1ConcRSLogCacheSize, 10, \ "Log base 2 of the length of conc RS hot-card cache.") \ \ product(uintx, G1ConcRSHotCardLimit, 4, \ @@ -210,7 +210,7 @@ "When set, G1 will fail when it encounters an FP 'error', " \ "so as to allow debugging") \ \ - product(uintx, G1HeapRegionSize, 0, \ + product(size_t, G1HeapRegionSize, 0, \ "Size of the G1 regions.") \ \ product(uintx, G1ConcRefinementThreads, 0, \ @@ -220,7 +220,7 @@ develop(bool, G1VerifyCTCleanup, false, \ "Verify card table cleanup.") \ \ - product(uintx, G1RSetScanBlockSize, 64, \ + product(size_t, G1RSetScanBlockSize, 64, \ "Size of a work unit of cards claimed by a worker thread" \ "during RSet scanning.") \ \ diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/g1_specialized_oop_closures.hpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1_specialized_oop_closures.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1_specialized_oop_closures.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 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 @@ -30,23 +30,8 @@ // non-virtually, using a mechanism defined in this file. Extend these // macros in the obvious way to add specializations for new closures. -enum G1Barrier { - G1BarrierNone, - G1BarrierEvac, - G1BarrierKlass -}; - -enum G1Mark { - G1MarkNone, - G1MarkFromRoot, - G1MarkPromotedFromRoot -}; - // Forward declarations. -template -class G1ParCopyClosure; - class G1ParScanClosure; class G1ParPushHeapRSClosure; @@ -61,26 +46,16 @@ class G1InvokeIfNotTriggeredClosure; class G1UpdateRSOrPushRefOopClosure; -#ifdef FURTHER_SPECIALIZED_OOP_OOP_ITERATE_CLOSURES -#error "FURTHER_SPECIALIZED_OOP_OOP_ITERATE_CLOSURES already defined." -#endif - -#define FURTHER_SPECIALIZED_OOP_OOP_ITERATE_CLOSURES(f) \ - f(G1ParScanClosure,_nv) \ - f(G1ParPushHeapRSClosure,_nv) \ - f(FilterIntoCSClosure,_nv) \ - f(FilterOutOfRegionClosure,_nv) \ - f(G1CMOopClosure,_nv) \ - f(G1RootRegionScanClosure,_nv) \ - f(G1Mux2Closure,_nv) \ - f(G1TriggerClosure,_nv) \ - f(G1InvokeIfNotTriggeredClosure,_nv) \ +#define SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_G1(f) \ + f(G1ParScanClosure,_nv) \ + f(G1ParPushHeapRSClosure,_nv) \ + f(FilterIntoCSClosure,_nv) \ + f(FilterOutOfRegionClosure,_nv) \ + f(G1CMOopClosure,_nv) \ + f(G1RootRegionScanClosure,_nv) \ + f(G1Mux2Closure,_nv) \ + f(G1TriggerClosure,_nv) \ + f(G1InvokeIfNotTriggeredClosure,_nv) \ f(G1UpdateRSOrPushRefOopClosure,_nv) -#ifdef FURTHER_SPECIALIZED_SINCE_SAVE_MARKS_CLOSURES -#error "FURTHER_SPECIALIZED_SINCE_SAVE_MARKS_CLOSURES already defined." -#endif - -#define FURTHER_SPECIALIZED_SINCE_SAVE_MARKS_CLOSURES(f) - #endif // SHARE_VM_GC_IMPLEMENTATION_G1_G1_SPECIALIZED_OOP_CLOSURES_HPP diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -106,18 +106,18 @@ } void HeapRegion::setup_heap_region_size(size_t initial_heap_size, size_t max_heap_size) { - uintx region_size = G1HeapRegionSize; + size_t region_size = G1HeapRegionSize; if (FLAG_IS_DEFAULT(G1HeapRegionSize)) { size_t average_heap_size = (initial_heap_size + max_heap_size) / 2; region_size = MAX2(average_heap_size / HeapRegionBounds::target_number(), - (uintx) HeapRegionBounds::min_size()); + HeapRegionBounds::min_size()); } int region_size_log = log2_long((jlong) region_size); // Recalculate the region size to make sure it's a power of // 2. This means that region_size is the largest power of 2 that's // <= what we've calculated so far. - region_size = ((uintx)1 << region_size_log); + region_size = ((size_t)1 << region_size_log); // Now make sure that we don't go over or under our limits. if (region_size < HeapRegionBounds::min_size()) { @@ -139,7 +139,7 @@ guarantee(GrainBytes == 0, "we should only set it once"); // The cast to int is safe, given that we've bounded region_size by // MIN_REGION_SIZE and MAX_REGION_SIZE. - GrainBytes = (size_t)region_size; + GrainBytes = region_size; guarantee(GrainWords == 0, "we should only set it once"); GrainWords = GrainBytes >> LogHeapWordSize; @@ -933,6 +933,16 @@ _offsets.resize(new_end - bottom()); } +#ifndef PRODUCT +void G1OffsetTableContigSpace::mangle_unused_area() { + mangle_unused_area_complete(); +} + +void G1OffsetTableContigSpace::mangle_unused_area_complete() { + SpaceMangler::mangle_region(MemRegion(top(), end())); +} +#endif + void G1OffsetTableContigSpace::print() const { print_short(); gclog_or_tty->print_cr(" [" INTPTR_FORMAT ", " INTPTR_FORMAT ", " diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/heapRegion.hpp --- a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -27,7 +27,6 @@ #include "gc_implementation/g1/g1AllocationContext.hpp" #include "gc_implementation/g1/g1BlockOffsetTable.hpp" -#include "gc_implementation/g1/g1_specialized_oop_closures.hpp" #include "gc_implementation/g1/heapRegionType.hpp" #include "gc_implementation/g1/survRateGroup.hpp" #include "gc_implementation/shared/ageTable.hpp" @@ -155,6 +154,9 @@ void set_bottom(HeapWord* value); void set_end(HeapWord* value); + void mangle_unused_area() PRODUCT_RETURN; + void mangle_unused_area_complete() PRODUCT_RETURN; + HeapWord* scan_top() const; void record_timestamp(); void reset_gc_time_stamp() { _gc_time_stamp = 0; } diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/heapRegionManager.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/heapRegionManager.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegionManager.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -145,6 +145,24 @@ } } +MemoryUsage HeapRegionManager::get_auxiliary_data_memory_usage() const { + size_t used_sz = + _prev_bitmap_mapper->committed_size() + + _next_bitmap_mapper->committed_size() + + _bot_mapper->committed_size() + + _cardtable_mapper->committed_size() + + _card_counts_mapper->committed_size(); + + size_t committed_sz = + _prev_bitmap_mapper->reserved_size() + + _next_bitmap_mapper->reserved_size() + + _bot_mapper->reserved_size() + + _cardtable_mapper->reserved_size() + + _card_counts_mapper->reserved_size(); + + return MemoryUsage(0, used_sz, committed_sz, committed_sz); +} + uint HeapRegionManager::expand_by(uint num_regions) { return expand_at(0, num_regions); } diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/g1/heapRegionManager.hpp --- a/hotspot/src/share/vm/gc_implementation/g1/heapRegionManager.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegionManager.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 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 @@ -28,6 +28,7 @@ #include "gc_implementation/g1/g1BiasedArray.hpp" #include "gc_implementation/g1/g1RegionToSpaceMapper.hpp" #include "gc_implementation/g1/heapRegionSet.hpp" +#include "services/memoryUsage.hpp" class HeapRegion; class HeapRegionClosure; @@ -196,6 +197,8 @@ // Return the maximum number of regions in the heap. uint max_length() const { return (uint)_regions.length(); } + MemoryUsage get_auxiliary_data_memory_usage() const; + MemRegion reserved() const { return MemRegion(heap_bottom(), heap_end()); } // Expand the sequence to reflect that the heap has grown. Either create new diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp --- a/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -23,6 +23,7 @@ */ #include "precompiled.hpp" +#include "gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp" #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp" #include "gc_implementation/parNew/parNewGeneration.hpp" #include "gc_implementation/parNew/parOopClosures.inline.hpp" @@ -325,7 +326,7 @@ private: ParallelTaskTerminator& _term; ParNewGeneration& _gen; - Generation& _next_gen; + Generation& _old_gen; public: bool is_valid(int id) const { return id < length(); } ParallelTaskTerminator* terminator() { return &_term; } @@ -338,7 +339,7 @@ Stack* overflow_stacks, size_t desired_plab_sz, ParallelTaskTerminator& term) : ResourceArray(sizeof(ParScanThreadState), num_threads), - _gen(gen), _next_gen(old_gen), _term(term) + _gen(gen), _old_gen(old_gen), _term(term) { assert(num_threads > 0, "sanity check!"); assert(ParGCUseLocalOverflow == (overflow_stacks != NULL), @@ -471,8 +472,8 @@ _gen.age_table()->merge(local_table); // Inform old gen that we're done. - _next_gen.par_promote_alloc_done(i); - _next_gen.par_oop_since_save_marks_iterate_done(i); + _old_gen.par_promote_alloc_done(i); + _old_gen.par_oop_since_save_marks_iterate_done(i); } if (UseConcMarkSweepGC) { @@ -574,10 +575,10 @@ par_scan_state()->end_term_time(); } -ParNewGenTask::ParNewGenTask(ParNewGeneration* gen, Generation* next_gen, - HeapWord* young_old_boundary, ParScanThreadStateSet* state_set) : +ParNewGenTask::ParNewGenTask(ParNewGeneration* gen, Generation* old_gen, + HeapWord* young_old_boundary, ParScanThreadStateSet* state_set) : AbstractGangTask("ParNewGeneration collection"), - _gen(gen), _next_gen(next_gen), + _gen(gen), _old_gen(old_gen), _young_old_boundary(young_old_boundary), _state_set(state_set) {} @@ -601,8 +602,6 @@ // We would need multiple old-gen queues otherwise. assert(gch->n_gens() == 2, "Par young collection currently only works with one older gen."); - Generation* old_gen = gch->next_gen(_gen); - ParScanThreadState& par_scan_state = _state_set->thread_state(worker_id); assert(_state_set->is_valid(worker_id), "Should not have been called"); @@ -619,7 +618,7 @@ true, // Process younger gens, if any, // as strong roots. false, // no scope; this is parallel code - SharedHeap::SO_ScavengeCodeCache, + GenCollectedHeap::SO_ScavengeCodeCache, GenCollectedHeap::StrongAndWeakRoots, &par_scan_state.to_space_root_closure(), &par_scan_state.older_gen_closure(), @@ -763,8 +762,9 @@ class ParNewRefProcTaskProxy: public AbstractGangTask { typedef AbstractRefProcTaskExecutor::ProcessTask ProcessTask; public: - ParNewRefProcTaskProxy(ProcessTask& task, ParNewGeneration& gen, - Generation& next_gen, + ParNewRefProcTaskProxy(ProcessTask& task, + ParNewGeneration& gen, + Generation& old_gen, HeapWord* young_old_boundary, ParScanThreadStateSet& state_set); @@ -776,20 +776,20 @@ private: ParNewGeneration& _gen; ProcessTask& _task; - Generation& _next_gen; + Generation& _old_gen; HeapWord* _young_old_boundary; ParScanThreadStateSet& _state_set; }; -ParNewRefProcTaskProxy::ParNewRefProcTaskProxy( - ProcessTask& task, ParNewGeneration& gen, - Generation& next_gen, - HeapWord* young_old_boundary, - ParScanThreadStateSet& state_set) +ParNewRefProcTaskProxy::ParNewRefProcTaskProxy(ProcessTask& task, + ParNewGeneration& gen, + Generation& old_gen, + HeapWord* young_old_boundary, + ParScanThreadStateSet& state_set) : AbstractGangTask("ParNewGeneration parallel reference processing"), _gen(gen), _task(task), - _next_gen(next_gen), + _old_gen(old_gen), _young_old_boundary(young_old_boundary), _state_set(state_set) { @@ -893,7 +893,7 @@ from()->set_next_compaction_space(to()); gch->set_incremental_collection_failed(); // Inform the next generation that a promotion failure occurred. - _next_gen->promotion_failure_occurred(); + _old_gen->promotion_failure_occurred(); // Trace promotion failure in the parallel GC threads thread_state_set.trace_promotion_failed(gc_tracer()); @@ -927,7 +927,7 @@ workers->set_active_workers(active_workers); assert(gch->n_gens() == 2, "Par collection currently only works with single older gen."); - _next_gen = gch->next_gen(this); + _old_gen = gch->old_gen(); // If the next generation is too full to accommodate worst-case promotion // from this generation, pass on collection; let the next generation @@ -952,8 +952,6 @@ // Capture heap used before collection (for printing). size_t gch_prev_used = gch->used(); - SpecializationStats::clear(); - age_table()->clear(); to()->clear(SpaceDecorator::Mangle); @@ -968,10 +966,10 @@ // because only those workers go through the termination protocol. ParallelTaskTerminator _term(n_workers, task_queues()); ParScanThreadStateSet thread_state_set(workers->active_workers(), - *to(), *this, *_next_gen, *task_queues(), + *to(), *this, *_old_gen, *task_queues(), _overflow_stacks, desired_plab_sz(), _term); - ParNewGenTask tsk(this, _next_gen, reserved().end(), &thread_state_set); + ParNewGenTask tsk(this, _old_gen, reserved().end(), &thread_state_set); gch->set_par_threads(n_workers); gch->rem_set()->prepare_for_younger_refs_iterate(true); // It turns out that even when we're using 1 thread, doing the work in a @@ -1073,8 +1071,6 @@ jlong now = os::javaTimeNanos() / NANOSECS_PER_MILLISEC; update_time_of_last_gc(now); - SpecializationStats::print(); - rp->set_enqueuing_is_done(true); if (rp->processing_is_mt()) { ParNewRefProcTaskExecutor task_executor(*this, thread_state_set); @@ -1127,14 +1123,6 @@ return forward_ptr; } -#ifdef ASSERT -bool ParNewGeneration::is_legal_forward_ptr(oop p) { - return - (p == ClaimedForwardPtr) - || Universe::heap()->is_in_reserved(p); -} -#endif - void ParNewGeneration::preserve_mark_if_necessary(oop obj, markOop m) { if (m->must_be_preserved_for_promotion_failure(obj)) { // We should really have separate per-worker stacks, rather @@ -1191,8 +1179,8 @@ } if (!_promotion_failed) { - new_obj = _next_gen->par_promote(par_scan_state->thread_num(), - old, m, sz); + new_obj = _old_gen->par_promote(par_scan_state->thread_num(), + old, m, sz); } if (new_obj == NULL) { @@ -1209,6 +1197,7 @@ } else { // Is in to-space; do copying ourselves. Copy::aligned_disjoint_words((HeapWord*)old, (HeapWord*)new_obj, sz); + assert(Universe::heap()->is_in_reserved(new_obj), "illegal forwarding pointer value."); forward_ptr = old->forward_to_atomic(new_obj); // Restore the mark word copied above. new_obj->set_mark(m); diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.hpp --- a/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 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 @@ -25,6 +25,7 @@ #ifndef SHARE_VM_GC_IMPLEMENTATION_PARNEW_PARNEWGENERATION_HPP #define SHARE_VM_GC_IMPLEMENTATION_PARNEW_PARNEWGENERATION_HPP +#include "gc_implementation/parNew/parOopClosures.hpp" #include "gc_implementation/shared/gcTrace.hpp" #include "gc_implementation/shared/parGCAllocBuffer.hpp" #include "gc_implementation/shared/copyFailedInfo.hpp" @@ -233,13 +234,13 @@ class ParNewGenTask: public AbstractGangTask { private: ParNewGeneration* _gen; - Generation* _next_gen; + Generation* _old_gen; HeapWord* _young_old_boundary; class ParScanThreadStateSet* _state_set; public: ParNewGenTask(ParNewGeneration* gen, - Generation* next_gen, + Generation* old_gen, HeapWord* young_old_boundary, ParScanThreadStateSet* state_set); @@ -419,8 +420,6 @@ } static oop real_forwardee(oop obj); - - DEBUG_ONLY(static bool is_legal_forward_ptr(oop p);) }; #endif // SHARE_VM_GC_IMPLEMENTATION_PARNEW_PARNEWGENERATION_HPP diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/parNew/parOopClosures.inline.hpp --- a/hotspot/src/share/vm/gc_implementation/parNew/parOopClosures.inline.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/parNew/parOopClosures.inline.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 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 @@ -29,6 +29,7 @@ #include "gc_implementation/parNew/parOopClosures.hpp" #include "memory/cardTableRS.hpp" #include "memory/genCollectedHeap.hpp" +#include "memory/genOopClosures.inline.hpp" template inline void ParScanWeakRefClosure::do_oop_work(T* p) { assert (!oopDesc::is_null(*p), "null weak reference?"); diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp --- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. + * 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 @@ -25,6 +25,7 @@ #include "precompiled.hpp" #include "classfile/systemDictionary.hpp" #include "code/codeCache.hpp" +#include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp" #include "gc_implementation/parallelScavenge/pcTasks.hpp" #include "gc_implementation/parallelScavenge/psParallelCompact.hpp" #include "gc_implementation/shared/gcTimer.hpp" diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.hpp --- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 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 @@ -26,7 +26,7 @@ #define SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSMARKSWEEP_HPP #include "gc_implementation/shared/collectorCounters.hpp" -#include "gc_implementation/shared/markSweep.inline.hpp" +#include "gc_implementation/shared/markSweep.hpp" #include "utilities/stack.hpp" class PSAdaptiveSizePolicy; diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp --- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * 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 @@ -29,7 +29,6 @@ #include "gc_implementation/parallelScavenge/parMarkBitMap.hpp" #include "gc_implementation/parallelScavenge/psCompactionManager.hpp" #include "gc_implementation/shared/collectorCounters.hpp" -#include "gc_implementation/shared/markSweep.hpp" #include "gc_implementation/shared/mutableSpace.hpp" #include "memory/sharedHeap.hpp" #include "oops/oop.hpp" diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp --- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 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 @@ -34,6 +34,7 @@ #include "memory/padded.inline.hpp" #include "oops/oop.inline.hpp" #include "oops/oop.psgc.inline.hpp" +#include "utilities/stack.inline.hpp" PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp --- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -40,6 +40,7 @@ #include "runtime/thread.hpp" #include "runtime/vmThread.hpp" #include "services/management.hpp" +#include "utilities/stack.inline.hpp" #include "utilities/taskqueue.hpp" // diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/shared/cSpaceCounters.cpp --- a/hotspot/src/share/vm/gc_implementation/shared/cSpaceCounters.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/shared/cSpaceCounters.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 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 @@ -63,3 +63,20 @@ _space->capacity(), CHECK); } } + +void CSpaceCounters::update_capacity() { + _capacity->set_value(_space->capacity()); +} + +void CSpaceCounters::update_used() { + _used->set_value(_space->used()); +} + +void CSpaceCounters::update_all() { + update_used(); + update_capacity(); +} + +jlong ContiguousSpaceUsedHelper::take_sample(){ + return _space->used(); +} diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/shared/cSpaceCounters.hpp --- a/hotspot/src/share/vm/gc_implementation/shared/cSpaceCounters.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/shared/cSpaceCounters.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 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 @@ -26,7 +26,7 @@ #define SHARE_VM_GC_IMPLEMENTATION_SHARED_CSPACECOUNTERS_HPP #include "gc_implementation/shared/generationCounters.hpp" -#include "memory/space.inline.hpp" +#include "memory/space.hpp" #include "runtime/perfData.hpp" // A CSpaceCounters is a holder class for performance counters @@ -56,18 +56,9 @@ if (_name_space != NULL) FREE_C_HEAP_ARRAY(char, _name_space); } - virtual inline void update_capacity() { - _capacity->set_value(_space->capacity()); - } - - virtual inline void update_used() { - _used->set_value(_space->used()); - } - - virtual inline void update_all() { - update_used(); - update_capacity(); - } + virtual void update_capacity(); + virtual void update_used(); + virtual void update_all(); const char* name_space() const { return _name_space; } }; @@ -79,9 +70,7 @@ public: ContiguousSpaceUsedHelper(ContiguousSpace* space) : _space(space) { } - inline jlong take_sample() { - return _space->used(); - } + jlong take_sample(); }; #endif // SHARE_VM_GC_IMPLEMENTATION_SHARED_CSPACECOUNTERS_HPP diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/shared/markSweep.cpp --- a/hotspot/src/share/vm/gc_implementation/shared/markSweep.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/shared/markSweep.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 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 @@ -84,6 +84,14 @@ void MarkSweep::FollowStackClosure::do_void() { follow_stack(); } +void PreservedMark::adjust_pointer() { + MarkSweep::adjust_pointer(&_obj); +} + +void PreservedMark::restore() { + _obj->set_mark(_mark); +} + // We preserve the mark which should be replaced at the end and the location // that it will go. Note that the object that this markOop belongs to isn't // currently at that address but it will be after phase4 diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/shared/markSweep.hpp --- a/hotspot/src/share/vm/gc_implementation/shared/markSweep.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/shared/markSweep.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 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 @@ -26,7 +26,8 @@ #define SHARE_VM_GC_IMPLEMENTATION_SHARED_MARKSWEEP_HPP #include "gc_interface/collectedHeap.hpp" -#include "memory/universe.hpp" +#include "memory/genOopClosures.hpp" +#include "memory/iterator.hpp" #include "oops/markOop.hpp" #include "oops/oop.hpp" #include "runtime/timer.hpp" @@ -182,13 +183,8 @@ _mark = mark; } - void adjust_pointer() { - MarkSweep::adjust_pointer(&_obj); - } - - void restore() { - _obj->set_mark(_mark); - } + void adjust_pointer(); + void restore(); }; #endif // SHARE_VM_GC_IMPLEMENTATION_SHARED_MARKSWEEP_HPP diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.cpp --- a/hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -98,7 +98,7 @@ if (!is_init_completed()) { vm_exit_during_initialization( err_msg("GC triggered before VM initialization completed. Try increasing " - "NewSize, current value " UINTX_FORMAT "%s.", + "NewSize, current value " SIZE_FORMAT "%s.", byte_size_in_proper_unit(NewSize), proper_unit_for_byte_size(NewSize))); } diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/memory/cardTableRS.cpp --- a/hotspot/src/share/vm/memory/cardTableRS.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/memory/cardTableRS.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -27,7 +27,7 @@ #include "memory/cardTableRS.hpp" #include "memory/genCollectedHeap.hpp" #include "memory/generation.hpp" -#include "memory/space.hpp" +#include "memory/space.inline.hpp" #include "oops/oop.inline.hpp" #include "runtime/atomic.inline.hpp" #include "runtime/java.hpp" diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/memory/collectorPolicy.cpp --- a/hotspot/src/share/vm/memory/collectorPolicy.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/memory/collectorPolicy.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -104,15 +104,15 @@ // User inputs from -Xmx and -Xms must be aligned _min_heap_byte_size = align_size_up(_min_heap_byte_size, _heap_alignment); - uintx aligned_initial_heap_size = align_size_up(InitialHeapSize, _heap_alignment); - uintx aligned_max_heap_size = align_size_up(MaxHeapSize, _heap_alignment); + size_t aligned_initial_heap_size = align_size_up(InitialHeapSize, _heap_alignment); + size_t aligned_max_heap_size = align_size_up(MaxHeapSize, _heap_alignment); // Write back to flags if the values changed if (aligned_initial_heap_size != InitialHeapSize) { - FLAG_SET_ERGO(uintx, InitialHeapSize, aligned_initial_heap_size); + FLAG_SET_ERGO(size_t, InitialHeapSize, aligned_initial_heap_size); } if (aligned_max_heap_size != MaxHeapSize) { - FLAG_SET_ERGO(uintx, MaxHeapSize, aligned_max_heap_size); + FLAG_SET_ERGO(size_t, MaxHeapSize, aligned_max_heap_size); } if (FLAG_IS_CMDLINE(InitialHeapSize) && _min_heap_byte_size != 0 && @@ -120,9 +120,9 @@ vm_exit_during_initialization("Incompatible minimum and initial heap sizes specified"); } if (!FLAG_IS_DEFAULT(InitialHeapSize) && InitialHeapSize > MaxHeapSize) { - FLAG_SET_ERGO(uintx, MaxHeapSize, InitialHeapSize); + FLAG_SET_ERGO(size_t, MaxHeapSize, InitialHeapSize); } else if (!FLAG_IS_DEFAULT(MaxHeapSize) && InitialHeapSize > MaxHeapSize) { - FLAG_SET_ERGO(uintx, InitialHeapSize, MaxHeapSize); + FLAG_SET_ERGO(size_t, InitialHeapSize, MaxHeapSize); if (InitialHeapSize < _min_heap_byte_size) { _min_heap_byte_size = InitialHeapSize; } @@ -131,7 +131,7 @@ _initial_heap_byte_size = InitialHeapSize; _max_heap_byte_size = MaxHeapSize; - FLAG_SET_ERGO(uintx, MinHeapDeltaBytes, align_size_up(MinHeapDeltaBytes, _space_alignment)); + FLAG_SET_ERGO(size_t, MinHeapDeltaBytes, align_size_up(MinHeapDeltaBytes, _space_alignment)); DEBUG_ONLY(CollectorPolicy::assert_flags();) } @@ -282,18 +282,18 @@ // All generational heaps have a youngest gen; handle those flags here // Make sure the heap is large enough for two generations - uintx smallest_new_size = young_gen_size_lower_bound(); - uintx smallest_heap_size = align_size_up(smallest_new_size + align_size_up(_space_alignment, _gen_alignment), + size_t smallest_new_size = young_gen_size_lower_bound(); + size_t smallest_heap_size = align_size_up(smallest_new_size + align_size_up(_space_alignment, _gen_alignment), _heap_alignment); if (MaxHeapSize < smallest_heap_size) { - FLAG_SET_ERGO(uintx, MaxHeapSize, smallest_heap_size); + FLAG_SET_ERGO(size_t, MaxHeapSize, smallest_heap_size); _max_heap_byte_size = MaxHeapSize; } // If needed, synchronize _min_heap_byte size and _initial_heap_byte_size if (_min_heap_byte_size < smallest_heap_size) { _min_heap_byte_size = smallest_heap_size; if (InitialHeapSize < _min_heap_byte_size) { - FLAG_SET_ERGO(uintx, InitialHeapSize, smallest_heap_size); + FLAG_SET_ERGO(size_t, InitialHeapSize, smallest_heap_size); _initial_heap_byte_size = smallest_heap_size; } } @@ -306,8 +306,8 @@ // Now take the actual NewSize into account. We will silently increase NewSize // if the user specified a smaller or unaligned value. - uintx bounded_new_size = bound_minus_alignment(NewSize, MaxHeapSize); - bounded_new_size = MAX2(smallest_new_size, (uintx)align_size_down(bounded_new_size, _gen_alignment)); + size_t bounded_new_size = bound_minus_alignment(NewSize, MaxHeapSize); + bounded_new_size = MAX2(smallest_new_size, (size_t)align_size_down(bounded_new_size, _gen_alignment)); if (bounded_new_size != NewSize) { // Do not use FLAG_SET_ERGO to update NewSize here, since this will override // if NewSize was set on the command line or not. This information is needed @@ -320,21 +320,21 @@ if (!FLAG_IS_DEFAULT(MaxNewSize)) { if (MaxNewSize >= MaxHeapSize) { // Make sure there is room for an old generation - uintx smaller_max_new_size = MaxHeapSize - _gen_alignment; + size_t smaller_max_new_size = MaxHeapSize - _gen_alignment; if (FLAG_IS_CMDLINE(MaxNewSize)) { warning("MaxNewSize (" SIZE_FORMAT "k) is equal to or greater than the entire " "heap (" SIZE_FORMAT "k). A new max generation size of " SIZE_FORMAT "k will be used.", MaxNewSize/K, MaxHeapSize/K, smaller_max_new_size/K); } - FLAG_SET_ERGO(uintx, MaxNewSize, smaller_max_new_size); + FLAG_SET_ERGO(size_t, MaxNewSize, smaller_max_new_size); if (NewSize > MaxNewSize) { - FLAG_SET_ERGO(uintx, NewSize, MaxNewSize); + FLAG_SET_ERGO(size_t, NewSize, MaxNewSize); _initial_young_size = NewSize; } } else if (MaxNewSize < _initial_young_size) { - FLAG_SET_ERGO(uintx, MaxNewSize, _initial_young_size); + FLAG_SET_ERGO(size_t, MaxNewSize, _initial_young_size); } else if (!is_size_aligned(MaxNewSize, _gen_alignment)) { - FLAG_SET_ERGO(uintx, MaxNewSize, align_size_down(MaxNewSize, _gen_alignment)); + FLAG_SET_ERGO(size_t, MaxNewSize, align_size_down(MaxNewSize, _gen_alignment)); } _max_young_size = MaxNewSize; } @@ -347,7 +347,7 @@ "A new max generation size of " SIZE_FORMAT "k will be used.", NewSize/K, MaxNewSize/K, NewSize/K); } - FLAG_SET_ERGO(uintx, MaxNewSize, NewSize); + FLAG_SET_ERGO(size_t, MaxNewSize, NewSize); _max_young_size = MaxNewSize; } @@ -369,9 +369,9 @@ size_t calculated_heapsize = (OldSize / NewRatio) * (NewRatio + 1); calculated_heapsize = align_size_up(calculated_heapsize, _heap_alignment); - FLAG_SET_ERGO(uintx, MaxHeapSize, calculated_heapsize); + FLAG_SET_ERGO(size_t, MaxHeapSize, calculated_heapsize); _max_heap_byte_size = MaxHeapSize; - FLAG_SET_ERGO(uintx, InitialHeapSize, calculated_heapsize); + FLAG_SET_ERGO(size_t, InitialHeapSize, calculated_heapsize); _initial_heap_byte_size = InitialHeapSize; } @@ -380,19 +380,19 @@ if (_max_heap_size_cmdline) { // Somebody has set a maximum heap size with the intention that we should not // exceed it. Adjust New/OldSize as necessary. - uintx calculated_size = NewSize + OldSize; + size_t calculated_size = NewSize + OldSize; double shrink_factor = (double) MaxHeapSize / calculated_size; - uintx smaller_new_size = align_size_down((uintx)(NewSize * shrink_factor), _gen_alignment); - FLAG_SET_ERGO(uintx, NewSize, MAX2(young_gen_size_lower_bound(), smaller_new_size)); + size_t smaller_new_size = align_size_down((size_t)(NewSize * shrink_factor), _gen_alignment); + FLAG_SET_ERGO(size_t, NewSize, MAX2(young_gen_size_lower_bound(), smaller_new_size)); _initial_young_size = NewSize; // OldSize is already aligned because above we aligned MaxHeapSize to // _heap_alignment, and we just made sure that NewSize is aligned to // _gen_alignment. In initialize_flags() we verified that _heap_alignment // is a multiple of _gen_alignment. - FLAG_SET_ERGO(uintx, OldSize, MaxHeapSize - NewSize); + FLAG_SET_ERGO(size_t, OldSize, MaxHeapSize - NewSize); } else { - FLAG_SET_ERGO(uintx, MaxHeapSize, align_size_up(NewSize + OldSize, _heap_alignment)); + FLAG_SET_ERGO(size_t, MaxHeapSize, align_size_up(NewSize + OldSize, _heap_alignment)); _max_heap_byte_size = MaxHeapSize; } } @@ -405,7 +405,7 @@ // Need to compare against the flag value for max since _max_young_size // might not have been set yet. if (new_size >= _min_young_size && new_size <= MaxNewSize) { - FLAG_SET_ERGO(uintx, NewSize, new_size); + FLAG_SET_ERGO(size_t, NewSize, new_size); _initial_young_size = NewSize; } } @@ -561,15 +561,15 @@ // Write back to flags if necessary. if (NewSize != _initial_young_size) { - FLAG_SET_ERGO(uintx, NewSize, _initial_young_size); + FLAG_SET_ERGO(size_t, NewSize, _initial_young_size); } if (MaxNewSize != _max_young_size) { - FLAG_SET_ERGO(uintx, MaxNewSize, _max_young_size); + FLAG_SET_ERGO(size_t, MaxNewSize, _max_young_size); } if (OldSize != _initial_old_size) { - FLAG_SET_ERGO(uintx, OldSize, _initial_old_size); + FLAG_SET_ERGO(size_t, OldSize, _initial_old_size); } if (PrintGCDetails && Verbose) { @@ -601,7 +601,7 @@ HandleMark hm; // Discard any handles allocated in each iteration. // First allocation attempt is lock-free. - Generation *young = gch->get_gen(0); + Generation *young = gch->young_gen(); assert(young->supports_inline_contig_alloc(), "Otherwise, must do alloc within heap lock"); if (young->should_allocate(size, is_tlab)) { @@ -615,8 +615,8 @@ { MutexLocker ml(Heap_lock); if (PrintGC && Verbose) { - gclog_or_tty->print_cr("TwoGenerationCollectorPolicy::mem_allocate_work:" - " attempting locked slow path allocation"); + gclog_or_tty->print_cr("GenCollectorPolicy::mem_allocate_work:" + " attempting locked slow path allocation"); } // Note that only large objects get a shot at being // allocated in later generations. @@ -705,7 +705,7 @@ // Give a warning if we seem to be looping forever. if ((QueuedAllocationWarningCount > 0) && (try_count % QueuedAllocationWarningCount == 0)) { - warning("TwoGenerationCollectorPolicy::mem_allocate_work retries %d times \n\t" + warning("GenCollectorPolicy::mem_allocate_work retries %d times \n\t" " size=" SIZE_FORMAT " %s", try_count, size, is_tlab ? "(TLAB)" : ""); } } @@ -715,10 +715,14 @@ bool is_tlab) { GenCollectedHeap *gch = GenCollectedHeap::heap(); HeapWord* result = NULL; - for (int i = number_of_generations() - 1; i >= 0 && result == NULL; i--) { - Generation *gen = gch->get_gen(i); - if (gen->should_allocate(size, is_tlab)) { - result = gen->expand_and_allocate(size, is_tlab); + Generation *old = gch->old_gen(); + if (old->should_allocate(size, is_tlab)) { + result = old->expand_and_allocate(size, is_tlab); + } + if (result == NULL) { + Generation *young = gch->young_gen(); + if (young->should_allocate(size, is_tlab)) { + result = young->expand_and_allocate(size, is_tlab); } } assert(result == NULL || gch->is_in_reserved(result), "result not in heap"); @@ -891,7 +895,7 @@ bool GenCollectorPolicy::should_try_older_generation_allocation( size_t word_size) const { GenCollectedHeap* gch = GenCollectedHeap::heap(); - size_t young_capacity = gch->get_gen(0)->capacity_before_gc(); + size_t young_capacity = gch->young_gen()->capacity_before_gc(); return (word_size > heap_word_size(young_capacity)) || GC_locker::is_active_and_needs_gc() || gch->incremental_collection_failed(); @@ -903,7 +907,7 @@ // void MarkSweepPolicy::initialize_alignments() { - _space_alignment = _gen_alignment = (uintx)Generation::GenGrain; + _space_alignment = _gen_alignment = (size_t)Generation::GenGrain; _heap_alignment = compute_heap_alignment(); } @@ -935,18 +939,18 @@ // for both min and initial young size if less than min heap. flag_value = 20 * M; set_basic_flag_values(); - FLAG_SET_CMDLINE(uintx, NewSize, flag_value); + FLAG_SET_CMDLINE(size_t, NewSize, flag_value); verify_young_min(flag_value); set_basic_flag_values(); - FLAG_SET_CMDLINE(uintx, NewSize, flag_value); + FLAG_SET_CMDLINE(size_t, NewSize, flag_value); verify_young_initial(flag_value); // If NewSize is set on command line, but is larger than the min // heap size, it should only be used for initial young size. flag_value = 80 * M; set_basic_flag_values(); - FLAG_SET_CMDLINE(uintx, NewSize, flag_value); + FLAG_SET_CMDLINE(size_t, NewSize, flag_value); verify_young_initial(flag_value); // If NewSize has been ergonomically set, the collector policy @@ -954,11 +958,11 @@ // using NewRatio. flag_value = 20 * M; set_basic_flag_values(); - FLAG_SET_ERGO(uintx, NewSize, flag_value); + FLAG_SET_ERGO(size_t, NewSize, flag_value); verify_young_min(flag_value); set_basic_flag_values(); - FLAG_SET_ERGO(uintx, NewSize, flag_value); + FLAG_SET_ERGO(size_t, NewSize, flag_value); verify_scaled_young_initial(InitialHeapSize); restore_flags(); @@ -974,11 +978,11 @@ // for both min and initial old size if less than min heap. flag_value = 20 * M; set_basic_flag_values(); - FLAG_SET_CMDLINE(uintx, OldSize, flag_value); + FLAG_SET_CMDLINE(size_t, OldSize, flag_value); verify_old_min(flag_value); set_basic_flag_values(); - FLAG_SET_CMDLINE(uintx, OldSize, flag_value); + FLAG_SET_CMDLINE(size_t, OldSize, flag_value); // Calculate what we expect the flag to be. size_t expected_old_initial = align_size_up(InitialHeapSize, heap_alignment) - MaxNewSize; verify_old_initial(expected_old_initial); @@ -989,10 +993,10 @@ // We intentionally set MaxNewSize + OldSize > MaxHeapSize (see over_size). flag_value = 30 * M; set_basic_flag_values(); - FLAG_SET_CMDLINE(uintx, OldSize, flag_value); + FLAG_SET_CMDLINE(size_t, OldSize, flag_value); size_t over_size = 20*M; size_t new_size_value = align_size_up(MaxHeapSize, heap_alignment) - flag_value + over_size; - FLAG_SET_CMDLINE(uintx, MaxNewSize, new_size_value); + FLAG_SET_CMDLINE(size_t, MaxNewSize, new_size_value); // Calculate what we expect the flag to be. expected_old_initial = align_size_up(MaxHeapSize, heap_alignment) - MaxNewSize; verify_old_initial(expected_old_initial); @@ -1053,11 +1057,11 @@ static size_t original_OldSize; static void set_basic_flag_values() { - FLAG_SET_ERGO(uintx, MaxHeapSize, 180 * M); - FLAG_SET_ERGO(uintx, InitialHeapSize, 100 * M); - FLAG_SET_ERGO(uintx, OldSize, 4 * M); - FLAG_SET_ERGO(uintx, NewSize, 1 * M); - FLAG_SET_ERGO(uintx, MaxNewSize, 80 * M); + FLAG_SET_ERGO(size_t, MaxHeapSize, 180 * M); + FLAG_SET_ERGO(size_t, InitialHeapSize, 100 * M); + FLAG_SET_ERGO(size_t, OldSize, 4 * M); + FLAG_SET_ERGO(size_t, NewSize, 1 * M); + FLAG_SET_ERGO(size_t, MaxNewSize, 80 * M); Arguments::set_min_heap_size(40 * M); } diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/memory/defNewGeneration.cpp --- a/hotspot/src/share/vm/memory/defNewGeneration.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/memory/defNewGeneration.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -226,7 +226,7 @@ compute_space_boundaries(0, SpaceDecorator::Clear, SpaceDecorator::Mangle); update_counters(); - _next_gen = NULL; + _old_gen = NULL; _tenuring_threshold = MaxTenuringThreshold; _pretenure_size_threshold_words = PretenureSizeThreshold >> LogHeapWordSize; @@ -383,8 +383,8 @@ assert(next_level < gch->_n_gens, "DefNewGeneration cannot be an oldest gen"); - Generation* next_gen = gch->get_gen(next_level); - size_t old_size = next_gen->capacity(); + Generation* old_gen = gch->old_gen(); + size_t old_size = old_gen->capacity(); size_t new_size_before = _virtual_space.committed_size(); size_t min_new_size = spec()->init_size(); size_t max_new_size = reserved().byte_size(); @@ -568,7 +568,7 @@ DefNewTracer gc_tracer; gc_tracer.report_gc_start(gch->gc_cause(), _gc_timer->gc_start()); - _next_gen = gch->next_gen(this); + _old_gen = gch->old_gen(); // If the next generation is too full to accommodate promotion // from this generation, pass on collection; let the next generation @@ -590,8 +590,6 @@ gch->trace_heap_before_gc(&gc_tracer); - SpecializationStats::clear(); - // These can be shared for all code paths IsAliveClosure is_alive(this); ScanWeakRefClosure scan_weak_ref(this); @@ -628,7 +626,7 @@ true, // Process younger gens, if any, // as strong roots. true, // activate StrongRootsScope - SharedHeap::SO_ScavengeCodeCache, + GenCollectedHeap::SO_ScavengeCodeCache, GenCollectedHeap::StrongAndWeakRoots, &fsc_with_no_gc_barrier, &fsc_with_gc_barrier, @@ -688,7 +686,7 @@ gch->set_incremental_collection_failed(); // Inform the next generation that a promotion failure occurred. - _next_gen->promotion_failure_occurred(); + _old_gen->promotion_failure_occurred(); gc_tracer.report_promotion_failed(_promotion_failed_info); // Reset the PromotionFailureALot counters. @@ -700,7 +698,6 @@ // set new iteration safe limit for the survivor spaces from()->set_concurrent_iteration_safe_limit(from()->top()); to()->set_concurrent_iteration_safe_limit(to()->top()); - SpecializationStats::print(); // We need to use a monotonically non-decreasing time in ms // or we will see time-warp warnings and os::javaTimeMillis() @@ -793,7 +790,7 @@ // Otherwise try allocating obj tenured if (obj == NULL) { - obj = _next_gen->promote(old, s); + obj = _old_gen->promote(old, s); if (obj == NULL) { handle_promotion_failure(old); return old; @@ -898,11 +895,11 @@ } return false; } - if (_next_gen == NULL) { + if (_old_gen == NULL) { GenCollectedHeap* gch = GenCollectedHeap::heap(); - _next_gen = gch->next_gen(this); + _old_gen = gch->old_gen(); } - return _next_gen->promotion_attempt_is_safe(used()); + return _old_gen->promotion_attempt_is_safe(used()); } void DefNewGeneration::gc_epilogue(bool full) { @@ -1022,8 +1019,7 @@ return eden(); } -HeapWord* DefNewGeneration::allocate(size_t word_size, - bool is_tlab) { +HeapWord* DefNewGeneration::allocate(size_t word_size, bool is_tlab) { // This is the slow-path allocation for the DefNewGeneration. // Most allocations are fast-path in compiled code. // We try to allocate from the eden. If that works, we are happy. @@ -1031,8 +1027,8 @@ // have to use it here, as well. HeapWord* result = eden()->par_allocate(word_size); if (result != NULL) { - if (CMSEdenChunksRecordAlways && _next_gen != NULL) { - _next_gen->sample_eden_chunk(); + if (CMSEdenChunksRecordAlways && _old_gen != NULL) { + _old_gen->sample_eden_chunk(); } } else { // If the eden is full and the last collection bailed out, we are running @@ -1047,8 +1043,8 @@ HeapWord* DefNewGeneration::par_allocate(size_t word_size, bool is_tlab) { HeapWord* res = eden()->par_allocate(word_size); - if (CMSEdenChunksRecordAlways && _next_gen != NULL) { - _next_gen->sample_eden_chunk(); + if (CMSEdenChunksRecordAlways && _old_gen != NULL) { + _old_gen->sample_eden_chunk(); } return res; } diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/memory/defNewGeneration.hpp --- a/hotspot/src/share/vm/memory/defNewGeneration.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/memory/defNewGeneration.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 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 @@ -29,11 +29,14 @@ #include "gc_implementation/shared/cSpaceCounters.hpp" #include "gc_implementation/shared/generationCounters.hpp" #include "gc_implementation/shared/copyFailedInfo.hpp" +#include "memory/generation.hpp" #include "utilities/stack.hpp" class ContiguousSpace; class ScanClosure; class STWGCTimer; +class CSpaceCounters; +class ScanWeakRefClosure; // DefNewGeneration is a young generation containing eden, from- and // to-space. @@ -42,7 +45,7 @@ friend class VMStructs; protected: - Generation* _next_gen; + Generation* _old_gen; uint _tenuring_threshold; // Tenuring threshold for next collection. ageTable _age_table; // Size of object to pretenure in words; command line provides bytes diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/memory/defNewGeneration.inline.hpp --- a/hotspot/src/share/vm/memory/defNewGeneration.inline.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/memory/defNewGeneration.inline.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 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 @@ -25,8 +25,10 @@ #ifndef SHARE_VM_MEMORY_DEFNEWGENERATION_INLINE_HPP #define SHARE_VM_MEMORY_DEFNEWGENERATION_INLINE_HPP +#include "gc_interface/collectedHeap.hpp" #include "memory/cardTableRS.hpp" #include "memory/defNewGeneration.hpp" +#include "memory/genOopClosures.inline.hpp" #include "memory/space.hpp" // Methods of protected closure types diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/memory/genCollectedHeap.cpp --- a/hotspot/src/share/vm/memory/genCollectedHeap.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/memory/genCollectedHeap.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -26,6 +26,7 @@ #include "classfile/symbolTable.hpp" #include "classfile/systemDictionary.hpp" #include "classfile/vmSymbols.hpp" +#include "code/codeCache.hpp" #include "code/icBuffer.hpp" #include "gc_implementation/shared/collectorCounters.hpp" #include "gc_implementation/shared/gcTrace.hpp" @@ -47,6 +48,7 @@ #include "runtime/handles.inline.hpp" #include "runtime/java.hpp" #include "runtime/vmThread.hpp" +#include "services/management.hpp" #include "services/memoryService.hpp" #include "utilities/vmError.hpp" #include "utilities/workgroup.hpp" @@ -61,7 +63,15 @@ // The set of potentially parallel tasks in root scanning. enum GCH_strong_roots_tasks { - // We probably want to parallelize both of these internally, but for now... + GCH_PS_Universe_oops_do, + GCH_PS_JNIHandles_oops_do, + GCH_PS_ObjectSynchronizer_oops_do, + GCH_PS_FlatProfiler_oops_do, + GCH_PS_Management_oops_do, + GCH_PS_SystemDictionary_oops_do, + GCH_PS_ClassLoaderDataGraph_oops_do, + GCH_PS_jvmti_oops_do, + GCH_PS_CodeCache_oops_do, GCH_PS_younger_gens, // Leave this one last. GCH_PS_NumElements @@ -71,13 +81,9 @@ SharedHeap(policy), _rem_set(NULL), _gen_policy(policy), - _gen_process_roots_tasks(new SubTasksDone(GCH_PS_NumElements)), + _process_strong_tasks(new SubTasksDone(GCH_PS_NumElements)), _full_collections_completed(0) { - if (_gen_process_roots_tasks == NULL || - !_gen_process_roots_tasks->valid()) { - vm_exit_during_initialization("Failed necessary allocation."); - } assert(policy != NULL, "Sanity check"); } @@ -177,18 +183,17 @@ SharedHeap::post_initialize(); GenCollectorPolicy *policy = (GenCollectorPolicy *)collector_policy(); guarantee(policy->is_generation_policy(), "Illegal policy type"); - assert((get_gen(0)->kind() == Generation::DefNew) || - (get_gen(0)->kind() == Generation::ParNew), + assert((_young_gen->kind() == Generation::DefNew) || + (_young_gen->kind() == Generation::ParNew), "Wrong youngest generation type"); - DefNewGeneration* def_new_gen = (DefNewGeneration*)get_gen(0); + DefNewGeneration* def_new_gen = (DefNewGeneration*)_young_gen; - Generation* old_gen = get_gen(1); - assert(old_gen->kind() == Generation::ConcurrentMarkSweep || - old_gen->kind() == Generation::MarkSweepCompact, + assert(_old_gen->kind() == Generation::ConcurrentMarkSweep || + _old_gen->kind() == Generation::MarkSweepCompact, "Wrong generation kind"); policy->initialize_size_policy(def_new_gen->eden()->capacity(), - old_gen->capacity(), + _old_gen->capacity(), def_new_gen->from()->capacity()); policy->initialize_gc_policy_counters(); } @@ -570,29 +575,137 @@ void GenCollectedHeap::set_par_threads(uint t) { SharedHeap::set_par_threads(t); - _gen_process_roots_tasks->set_n_threads(t); + set_n_termination(t); +} + +void GenCollectedHeap::set_n_termination(uint t) { + _process_strong_tasks->set_n_threads(t); } -void GenCollectedHeap:: -gen_process_roots(int level, - bool younger_gens_as_roots, - bool activate_scope, - SharedHeap::ScanningOption so, - OopsInGenClosure* not_older_gens, - OopsInGenClosure* weak_roots, - OopsInGenClosure* older_gens, - CLDClosure* cld_closure, - CLDClosure* weak_cld_closure, - CodeBlobClosure* code_closure) { +#ifdef ASSERT +class AssertNonScavengableClosure: public OopClosure { +public: + virtual void do_oop(oop* p) { + assert(!Universe::heap()->is_in_partial_collection(*p), + "Referent should not be scavengable."); } + virtual void do_oop(narrowOop* p) { ShouldNotReachHere(); } +}; +static AssertNonScavengableClosure assert_is_non_scavengable_closure; +#endif + +void GenCollectedHeap::process_roots(bool activate_scope, + ScanningOption so, + OopClosure* strong_roots, + OopClosure* weak_roots, + CLDClosure* strong_cld_closure, + CLDClosure* weak_cld_closure, + CodeBlobClosure* code_roots) { + StrongRootsScope srs(this, activate_scope); // General roots. - SharedHeap::process_roots(activate_scope, so, - not_older_gens, weak_roots, - cld_closure, weak_cld_closure, - code_closure); + assert(_strong_roots_parity != 0, "must have called prologue code"); + assert(code_roots != NULL, "code root closure should always be set"); + // _n_termination for _process_strong_tasks should be set up stream + // in a method not running in a GC worker. Otherwise the GC worker + // could be trying to change the termination condition while the task + // is executing in another GC worker. + + if (!_process_strong_tasks->is_task_claimed(GCH_PS_ClassLoaderDataGraph_oops_do)) { + ClassLoaderDataGraph::roots_cld_do(strong_cld_closure, weak_cld_closure); + } + + // Some CLDs contained in the thread frames should be considered strong. + // Don't process them if they will be processed during the ClassLoaderDataGraph phase. + CLDClosure* roots_from_clds_p = (strong_cld_closure != weak_cld_closure) ? strong_cld_closure : NULL; + // Only process code roots from thread stacks if we aren't visiting the entire CodeCache anyway + CodeBlobClosure* roots_from_code_p = (so & SO_AllCodeCache) ? NULL : code_roots; + + Threads::possibly_parallel_oops_do(strong_roots, roots_from_clds_p, roots_from_code_p); + + if (!_process_strong_tasks->is_task_claimed(GCH_PS_Universe_oops_do)) { + Universe::oops_do(strong_roots); + } + // Global (strong) JNI handles + if (!_process_strong_tasks->is_task_claimed(GCH_PS_JNIHandles_oops_do)) { + JNIHandles::oops_do(strong_roots); + } + + if (!_process_strong_tasks->is_task_claimed(GCH_PS_ObjectSynchronizer_oops_do)) { + ObjectSynchronizer::oops_do(strong_roots); + } + if (!_process_strong_tasks->is_task_claimed(GCH_PS_FlatProfiler_oops_do)) { + FlatProfiler::oops_do(strong_roots); + } + if (!_process_strong_tasks->is_task_claimed(GCH_PS_Management_oops_do)) { + Management::oops_do(strong_roots); + } + if (!_process_strong_tasks->is_task_claimed(GCH_PS_jvmti_oops_do)) { + JvmtiExport::oops_do(strong_roots); + } + + if (!_process_strong_tasks->is_task_claimed(GCH_PS_SystemDictionary_oops_do)) { + SystemDictionary::roots_oops_do(strong_roots, weak_roots); + } + + // All threads execute the following. A specific chunk of buckets + // from the StringTable are the individual tasks. + if (weak_roots != NULL) { + if (CollectedHeap::use_parallel_gc_threads()) { + StringTable::possibly_parallel_oops_do(weak_roots); + } else { + StringTable::oops_do(weak_roots); + } + } + + if (!_process_strong_tasks->is_task_claimed(GCH_PS_CodeCache_oops_do)) { + if (so & SO_ScavengeCodeCache) { + assert(code_roots != NULL, "must supply closure for code cache"); + + // We only visit parts of the CodeCache when scavenging. + CodeCache::scavenge_root_nmethods_do(code_roots); + } + if (so & SO_AllCodeCache) { + assert(code_roots != NULL, "must supply closure for code cache"); + + // CMSCollector uses this to do intermediate-strength collections. + // We scan the entire code cache, since CodeCache::do_unloading is not called. + CodeCache::blobs_do(code_roots); + } + // Verify that the code cache contents are not subject to + // movement by a scavenging collection. + DEBUG_ONLY(CodeBlobToOopClosure assert_code_is_non_scavengable(&assert_is_non_scavengable_closure, !CodeBlobToOopClosure::FixRelocations)); + DEBUG_ONLY(CodeCache::asserted_non_scavengable_nmethods_do(&assert_code_is_non_scavengable)); + } + +} + +void GenCollectedHeap::gen_process_roots(int level, + bool younger_gens_as_roots, + bool activate_scope, + ScanningOption so, + bool only_strong_roots, + OopsInGenClosure* not_older_gens, + OopsInGenClosure* older_gens, + CLDClosure* cld_closure) { + const bool is_adjust_phase = !only_strong_roots && !younger_gens_as_roots; + + bool is_moving_collection = false; + if (level == 0 || is_adjust_phase) { + // young collections are always moving + is_moving_collection = true; + } + + MarkingCodeBlobClosure mark_code_closure(not_older_gens, is_moving_collection); + OopsInGenClosure* weak_roots = only_strong_roots ? NULL : not_older_gens; + CLDClosure* weak_cld_closure = only_strong_roots ? NULL : cld_closure; + + process_roots(activate_scope, so, + not_older_gens, weak_roots, + cld_closure, weak_cld_closure, + &mark_code_closure); if (younger_gens_as_roots) { - if (!_gen_process_roots_tasks->is_task_claimed(GCH_PS_younger_gens)) { + if (!_process_strong_tasks->is_task_claimed(GCH_PS_younger_gens)) { if (level == 1) { not_older_gens->set_generation(_young_gen); _young_gen->oop_iterate(not_older_gens); @@ -608,43 +721,18 @@ older_gens->reset_generation(); } - _gen_process_roots_tasks->all_tasks_completed(); + _process_strong_tasks->all_tasks_completed(); } -void GenCollectedHeap:: -gen_process_roots(int level, - bool younger_gens_as_roots, - bool activate_scope, - SharedHeap::ScanningOption so, - bool only_strong_roots, - OopsInGenClosure* not_older_gens, - OopsInGenClosure* older_gens, - CLDClosure* cld_closure) { - const bool is_adjust_phase = !only_strong_roots && !younger_gens_as_roots; - - bool is_moving_collection = false; - if (level == 0 || is_adjust_phase) { - // young collections are always moving - is_moving_collection = true; - } - - MarkingCodeBlobClosure mark_code_closure(not_older_gens, is_moving_collection); - CodeBlobClosure* code_closure = &mark_code_closure; - - gen_process_roots(level, - younger_gens_as_roots, - activate_scope, so, - not_older_gens, only_strong_roots ? NULL : not_older_gens, - older_gens, - cld_closure, only_strong_roots ? NULL : cld_closure, - code_closure); - -} +class AlwaysTrueClosure: public BoolObjectClosure { +public: + bool do_object_b(oop p) { return true; } +}; +static AlwaysTrueClosure always_true; void GenCollectedHeap::gen_process_weak_roots(OopClosure* root_closure) { - SharedHeap::process_weak_roots(root_closure); - // "Local" "weak" refs + JNIHandles::weak_oops_do(&always_true, root_closure); _young_gen->ref_processor()->weak_oops_do(root_closure); _old_gen->ref_processor()->weak_oops_do(root_closure); } @@ -1113,10 +1201,10 @@ void GenCollectedHeap::print_tracing_info() const { if (TraceYoungGenTime) { - get_gen(0)->print_summary_info(); + _young_gen->print_summary_info(); } if (TraceOldGenTime) { - get_gen(1)->print_summary_info(); + _old_gen->print_summary_info(); } } diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/memory/genCollectedHeap.hpp --- a/hotspot/src/share/vm/memory/genCollectedHeap.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/memory/genCollectedHeap.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -85,8 +85,7 @@ // Data structure for claiming the (potentially) parallel tasks in // (gen-specific) roots processing. - SubTasksDone* _gen_process_roots_tasks; - SubTasksDone* gen_process_roots_tasks() { return _gen_process_roots_tasks; } + SubTasksDone* _process_strong_tasks; // Collects the given generation. void collect_generation(Generation* gen, bool full, size_t size, bool is_tlab, @@ -373,27 +372,6 @@ // collection. virtual bool is_maximal_no_gc() const; - // Return the generation before "gen". - Generation* prev_gen(Generation* gen) const { - guarantee(gen->level() == 1, "Out of bounds"); - return _young_gen; - } - - // Return the generation after "gen". - Generation* next_gen(Generation* gen) const { - guarantee(gen->level() == 0, "Out of bounds"); - return _old_gen; - } - - Generation* get_gen(int i) const { - guarantee(i == 0 || i == 1, "Out of bounds"); - if (i == 0) { - return _young_gen; - } else { - return _old_gen; - } - } - int n_gens() const { assert(_n_gens == gen_policy()->number_of_generations(), "Sanity"); return _n_gens; @@ -408,6 +386,7 @@ static GenCollectedHeap* heap(); void set_par_threads(uint t); + void set_n_termination(uint t); // Invoke the "do_oop" method of one of the closures "not_older_gens" // or "older_gens" on root locations for the generation at @@ -421,11 +400,25 @@ // The "so" argument determines which of the roots // the closure is applied to: // "SO_None" does none; + enum ScanningOption { + SO_None = 0x0, + SO_AllCodeCache = 0x8, + SO_ScavengeCodeCache = 0x10 + }; + private: + void process_roots(bool activate_scope, + ScanningOption so, + OopClosure* strong_roots, + OopClosure* weak_roots, + CLDClosure* strong_cld_closure, + CLDClosure* weak_cld_closure, + CodeBlobClosure* code_roots); + void gen_process_roots(int level, bool younger_gens_as_roots, bool activate_scope, - SharedHeap::ScanningOption so, + ScanningOption so, OopsInGenClosure* not_older_gens, OopsInGenClosure* weak_roots, OopsInGenClosure* older_gens, @@ -440,7 +433,7 @@ void gen_process_roots(int level, bool younger_gens_as_roots, bool activate_scope, - SharedHeap::ScanningOption so, + ScanningOption so, bool only_strong_roots, OopsInGenClosure* not_older_gens, OopsInGenClosure* older_gens, @@ -486,7 +479,7 @@ assert(heap()->collector_policy()->is_generation_policy(), "the following definition may not be suitable for an n(>2)-generation system"); return incremental_collection_failed() || - (consult_young && !get_gen(0)->collection_attempt_is_safe()); + (consult_young && !_young_gen->collection_attempt_is_safe()); } // If a generation bails out of an incremental collection, diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/memory/genMarkSweep.cpp --- a/hotspot/src/share/vm/memory/genMarkSweep.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/memory/genMarkSweep.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -50,6 +50,7 @@ #include "runtime/vmThread.hpp" #include "utilities/copy.hpp" #include "utilities/events.hpp" +#include "utilities/stack.inline.hpp" void GenMarkSweep::invoke_at_safepoint(int level, ReferenceProcessor* rp, bool clear_all_softrefs) { guarantee(level == 1, "We always collect both old and young."); @@ -109,20 +110,16 @@ deallocate_stacks(); - // If compaction completely evacuated all generations younger than this - // one, then we can clear the card table. Otherwise, we must invalidate + // If compaction completely evacuated the young generation then we + // can clear the card table. Otherwise, we must invalidate // it (consider all cards dirty). In the future, we might consider doing // compaction within generations only, and doing card-table sliding. - bool all_empty = true; - for (int i = 0; all_empty && i < level; i++) { - Generation* g = gch->get_gen(i); - all_empty = all_empty && gch->get_gen(i)->used() == 0; - } GenRemSet* rs = gch->rem_set(); - Generation* old_gen = gch->get_gen(level); + Generation* old_gen = gch->old_gen(); + // Clear/invalidate below make use of the "prev_used_regions" saved earlier. - if (all_empty) { - // We've evacuated all generations below us. + if (gch->young_gen()->used() == 0) { + // We've evacuated the young generation. rs->clear_into_younger(old_gen); } else { // Invalidate the cards corresponding to the currently used @@ -157,9 +154,8 @@ void GenMarkSweep::allocate_stacks() { GenCollectedHeap* gch = GenCollectedHeap::heap(); - // Scratch request on behalf of oldest generation; will do no - // allocation. - ScratchBlock* scratch = gch->gather_scratch(gch->get_gen(gch->_n_gens-1), 0); + // Scratch request on behalf of old generation; will do no allocation. + ScratchBlock* scratch = gch->gather_scratch(gch->old_gen(), 0); // $$$ To cut a corner, we'll only use the first scratch block, and then // revert to malloc. @@ -188,7 +184,7 @@ } void GenMarkSweep::mark_sweep_phase1(int level, - bool clear_all_softrefs) { + bool clear_all_softrefs) { // Recursively traverse all live objects and mark them GCTraceTime tm("phase 1", PrintGC && Verbose, true, _gc_timer, _gc_tracer->gc_id()); trace(" 1"); @@ -199,7 +195,8 @@ // use OopsInGenClosure constructor which takes a generation, // as the Universe has not been created when the static constructors // are run. - follow_root_closure.set_orig_generation(gch->get_gen(level)); + assert(level == 1, "We don't use mark-sweep on young generations"); + follow_root_closure.set_orig_generation(gch->old_gen()); // Need new claim bits before marking starts. ClassLoaderDataGraph::clear_claimed_marks(); @@ -207,7 +204,7 @@ gch->gen_process_roots(level, false, // Younger gens are not roots. true, // activate StrongRootsScope - SharedHeap::SO_None, + GenCollectedHeap::SO_None, GenCollectedHeap::StrongRootsOnly, &follow_root_closure, &follow_root_closure, @@ -287,12 +284,13 @@ // use OopsInGenClosure constructor which takes a generation, // as the Universe has not been created when the static constructors // are run. - adjust_pointer_closure.set_orig_generation(gch->get_gen(level)); + assert(level == 1, "We don't use mark-sweep on young generations."); + adjust_pointer_closure.set_orig_generation(gch->old_gen()); gch->gen_process_roots(level, false, // Younger gens are not roots. true, // activate StrongRootsScope - SharedHeap::SO_AllCodeCache, + GenCollectedHeap::SO_AllCodeCache, GenCollectedHeap::StrongAndWeakRoots, &adjust_pointer_closure, &adjust_pointer_closure, diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/memory/generation.cpp --- a/hotspot/src/share/vm/memory/generation.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/memory/generation.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -153,9 +153,8 @@ Generation* Generation::next_gen() const { GenCollectedHeap* gch = GenCollectedHeap::heap(); - int next = level() + 1; - if (next < gch->_n_gens) { - return gch->get_gen(next); + if (level() == 0) { + return gch->old_gen(); } else { return NULL; } diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/memory/heapInspection.cpp --- a/hotspot/src/share/vm/memory/heapInspection.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/memory/heapInspection.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -33,6 +33,7 @@ #include "runtime/os.hpp" #include "utilities/globalDefinitions.hpp" #include "utilities/macros.hpp" +#include "utilities/stack.inline.hpp" #if INCLUDE_ALL_GCS #include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp" #endif // INCLUDE_ALL_GCS diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/memory/metaspace.cpp --- a/hotspot/src/share/vm/memory/metaspace.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/memory/metaspace.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -3131,7 +3131,7 @@ void Metaspace::initialize_class_space(ReservedSpace rs) { // The reserved space size may be bigger because of alignment, esp with UseLargePages assert(rs.size() >= CompressedClassSpaceSize, - err_msg(SIZE_FORMAT " != " UINTX_FORMAT, rs.size(), CompressedClassSpaceSize)); + err_msg(SIZE_FORMAT " != " SIZE_FORMAT, rs.size(), CompressedClassSpaceSize)); assert(using_class_space(), "Must be using class space"); _class_space_list = new VirtualSpaceList(rs); _chunk_manager_class = new ChunkManager(SpecializedChunk, ClassSmallChunk, ClassMediumChunk); diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/memory/metaspaceShared.cpp --- a/hotspot/src/share/vm/memory/metaspaceShared.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/memory/metaspaceShared.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 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 @@ -410,7 +410,7 @@ // Split up and initialize the misc code and data spaces ReservedSpace* shared_rs = MetaspaceShared::shared_rs(); - int metadata_size = SharedReadOnlySize+SharedReadWriteSize; + size_t metadata_size = SharedReadOnlySize + SharedReadWriteSize; ReservedSpace shared_ro_rw = shared_rs->first_part(metadata_size); ReservedSpace misc_section = shared_rs->last_part(metadata_size); diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/memory/sharedHeap.cpp --- a/hotspot/src/share/vm/memory/sharedHeap.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/memory/sharedHeap.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -32,7 +32,6 @@ #include "runtime/atomic.inline.hpp" #include "runtime/fprofiler.hpp" #include "runtime/java.hpp" -#include "services/management.hpp" #include "utilities/copy.hpp" #include "utilities/workgroup.hpp" @@ -40,32 +39,12 @@ SharedHeap* SharedHeap::_sh; -// The set of potentially parallel tasks in root scanning. -enum SH_process_roots_tasks { - SH_PS_Universe_oops_do, - SH_PS_JNIHandles_oops_do, - SH_PS_ObjectSynchronizer_oops_do, - SH_PS_FlatProfiler_oops_do, - SH_PS_Management_oops_do, - SH_PS_SystemDictionary_oops_do, - SH_PS_ClassLoaderDataGraph_oops_do, - SH_PS_jvmti_oops_do, - SH_PS_CodeCache_oops_do, - // Leave this one last. - SH_PS_NumElements -}; - SharedHeap::SharedHeap(CollectorPolicy* policy_) : CollectedHeap(), _collector_policy(policy_), - _strong_roots_scope(NULL), _strong_roots_parity(0), - _process_strong_tasks(new SubTasksDone(SH_PS_NumElements)), _workers(NULL) { - if (_process_strong_tasks == NULL || !_process_strong_tasks->valid()) { - vm_exit_during_initialization("Failed necessary allocation."); - } _sh = this; // ch is static, should be set only once. if (UseConcMarkSweepGC || UseG1GC) { _workers = new FlexibleWorkGang("GC Thread", ParallelGCThreads, @@ -79,14 +58,6 @@ } } -int SharedHeap::n_termination() { - return _process_strong_tasks->n_threads(); -} - -void SharedHeap::set_n_termination(int t) { - _process_strong_tasks->set_n_threads(t); -} - bool SharedHeap::heap_lock_held_for_gc() { Thread* t = Thread::current(); return Heap_lock->owned_by_self() @@ -97,31 +68,6 @@ void SharedHeap::set_par_threads(uint t) { assert(t == 0 || !UseSerialGC, "Cannot have parallel threads"); _n_par_threads = t; - _process_strong_tasks->set_n_threads(t); -} - -#ifdef ASSERT -class AssertNonScavengableClosure: public OopClosure { -public: - virtual void do_oop(oop* p) { - assert(!Universe::heap()->is_in_partial_collection(*p), - "Referent should not be scavengable."); } - virtual void do_oop(narrowOop* p) { ShouldNotReachHere(); } -}; -static AssertNonScavengableClosure assert_is_non_scavengable_closure; -#endif - -SharedHeap::StrongRootsScope* SharedHeap::active_strong_roots_scope() const { - return _strong_roots_scope; -} -void SharedHeap::register_strong_roots_scope(SharedHeap::StrongRootsScope* scope) { - assert(_strong_roots_scope == NULL, "Should only have one StrongRootsScope active"); - assert(scope != NULL, "Illegal argument"); - _strong_roots_scope = scope; -} -void SharedHeap::unregister_strong_roots_scope(SharedHeap::StrongRootsScope* scope) { - assert(_strong_roots_scope == scope, "Wrong scope unregistered"); - _strong_roots_scope = NULL; } void SharedHeap::change_strong_roots_parity() { @@ -135,174 +81,15 @@ } SharedHeap::StrongRootsScope::StrongRootsScope(SharedHeap* heap, bool activate) - : MarkScope(activate), _sh(heap), _n_workers_done_with_threads(0) + : MarkScope(activate), _sh(heap) { if (_active) { - _sh->register_strong_roots_scope(this); _sh->change_strong_roots_parity(); // Zero the claimed high water mark in the StringTable StringTable::clear_parallel_claimed_index(); } } -SharedHeap::StrongRootsScope::~StrongRootsScope() { - if (_active) { - _sh->unregister_strong_roots_scope(this); - } -} - -Monitor* SharedHeap::StrongRootsScope::_lock = new Monitor(Mutex::leaf, "StrongRootsScope lock", false, Monitor::_safepoint_check_never); - -void SharedHeap::StrongRootsScope::mark_worker_done_with_threads(uint n_workers) { - // The Thread work barrier is only needed by G1 Class Unloading. - // No need to use the barrier if this is single-threaded code. - if (UseG1GC && ClassUnloadingWithConcurrentMark && n_workers > 0) { - uint new_value = (uint)Atomic::add(1, &_n_workers_done_with_threads); - if (new_value == n_workers) { - // This thread is last. Notify the others. - MonitorLockerEx ml(_lock, Mutex::_no_safepoint_check_flag); - _lock->notify_all(); - } - } -} - -void SharedHeap::StrongRootsScope::wait_until_all_workers_done_with_threads(uint n_workers) { - assert(UseG1GC, "Currently only used by G1"); - assert(ClassUnloadingWithConcurrentMark, "Currently only needed when doing G1 Class Unloading"); - - // No need to use the barrier if this is single-threaded code. - if (n_workers > 0 && (uint)_n_workers_done_with_threads != n_workers) { - MonitorLockerEx ml(_lock, Mutex::_no_safepoint_check_flag); - while ((uint)_n_workers_done_with_threads != n_workers) { - _lock->wait(Mutex::_no_safepoint_check_flag, 0, false); - } - } -} - -void SharedHeap::process_roots(bool activate_scope, - ScanningOption so, - OopClosure* strong_roots, - OopClosure* weak_roots, - CLDClosure* strong_cld_closure, - CLDClosure* weak_cld_closure, - CodeBlobClosure* code_roots) { - StrongRootsScope srs(this, activate_scope); - - // General roots. - assert(_strong_roots_parity != 0, "must have called prologue code"); - assert(code_roots != NULL, "code root closure should always be set"); - // _n_termination for _process_strong_tasks should be set up stream - // in a method not running in a GC worker. Otherwise the GC worker - // could be trying to change the termination condition while the task - // is executing in another GC worker. - - // Iterating over the CLDG and the Threads are done early to allow G1 to - // first process the strong CLDs and nmethods and then, after a barrier, - // let the thread process the weak CLDs and nmethods. - - if (!_process_strong_tasks->is_task_claimed(SH_PS_ClassLoaderDataGraph_oops_do)) { - ClassLoaderDataGraph::roots_cld_do(strong_cld_closure, weak_cld_closure); - } - - // Some CLDs contained in the thread frames should be considered strong. - // Don't process them if they will be processed during the ClassLoaderDataGraph phase. - CLDClosure* roots_from_clds_p = (strong_cld_closure != weak_cld_closure) ? strong_cld_closure : NULL; - // Only process code roots from thread stacks if we aren't visiting the entire CodeCache anyway - CodeBlobClosure* roots_from_code_p = (so & SO_AllCodeCache) ? NULL : code_roots; - - Threads::possibly_parallel_oops_do(strong_roots, roots_from_clds_p, roots_from_code_p); - - // This is the point where this worker thread will not find more strong CLDs/nmethods. - // Report this so G1 can synchronize the strong and weak CLDs/nmethods processing. - active_strong_roots_scope()->mark_worker_done_with_threads(n_par_threads()); - - if (!_process_strong_tasks->is_task_claimed(SH_PS_Universe_oops_do)) { - Universe::oops_do(strong_roots); - } - // Global (strong) JNI handles - if (!_process_strong_tasks->is_task_claimed(SH_PS_JNIHandles_oops_do)) - JNIHandles::oops_do(strong_roots); - - if (!_process_strong_tasks-> is_task_claimed(SH_PS_ObjectSynchronizer_oops_do)) - ObjectSynchronizer::oops_do(strong_roots); - if (!_process_strong_tasks->is_task_claimed(SH_PS_FlatProfiler_oops_do)) - FlatProfiler::oops_do(strong_roots); - if (!_process_strong_tasks->is_task_claimed(SH_PS_Management_oops_do)) - Management::oops_do(strong_roots); - if (!_process_strong_tasks->is_task_claimed(SH_PS_jvmti_oops_do)) - JvmtiExport::oops_do(strong_roots); - - if (!_process_strong_tasks->is_task_claimed(SH_PS_SystemDictionary_oops_do)) { - SystemDictionary::roots_oops_do(strong_roots, weak_roots); - } - - // All threads execute the following. A specific chunk of buckets - // from the StringTable are the individual tasks. - if (weak_roots != NULL) { - if (CollectedHeap::use_parallel_gc_threads()) { - StringTable::possibly_parallel_oops_do(weak_roots); - } else { - StringTable::oops_do(weak_roots); - } - } - - if (!_process_strong_tasks->is_task_claimed(SH_PS_CodeCache_oops_do)) { - if (so & SO_ScavengeCodeCache) { - assert(code_roots != NULL, "must supply closure for code cache"); - - // We only visit parts of the CodeCache when scavenging. - CodeCache::scavenge_root_nmethods_do(code_roots); - } - if (so & SO_AllCodeCache) { - assert(code_roots != NULL, "must supply closure for code cache"); - - // CMSCollector uses this to do intermediate-strength collections. - // We scan the entire code cache, since CodeCache::do_unloading is not called. - CodeCache::blobs_do(code_roots); - } - // Verify that the code cache contents are not subject to - // movement by a scavenging collection. - DEBUG_ONLY(CodeBlobToOopClosure assert_code_is_non_scavengable(&assert_is_non_scavengable_closure, !CodeBlobToOopClosure::FixRelocations)); - DEBUG_ONLY(CodeCache::asserted_non_scavengable_nmethods_do(&assert_code_is_non_scavengable)); - } - - _process_strong_tasks->all_tasks_completed(); -} - -void SharedHeap::process_all_roots(bool activate_scope, - ScanningOption so, - OopClosure* roots, - CLDClosure* cld_closure, - CodeBlobClosure* code_closure) { - process_roots(activate_scope, so, - roots, roots, - cld_closure, cld_closure, - code_closure); -} - -void SharedHeap::process_strong_roots(bool activate_scope, - ScanningOption so, - OopClosure* roots, - CLDClosure* cld_closure, - CodeBlobClosure* code_closure) { - process_roots(activate_scope, so, - roots, NULL, - cld_closure, NULL, - code_closure); -} - - -class AlwaysTrueClosure: public BoolObjectClosure { -public: - bool do_object_b(oop p) { return true; } -}; -static AlwaysTrueClosure always_true; - -void SharedHeap::process_weak_roots(OopClosure* root_closure) { - // Global (weak) JNI handles - JNIHandles::weak_oops_do(&always_true, root_closure); -} - void SharedHeap::set_barrier_set(BarrierSet* bs) { _barrier_set = bs; // Cached barrier set for fast access in oops diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/memory/sharedHeap.hpp --- a/hotspot/src/share/vm/memory/sharedHeap.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/memory/sharedHeap.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -61,18 +61,18 @@ // counts the number of tasks that have been done and then reset // the SubTasksDone so that it can be used again. When the number of // tasks is set to the number of GC workers, then _n_threads must -// be set to the number of active GC workers. G1CollectedHeap, -// HRInto_G1RemSet, GenCollectedHeap and SharedHeap have SubTasksDone. -// This seems too many. +// be set to the number of active GC workers. G1RootProcessor and +// GenCollectedHeap have SubTasksDone. // 3) SequentialSubTasksDone has an _n_threads that is used in // a way similar to SubTasksDone and has the same dependency on the // number of active GC workers. CompactibleFreeListSpace and Space // have SequentialSubTasksDone's. -// Example of using SubTasksDone and SequentialSubTasksDone -// G1CollectedHeap::g1_process_roots() -// to SharedHeap::process_roots() and uses -// SubTasksDone* _process_strong_tasks to claim tasks. -// process_roots() calls +// +// Examples of using SubTasksDone and SequentialSubTasksDone: +// G1RootProcessor and GenCollectedHeap::process_roots() use +// SubTasksDone* _process_strong_tasks to claim tasks for workers +// +// GenCollectedHeap::gen_process_roots() calls // rem_set()->younger_refs_iterate() // to scan the card table and which eventually calls down into // CardTableModRefBS::par_non_clean_card_iterate_work(). This method @@ -104,10 +104,6 @@ friend class VM_GC_Operation; friend class VM_CGC_Operation; -private: - // For claiming strong_roots tasks. - SubTasksDone* _process_strong_tasks; - protected: // There should be only a single instance of "SharedHeap" in a program. // This is enforced with the protected constructor below, which will also @@ -140,7 +136,6 @@ static SharedHeap* heap() { return _sh; } void set_barrier_set(BarrierSet* bs); - SubTasksDone* process_strong_tasks() { return _process_strong_tasks; } // Does operations required after initialization has been done. virtual void post_initialize(); @@ -193,69 +188,19 @@ // strong_roots_prologue calls change_strong_roots_parity, if // parallel tasks are enabled. class StrongRootsScope : public MarkingCodeBlobClosure::MarkScope { - // Used to implement the Thread work barrier. - static Monitor* _lock; - SharedHeap* _sh; - volatile jint _n_workers_done_with_threads; public: StrongRootsScope(SharedHeap* heap, bool activate = true); - ~StrongRootsScope(); - - // Mark that this thread is done with the Threads work. - void mark_worker_done_with_threads(uint n_workers); - // Wait until all n_workers are done with the Threads work. - void wait_until_all_workers_done_with_threads(uint n_workers); }; friend class StrongRootsScope; - // The current active StrongRootScope - StrongRootsScope* _strong_roots_scope; - - StrongRootsScope* active_strong_roots_scope() const; - private: - void register_strong_roots_scope(StrongRootsScope* scope); - void unregister_strong_roots_scope(StrongRootsScope* scope); void change_strong_roots_parity(); public: - enum ScanningOption { - SO_None = 0x0, - SO_AllCodeCache = 0x8, - SO_ScavengeCodeCache = 0x10 - }; - FlexibleWorkGang* workers() const { return _workers; } - // Invoke the "do_oop" method the closure "roots" on all root locations. - // The "so" argument determines which roots the closure is applied to: - // "SO_None" does none; - // "SO_AllCodeCache" applies the closure to all elements of the CodeCache. - // "SO_ScavengeCodeCache" applies the closure to elements on the scavenge root list in the CodeCache. - void process_roots(bool activate_scope, - ScanningOption so, - OopClosure* strong_roots, - OopClosure* weak_roots, - CLDClosure* strong_cld_closure, - CLDClosure* weak_cld_closure, - CodeBlobClosure* code_roots); - void process_all_roots(bool activate_scope, - ScanningOption so, - OopClosure* roots, - CLDClosure* cld_closure, - CodeBlobClosure* code_roots); - void process_strong_roots(bool activate_scope, - ScanningOption so, - OopClosure* roots, - CLDClosure* cld_closure, - CodeBlobClosure* code_roots); - - - // Apply "root_closure" to the JNI weak roots.. - void process_weak_roots(OopClosure* root_closure); - // The functions below are helper functions that a subclass of // "SharedHeap" can use in the implementation of its virtual // functions. @@ -270,9 +215,6 @@ // (such as process roots) subsequently. virtual void set_par_threads(uint t); - int n_termination(); - void set_n_termination(int t); - // // New methods from CollectedHeap // @@ -284,8 +226,4 @@ size_t capacity); }; -inline SharedHeap::ScanningOption operator|(SharedHeap::ScanningOption so0, SharedHeap::ScanningOption so1) { - return static_cast(static_cast(so0) | static_cast(so1)); -} - #endif // SHARE_VM_MEMORY_SHAREDHEAP_HPP diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/memory/space.cpp --- a/hotspot/src/share/vm/memory/space.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/memory/space.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -26,7 +26,6 @@ #include "classfile/systemDictionary.hpp" #include "classfile/vmSymbols.hpp" #include "gc_implementation/shared/liveRange.hpp" -#include "gc_implementation/shared/markSweep.hpp" #include "gc_implementation/shared/spaceDecorator.hpp" #include "gc_interface/collectedHeap.inline.hpp" #include "memory/blockOffsetTable.inline.hpp" @@ -353,15 +352,6 @@ void ContiguousSpace::mangle_unused_area_complete() { mangler()->mangle_unused_area_complete(); } -void ContiguousSpace::mangle_region(MemRegion mr) { - // Although this method uses SpaceMangler::mangle_region() which - // is not specific to a space, the when the ContiguousSpace version - // is called, it is always with regard to a space and this - // bounds checking is appropriate. - MemRegion space_mr(bottom(), end()); - assert(space_mr.contains(mr), "Mangling outside space"); - SpaceMangler::mangle_region(mr); -} #endif // NOT_PRODUCT void CompactibleSpace::initialize(MemRegion mr, @@ -388,7 +378,7 @@ cp->space->set_compaction_top(compact_top); cp->space = cp->space->next_compaction_space(); if (cp->space == NULL) { - cp->gen = GenCollectedHeap::heap()->prev_gen(cp->gen); + cp->gen = GenCollectedHeap::heap()->young_gen(); assert(cp->gen != NULL, "compaction must succeed"); cp->space = cp->gen->first_compaction_space(); assert(cp->space != NULL, "generation must have a first compaction space"); diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/memory/space.hpp --- a/hotspot/src/share/vm/memory/space.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/memory/space.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 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 @@ -128,11 +128,10 @@ // For detecting GC bugs. Should only be called at GC boundaries, since // some unused space may be used as scratch space during GC's. - // Default implementation does nothing. We also call this when expanding - // a space to satisfy an allocation request. See bug #4668531 - virtual void mangle_unused_area() {} - virtual void mangle_unused_area_complete() {} - virtual void mangle_region(MemRegion mr) {} + // We also call this when expanding a space to satisfy an allocation + // request. See bug #4668531 + virtual void mangle_unused_area() = 0; + virtual void mangle_unused_area_complete() = 0; // Testers bool is_empty() const { return used() == 0; } @@ -196,7 +195,7 @@ // structure supporting these calls, possibly speeding up future calls. // The default implementation, however, is simply to call the const // version. - inline virtual HeapWord* block_start(const void* p); + virtual HeapWord* block_start(const void* p); // Requires "addr" to be the start of a chunk, and returns its size. // "addr + size" is required to be the start of a new chunk, or the end @@ -559,8 +558,6 @@ void mangle_unused_area() PRODUCT_RETURN; // Mangle [top, end) void mangle_unused_area_complete() PRODUCT_RETURN; - // Mangle the given MemRegion. - void mangle_region(MemRegion mr) PRODUCT_RETURN; // Do some sparse checking on the area that should have been mangled. void check_mangled_unused_area(HeapWord* limit) PRODUCT_RETURN; diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/memory/specialized_oop_closures.cpp --- a/hotspot/src/share/vm/memory/specialized_oop_closures.cpp Wed Jul 05 20:26:30 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,115 +0,0 @@ -/* - * Copyright (c) 2001, 2010, 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. - * - */ - -#include "precompiled.hpp" -#include "memory/specialized_oop_closures.hpp" -#include "utilities/ostream.hpp" - -// For keeping stats on effectiveness. -#ifndef PRODUCT -#if ENABLE_SPECIALIZATION_STATS - -int SpecializationStats::_numCallsAll; - -int SpecializationStats::_numCallsTotal[NUM_Kinds]; -int SpecializationStats::_numCalls_nv[NUM_Kinds]; - -int SpecializationStats::_numDoOopCallsTotal[NUM_Kinds]; -int SpecializationStats::_numDoOopCalls_nv[NUM_Kinds]; - -void SpecializationStats::clear() { - _numCallsAll = 0; - for (int k = ik; k < NUM_Kinds; k++) { - _numCallsTotal[k] = 0; - _numCalls_nv[k] = 0; - - _numDoOopCallsTotal[k] = 0; - _numDoOopCalls_nv[k] = 0; - } -} - -void SpecializationStats::print() { - const char* header_format = " %20s %10s %11s %10s"; - const char* line_format = " %20s %10d %11d %9.2f%%"; - int all_numCallsTotal = - _numCallsTotal[ik] + _numCallsTotal[irk] + _numCallsTotal[oa]; - int all_numCalls_nv = - _numCalls_nv[ik] + _numCalls_nv[irk] + _numCalls_nv[oa]; - gclog_or_tty->print_cr("\nOf %d oop_oop_iterate calls %d (%6.3f%%) are in (ik, irk, oa).", - _numCallsAll, all_numCallsTotal, - 100.0 * (float)all_numCallsTotal / (float)_numCallsAll); - // irk calls are double-counted. - int real_ik_numCallsTotal = _numCallsTotal[ik] - _numCallsTotal[irk]; - int real_ik_numCalls_nv = _numCalls_nv[ik] - _numCalls_nv[irk]; - gclog_or_tty->print_cr(""); - gclog_or_tty->print_cr(header_format, "oop_oop_iterate:", "calls", "non-virtual", "pct"); - gclog_or_tty->print_cr(header_format, - "----------", - "----------", - "-----------", - "----------"); - gclog_or_tty->print_cr(line_format, "all", - all_numCallsTotal, - all_numCalls_nv, - 100.0 * (float)all_numCalls_nv / (float)all_numCallsTotal); - gclog_or_tty->print_cr(line_format, "ik", - real_ik_numCallsTotal, real_ik_numCalls_nv, - 100.0 * (float)real_ik_numCalls_nv / - (float)real_ik_numCallsTotal); - gclog_or_tty->print_cr(line_format, "irk", - _numCallsTotal[irk], _numCalls_nv[irk], - 100.0 * (float)_numCalls_nv[irk] / (float)_numCallsTotal[irk]); - gclog_or_tty->print_cr(line_format, "oa", - _numCallsTotal[oa], _numCalls_nv[oa], - 100.0 * (float)_numCalls_nv[oa] / (float)_numCallsTotal[oa]); - - - gclog_or_tty->print_cr(""); - gclog_or_tty->print_cr(header_format, "do_oop:", "calls", "non-virtual", "pct"); - gclog_or_tty->print_cr(header_format, - "----------", - "----------", - "-----------", - "----------"); - int all_numDoOopCallsTotal = - _numDoOopCallsTotal[ik] + _numDoOopCallsTotal[irk] + _numDoOopCallsTotal[oa]; - int all_numDoOopCalls_nv = - _numDoOopCalls_nv[ik] + _numDoOopCalls_nv[irk] + _numDoOopCalls_nv[oa]; - gclog_or_tty->print_cr(line_format, "all", - all_numDoOopCallsTotal, all_numDoOopCalls_nv, - 100.0 * (float)all_numDoOopCalls_nv / - (float)all_numDoOopCallsTotal); - const char* kind_names[] = { "ik", "irk", "oa" }; - for (int k = ik; k < NUM_Kinds; k++) { - gclog_or_tty->print_cr(line_format, kind_names[k], - _numDoOopCallsTotal[k], _numDoOopCalls_nv[k], - (_numDoOopCallsTotal[k] > 0 ? - 100.0 * (float)_numDoOopCalls_nv[k] / - (float)_numDoOopCallsTotal[k] - : 0.0)); - } -} - -#endif // ENABLE_SPECIALIZATION_STATS -#endif // !PRODUCT diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/memory/specialized_oop_closures.hpp --- a/hotspot/src/share/vm/memory/specialized_oop_closures.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/memory/specialized_oop_closures.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -60,21 +60,15 @@ // This macro applies an argument macro to all OopClosures for which we // want specialized bodies of "oop_oop_iterate". The arguments to "f" are: // "f(closureType, non_virtual)" -// where "closureType" is the name of the particular subclass of OopClosure, +// where "closureType" is the name of the particular subclass of ExtendedOopClosure, // and "non_virtual" will be the string "_nv" if the closure type should // have its "do_oop" method invoked non-virtually, or else the -// string "_v". ("OopClosure" itself will be the only class in the latter +// string "_v". ("ExtendedOopClosure" itself will be the only class in the latter // category.) // This is split into several because of a Visual C++ 6.0 compiler bug // where very long macros cause the compiler to crash -// Some other heap might define further specialized closures. -#ifndef FURTHER_SPECIALIZED_OOP_OOP_ITERATE_CLOSURES -#define FURTHER_SPECIALIZED_OOP_OOP_ITERATE_CLOSURES(f) \ - /* None */ -#endif - #define SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_S(f) \ f(ScanClosure,_nv) \ f(FastScanClosure,_nv) \ @@ -94,7 +88,7 @@ SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_P(f) #if INCLUDE_ALL_GCS -#define SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_2(f) \ +#define SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_CMS(f) \ f(MarkRefsIntoAndScanClosure,_nv) \ f(Par_MarkRefsIntoAndScanClosure,_nv) \ f(PushAndMarkClosure,_nv) \ @@ -102,8 +96,13 @@ f(PushOrMarkClosure,_nv) \ f(Par_PushOrMarkClosure,_nv) \ f(CMSKeepAliveClosure,_nv) \ - f(CMSInnerParMarkAndPushClosure,_nv) \ - FURTHER_SPECIALIZED_OOP_OOP_ITERATE_CLOSURES(f) + f(CMSInnerParMarkAndPushClosure,_nv) +#endif + +#if INCLUDE_ALL_GCS +#define SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_2(f) \ + SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_CMS(f) \ + SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_G1(f) #else // INCLUDE_ALL_GCS #define SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_2(f) #endif // INCLUDE_ALL_GCS @@ -144,13 +143,6 @@ // The "root_class" is the most general class to define; this may be // "OopClosure" in some applications and "OopsInGenClosure" in others. - -// Some other heap might define further specialized closures. -#ifndef FURTHER_SPECIALIZED_SINCE_SAVE_MARKS_CLOSURES -#define FURTHER_SPECIALIZED_SINCE_SAVE_MARKS_CLOSURES(f) \ - /* None */ -#endif - #define SPECIALIZED_SINCE_SAVE_MARKS_CLOSURES_YOUNG_S(f) \ f(ScanClosure,_nv) \ f(FastScanClosure,_nv) @@ -158,8 +150,7 @@ #if INCLUDE_ALL_GCS #define SPECIALIZED_SINCE_SAVE_MARKS_CLOSURES_YOUNG_P(f) \ f(ParScanWithBarrierClosure,_nv) \ - f(ParScanWithoutBarrierClosure,_nv) \ - FURTHER_SPECIALIZED_SINCE_SAVE_MARKS_CLOSURES(f) + f(ParScanWithoutBarrierClosure,_nv) #else // INCLUDE_ALL_GCS #define SPECIALIZED_SINCE_SAVE_MARKS_CLOSURES_YOUNG_P(f) #endif // INCLUDE_ALL_GCS @@ -174,93 +165,9 @@ // We separate these out, because sometime the general one has // a different definition from the specialized ones, and sometimes it // doesn't. -// NOTE: One of the valid criticisms of this -// specialize-oop_oop_iterate-for-specific-closures idiom is that it is -// easy to have a silent performance bug: if you fail to de-virtualize, -// things still work, just slower. The "SpecializationStats" mode is -// intended to at least make such a failure easy to detect. -// *Not* using the ALL_SINCE_SAVE_MARKS_CLOSURES(f) macro defined -// below means that *only* closures for which oop_oop_iterate specializations -// exist above may be applied to "oops_since_save_marks". That is, -// this form of the performance bug is caught statically. When you add -// a definition for the general type, this property goes away. -// Make sure you test with SpecializationStats to find such bugs -// when introducing a new closure where you don't want virtual dispatch. #define ALL_SINCE_SAVE_MARKS_CLOSURES(f) \ f(OopsInGenClosure,_v) \ SPECIALIZED_SINCE_SAVE_MARKS_CLOSURES(f) -// For keeping stats on effectiveness. -#define ENABLE_SPECIALIZATION_STATS 0 - - -class SpecializationStats { -public: - enum Kind { - ik, // InstanceKlass - irk, // InstanceRefKlass - oa, // ObjArrayKlass - NUM_Kinds - }; - -#if ENABLE_SPECIALIZATION_STATS -private: - static bool _init; - static bool _wrapped; - static jint _numCallsAll; - - static jint _numCallsTotal[NUM_Kinds]; - static jint _numCalls_nv[NUM_Kinds]; - - static jint _numDoOopCallsTotal[NUM_Kinds]; - static jint _numDoOopCalls_nv[NUM_Kinds]; -public: -#endif - static void clear() PRODUCT_RETURN; - - static inline void record_call() PRODUCT_RETURN; - static inline void record_iterate_call_v(Kind k) PRODUCT_RETURN; - static inline void record_iterate_call_nv(Kind k) PRODUCT_RETURN; - static inline void record_do_oop_call_v(Kind k) PRODUCT_RETURN; - static inline void record_do_oop_call_nv(Kind k) PRODUCT_RETURN; - - static void print() PRODUCT_RETURN; -}; - -#ifndef PRODUCT -#if ENABLE_SPECIALIZATION_STATS - -inline void SpecializationStats::record_call() { - Atomic::inc(&_numCallsAll); -} -inline void SpecializationStats::record_iterate_call_v(Kind k) { - Atomic::inc(&_numCallsTotal[k]); -} -inline void SpecializationStats::record_iterate_call_nv(Kind k) { - Atomic::inc(&_numCallsTotal[k]); - Atomic::inc(&_numCalls_nv[k]); -} - -inline void SpecializationStats::record_do_oop_call_v(Kind k) { - Atomic::inc(&_numDoOopCallsTotal[k]); -} -inline void SpecializationStats::record_do_oop_call_nv(Kind k) { - Atomic::inc(&_numDoOopCallsTotal[k]); - Atomic::inc(&_numDoOopCalls_nv[k]); -} - -#else // !ENABLE_SPECIALIZATION_STATS - -inline void SpecializationStats::record_call() {} -inline void SpecializationStats::record_iterate_call_v(Kind k) {} -inline void SpecializationStats::record_iterate_call_nv(Kind k) {} -inline void SpecializationStats::record_do_oop_call_v(Kind k) {} -inline void SpecializationStats::record_do_oop_call_nv(Kind k) {} -inline void SpecializationStats::clear() {} -inline void SpecializationStats::print() {} - -#endif // ENABLE_SPECIALIZATION_STATS -#endif // !PRODUCT - #endif // SHARE_VM_MEMORY_SPECIALIZED_OOP_CLOSURES_HPP diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/memory/tenuredGeneration.cpp --- a/hotspot/src/share/vm/memory/tenuredGeneration.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/memory/tenuredGeneration.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -178,7 +178,6 @@ bool is_tlab) { GenCollectedHeap* gch = GenCollectedHeap::heap(); - SpecializationStats::clear(); // Temporarily expand the span of our ref processor, so // refs discovery is over the entire heap, not just this generation ReferenceProcessorSpanMutator @@ -195,8 +194,6 @@ gc_timer->register_gc_end(); gc_tracer->report_gc_end(gc_timer->gc_end(), gc_timer->time_partitions()); - - SpecializationStats::print(); } HeapWord* diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/oops/cpCache.cpp --- a/hotspot/src/share/vm/oops/cpCache.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/oops/cpCache.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -35,9 +35,6 @@ #include "runtime/handles.inline.hpp" #include "runtime/orderAccess.inline.hpp" #include "utilities/macros.hpp" -#if INCLUDE_ALL_GCS -# include "gc_implementation/parallelScavenge/psPromotionManager.hpp" -#endif // INCLUDE_ALL_GCS PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/oops/instanceClassLoaderKlass.cpp --- a/hotspot/src/share/vm/oops/instanceClassLoaderKlass.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/oops/instanceClassLoaderKlass.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -30,6 +30,7 @@ #include "memory/genOopClosures.inline.hpp" #include "memory/iterator.inline.hpp" #include "memory/oopFactory.hpp" +#include "memory/specialized_oop_closures.hpp" #include "oops/instanceKlass.hpp" #include "oops/instanceClassLoaderKlass.hpp" #include "oops/instanceMirrorKlass.hpp" @@ -54,7 +55,6 @@ int InstanceClassLoaderKlass:: \ oop_oop_iterate##nv_suffix(oop obj, OopClosureType* closure) { \ /* Get size before changing pointers */ \ - SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::irk);\ int size = InstanceKlass::oop_oop_iterate##nv_suffix(obj, closure); \ \ if_do_metadata_checked(closure, nv_suffix) { \ @@ -74,7 +74,6 @@ int InstanceClassLoaderKlass:: \ oop_oop_iterate_backwards##nv_suffix(oop obj, OopClosureType* closure) { \ /* Get size before changing pointers */ \ - SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::irk);\ int size = InstanceKlass::oop_oop_iterate_backwards##nv_suffix(obj, closure); \ return size; \ } @@ -87,8 +86,6 @@ oop_oop_iterate##nv_suffix##_m(oop obj, \ OopClosureType* closure, \ MemRegion mr) { \ - SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::irk);\ - \ int size = InstanceKlass::oop_oop_iterate##nv_suffix##_m(obj, closure, mr); \ \ if_do_metadata_checked(closure, nv_suffix) { \ diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/oops/instanceClassLoaderKlass.hpp --- a/hotspot/src/share/vm/oops/instanceClassLoaderKlass.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/oops/instanceClassLoaderKlass.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,7 @@ #ifndef SHARE_VM_OOPS_INSTANCECLASSLOADERKLASS_HPP #define SHARE_VM_OOPS_INSTANCECLASSLOADERKLASS_HPP +#include "memory/specialized_oop_closures.hpp" #include "oops/instanceKlass.hpp" #include "utilities/macros.hpp" diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/oops/instanceKlass.cpp --- a/hotspot/src/share/vm/oops/instanceKlass.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/oops/instanceKlass.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -38,6 +38,7 @@ #include "memory/iterator.inline.hpp" #include "memory/metadataFactory.hpp" #include "memory/oopFactory.hpp" +#include "memory/specialized_oop_closures.hpp" #include "oops/fieldStreams.hpp" #include "oops/instanceClassLoaderKlass.hpp" #include "oops/instanceKlass.hpp" @@ -2209,15 +2210,12 @@ #define InstanceKlass_OOP_OOP_ITERATE_DEFN(OopClosureType, nv_suffix) \ \ int InstanceKlass::oop_oop_iterate##nv_suffix(oop obj, OopClosureType* closure) { \ - SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::ik);\ /* header */ \ if_do_metadata_checked(closure, nv_suffix) { \ closure->do_klass##nv_suffix(obj->klass()); \ } \ InstanceKlass_OOP_MAP_ITERATE( \ obj, \ - SpecializationStats:: \ - record_do_oop_call##nv_suffix(SpecializationStats::ik); \ (closure)->do_oop##nv_suffix(p), \ assert_is_in_closed_subset) \ return size_helper(); \ @@ -2228,14 +2226,11 @@ \ int InstanceKlass::oop_oop_iterate_backwards##nv_suffix(oop obj, \ OopClosureType* closure) { \ - SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::ik); \ - \ assert_should_ignore_metadata(closure, nv_suffix); \ \ /* instance variables */ \ InstanceKlass_OOP_MAP_REVERSE_ITERATE( \ obj, \ - SpecializationStats::record_do_oop_call##nv_suffix(SpecializationStats::ik);\ (closure)->do_oop##nv_suffix(p), \ assert_is_in_closed_subset) \ return size_helper(); \ @@ -2247,7 +2242,6 @@ int InstanceKlass::oop_oop_iterate##nv_suffix##_m(oop obj, \ OopClosureType* closure, \ MemRegion mr) { \ - SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::ik);\ if_do_metadata_checked(closure, nv_suffix) { \ if (mr.contains(obj)) { \ closure->do_klass##nv_suffix(obj->klass()); \ diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/oops/instanceKlass.hpp --- a/hotspot/src/share/vm/oops/instanceKlass.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/oops/instanceKlass.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -27,6 +27,7 @@ #include "classfile/classLoaderData.hpp" #include "memory/referenceType.hpp" +#include "memory/specialized_oop_closures.hpp" #include "oops/annotations.hpp" #include "oops/constMethod.hpp" #include "oops/fieldInfo.hpp" diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/oops/instanceMirrorKlass.cpp --- a/hotspot/src/share/vm/oops/instanceMirrorKlass.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/oops/instanceMirrorKlass.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -30,6 +30,7 @@ #include "memory/genOopClosures.inline.hpp" #include "memory/iterator.inline.hpp" #include "memory/oopFactory.hpp" +#include "memory/specialized_oop_closures.hpp" #include "oops/instanceKlass.hpp" #include "oops/instanceMirrorKlass.hpp" #include "oops/instanceOop.hpp" @@ -250,8 +251,6 @@ int InstanceMirrorKlass:: \ oop_oop_iterate##nv_suffix(oop obj, OopClosureType* closure) { \ /* Get size before changing pointers */ \ - SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::irk); \ - \ InstanceKlass::oop_oop_iterate##nv_suffix(obj, closure); \ \ if_do_metadata_checked(closure, nv_suffix) { \ @@ -275,8 +274,6 @@ int InstanceMirrorKlass:: \ oop_oop_iterate_backwards##nv_suffix(oop obj, OopClosureType* closure) { \ /* Get size before changing pointers */ \ - SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::irk); \ - \ InstanceKlass::oop_oop_iterate_backwards##nv_suffix(obj, closure); \ \ if (UseCompressedOops) { \ @@ -294,8 +291,6 @@ oop_oop_iterate##nv_suffix##_m(oop obj, \ OopClosureType* closure, \ MemRegion mr) { \ - SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::irk); \ - \ InstanceKlass::oop_oop_iterate##nv_suffix##_m(obj, closure, mr); \ \ if_do_metadata_checked(closure, nv_suffix) { \ diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/oops/instanceMirrorKlass.hpp --- a/hotspot/src/share/vm/oops/instanceMirrorKlass.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/oops/instanceMirrorKlass.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -26,6 +26,7 @@ #define SHARE_VM_OOPS_INSTANCEMIRRORKLASS_HPP #include "classfile/systemDictionary.hpp" +#include "memory/specialized_oop_closures.hpp" #include "oops/instanceKlass.hpp" #include "runtime/handles.hpp" #include "utilities/macros.hpp" diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/oops/instanceRefKlass.cpp --- a/hotspot/src/share/vm/oops/instanceRefKlass.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/oops/instanceRefKlass.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -30,6 +30,7 @@ #include "gc_interface/collectedHeap.inline.hpp" #include "memory/genCollectedHeap.hpp" #include "memory/genOopClosures.inline.hpp" +#include "memory/specialized_oop_closures.hpp" #include "oops/instanceRefKlass.hpp" #include "oops/oop.inline.hpp" #include "utilities/preserveException.hpp" @@ -260,7 +261,6 @@ return size; \ } else if (contains(referent_addr)) { \ /* treat referent as normal oop */ \ - SpecializationStats::record_do_oop_call##nv_suffix(SpecializationStats::irk);\ closure->do_oop##nv_suffix(referent_addr); \ } \ } \ @@ -276,7 +276,6 @@ INTPTR_FORMAT, disc_addr); \ } \ ) \ - SpecializationStats::record_do_oop_call##nv_suffix(SpecializationStats::irk);\ closure->do_oop##nv_suffix(disc_addr); \ } \ } else { \ @@ -293,7 +292,6 @@ } \ /* treat next as normal oop */ \ if (contains(next_addr)) { \ - SpecializationStats::record_do_oop_call##nv_suffix(SpecializationStats::irk); \ closure->do_oop##nv_suffix(next_addr); \ } \ return size; \ @@ -309,8 +307,6 @@ int InstanceRefKlass:: \ oop_oop_iterate##nv_suffix(oop obj, OopClosureType* closure) { \ /* Get size before changing pointers */ \ - SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::irk);\ - \ int size = InstanceKlass::oop_oop_iterate##nv_suffix(obj, closure); \ \ if (UseCompressedOops) { \ @@ -326,8 +322,6 @@ int InstanceRefKlass:: \ oop_oop_iterate_backwards##nv_suffix(oop obj, OopClosureType* closure) { \ /* Get size before changing pointers */ \ - SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::irk);\ - \ int size = InstanceKlass::oop_oop_iterate_backwards##nv_suffix(obj, closure); \ \ if (UseCompressedOops) { \ @@ -345,8 +339,6 @@ oop_oop_iterate##nv_suffix##_m(oop obj, \ OopClosureType* closure, \ MemRegion mr) { \ - SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::irk);\ - \ int size = InstanceKlass::oop_oop_iterate##nv_suffix##_m(obj, closure, mr); \ if (UseCompressedOops) { \ InstanceRefKlass_SPECIALIZED_OOP_ITERATE(narrowOop, nv_suffix, mr.contains); \ diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/oops/instanceRefKlass.hpp --- a/hotspot/src/share/vm/oops/instanceRefKlass.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/oops/instanceRefKlass.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,7 @@ #ifndef SHARE_VM_OOPS_INSTANCEREFKLASS_HPP #define SHARE_VM_OOPS_INSTANCEREFKLASS_HPP +#include "memory/specialized_oop_closures.hpp" #include "oops/instanceKlass.hpp" #include "utilities/macros.hpp" diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/oops/klass.cpp --- a/hotspot/src/share/vm/oops/klass.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/oops/klass.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -39,8 +39,8 @@ #include "runtime/atomic.inline.hpp" #include "runtime/orderAccess.inline.hpp" #include "trace/traceMacros.hpp" -#include "utilities/stack.hpp" #include "utilities/macros.hpp" +#include "utilities/stack.inline.hpp" #if INCLUDE_ALL_GCS #include "gc_implementation/g1/g1SATBCardTableModRefBS.hpp" #include "gc_implementation/parallelScavenge/psParallelCompact.hpp" diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/oops/objArrayKlass.cpp --- a/hotspot/src/share/vm/oops/objArrayKlass.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/oops/objArrayKlass.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -32,6 +32,7 @@ #include "memory/iterator.inline.hpp" #include "memory/metadataFactory.hpp" #include "memory/resourceArea.hpp" +#include "memory/specialized_oop_closures.hpp" #include "memory/universe.inline.hpp" #include "oops/instanceKlass.hpp" #include "oops/klass.inline.hpp" @@ -479,7 +480,6 @@ \ int ObjArrayKlass::oop_oop_iterate##nv_suffix(oop obj, \ OopClosureType* closure) { \ - SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::oa); \ assert (obj->is_array(), "obj must be array"); \ objArrayOop a = objArrayOop(obj); \ /* Get size before changing pointers. */ \ @@ -497,7 +497,6 @@ int ObjArrayKlass::oop_oop_iterate##nv_suffix##_m(oop obj, \ OopClosureType* closure, \ MemRegion mr) { \ - SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::oa); \ assert(obj->is_array(), "obj must be array"); \ objArrayOop a = objArrayOop(obj); \ /* Get size before changing pointers. */ \ @@ -519,7 +518,6 @@ int ObjArrayKlass::oop_oop_iterate_range##nv_suffix(oop obj, \ OopClosureType* closure, \ int start, int end) { \ - SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::oa); \ assert(obj->is_array(), "obj must be array"); \ objArrayOop a = objArrayOop(obj); \ /* Get size before changing pointers. */ \ diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/oops/objArrayOop.cpp --- a/hotspot/src/share/vm/oops/objArrayOop.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/oops/objArrayOop.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -23,6 +23,7 @@ */ #include "precompiled.hpp" +#include "memory/specialized_oop_closures.hpp" #include "oops/objArrayKlass.hpp" #include "oops/objArrayOop.hpp" #include "oops/oop.inline.hpp" @@ -46,7 +47,6 @@ #define ObjArrayOop_OOP_ITERATE_DEFN(OopClosureType, nv_suffix) \ \ int objArrayOopDesc::oop_iterate_range(OopClosureType* blk, int start, int end) { \ - SpecializationStats::record_call(); \ return ((ObjArrayKlass*)klass())->oop_oop_iterate_range##nv_suffix(this, blk, start, end); \ } diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/oops/objArrayOop.hpp --- a/hotspot/src/share/vm/oops/objArrayOop.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/oops/objArrayOop.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,7 @@ #ifndef SHARE_VM_OOPS_OBJARRAYOOP_HPP #define SHARE_VM_OOPS_OBJARRAYOOP_HPP +#include "memory/specialized_oop_closures.hpp" #include "oops/arrayOop.hpp" // An objArrayOop is an array containing oops. diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/oops/oop.inline.hpp --- a/hotspot/src/share/vm/oops/oop.inline.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/oops/oop.inline.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -630,6 +630,30 @@ return cas_set_mark(m, compare) == compare; } +#if INCLUDE_ALL_GCS +inline oop oopDesc::forward_to_atomic(oop p) { + markOop oldMark = mark(); + markOop forwardPtrMark = markOopDesc::encode_pointer_as_mark(p); + markOop curMark; + + assert(forwardPtrMark->decode_pointer() == p, "encoding must be reversable"); + assert(sizeof(markOop) == sizeof(intptr_t), "CAS below requires this."); + + while (!oldMark->is_marked()) { + curMark = (markOop)Atomic::cmpxchg_ptr(forwardPtrMark, &_mark, oldMark); + assert(is_forwarded(), "object should have been forwarded"); + if (curMark == oldMark) { + return NULL; + } + // If the CAS was unsuccessful then curMark->is_marked() + // should return true as another thread has CAS'd in another + // forwarding pointer. + oldMark = curMark; + } + return forwardee(); +} +#endif + // Note that the forwardee is not the same thing as the displaced_mark. // The forwardee is used when copying during scavenge and mark-sweep. // It does need to clear the low two locking- and GC-related bits. @@ -692,12 +716,10 @@ #define OOP_ITERATE_DEFN(OopClosureType, nv_suffix) \ \ inline int oopDesc::oop_iterate(OopClosureType* blk) { \ - SpecializationStats::record_call(); \ return klass()->oop_oop_iterate##nv_suffix(this, blk); \ } \ \ inline int oopDesc::oop_iterate(OopClosureType* blk, MemRegion mr) { \ - SpecializationStats::record_call(); \ return klass()->oop_oop_iterate##nv_suffix##_m(this, blk, mr); \ } @@ -721,7 +743,6 @@ #define OOP_ITERATE_BACKWARDS_DEFN(OopClosureType, nv_suffix) \ \ inline int oopDesc::oop_iterate_backwards(OopClosureType* blk) { \ - SpecializationStats::record_call(); \ return klass()->oop_oop_iterate_backwards##nv_suffix(this, blk); \ } diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/oops/oop.pcgc.inline.hpp --- a/hotspot/src/share/vm/oops/oop.pcgc.inline.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/oops/oop.pcgc.inline.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * 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 @@ -54,28 +54,4 @@ klass()->oop_follow_contents(cm, this); } -inline oop oopDesc::forward_to_atomic(oop p) { - assert(ParNewGeneration::is_legal_forward_ptr(p), - "illegal forwarding pointer value."); - markOop oldMark = mark(); - markOop forwardPtrMark = markOopDesc::encode_pointer_as_mark(p); - markOop curMark; - - assert(forwardPtrMark->decode_pointer() == p, "encoding must be reversable"); - assert(sizeof(markOop) == sizeof(intptr_t), "CAS below requires this."); - - while (!oldMark->is_marked()) { - curMark = (markOop)Atomic::cmpxchg_ptr(forwardPtrMark, &_mark, oldMark); - assert(is_forwarded(), "object should have been forwarded"); - if (curMark == oldMark) { - return NULL; - } - // If the CAS was unsuccessful then curMark->is_marked() - // should return true as another thread has CAS'd in another - // forwarding pointer. - oldMark = curMark; - } - return forwardee(); -} - #endif // SHARE_VM_OOPS_OOP_PCGC_INLINE_HPP diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/opto/graphKit.cpp --- a/hotspot/src/share/vm/opto/graphKit.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/opto/graphKit.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -1518,7 +1518,6 @@ BarrierSet* bs = Universe::heap()->barrier_set(); set_control(ctl); switch (bs->kind()) { - case BarrierSet::G1SATBCT: case BarrierSet::G1SATBCTLogging: g1_write_barrier_pre(do_load, obj, adr, adr_idx, val, val_type, pre_val, bt); break; @@ -1537,7 +1536,6 @@ bool GraphKit::can_move_pre_barrier() const { BarrierSet* bs = Universe::heap()->barrier_set(); switch (bs->kind()) { - case BarrierSet::G1SATBCT: case BarrierSet::G1SATBCTLogging: return true; // Can move it if no safepoint @@ -1563,7 +1561,6 @@ BarrierSet* bs = Universe::heap()->barrier_set(); set_control(ctl); switch (bs->kind()) { - case BarrierSet::G1SATBCT: case BarrierSet::G1SATBCTLogging: g1_write_barrier_post(store, obj, adr, adr_idx, val, bt, use_precise); break; diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/precompiled/precompiled.hpp --- a/hotspot/src/share/vm/precompiled/precompiled.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/precompiled/precompiled.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -135,8 +135,6 @@ # include "memory/resourceArea.hpp" # include "memory/sharedHeap.hpp" # include "memory/space.hpp" -# include "memory/space.inline.hpp" -# include "memory/specialized_oop_closures.hpp" # include "memory/threadLocalAllocBuffer.hpp" # include "memory/threadLocalAllocBuffer.inline.hpp" # include "memory/universe.hpp" @@ -310,7 +308,6 @@ # include "gc_implementation/g1/g1BlockOffsetTable.inline.hpp" # include "gc_implementation/g1/g1OopClosures.hpp" # include "gc_implementation/g1/g1_globals.hpp" -# include "gc_implementation/g1/g1_specialized_oop_closures.hpp" # include "gc_implementation/g1/ptrQueue.hpp" # include "gc_implementation/g1/satbQueue.hpp" # include "gc_implementation/parNew/parOopClosures.hpp" diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/prims/jvm.cpp --- a/hotspot/src/share/vm/prims/jvm.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/prims/jvm.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -402,7 +402,7 @@ PUTPROP(props, "sun.nio.MaxDirectMemorySize", "-1"); } else { char as_chars[256]; - jio_snprintf(as_chars, sizeof(as_chars), UINTX_FORMAT, MaxDirectMemorySize); + jio_snprintf(as_chars, sizeof(as_chars), SIZE_FORMAT, MaxDirectMemorySize); PUTPROP(props, "sun.nio.MaxDirectMemorySize", as_chars); } } diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/prims/whitebox.cpp --- a/hotspot/src/share/vm/prims/whitebox.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/prims/whitebox.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -295,6 +295,12 @@ return hr->is_humongous(); WB_END +WB_ENTRY(jlong, WB_G1NumMaxRegions(JNIEnv* env, jobject o)) + G1CollectedHeap* g1 = G1CollectedHeap::heap(); + size_t nr = g1->max_regions(); + return (jlong)nr; +WB_END + WB_ENTRY(jlong, WB_G1NumFreeRegions(JNIEnv* env, jobject o)) G1CollectedHeap* g1 = G1CollectedHeap::heap(); size_t nr = g1->num_free_regions(); @@ -318,6 +324,14 @@ WB_ENTRY(jint, WB_G1RegionSize(JNIEnv* env, jobject o)) return (jint)HeapRegion::GrainBytes; WB_END + +WB_ENTRY(jobject, WB_G1AuxiliaryMemoryUsage(JNIEnv* env)) + ResourceMark rm(THREAD); + G1CollectedHeap* g1h = G1CollectedHeap::heap(); + MemoryUsage usage = g1h->get_auxiliary_data_memory_usage(); + Handle h = MemoryService::create_MemoryUsage_obj(usage, CHECK_NULL); + return JNIHandles::make_local(env, h()); +WB_END #endif // INCLUDE_ALL_GCS #if INCLUDE_NMT @@ -1305,9 +1319,12 @@ #if INCLUDE_ALL_GCS {CC"g1InConcurrentMark", CC"()Z", (void*)&WB_G1InConcurrentMark}, {CC"g1IsHumongous", CC"(Ljava/lang/Object;)Z", (void*)&WB_G1IsHumongous }, + {CC"g1NumMaxRegions", CC"()J", (void*)&WB_G1NumMaxRegions }, {CC"g1NumFreeRegions", CC"()J", (void*)&WB_G1NumFreeRegions }, {CC"g1RegionSize", CC"()I", (void*)&WB_G1RegionSize }, {CC"g1StartConcMarkCycle", CC"()Z", (void*)&WB_G1StartMarkCycle }, + {CC"g1AuxiliaryMemoryUsage", CC"()Ljava/lang/management/MemoryUsage;", + (void*)&WB_G1AuxiliaryMemoryUsage }, #endif // INCLUDE_ALL_GCS #if INCLUDE_NMT {CC"NMTMalloc", CC"(J)J", (void*)&WB_NMTMalloc }, diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/runtime/arguments.cpp --- a/hotspot/src/share/vm/runtime/arguments.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/runtime/arguments.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -67,16 +67,16 @@ } \ } while(0) -char** Arguments::_jvm_flags_array = NULL; -int Arguments::_num_jvm_flags = 0; -char** Arguments::_jvm_args_array = NULL; -int Arguments::_num_jvm_args = 0; +char** Arguments::_jvm_flags_array = NULL; +int Arguments::_num_jvm_flags = 0; +char** Arguments::_jvm_args_array = NULL; +int Arguments::_num_jvm_args = 0; char* Arguments::_java_command = NULL; SystemProperty* Arguments::_system_properties = NULL; const char* Arguments::_gc_log_filename = NULL; bool Arguments::_has_profile = false; size_t Arguments::_conservative_max_heap_alignment = 0; -uintx Arguments::_min_heap_size = 0; +size_t Arguments::_min_heap_size = 0; uintx Arguments::_min_heap_free_ratio = 0; uintx Arguments::_max_heap_free_ratio = 0; Arguments::Mode Arguments::_mode = _mixed; @@ -1343,9 +1343,9 @@ // NewSize was set on the command line and it is larger than // preferred_max_new_size. if (!FLAG_IS_DEFAULT(NewSize)) { // NewSize explicitly set at command-line - FLAG_SET_ERGO(uintx, MaxNewSize, MAX2(NewSize, preferred_max_new_size)); + FLAG_SET_ERGO(size_t, MaxNewSize, MAX2(NewSize, preferred_max_new_size)); } else { - FLAG_SET_ERGO(uintx, MaxNewSize, preferred_max_new_size); + FLAG_SET_ERGO(size_t, MaxNewSize, preferred_max_new_size); } if (PrintGCDetails && Verbose) { // Too early to use gclog_or_tty @@ -1368,8 +1368,8 @@ // Unless explicitly requested otherwise, make young gen // at least min_new, and at most preferred_max_new_size. if (FLAG_IS_DEFAULT(NewSize)) { - FLAG_SET_ERGO(uintx, NewSize, MAX2(NewSize, min_new)); - FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, NewSize)); + FLAG_SET_ERGO(size_t, NewSize, MAX2(NewSize, min_new)); + FLAG_SET_ERGO(size_t, NewSize, MIN2(preferred_max_new_size, NewSize)); if (PrintGCDetails && Verbose) { // Too early to use gclog_or_tty tty->print_cr("CMS ergo set NewSize: " SIZE_FORMAT, NewSize); @@ -1379,7 +1379,7 @@ // so it's NewRatio x of NewSize. if (FLAG_IS_DEFAULT(OldSize)) { if (max_heap > NewSize) { - FLAG_SET_ERGO(uintx, OldSize, MIN2(NewRatio*NewSize, max_heap - NewSize)); + FLAG_SET_ERGO(size_t, OldSize, MIN2(NewRatio*NewSize, max_heap - NewSize)); if (PrintGCDetails && Verbose) { // Too early to use gclog_or_tty tty->print_cr("CMS ergo set OldSize: " SIZE_FORMAT, OldSize); @@ -1410,7 +1410,7 @@ // OldPLAB sizing manually turned off: Use a larger default setting, // unless it was manually specified. This is because a too-low value // will slow down scavenges. - FLAG_SET_ERGO(uintx, OldPLABSize, CFLS_LAB::_default_static_old_plab_size); // default value before 6631166 + FLAG_SET_ERGO(size_t, OldPLABSize, CFLS_LAB::_default_static_old_plab_size); // default value before 6631166 } else { FLAG_SET_DEFAULT(OldPLABSize, CFLS_LAB::_default_dynamic_old_plab_size); // old CMSParPromoteBlocksToClaim default } @@ -1612,7 +1612,7 @@ void Arguments::select_gc() { if (!gc_selected()) { - ArgumentsExt::select_gc_ergonomically(); + select_gc_ergonomically(); } } @@ -1790,7 +1790,7 @@ } // Use static initialization to get the default before parsing -static const uintx DefaultHeapBaseMinAddress = HeapBaseMinAddress; +static const size_t DefaultHeapBaseMinAddress = HeapBaseMinAddress; void Arguments::set_heap_size() { if (!FLAG_IS_DEFAULT(DefaultMaxRAMFraction)) { @@ -1830,14 +1830,14 @@ // matches compressed oops printing flags if (PrintCompressedOopsMode || (PrintMiscellaneous && Verbose)) { jio_fprintf(defaultStream::error_stream(), - "HeapBaseMinAddress must be at least " UINTX_FORMAT - " (" UINTX_FORMAT "G) which is greater than value given " - UINTX_FORMAT "\n", + "HeapBaseMinAddress must be at least " SIZE_FORMAT + " (" SIZE_FORMAT "G) which is greater than value given " + SIZE_FORMAT "\n", DefaultHeapBaseMinAddress, DefaultHeapBaseMinAddress/G, HeapBaseMinAddress); } - FLAG_SET_ERGO(uintx, HeapBaseMinAddress, DefaultHeapBaseMinAddress); + FLAG_SET_ERGO(size_t, HeapBaseMinAddress, DefaultHeapBaseMinAddress); } } @@ -1862,7 +1862,7 @@ // Cannot use gclog_or_tty yet. tty->print_cr(" Maximum heap size " SIZE_FORMAT, (size_t) reasonable_max); } - FLAG_SET_ERGO(uintx, MaxHeapSize, (uintx)reasonable_max); + FLAG_SET_ERGO(size_t, MaxHeapSize, (size_t)reasonable_max); } // If the minimum or initial heap_size have not been set or requested to be set @@ -1884,14 +1884,14 @@ if (PrintGCDetails && Verbose) { // Cannot use gclog_or_tty yet. - tty->print_cr(" Initial heap size " SIZE_FORMAT, (uintx)reasonable_initial); + tty->print_cr(" Initial heap size " SIZE_FORMAT, (size_t)reasonable_initial); } - FLAG_SET_ERGO(uintx, InitialHeapSize, (uintx)reasonable_initial); + FLAG_SET_ERGO(size_t, InitialHeapSize, (size_t)reasonable_initial); } // If the minimum heap size has not been set (via -Xms), // synchronize with InitialHeapSize to avoid errors with the default value. if (min_heap_size() == 0) { - set_min_heap_size(MIN2((uintx)reasonable_minimum, InitialHeapSize)); + set_min_heap_size(MIN2((size_t)reasonable_minimum, InitialHeapSize)); if (PrintGCDetails && Verbose) { // Cannot use gclog_or_tty yet. tty->print_cr(" Minimum heap size " SIZE_FORMAT, min_heap_size()); @@ -2037,7 +2037,7 @@ } if (UseGCLogFileRotation && (GCLogFileSize != 0) && (GCLogFileSize < 8*K)) { - FLAG_SET_CMDLINE(uintx, GCLogFileSize, 8*K); + FLAG_SET_CMDLINE(size_t, GCLogFileSize, 8*K); jio_fprintf(defaultStream::output_stream(), "GCLogFileSize changed to minimum 8K\n"); } @@ -2121,7 +2121,7 @@ } // Check consistency of GC selection -bool Arguments::check_gc_consistency_user() { +bool Arguments::check_gc_consistency() { check_gclog_consistency(); // Ensure that the user has not selected conflicting sets // of collectors. @@ -2265,7 +2265,7 @@ FLAG_SET_DEFAULT(UseGCOverheadLimit, false); } - status = status && check_gc_consistency_user(); + status = status && check_gc_consistency(); status = status && check_stack_pages(); status = status && verify_percentage(CMSIncrementalSafetyFactor, @@ -2394,7 +2394,7 @@ status = status && verify_min_value(LogEventsBufferEntries, 1, "LogEventsBufferEntries"); - status = status && verify_min_value(HeapSizePerGCThread, (uintx) os::vm_page_size(), "HeapSizePerGCThread"); + status = status && verify_min_value(HeapSizePerGCThread, (size_t) os::vm_page_size(), "HeapSizePerGCThread"); status = status && verify_min_value(GCTaskTimeStampEntries, 1, "GCTaskTimeStampEntries"); @@ -2809,8 +2809,8 @@ describe_range_error(errcode); return JNI_EINVAL; } - FLAG_SET_CMDLINE(uintx, MaxNewSize, (uintx)long_initial_young_size); - FLAG_SET_CMDLINE(uintx, NewSize, (uintx)long_initial_young_size); + FLAG_SET_CMDLINE(size_t, MaxNewSize, (size_t)long_initial_young_size); + FLAG_SET_CMDLINE(size_t, NewSize, (size_t)long_initial_young_size); // -Xms } else if (match_option(option, "-Xms", &tail)) { julong long_initial_heap_size = 0; @@ -2822,10 +2822,10 @@ describe_range_error(errcode); return JNI_EINVAL; } - set_min_heap_size((uintx)long_initial_heap_size); + set_min_heap_size((size_t)long_initial_heap_size); // Currently the minimum size and the initial heap sizes are the same. // Can be overridden with -XX:InitialHeapSize. - FLAG_SET_CMDLINE(uintx, InitialHeapSize, (uintx)long_initial_heap_size); + FLAG_SET_CMDLINE(size_t, InitialHeapSize, (size_t)long_initial_heap_size); // -Xmx } else if (match_option(option, "-Xmx", &tail) || match_option(option, "-XX:MaxHeapSize=", &tail)) { julong long_max_heap_size = 0; @@ -2836,7 +2836,7 @@ describe_range_error(errcode); return JNI_EINVAL; } - FLAG_SET_CMDLINE(uintx, MaxHeapSize, (uintx)long_max_heap_size); + FLAG_SET_CMDLINE(size_t, MaxHeapSize, (size_t)long_max_heap_size); // Xmaxf } else if (match_option(option, "-Xmaxf", &tail)) { char* err; @@ -2977,7 +2977,7 @@ FLAG_SET_CMDLINE(bool, BackgroundCompilation, false); FLAG_SET_CMDLINE(intx, DeferThrSuspendLoopCount, 1); FLAG_SET_CMDLINE(bool, UseTLAB, false); - FLAG_SET_CMDLINE(uintx, NewSizeThreadIncrease, 16 * K); // 20Kb per thread added to new generation + FLAG_SET_CMDLINE(size_t, NewSizeThreadIncrease, 16 * K); // 20Kb per thread added to new generation // -Xinternalversion } else if (match_option(option, "-Xinternalversion")) { @@ -3138,16 +3138,16 @@ initHeapSize = limit_by_allocatable_memory(initHeapSize); if (FLAG_IS_DEFAULT(MaxHeapSize)) { - FLAG_SET_CMDLINE(uintx, MaxHeapSize, initHeapSize); - FLAG_SET_CMDLINE(uintx, InitialHeapSize, initHeapSize); + FLAG_SET_CMDLINE(size_t, MaxHeapSize, initHeapSize); + FLAG_SET_CMDLINE(size_t, InitialHeapSize, initHeapSize); // Currently the minimum size and the initial heap sizes are the same. set_min_heap_size(initHeapSize); } if (FLAG_IS_DEFAULT(NewSize)) { // Make the young generation 3/8ths of the total heap. - FLAG_SET_CMDLINE(uintx, NewSize, + FLAG_SET_CMDLINE(size_t, NewSize, ((julong)MaxHeapSize / (julong)8) * (julong)3); - FLAG_SET_CMDLINE(uintx, MaxNewSize, NewSize); + FLAG_SET_CMDLINE(size_t, MaxNewSize, NewSize); } #ifndef _ALLBSD_SOURCE // UseLargePages is not yet supported on BSD. @@ -3155,14 +3155,14 @@ #endif // Increase some data structure sizes for efficiency - FLAG_SET_CMDLINE(uintx, BaseFootPrintEstimate, MaxHeapSize); + FLAG_SET_CMDLINE(size_t, BaseFootPrintEstimate, MaxHeapSize); FLAG_SET_CMDLINE(bool, ResizeTLAB, false); - FLAG_SET_CMDLINE(uintx, TLABSize, 256*K); + FLAG_SET_CMDLINE(size_t, TLABSize, 256*K); // See the OldPLABSize comment below, but replace 'after promotion' // with 'after copying'. YoungPLABSize is the size of the survivor // space per-gc-thread buffers. The default is 4kw. - FLAG_SET_CMDLINE(uintx, YoungPLABSize, 256*K); // Note: this is in words + FLAG_SET_CMDLINE(size_t, YoungPLABSize, 256*K); // Note: this is in words // OldPLABSize is the size of the buffers in the old gen that // UseParallelGC uses to promote live data that doesn't fit in the @@ -3177,7 +3177,7 @@ // locality. A minor effect may be that larger PLABs reduce the // number of PLAB allocation events during gc. The value of 8kw // was arrived at by experimenting with specjbb. - FLAG_SET_CMDLINE(uintx, OldPLABSize, 8*K); // Note: this is in words + FLAG_SET_CMDLINE(size_t, OldPLABSize, 8*K); // Note: this is in words // Enable parallel GC and adaptive generation sizing FLAG_SET_CMDLINE(bool, UseParallelGC, true); @@ -3256,7 +3256,7 @@ jio_fprintf(defaultStream::error_stream(), "Please use -XX:MarkStackSize in place of " "-XX:CMSMarkStackSize or -XX:G1MarkStackSize in the future\n"); - FLAG_SET_CMDLINE(uintx, MarkStackSize, stack_size); + FLAG_SET_CMDLINE(size_t, MarkStackSize, stack_size); } else if (match_option(option, "-XX:CMSMarkStackSizeMax=", &tail)) { julong max_stack_size = 0; ArgsRange errcode = parse_memory_size(tail, &max_stack_size, 1); @@ -3270,7 +3270,7 @@ jio_fprintf(defaultStream::error_stream(), "Please use -XX:MarkStackSizeMax in place of " "-XX:CMSMarkStackSizeMax in the future\n"); - FLAG_SET_CMDLINE(uintx, MarkStackSizeMax, max_stack_size); + FLAG_SET_CMDLINE(size_t, MarkStackSizeMax, max_stack_size); } else if (match_option(option, "-XX:ParallelMarkingThreads=", &tail) || match_option(option, "-XX:ParallelCMSThreads=", &tail)) { uintx conc_threads = 0; @@ -3293,7 +3293,7 @@ describe_range_error(errcode); return JNI_EINVAL; } - FLAG_SET_CMDLINE(uintx, MaxDirectMemorySize, max_direct_memory_size); + FLAG_SET_CMDLINE(size_t, MaxDirectMemorySize, max_direct_memory_size); #if !INCLUDE_MANAGEMENT } else if (match_option(option, "-XX:+ManagementServer")) { jio_fprintf(defaultStream::error_stream(), @@ -3900,7 +3900,7 @@ set_shared_spaces_flags(); // Check the GC selections again. - if (!ArgumentsExt::check_gc_consistency_ergo()) { + if (!check_gc_consistency()) { return JNI_EINVAL; } diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/runtime/arguments.hpp --- a/hotspot/src/share/vm/runtime/arguments.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/runtime/arguments.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -477,8 +477,7 @@ static bool verify_MaxHeapFreeRatio(FormatBuffer<80>& err_msg, uintx max_heap_free_ratio); // Check for consistency in the selection of the garbage collector. - static bool check_gc_consistency_user(); // Check user-selected gc - static inline bool check_gc_consistency_ergo(); // Check ergonomic-selected gc + static bool check_gc_consistency(); // Check user-selected gc static void check_deprecated_gc_flags(); // Check consistency or otherwise of VM argument settings static bool check_vm_args_consistency(); @@ -531,8 +530,8 @@ static bool has_profile() { return _has_profile; } // -Xms - static uintx min_heap_size() { return _min_heap_size; } - static void set_min_heap_size(uintx v) { _min_heap_size = v; } + static size_t min_heap_size() { return _min_heap_size; } + static void set_min_heap_size(size_t v) { _min_heap_size = v; } // Returns the original values of -XX:MinHeapFreeRatio and -XX:MaxHeapFreeRatio static uintx min_heap_free_ratio() { return _min_heap_free_ratio; } @@ -618,10 +617,6 @@ return UseConcMarkSweepGC || UseG1GC || UseParallelGC || UseParallelOldGC || UseSerialGC; } -bool Arguments::check_gc_consistency_ergo() { - return check_gc_consistency_user(); -} - // Disable options not supported in this release, with a warning if they // were explicitly requested on the command-line #define UNSUPPORTED_OPTION(opt, description) \ diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/runtime/arguments_ext.hpp --- a/hotspot/src/share/vm/runtime/arguments_ext.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/runtime/arguments_ext.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -30,9 +30,7 @@ class ArgumentsExt: AllStatic { public: - static inline void select_gc_ergonomically(); static inline void set_gc_specific_flags(); - static inline bool check_gc_consistency_ergo(); // The argument processing extension. Returns true if there is // no additional parsing needed in Arguments::parse() for the option. // Otherwise returns false. @@ -40,16 +38,8 @@ static inline void report_unsupported_options() { } }; -void ArgumentsExt::select_gc_ergonomically() { - Arguments::select_gc_ergonomically(); -} - void ArgumentsExt::set_gc_specific_flags() { Arguments::set_gc_specific_flags(); } -bool ArgumentsExt::check_gc_consistency_ergo() { - return Arguments::check_gc_consistency_ergo(); -} - #endif // SHARE_VM_RUNTIME_ARGUMENTS_EXT_HPP diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/runtime/globals.hpp --- a/hotspot/src/share/vm/runtime/globals.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/runtime/globals.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -193,19 +193,19 @@ define_pd_global(intx, OnStackReplacePercentage, 0); define_pd_global(bool, ResizeTLAB, false); define_pd_global(intx, FreqInlineSize, 0); -define_pd_global(intx, NewSizeThreadIncrease, 4*K); +define_pd_global(size_t, NewSizeThreadIncrease, 4*K); define_pd_global(intx, InlineClassNatives, true); define_pd_global(intx, InlineUnsafeOps, true); define_pd_global(intx, InitialCodeCacheSize, 160*K); define_pd_global(intx, ReservedCodeCacheSize, 32*M); define_pd_global(intx, NonProfiledCodeHeapSize, 0); define_pd_global(intx, ProfiledCodeHeapSize, 0); -define_pd_global(intx, NonNMethodCodeHeapSize, 32*M); +define_pd_global(intx, NonNMethodCodeHeapSize, 32*M); define_pd_global(intx, CodeCacheExpansionSize, 32*K); define_pd_global(intx, CodeCacheMinBlockLength, 1); define_pd_global(intx, CodeCacheMinimumUseSpace, 200*K); -define_pd_global(uintx,MetaspaceSize, ScaleForWordSize(4*M)); +define_pd_global(size_t, MetaspaceSize, ScaleForWordSize(4*M)); define_pd_global(bool, NeverActAsServerClassMachine, true); define_pd_global(uint64_t,MaxRAM, 1ULL*G); #define CI_COMPILER_COUNT 0 @@ -468,7 +468,7 @@ // notproduct flags are settable / visible only during development and are not declared in the PRODUCT version // A flag must be declared with one of the following types: -// bool, intx, uintx, ccstr, double, or uint64_t. +// bool, intx, uintx, size_t, ccstr, double, or uint64_t. // The type "ccstr" is an alias for "const char*" and is used // only in this file, because the macrology requires single-token type names. @@ -540,7 +540,7 @@ notproduct(bool, CheckCompressedOops, true, \ "Generate checks in encoding/decoding code in debug VM") \ \ - product_pd(uintx, HeapBaseMinAddress, \ + product_pd(size_t, HeapBaseMinAddress, \ "OS specific low limit for heap base address") \ \ product(uintx, HeapSearchSteps, 3 PPC64_ONLY(+17), \ @@ -606,7 +606,7 @@ product(bool, UseNUMAInterleaving, false, \ "Interleave memory across NUMA nodes if available") \ \ - product(uintx, NUMAInterleaveGranularity, 2*M, \ + product(size_t, NUMAInterleaveGranularity, 2*M, \ "Granularity to use for NUMA interleaving on Windows OS") \ \ product(bool, ForceNUMA, false, \ @@ -617,7 +617,7 @@ "computing exponentially decaying average for " \ "AdaptiveNUMAChunkSizing") \ \ - product(uintx, NUMASpaceResizeRate, 1*G, \ + product(size_t, NUMASpaceResizeRate, 1*G, \ "Do not reallocate more than this amount per collection") \ \ product(bool, UseAdaptiveNUMAChunkSizing, true, \ @@ -641,10 +641,10 @@ product(bool, UseSHA, false, \ "Control whether SHA instructions can be used on SPARC") \ \ - product(uintx, LargePageSizeInBytes, 0, \ + product(size_t, LargePageSizeInBytes, 0, \ "Large page size (0 to let VM choose the page size)") \ \ - product(uintx, LargePageHeapSizeThreshold, 128*M, \ + product(size_t, LargePageHeapSizeThreshold, 128*M, \ "Use large pages if maximum heap is at least this big") \ \ product(bool, ForceTimeHighResolution, false, \ @@ -966,11 +966,11 @@ "directory) of the dump file (defaults to java_pid.hprof " \ "in the working directory)") \ \ - develop(uintx, SegmentedHeapDumpThreshold, 2*G, \ + develop(size_t, SegmentedHeapDumpThreshold, 2*G, \ "Generate a segmented heap dump (JAVA PROFILE 1.0.2 format) " \ "when the heap usage is larger than this") \ \ - develop(uintx, HeapDumpSegmentSize, 1*G, \ + develop(size_t, HeapDumpSegmentSize, 1*G, \ "Approximate segment size when generating a segmented heap dump") \ \ develop(bool, BreakAtWarning, false, \ @@ -1468,7 +1468,7 @@ "Force dynamic selection of the number of " \ "parallel threads parallel gc will use to aid debugging") \ \ - product(uintx, HeapSizePerGCThread, ScaleForWordSize(64*M), \ + product(size_t, HeapSizePerGCThread, ScaleForWordSize(64*M), \ "Size of heap (bytes) per GC thread used in calculating the " \ "number of GC threads") \ \ @@ -1485,10 +1485,10 @@ product(uintx, ConcGCThreads, 0, \ "Number of threads concurrent gc will use") \ \ - product(uintx, YoungPLABSize, 4096, \ + product(size_t, YoungPLABSize, 4096, \ "Size of young gen promotion LAB's (in HeapWords)") \ \ - product(uintx, OldPLABSize, 1024, \ + product(size_t, OldPLABSize, 1024, \ "Size of old gen promotion LAB's (in HeapWords), or Number \ of blocks to attempt to claim when refilling CMS LAB's") \ \ @@ -1607,11 +1607,11 @@ product(bool, PrintOldPLAB, false, \ "Print (old gen) promotion LAB's sizing decisions") \ \ - product(uintx, CMSOldPLABMin, 16, \ + product(size_t, CMSOldPLABMin, 16, \ "Minimum size of CMS gen promotion LAB caches per worker " \ "per block size") \ \ - product(uintx, CMSOldPLABMax, 1024, \ + product(size_t, CMSOldPLABMax, 1024, \ "Maximum size of CMS gen promotion LAB caches per worker " \ "per block size") \ \ @@ -1634,7 +1634,7 @@ product(bool, AlwaysPreTouch, false, \ "Force all freshly committed pages to be pre-touched") \ \ - product_pd(uintx, CMSYoungGenPerWorker, \ + product_pd(size_t, CMSYoungGenPerWorker, \ "The maximum size of young gen chosen by default per GC worker " \ "thread available") \ \ @@ -1726,10 +1726,10 @@ develop(bool, CMSOverflowEarlyRestoration, false, \ "Restore preserved marks early") \ \ - product(uintx, MarkStackSize, NOT_LP64(32*K) LP64_ONLY(4*M), \ + product(size_t, MarkStackSize, NOT_LP64(32*K) LP64_ONLY(4*M), \ "Size of marking stack") \ \ - product(uintx, MarkStackSizeMax, NOT_LP64(4*M) LP64_ONLY(512*M), \ + product(size_t, MarkStackSizeMax, NOT_LP64(4*M) LP64_ONLY(512*M), \ "Maximum size of marking stack") \ \ notproduct(bool, CMSMarkStackOverflowALot, false, \ @@ -1752,10 +1752,10 @@ "Time that we sleep between iterations when not given " \ "enough work per iteration") \ \ - product(uintx, CMSRescanMultiple, 32, \ + product(size_t, CMSRescanMultiple, 32, \ "Size (in cards) of CMS parallel rescan task") \ \ - product(uintx, CMSConcMarkMultiple, 32, \ + product(size_t, CMSConcMarkMultiple, 32, \ "Size (in cards) of CMS concurrent MT marking task") \ \ product(bool, CMSAbortSemantics, false, \ @@ -1822,7 +1822,7 @@ product(uintx, CMSRemarkVerifyVariant, 1, \ "Choose variant (1,2) of verification following remark") \ \ - product(uintx, CMSScheduleRemarkEdenSizeThreshold, 2*M, \ + product(size_t, CMSScheduleRemarkEdenSizeThreshold, 2*M, \ "If Eden size is below this, do not try to schedule remark") \ \ product(uintx, CMSScheduleRemarkEdenPenetration, 50, \ @@ -1856,7 +1856,7 @@ product(bool, CMSYield, true, \ "Yield between steps of CMS") \ \ - product(uintx, CMSBitMapYieldQuantum, 10*M, \ + product(size_t, CMSBitMapYieldQuantum, 10*M, \ "Bitmap operations should process at most this many bits " \ "between yields") \ \ @@ -2036,7 +2036,7 @@ product_pd(uint64_t, MaxRAM, \ "Real memory size (in bytes) used to set maximum heap size") \ \ - product(uintx, ErgoHeapSizeLimit, 0, \ + product(size_t, ErgoHeapSizeLimit, 0, \ "Maximum ergonomically set heap size (in bytes); zero means use " \ "MaxRAM / MaxRAMFraction") \ \ @@ -2179,7 +2179,7 @@ product(uintx, InitialSurvivorRatio, 8, \ "Initial ratio of young generation/survivor space size") \ \ - product(uintx, BaseFootPrintEstimate, 256*M, \ + product(size_t, BaseFootPrintEstimate, 256*M, \ "Estimate of footprint other than Java Heap") \ \ product(bool, UseGCOverheadLimit, true, \ @@ -2330,7 +2330,7 @@ develop(bool, TraceClassLoaderData, false, \ "Trace class loader loader_data lifetime") \ \ - product(uintx, InitialBootClassLoaderMetaspaceSize, \ + product(size_t, InitialBootClassLoaderMetaspaceSize, \ NOT_LP64(2200*K) LP64_ONLY(4*M), \ "Initial size of the boot class loader data metaspace") \ \ @@ -2420,7 +2420,7 @@ "Number of gclog files in rotation " \ "(default: 0, no rotation)") \ \ - product(uintx, GCLogFileSize, 8*K, \ + product(size_t, GCLogFileSize, 8*K, \ "GC log file size, requires UseGCLogFileRotation. " \ "Set to 0 to only trigger rotation via jcmd") \ \ @@ -2958,11 +2958,11 @@ notproduct(ccstrlist, SuppressErrorAt, "", \ "List of assertions (file:line) to muzzle") \ \ - notproduct(uintx, HandleAllocationLimit, 1024, \ + notproduct(size_t, HandleAllocationLimit, 1024, \ "Threshold for HandleMark allocation when +TraceHandleAllocation "\ "is used") \ \ - develop(uintx, TotalHandleAllocationLimit, 1024, \ + develop(size_t, TotalHandleAllocationLimit, 1024, \ "Threshold for total handle allocation when " \ "+TraceHandleAllocation is used") \ \ @@ -3106,30 +3106,30 @@ "Number of times to spin wait before inflation") \ \ /* gc parameters */ \ - product(uintx, InitialHeapSize, 0, \ + product(size_t, InitialHeapSize, 0, \ "Initial heap size (in bytes); zero means use ergonomics") \ \ - product(uintx, MaxHeapSize, ScaleForWordSize(96*M), \ + product(size_t, MaxHeapSize, ScaleForWordSize(96*M), \ "Maximum heap size (in bytes)") \ \ - product(uintx, OldSize, ScaleForWordSize(4*M), \ + product(size_t, OldSize, ScaleForWordSize(4*M), \ "Initial tenured generation size (in bytes)") \ \ - product(uintx, NewSize, ScaleForWordSize(1*M), \ + product(size_t, NewSize, ScaleForWordSize(1*M), \ "Initial new generation size (in bytes)") \ \ - product(uintx, MaxNewSize, max_uintx, \ + product(size_t, MaxNewSize, max_uintx, \ "Maximum new generation size (in bytes), max_uintx means set " \ "ergonomically") \ \ - product(uintx, PretenureSizeThreshold, 0, \ + product(size_t, PretenureSizeThreshold, 0, \ "Maximum size in bytes of objects allocated in DefNew " \ "generation; zero means no maximum") \ \ - product(uintx, TLABSize, 0, \ + product(size_t, TLABSize, 0, \ "Starting TLAB size (in bytes); zero means set ergonomically") \ \ - product(uintx, MinTLABSize, 2*K, \ + product(size_t, MinTLABSize, 2*K, \ "Minimum allowed TLAB size (in bytes)") \ \ product(uintx, TLABAllocationWeight, 35, \ @@ -3150,17 +3150,17 @@ product(uintx, NewRatio, 2, \ "Ratio of old/new generation sizes") \ \ - product_pd(uintx, NewSizeThreadIncrease, \ + product_pd(size_t, NewSizeThreadIncrease, \ "Additional size added to desired new generation size per " \ "non-daemon thread (in bytes)") \ \ - product_pd(uintx, MetaspaceSize, \ + product_pd(size_t, MetaspaceSize, \ "Initial size of Metaspaces (in bytes)") \ \ - product(uintx, MaxMetaspaceSize, max_uintx, \ + product(size_t, MaxMetaspaceSize, max_uintx, \ "Maximum size of Metaspaces (in bytes)") \ \ - product(uintx, CompressedClassSpaceSize, 1*G, \ + product(size_t, CompressedClassSpaceSize, 1*G, \ "Maximum size of class area in Metaspace when compressed " \ "class pointers are used") \ \ @@ -3177,10 +3177,10 @@ product(intx, SoftRefLRUPolicyMSPerMB, 1000, \ "Number of milliseconds per MB of free space in the heap") \ \ - product(uintx, MinHeapDeltaBytes, ScaleForWordSize(128*K), \ + product(size_t, MinHeapDeltaBytes, ScaleForWordSize(128*K), \ "The minimum change in heap space due to GC (in bytes)") \ \ - product(uintx, MinMetaspaceExpansion, ScaleForWordSize(256*K), \ + product(size_t, MinMetaspaceExpansion, ScaleForWordSize(256*K), \ "The minimum expansion of Metaspace (in bytes)") \ \ product(uintx, MinMetaspaceFreeRatio, 40, \ @@ -3191,7 +3191,7 @@ "The maximum percentage of Metaspace free after GC to avoid " \ "shrinking") \ \ - product(uintx, MaxMetaspaceExpansion, ScaleForWordSize(4*M), \ + product(size_t, MaxMetaspaceExpansion, ScaleForWordSize(4*M), \ "The maximum expansion of Metaspace without full GC (in bytes)") \ \ product(uintx, QueuedAllocationWarningCount, 0, \ @@ -3282,10 +3282,10 @@ product_pd(intx, CompilerThreadStackSize, \ "Compiler Thread Stack Size (in Kbytes)") \ \ - develop_pd(uintx, JVMInvokeMethodSlack, \ + develop_pd(size_t, JVMInvokeMethodSlack, \ "Stack space (bytes) required for JVM_InvokeMethod to complete") \ \ - product(uintx, ThreadSafetyMargin, 50*M, \ + product(size_t, ThreadSafetyMargin, 50*M, \ "Thread safety margin is used on fixed-stack LinuxThreads (on " \ "Linux/x86 only) to prevent heap-stack collision. Set to 0 to " \ "disable this feature") \ @@ -3673,7 +3673,7 @@ \ /* Properties for Java libraries */ \ \ - product(uintx, MaxDirectMemorySize, 0, \ + product(size_t, MaxDirectMemorySize, 0, \ "Maximum total size of NIO direct-buffer allocations") \ \ /* Flags used for temporary code during development */ \ @@ -3777,10 +3777,10 @@ "If PrintSharedArchiveAndExit is true, also print the shared " \ "dictionary") \ \ - product(uintx, SharedReadWriteSize, NOT_LP64(12*M) LP64_ONLY(16*M), \ + product(size_t, SharedReadWriteSize, NOT_LP64(12*M) LP64_ONLY(16*M), \ "Size of read-write space for metadata (in bytes)") \ \ - product(uintx, SharedReadOnlySize, NOT_LP64(12*M) LP64_ONLY(16*M), \ + product(size_t, SharedReadOnlySize, NOT_LP64(12*M) LP64_ONLY(16*M), \ "Size of read-only space for metadata (in bytes)") \ \ product(uintx, SharedMiscDataSize, NOT_LP64(2*M) LP64_ONLY(4*M), \ diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/runtime/handles.cpp --- a/hotspot/src/share/vm/runtime/handles.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/runtime/handles.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 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 @@ -83,7 +83,7 @@ } // The thread local handle areas should not get very large - if (TraceHandleAllocation && handles_visited > TotalHandleAllocationLimit) { + if (TraceHandleAllocation && (size_t)handles_visited > TotalHandleAllocationLimit) { #ifdef ASSERT warning("%d: Visited in HandleMark : %d", _nof_handlemarks, handles_visited); diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/runtime/thread.cpp --- a/hotspot/src/share/vm/runtime/thread.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/runtime/thread.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -87,8 +87,9 @@ #include "utilities/defaultStream.hpp" #include "utilities/dtrace.hpp" #include "utilities/events.hpp" +#include "utilities/macros.hpp" #include "utilities/preserveException.hpp" -#include "utilities/macros.hpp" +#include "utilities/workgroup.hpp" #if INCLUDE_ALL_GCS #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp" #include "gc_implementation/g1/concurrentMarkThread.inline.hpp" diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/runtime/vmStructs.cpp --- a/hotspot/src/share/vm/runtime/vmStructs.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/runtime/vmStructs.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -536,7 +536,7 @@ nonstatic_field(ContiguousSpace, _concurrent_iteration_safe_limit, HeapWord*) \ nonstatic_field(ContiguousSpace, _saved_mark_word, HeapWord*) \ \ - nonstatic_field(DefNewGeneration, _next_gen, Generation*) \ + nonstatic_field(DefNewGeneration, _old_gen, Generation*) \ nonstatic_field(DefNewGeneration, _tenuring_threshold, uint) \ nonstatic_field(DefNewGeneration, _age_table, ageTable) \ nonstatic_field(DefNewGeneration, _eden_space, ContiguousSpace*) \ diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/services/heapDumper.cpp --- a/hotspot/src/share/vm/services/heapDumper.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/services/heapDumper.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -1721,7 +1721,7 @@ // Write the file header - use 1.0.2 for large heaps, otherwise 1.0.1 size_t used = ch->used(); const char* header; - if (used > (size_t)SegmentedHeapDumpThreshold) { + if (used > SegmentedHeapDumpThreshold) { set_segmented_dump(); header = "JAVA PROFILE 1.0.2"; } else { diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/services/lowMemoryDetector.hpp --- a/hotspot/src/share/vm/services/lowMemoryDetector.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/services/lowMemoryDetector.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -28,6 +28,7 @@ #include "memory/allocation.hpp" #include "services/memoryPool.hpp" #include "services/memoryService.hpp" +#include "services/memoryUsage.hpp" // Low Memory Detection Support // Two memory alarms in the JDK (we called them sensors). diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/services/memoryPool.cpp --- a/hotspot/src/share/vm/services/memoryPool.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/services/memoryPool.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -25,7 +25,9 @@ #include "precompiled.hpp" #include "classfile/systemDictionary.hpp" #include "classfile/vmSymbols.hpp" +#include "memory/defNewGeneration.hpp" #include "memory/metaspace.hpp" +#include "memory/space.hpp" #include "oops/oop.inline.hpp" #include "runtime/handles.inline.hpp" #include "runtime/javaCalls.hpp" @@ -34,8 +36,11 @@ #include "services/management.hpp" #include "services/memoryManager.hpp" #include "services/memoryPool.hpp" +#include "utilities/globalDefinitions.hpp" #include "utilities/macros.hpp" -#include "utilities/globalDefinitions.hpp" +#if INCLUDE_ALL_GCS +#include "gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp" +#endif MemoryPool::MemoryPool(const char* name, PoolType type, @@ -187,6 +192,10 @@ support_usage_threshold), _space(space) { } +size_t ContiguousSpacePool::used_in_bytes() { + return space()->used(); +} + MemoryUsage ContiguousSpacePool::get_memory_usage() { size_t maxSize = (available_for_allocation() ? max_size() : 0); size_t used = used_in_bytes(); @@ -204,6 +213,14 @@ support_usage_threshold), _gen(gen) { } +size_t SurvivorContiguousSpacePool::used_in_bytes() { + return _gen->from()->used(); +} + +size_t SurvivorContiguousSpacePool::committed_in_bytes() { + return _gen->from()->capacity(); +} + MemoryUsage SurvivorContiguousSpacePool::get_memory_usage() { size_t maxSize = (available_for_allocation() ? max_size() : 0); size_t used = used_in_bytes(); @@ -222,6 +239,10 @@ support_usage_threshold), _space(space) { } +size_t CompactibleFreeListSpacePool::used_in_bytes() { + return _space->used(); +} + MemoryUsage CompactibleFreeListSpacePool::get_memory_usage() { size_t maxSize = (available_for_allocation() ? max_size() : 0); size_t used = used_in_bytes(); @@ -239,6 +260,10 @@ support_usage_threshold), _gen(gen) { } +size_t GenerationPool::used_in_bytes() { + return _gen->used(); +} + MemoryUsage GenerationPool::get_memory_usage() { size_t used = used_in_bytes(); size_t committed = _gen->capacity(); diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/services/memoryPool.hpp --- a/hotspot/src/share/vm/services/memoryPool.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/services/memoryPool.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -25,15 +25,9 @@ #ifndef SHARE_VM_SERVICES_MEMORYPOOL_HPP #define SHARE_VM_SERVICES_MEMORYPOOL_HPP -#include "gc_implementation/shared/mutableSpace.hpp" -#include "memory/defNewGeneration.hpp" #include "memory/heap.hpp" -#include "memory/space.hpp" #include "services/memoryUsage.hpp" #include "utilities/macros.hpp" -#if INCLUDE_ALL_GCS -#include "gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp" -#endif // INCLUDE_ALL_GCS // A memory pool represents the memory area that the VM manages. // The Java virtual machine has at least one memory pool @@ -43,6 +37,8 @@ // both heap and non-heap memory. // Forward declaration +class CompactibleFreeListSpace; +class ContiguousSpace; class MemoryManager; class SensorInfo; class Generation; @@ -162,7 +158,7 @@ ContiguousSpace* space() { return _space; } MemoryUsage get_memory_usage(); - size_t used_in_bytes() { return space()->used(); } + size_t used_in_bytes(); }; class SurvivorContiguousSpacePool : public CollectedMemoryPool { @@ -178,12 +174,8 @@ MemoryUsage get_memory_usage(); - size_t used_in_bytes() { - return _gen->from()->used(); - } - size_t committed_in_bytes() { - return _gen->from()->capacity(); - } + size_t used_in_bytes(); + size_t committed_in_bytes(); }; #if INCLUDE_ALL_GCS @@ -198,7 +190,7 @@ bool support_usage_threshold); MemoryUsage get_memory_usage(); - size_t used_in_bytes() { return _space->used(); } + size_t used_in_bytes(); }; #endif // INCLUDE_ALL_GCS @@ -210,7 +202,7 @@ GenerationPool(Generation* gen, const char* name, PoolType type, bool support_usage_threshold); MemoryUsage get_memory_usage(); - size_t used_in_bytes() { return _gen->used(); } + size_t used_in_bytes(); }; class CodeHeapPool: public MemoryPool { diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/services/memoryService.cpp --- a/hotspot/src/share/vm/services/memoryService.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/services/memoryService.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 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 @@ -160,8 +160,8 @@ _managers_list->append(_minor_gc_manager); _managers_list->append(_major_gc_manager); - add_generation_memory_pool(heap->get_gen(minor), _major_gc_manager, _minor_gc_manager); - add_generation_memory_pool(heap->get_gen(major), _major_gc_manager); + add_generation_memory_pool(heap->young_gen(), _major_gc_manager, _minor_gc_manager); + add_generation_memory_pool(heap->old_gen(), _major_gc_manager); } #if INCLUDE_ALL_GCS diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/services/memoryService.hpp --- a/hotspot/src/share/vm/services/memoryService.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/services/memoryService.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 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 @@ -57,13 +57,6 @@ init_code_heap_pools_size = 9 }; - // index for minor and major generations - enum { - minor = 0, - major = 1, - n_gens = 2 - }; - static GrowableArray* _pools_list; static GrowableArray* _managers_list; diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/utilities/debug.cpp --- a/hotspot/src/share/vm/utilities/debug.cpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/utilities/debug.cpp Fri Apr 03 16:34:51 2015 -0700 @@ -273,7 +273,7 @@ } void report_insufficient_metaspace(size_t required_size) { - warning("\nThe MaxMetaspaceSize of " UINTX_FORMAT " bytes is not large enough.\n" + warning("\nThe MaxMetaspaceSize of " SIZE_FORMAT " bytes is not large enough.\n" "Either don't specify the -XX:MaxMetaspaceSize=\n" "or increase the size to at least " SIZE_FORMAT ".\n", MaxMetaspaceSize, required_size); diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/utilities/debug.hpp --- a/hotspot/src/share/vm/utilities/debug.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/utilities/debug.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -222,9 +222,8 @@ template struct STATIC_ASSERT_FAILURE; template<> struct STATIC_ASSERT_FAILURE { enum { value = 1 }; }; -#define STATIC_ASSERT(Cond) \ - typedef char STATIC_ASSERT_FAILURE_ ## __LINE__ [ \ - STATIC_ASSERT_FAILURE< (Cond) >::value ] +#define STATIC_ASSERT(Cond) \ + typedef char STATIC_ASSERT_DUMMY_TYPE[ STATIC_ASSERT_FAILURE< (Cond) >::value ] // out of shared space reporting enum SharedSpaceType { diff -r f40752db7773 -r 3ddc731d6980 hotspot/src/share/vm/utilities/ostream.hpp --- a/hotspot/src/share/vm/utilities/ostream.hpp Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/src/share/vm/utilities/ostream.hpp Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 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 @@ -250,7 +250,7 @@ /* If "force" sets true, force log file rotation from outside JVM */ bool should_rotate(bool force) { return force || - ((GCLogFileSize != 0) && ((uintx)_bytes_written >= GCLogFileSize)); + ((GCLogFileSize != 0) && (_bytes_written >= (jlong)GCLogFileSize)); } }; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/TEST.ROOT --- a/hotspot/test/TEST.ROOT Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/TEST.ROOT Fri Apr 03 16:34:51 2015 -0700 @@ -32,5 +32,5 @@ groups=TEST.groups [closed/TEST.groups] requires.properties=sun.arch.data.model -# Tests using jtreg 4.1 b10 features -requiredVersion=4.1 b10 +# Tests using jtreg 4.1 b11 features +requiredVersion=4.1 b11 diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/arguments/CheckCompileThresholdScaling.java --- a/hotspot/test/compiler/arguments/CheckCompileThresholdScaling.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/arguments/CheckCompileThresholdScaling.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @bug 8059604 * @summary "Add CompileThresholdScaling flag to control when methods are first compiled (with +/-TieredCompilation)" * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main CheckCompileThresholdScaling */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/arguments/TestUseBMI1InstructionsOnSupportedCPU.java --- a/hotspot/test/compiler/arguments/TestUseBMI1InstructionsOnSupportedCPU.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/arguments/TestUseBMI1InstructionsOnSupportedCPU.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @summary Verify processing of UseBMI1Instructions option on CPU with * BMI1 feature support. * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestUseBMI1InstructionsOnSupportedCPU * BMISupportedCPUTest * @run main ClassFileInstaller sun.hotspot.WhiteBox diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/arguments/TestUseBMI1InstructionsOnUnsupportedCPU.java --- a/hotspot/test/compiler/arguments/TestUseBMI1InstructionsOnUnsupportedCPU.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/arguments/TestUseBMI1InstructionsOnUnsupportedCPU.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @summary Verify processing of UseBMI1Instructions option on CPU without * BMI1 feature support. * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestUseBMI1InstructionsOnUnsupportedCPU * BMIUnsupportedCPUTest * @run main ClassFileInstaller sun.hotspot.WhiteBox diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/arguments/TestUseCountLeadingZerosInstructionOnSupportedCPU.java --- a/hotspot/test/compiler/arguments/TestUseCountLeadingZerosInstructionOnSupportedCPU.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/arguments/TestUseCountLeadingZerosInstructionOnSupportedCPU.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @summary Verify processing of UseCountLeadingZerosInstruction option * on CPU with LZCNT support. * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestUseCountLeadingZerosInstructionOnSupportedCPU * BMISupportedCPUTest * @run main ClassFileInstaller sun.hotspot.WhiteBox diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/arguments/TestUseCountLeadingZerosInstructionOnUnsupportedCPU.java --- a/hotspot/test/compiler/arguments/TestUseCountLeadingZerosInstructionOnUnsupportedCPU.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/arguments/TestUseCountLeadingZerosInstructionOnUnsupportedCPU.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @summary Verify processing of UseCountLeadingZerosInstruction option * on CPU without LZCNT support. * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestUseCountLeadingZerosInstructionOnUnsupportedCPU * BMIUnsupportedCPUTest * @run main ClassFileInstaller sun.hotspot.WhiteBox diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/arguments/TestUseCountTrailingZerosInstructionOnSupportedCPU.java --- a/hotspot/test/compiler/arguments/TestUseCountTrailingZerosInstructionOnSupportedCPU.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/arguments/TestUseCountTrailingZerosInstructionOnSupportedCPU.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @summary Verify processing of UseCountTrailingZerosInstruction option * on CPU with TZCNT (BMI1 feature) support. * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestUseCountTrailingZerosInstructionOnSupportedCPU * BMISupportedCPUTest * @run main ClassFileInstaller sun.hotspot.WhiteBox diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/arguments/TestUseCountTrailingZerosInstructionOnUnsupportedCPU.java --- a/hotspot/test/compiler/arguments/TestUseCountTrailingZerosInstructionOnUnsupportedCPU.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/arguments/TestUseCountTrailingZerosInstructionOnUnsupportedCPU.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @summary Verify processing of UseCountTrailingZerosInstruction option * on CPU without TZCNT instruction (BMI1 feature) support. * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestUseCountTrailingZerosInstructionOnUnsupportedCPU * BMIUnsupportedCPUTest * @run main ClassFileInstaller sun.hotspot.WhiteBox diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/arraycopy/TestArrayCopyNoInitDeopt.java --- a/hotspot/test/compiler/arraycopy/TestArrayCopyNoInitDeopt.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/arraycopy/TestArrayCopyNoInitDeopt.java Fri Apr 03 16:34:51 2015 -0700 @@ -26,6 +26,8 @@ * @bug 8072016 * @summary Infinite deoptimization/recompilation cycles in case of arraycopy with tightly coupled allocation * @library /testlibrary /../../test/lib /compiler/whitebox + * @modules java.base/sun.misc + * java.management * @build TestArrayCopyNoInitDeopt * @run main ClassFileInstaller sun.hotspot.WhiteBox * @run main ClassFileInstaller com.oracle.java.testlibrary.Platform diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/c1/6932496/Test6932496.java --- a/hotspot/test/compiler/c1/6932496/Test6932496.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/c1/6932496/Test6932496.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 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 @@ -26,6 +26,7 @@ * @test * @bug 6932496 * @summary incorrect deopt of jsr subroutine on 64 bit c1 + * @modules java.base/jdk.internal.org.objectweb.asm * @run main/othervm -Xcomp -XX:CompileOnly=Test.test Test6932496 */ import java.lang.reflect.Method; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/c2/6589834/Test_ia32.java --- a/hotspot/test/compiler/c2/6589834/Test_ia32.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/c2/6589834/Test_ia32.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 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 @@ -27,6 +27,10 @@ * @summary Safepoint placed between stack pointer increment and decrement leads * to interpreter's stack corruption after deoptimization. * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build ClassFileInstaller sun.hotspot.WhiteBox com.oracle.java.testlibrary.* * Test_ia32 InlinedArrayCloneTestCase * @run main ClassFileInstaller sun.hotspot.WhiteBox diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/c2/6852078/Test6852078.java --- a/hotspot/test/compiler/c2/6852078/Test6852078.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/c2/6852078/Test6852078.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2009, 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 @@ -27,6 +27,8 @@ * @bug 6852078 * @summary Disable SuperWord optimization for unsafe read/write * + * @modules java.corba/com.sun.corba.se.impl.encoding + * java.corba/com.sun.jndi.toolkit.corba * @run main Test6852078 */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/c2/6857159/Test6857159.java --- a/hotspot/test/compiler/c2/6857159/Test6857159.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/c2/6857159/Test6857159.java Fri Apr 03 16:34:51 2015 -0700 @@ -27,6 +27,8 @@ * @bug 6857159 * @summary local schedule failed with checkcast of Thread.currentThread() * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/c2/6968348/Test6968348.java --- a/hotspot/test/compiler/c2/6968348/Test6968348.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/c2/6968348/Test6968348.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 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 @@ -27,6 +27,7 @@ * @bug 6968348 * @summary Byteswapped memory access can point to wrong location after JIT * + * @modules java.base/sun.misc * @run main Test6968348 */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/c2/7047069/Test7047069.java --- a/hotspot/test/compiler/c2/7047069/Test7047069.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/c2/7047069/Test7047069.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -27,6 +27,7 @@ * @bug 7047069 * @summary Array can dynamically change size when assigned to an object field * + * @modules java.desktop * @run main/othervm -Xbatch Test7047069 */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/c2/7068051/Test7068051.java --- a/hotspot/test/compiler/c2/7068051/Test7068051.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/c2/7068051/Test7068051.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -28,6 +28,8 @@ * @summary SIGSEGV in PhaseIdealLoop::build_loop_late_post on T5440 * @library /testlibrary * + * @modules java.base/sun.misc + * java.management * @run main/othervm -showversion -Xbatch Test7068051 */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/c2/7190310/Test7190310_unsafe.java --- a/hotspot/test/compiler/c2/7190310/Test7190310_unsafe.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/c2/7190310/Test7190310_unsafe.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 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 @@ -26,6 +26,7 @@ * @test * @bug 7190310 * @summary Inlining WeakReference.get(), and hoisting $referent may lead to non-terminating loops + * @modules java.base/sun.misc * @run main/othervm -Xbatch Test7190310_unsafe */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/c2/8004867/TestIntUnsafeCAS.java --- a/hotspot/test/compiler/c2/8004867/TestIntUnsafeCAS.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/c2/8004867/TestIntUnsafeCAS.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -27,6 +27,7 @@ * @bug 8004867 * @summary VM crashing with assert "share/vm/opto/node.hpp:357 - assert(i < _max) failed: oob" * + * @modules java.base/sun.misc * @run main/othervm/timeout=300 -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:-TieredCompilation -XX:-OptimizeFill TestIntUnsafeCAS * @run main/othervm/timeout=300 -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:-TieredCompilation -XX:+OptimizeFill TestIntUnsafeCAS */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/c2/8004867/TestIntUnsafeOrdered.java --- a/hotspot/test/compiler/c2/8004867/TestIntUnsafeOrdered.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/c2/8004867/TestIntUnsafeOrdered.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -27,6 +27,7 @@ * @bug 8004867 * @summary VM crashing with assert "share/vm/opto/node.hpp:357 - assert(i < _max) failed: oob" * + * @modules java.base/sun.misc * @run main/othervm/timeout=300 -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:-TieredCompilation -XX:-OptimizeFill TestIntUnsafeOrdered * @run main/othervm/timeout=300 -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:-TieredCompilation -XX:+OptimizeFill TestIntUnsafeOrdered */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/c2/8004867/TestIntUnsafeVolatile.java --- a/hotspot/test/compiler/c2/8004867/TestIntUnsafeVolatile.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/c2/8004867/TestIntUnsafeVolatile.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -27,6 +27,7 @@ * @bug 8004867 * @summary VM crashing with assert "share/vm/opto/node.hpp:357 - assert(i < _max) failed: oob" * + * @modules java.base/sun.misc * @run main/othervm/timeout=300 -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:-TieredCompilation -XX:-OptimizeFill TestIntUnsafeVolatile * @run main/othervm/timeout=300 -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:-TieredCompilation -XX:+OptimizeFill TestIntUnsafeVolatile */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/c2/8005956/PolynomialRoot.java --- a/hotspot/test/compiler/c2/8005956/PolynomialRoot.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/c2/8005956/PolynomialRoot.java Fri Apr 03 16:34:51 2015 -0700 @@ -14,6 +14,8 @@ * @bug 8005956 * @summary C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block * @library /testlibrary +* @modules java.base/sun.misc +* java.management * @run main/timeout=300 PolynomialRoot */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/classUnloading/anonymousClass/TestAnonymousClassUnloading.java --- a/hotspot/test/compiler/classUnloading/anonymousClass/TestAnonymousClassUnloading.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/classUnloading/anonymousClass/TestAnonymousClassUnloading.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -34,6 +34,7 @@ * @bug 8054402 * @summary "Tests unloading of anonymous classes." * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc * @compile TestAnonymousClassUnloading.java * @run main ClassFileInstaller TestAnonymousClassUnloading * sun.hotspot.WhiteBox diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/CheckReservedInitialCodeCacheSizeArgOrder.java --- a/hotspot/test/compiler/codecache/CheckReservedInitialCodeCacheSizeArgOrder.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/CheckReservedInitialCodeCacheSizeArgOrder.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -28,6 +28,8 @@ * InitialCodeCacheSize are passed to the VM is irrelevant. * @library /testlibrary * + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/CheckSegmentedCodeCache.java --- a/hotspot/test/compiler/codecache/CheckSegmentedCodeCache.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/CheckSegmentedCodeCache.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -29,6 +29,8 @@ * @bug 8015774 * @library /testlibrary /../../test/lib * @summary "Checks VM options related to the segmented code cache" + * @modules java.base/sun.misc + * java.management * @build CheckSegmentedCodeCache * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/CheckUpperLimit.java --- a/hotspot/test/compiler/codecache/CheckUpperLimit.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/CheckUpperLimit.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @summary Test ensures that the ReservedCodeCacheSize is at most MAXINT * @library /testlibrary * + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/OverflowCodeCacheTest.java --- a/hotspot/test/compiler/codecache/OverflowCodeCacheTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/OverflowCodeCacheTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -35,6 +35,7 @@ * @test OverflowCodeCacheTest * @bug 8059550 * @library /testlibrary /../../test/lib + * @modules java.management * @build OverflowCodeCacheTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/cli/TestSegmentedCodeCacheOption.java --- a/hotspot/test/compiler/codecache/cli/TestSegmentedCodeCacheOption.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/cli/TestSegmentedCodeCacheOption.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -31,6 +31,10 @@ * @bug 8015774 * @summary Verify SegmentedCodeCache option's processing * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build TestSegmentedCodeCacheOption com.oracle.java.testlibrary.* * @run main TestSegmentedCodeCacheOption */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/cli/codeheapsize/TestCodeHeapSizeOptions.java --- a/hotspot/test/compiler/codecache/cli/codeheapsize/TestCodeHeapSizeOptions.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/cli/codeheapsize/TestCodeHeapSizeOptions.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -32,6 +32,10 @@ * @bug 8015774 * @summary Verify processing of options related to code heaps sizing. * @library /testlibrary .. /../../test/lib + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build TestCodeHeapSizeOptions com.oracle.java.testlibrary.* codeheapsize.* * common.* * @run main/timeout=240 codeheapsize.TestCodeHeapSizeOptions diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/cli/printcodecache/TestPrintCodeCacheOption.java --- a/hotspot/test/compiler/codecache/cli/printcodecache/TestPrintCodeCacheOption.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/cli/printcodecache/TestPrintCodeCacheOption.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -31,6 +31,10 @@ * @bug 8015774 * @summary Verify that PrintCodeCache option print correct information. * @library /testlibrary .. /../../test/lib + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build TestPrintCodeCacheOption com.oracle.java.testlibrary.* * printcodecache.* common.* * @run main/timeout=240 printcodecache.TestPrintCodeCacheOption diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/jmx/BeanTypeTest.java --- a/hotspot/test/compiler/codecache/jmx/BeanTypeTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/jmx/BeanTypeTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,7 @@ /** * @test BeanTypeTest * @library /testlibrary /../../test/lib + * @modules java.management * @build BeanTypeTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/jmx/CodeHeapBeanPresenceTest.java --- a/hotspot/test/compiler/codecache/jmx/CodeHeapBeanPresenceTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/jmx/CodeHeapBeanPresenceTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,7 @@ /** * @test CodeHeapBeanPresenceTest * @library /testlibrary /../../test/lib + * @modules java.management * @build CodeHeapBeanPresenceTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/jmx/GetUsageTest.java --- a/hotspot/test/compiler/codecache/jmx/GetUsageTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/jmx/GetUsageTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -30,6 +30,8 @@ /* * @test GetUsageTest * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build GetUsageTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/jmx/InitialAndMaxUsageTest.java --- a/hotspot/test/compiler/codecache/jmx/InitialAndMaxUsageTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/jmx/InitialAndMaxUsageTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -30,6 +30,8 @@ /* * @test InitialAndMaxUsageTest * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build InitialAndMaxUsageTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/jmx/ManagerNamesTest.java --- a/hotspot/test/compiler/codecache/jmx/ManagerNamesTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/jmx/ManagerNamesTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,7 @@ /** * @test ManagerNamesTest * @library /testlibrary /../../test/lib + * @modules java.management * @build ManagerNamesTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/jmx/MemoryPoolsPresenceTest.java --- a/hotspot/test/compiler/codecache/jmx/MemoryPoolsPresenceTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/jmx/MemoryPoolsPresenceTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -33,6 +33,7 @@ /** * @test MemoryPoolsPresenceTest * @library /testlibrary /../../test/lib + * @modules java.management * @build MemoryPoolsPresenceTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/jmx/PeakUsageTest.java --- a/hotspot/test/compiler/codecache/jmx/PeakUsageTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/jmx/PeakUsageTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ /* * @test PeakUsageTest * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build PeakUsageTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/jmx/ThresholdNotificationsTest.java --- a/hotspot/test/compiler/codecache/jmx/ThresholdNotificationsTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/jmx/ThresholdNotificationsTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -35,6 +35,8 @@ /* * @test ThresholdNotificationsTest * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build ThresholdNotificationsTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/jmx/UsageThresholdExceededSeveralTimesTest.java --- a/hotspot/test/compiler/codecache/jmx/UsageThresholdExceededSeveralTimesTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/jmx/UsageThresholdExceededSeveralTimesTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -24,6 +24,8 @@ /* * @test UsageThresholdExceededSeveralTimesTest * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build UsageThresholdExceededTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/jmx/UsageThresholdExceededTest.java --- a/hotspot/test/compiler/codecache/jmx/UsageThresholdExceededTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/jmx/UsageThresholdExceededTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ /* * @test UsageThresholdExceededTest * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build UsageThresholdExceededTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/jmx/UsageThresholdIncreasedTest.java --- a/hotspot/test/compiler/codecache/jmx/UsageThresholdIncreasedTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/jmx/UsageThresholdIncreasedTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ /* * @test UsageThresholdIncreasedTest * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build UsageThresholdIncreasedTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/jmx/UsageThresholdNotExceededTest.java --- a/hotspot/test/compiler/codecache/jmx/UsageThresholdNotExceededTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/jmx/UsageThresholdNotExceededTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ /* * @test UsageThresholdNotExceededTest * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build UsageThresholdNotExceededTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/stress/OverloadCompileQueueTest.java --- a/hotspot/test/compiler/codecache/stress/OverloadCompileQueueTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/stress/OverloadCompileQueueTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -30,6 +30,8 @@ /* * @test OverloadCompileQueueTest * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @ignore 8071905 * @build OverloadCompileQueueTest * @run main ClassFileInstaller sun.hotspot.WhiteBox diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/stress/RandomAllocationTest.java --- a/hotspot/test/compiler/codecache/stress/RandomAllocationTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/stress/RandomAllocationTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -29,6 +29,8 @@ /* * @test RandomAllocationTest * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build RandomAllocationTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codecache/stress/UnexpectedDeoptimizationTest.java --- a/hotspot/test/compiler/codecache/stress/UnexpectedDeoptimizationTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codecache/stress/UnexpectedDeoptimizationTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,8 @@ /* * @test UnexpectedDeoptimizationTest * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build UnexpectedDeoptimizationTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codegen/6896617/Test6896617.java --- a/hotspot/test/compiler/codegen/6896617/Test6896617.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codegen/6896617/Test6896617.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,9 @@ * @bug 6896617 * @summary Optimize sun.nio.cs.ISO_8859_1$Encode.encodeArrayLoop() with SSE instructions on x86 * @library /testlibrary + * @modules java.base/sun.misc + * java.base/sun.nio.cs + * java.management * @run main/othervm/timeout=1200 -Xbatch -Xmx256m Test6896617 * */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codegen/7100757/Test7100757.java --- a/hotspot/test/compiler/codegen/7100757/Test7100757.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codegen/7100757/Test7100757.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -27,6 +27,8 @@ * @bug 7100757 * @summary The BitSet.nextSetBit() produces incorrect result in 32bit VM on Sparc * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/timeout=300 Test7100757 */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codegen/7184394/TestAESMain.java --- a/hotspot/test/compiler/codegen/7184394/TestAESMain.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codegen/7184394/TestAESMain.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 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 @@ -28,6 +28,8 @@ * @summary add intrinsics to use AES instructions * @library /testlibrary * + * @modules java.base/sun.misc + * java.management * @run main/othervm/timeout=600 -Xbatch -DcheckOutput=true -Dmode=CBC TestAESMain * @run main/othervm/timeout=600 -Xbatch -DcheckOutput=true -Dmode=CBC -DencInputOffset=1 TestAESMain * @run main/othervm/timeout=600 -Xbatch -DcheckOutput=true -Dmode=CBC -DencOutputOffset=1 TestAESMain diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/codegen/8011901/Test8011901.java --- a/hotspot/test/compiler/codegen/8011901/Test8011901.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/codegen/8011901/Test8011901.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,7 @@ * @test * @bug 8011901 * @summary instruct xaddL_no_res shouldn't allow 64 bit constants. + * @modules java.base/sun.misc * @run main/othervm -XX:-BackgroundCompilation Test8011901 * */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/cpuflags/RestoreMXCSR.java --- a/hotspot/test/compiler/cpuflags/RestoreMXCSR.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/cpuflags/RestoreMXCSR.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,7 +26,8 @@ * @bug 8020433 * @summary Crash when using -XX:+RestoreMXCSROnJNICalls * @library /testlibrary - * + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/debug/VerifyAdapterSharing.java --- a/hotspot/test/compiler/debug/VerifyAdapterSharing.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/debug/VerifyAdapterSharing.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,7 +26,8 @@ * @bug 8030783 * @summary Regression test for 8026478 * @library /testlibrary - * + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/dependencies/MonomorphicObjectCall/TestMonomorphicObjectCall.java --- a/hotspot/test/compiler/dependencies/MonomorphicObjectCall/TestMonomorphicObjectCall.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/dependencies/MonomorphicObjectCall/TestMonomorphicObjectCall.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -32,6 +32,8 @@ * @bug 8050079 * @summary Compiles a monomorphic call to finalizeObject() on a modified java.lang.Object to test C1 CHA. * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile -XDignore.symbol.file java/lang/Object.java TestMonomorphicObjectCall.java * @run main TestMonomorphicObjectCall */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/escapeAnalysis/TestUnsafePutAddressNullObjMustNotEscape.java --- a/hotspot/test/compiler/escapeAnalysis/TestUnsafePutAddressNullObjMustNotEscape.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/escapeAnalysis/TestUnsafePutAddressNullObjMustNotEscape.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,7 @@ * @test * @bug 8038048 * @summary assert(null_obj->escape_state() == PointsToNode::NoEscape,etc) + * @modules java.base/sun.misc * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+DoEscapeAnalysis -XX:-TieredCompilation -Xbatch TestUnsafePutAddressNullObjMustNotEscape * @author Richard Reingruber richard DOT reingruber AT sap DOT com */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/floatingpoint/TestPow2.java --- a/hotspot/test/compiler/floatingpoint/TestPow2.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/floatingpoint/TestPow2.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,7 @@ * @bug 8063086 * @summary X^2 special case for C2 yields different result than interpreter * @library /testlibrary /../../test/lib /compiler/whitebox + * @modules java.management * @build TestPow2 * @run main ClassFileInstaller sun.hotspot.WhiteBox * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/TestAndnI.java --- a/hotspot/test/compiler/intrinsics/bmi/TestAndnI.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/TestAndnI.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that results of computations are the same w/ * and w/o usage of ANDN instruction * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestAndnI BMITestRunner Expr * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/TestAndnL.java --- a/hotspot/test/compiler/intrinsics/bmi/TestAndnL.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/TestAndnL.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that results of computations are the same w/ * and w/o usage of ANDN instruction * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestAndnL BMITestRunner Expr * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/TestBlsiI.java --- a/hotspot/test/compiler/intrinsics/bmi/TestBlsiI.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/TestBlsiI.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that results of computations are the same w/ * and w/o usage of BLSI instruction * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestBlsiI BMITestRunner Expr * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/TestBlsiL.java --- a/hotspot/test/compiler/intrinsics/bmi/TestBlsiL.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/TestBlsiL.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that results of computations are the same w/ * and w/o usage of BLSI instruction * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestBlsiL BMITestRunner Expr * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/TestBlsmskI.java --- a/hotspot/test/compiler/intrinsics/bmi/TestBlsmskI.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/TestBlsmskI.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that results of computations are the same w/ * and w/o usage of BLSMSK instruction * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestBlsmskI BMITestRunner Expr * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/TestBlsmskL.java --- a/hotspot/test/compiler/intrinsics/bmi/TestBlsmskL.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/TestBlsmskL.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that results of computations are the same w/ * and w/o usage of BLSMSK instruction * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestBlsmskL BMITestRunner Expr * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/TestBlsrI.java --- a/hotspot/test/compiler/intrinsics/bmi/TestBlsrI.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/TestBlsrI.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that results of computations are the same w/ * and w/o usage of BLSR instruction * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestBlsrI BMITestRunner Expr * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/TestBlsrL.java --- a/hotspot/test/compiler/intrinsics/bmi/TestBlsrL.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/TestBlsrL.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that results of computations are the same w/ * and w/o usage of BLSR instruction * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestBlsrL BMITestRunner Expr * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/TestLzcntI.java --- a/hotspot/test/compiler/intrinsics/bmi/TestLzcntI.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/TestLzcntI.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that results of computations are the same w/ * and w/o usage of intrinsic * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestLzcntI BMITestRunner Expr * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/TestLzcntL.java --- a/hotspot/test/compiler/intrinsics/bmi/TestLzcntL.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/TestLzcntL.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that results of computations are the same w/ * and w/o usage of intrinsic * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestLzcntL BMITestRunner Expr * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/TestTzcntI.java --- a/hotspot/test/compiler/intrinsics/bmi/TestTzcntI.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/TestTzcntI.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that results of computations are the same w/ * and w/o usage of intrinsic * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestTzcntI BMITestRunner Expr * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/TestTzcntL.java --- a/hotspot/test/compiler/intrinsics/bmi/TestTzcntL.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/TestTzcntL.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that results of computations are the same w/ * and w/o usage of intrinsic * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestTzcntL BMITestRunner Expr * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/verifycode/AddnTestI.java --- a/hotspot/test/compiler/intrinsics/bmi/verifycode/AddnTestI.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/verifycode/AddnTestI.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,8 @@ * @test * @bug 8031321 * @library /testlibrary /../../test/lib /compiler/whitebox .. + * @modules java.base/sun.misc + * java.management * @build AddnTestI * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/verifycode/AddnTestL.java --- a/hotspot/test/compiler/intrinsics/bmi/verifycode/AddnTestL.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/verifycode/AddnTestL.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,8 @@ * @test * @bug 8031321 * @library /testlibrary /../../test/lib /compiler/whitebox .. + * @modules java.base/sun.misc + * java.management * @build AddnTestL * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/verifycode/BlsiTestI.java --- a/hotspot/test/compiler/intrinsics/bmi/verifycode/BlsiTestI.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/verifycode/BlsiTestI.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,8 @@ * @test * @bug 8031321 * @library /testlibrary /../../test/lib /compiler/whitebox .. + * @modules java.base/sun.misc + * java.management * @build BlsiTestI * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/verifycode/BlsiTestL.java --- a/hotspot/test/compiler/intrinsics/bmi/verifycode/BlsiTestL.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/verifycode/BlsiTestL.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,8 @@ * @test * @bug 8031321 * @library /testlibrary /../../test/lib /compiler/whitebox .. + * @modules java.base/sun.misc + * java.management * @build BlsiTestL * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/verifycode/BlsmskTestI.java --- a/hotspot/test/compiler/intrinsics/bmi/verifycode/BlsmskTestI.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/verifycode/BlsmskTestI.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,8 @@ * @test * @bug 8031321 * @library /testlibrary /../../test/lib /compiler/whitebox .. + * @modules java.base/sun.misc + * java.management * @build BlsmskTestI * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/verifycode/BlsmskTestL.java --- a/hotspot/test/compiler/intrinsics/bmi/verifycode/BlsmskTestL.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/verifycode/BlsmskTestL.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,8 @@ * @test * @bug 8031321 * @library /testlibrary /../../test/lib /compiler/whitebox .. + * @modules java.base/sun.misc + * java.management * @build BlsmskTestL * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/verifycode/BlsrTestI.java --- a/hotspot/test/compiler/intrinsics/bmi/verifycode/BlsrTestI.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/verifycode/BlsrTestI.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,8 @@ * @test * @bug 8031321 * @library /testlibrary /../../test/lib /compiler/whitebox .. + * @modules java.base/sun.misc + * java.management * @build BlsrTestI * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/verifycode/BlsrTestL.java --- a/hotspot/test/compiler/intrinsics/bmi/verifycode/BlsrTestL.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/verifycode/BlsrTestL.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,8 @@ * @test * @bug 8031321 * @library /testlibrary /../../test/lib /compiler/whitebox .. + * @modules java.base/sun.misc + * java.management * @build BlsrTestL * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/verifycode/LZcntTestI.java --- a/hotspot/test/compiler/intrinsics/bmi/verifycode/LZcntTestI.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/verifycode/LZcntTestI.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,8 @@ * @test * @bug 8031321 * @library /testlibrary /../../test/lib /compiler/whitebox .. + * @modules java.base/sun.misc + * java.management * @build LZcntTestI * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/verifycode/LZcntTestL.java --- a/hotspot/test/compiler/intrinsics/bmi/verifycode/LZcntTestL.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/verifycode/LZcntTestL.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,8 @@ * @test * @bug 8031321 * @library /testlibrary /../../test/lib /compiler/whitebox .. + * @modules java.base/sun.misc + * java.management * @build LZcntTestL * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/verifycode/TZcntTestI.java --- a/hotspot/test/compiler/intrinsics/bmi/verifycode/TZcntTestI.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/verifycode/TZcntTestI.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,8 @@ * @test * @bug 8031321 * @library /testlibrary /../../test/lib /compiler/whitebox .. + * @modules java.base/sun.misc + * java.management * @build TZcntTestI * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/bmi/verifycode/TZcntTestL.java --- a/hotspot/test/compiler/intrinsics/bmi/verifycode/TZcntTestL.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/bmi/verifycode/TZcntTestL.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,8 @@ * @test * @bug 8031321 * @library /testlibrary /../../test/lib /compiler/whitebox .. + * @modules java.base/sun.misc + * java.management * @build TZcntTestL * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/classcast/NullCheckDroppingsTest.java --- a/hotspot/test/compiler/intrinsics/classcast/NullCheckDroppingsTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/classcast/NullCheckDroppingsTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8054492 * @summary "Casting can result in redundant null checks in generated code" * @library /testlibrary /../../test/lib /testlibrary/com/oracle/java/testlibrary + * @modules java.base/sun.misc + * java.management * @build NullCheckDroppingsTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/AddExactIConstantTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/AddExactIConstantTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/AddExactIConstantTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8024924 * @summary Test constant addExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile AddExactIConstantTest.java Verify.java * @run main AddExactIConstantTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/AddExactILoadTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/AddExactILoadTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/AddExactILoadTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8024924 * @summary Test non constant addExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile AddExactILoadTest.java Verify.java * @run main AddExactILoadTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/AddExactILoopDependentTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/AddExactILoopDependentTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/AddExactILoopDependentTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8024924 * @summary Test non constant addExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile AddExactILoopDependentTest.java Verify.java * @run main AddExactILoopDependentTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/AddExactINonConstantTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/AddExactINonConstantTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/AddExactINonConstantTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8024924 * @summary Test non constant addExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile AddExactINonConstantTest.java Verify.java * @run main AddExactINonConstantTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/AddExactIRepeatTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/AddExactIRepeatTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/AddExactIRepeatTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8025657 * @summary Test repeating addExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile AddExactIRepeatTest.java Verify.java * @run main AddExactIRepeatTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/AddExactLConstantTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/AddExactLConstantTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/AddExactLConstantTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test constant addExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile AddExactLConstantTest.java Verify.java * @run main AddExactLConstantTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/AddExactLNonConstantTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/AddExactLNonConstantTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/AddExactLNonConstantTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test non constant addExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile AddExactLNonConstantTest.java Verify.java * @run main AddExactLNonConstantTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/DecExactITest.java --- a/hotspot/test/compiler/intrinsics/mathexact/DecExactITest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/DecExactITest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test decrementExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile DecExactITest.java Verify.java * @run main DecExactITest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/DecExactLTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/DecExactLTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/DecExactLTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test decrementExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile DecExactLTest.java Verify.java * @run main DecExactLTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/IncExactITest.java --- a/hotspot/test/compiler/intrinsics/mathexact/IncExactITest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/IncExactITest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test incrementExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile IncExactITest.java Verify.java * @run main IncExactITest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/IncExactLTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/IncExactLTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/IncExactLTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test incrementExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile IncExactLTest.java Verify.java * @run main IncExactLTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/MulExactIConstantTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/MulExactIConstantTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/MulExactIConstantTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test constant multiplyExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile MulExactIConstantTest.java Verify.java * @run main MulExactIConstantTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/MulExactILoadTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/MulExactILoadTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/MulExactILoadTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test multiplyExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile MulExactILoadTest.java Verify.java * @run main MulExactILoadTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/MulExactILoopDependentTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/MulExactILoopDependentTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/MulExactILoopDependentTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test loop dependent multiplyExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile MulExactILoopDependentTest.java Verify.java * @run main MulExactILoopDependentTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/MulExactINonConstantTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/MulExactINonConstantTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/MulExactINonConstantTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test non constant multiplyExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile MulExactINonConstantTest.java Verify.java * @run main MulExactINonConstantTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/MulExactIRepeatTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/MulExactIRepeatTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/MulExactIRepeatTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test repeating multiplyExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile MulExactIRepeatTest.java Verify.java * @run main MulExactIRepeatTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/MulExactLConstantTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/MulExactLConstantTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/MulExactLConstantTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test constant mulExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile MulExactLConstantTest.java Verify.java * @run main MulExactLConstantTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/MulExactLNonConstantTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/MulExactLNonConstantTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/MulExactLNonConstantTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test non constant mulExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile MulExactLNonConstantTest.java Verify.java * @run main MulExactLNonConstantTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/NegExactIConstantTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/NegExactIConstantTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/NegExactIConstantTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test constant negExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile NegExactIConstantTest.java Verify.java * @run main NegExactIConstantTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/NegExactILoadTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/NegExactILoadTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/NegExactILoadTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test negExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile NegExactILoadTest.java Verify.java * @run main NegExactILoadTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/NegExactILoopDependentTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/NegExactILoopDependentTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/NegExactILoopDependentTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test negExact loop dependent * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile NegExactILoopDependentTest.java Verify.java * @run main NegExactILoopDependentTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/NegExactINonConstantTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/NegExactINonConstantTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/NegExactINonConstantTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test non constant negExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile NegExactINonConstantTest.java Verify.java * @run main NegExactINonConstantTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/NegExactLConstantTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/NegExactLConstantTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/NegExactLConstantTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test constant negExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile NegExactLConstantTest.java Verify.java * @run main NegExactLConstantTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/NegExactLNonConstantTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/NegExactLNonConstantTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/NegExactLNonConstantTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test constant negExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile NegExactLNonConstantTest.java Verify.java * @run main NegExactLNonConstantTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/SubExactICondTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/SubExactICondTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/SubExactICondTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test subtractExact as condition * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile SubExactICondTest.java Verify.java * @run main SubExactICondTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/SubExactIConstantTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/SubExactIConstantTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/SubExactIConstantTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test constant subtractExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile SubExactIConstantTest.java Verify.java * @run main SubExactIConstantTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/SubExactILoadTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/SubExactILoadTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/SubExactILoadTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test non constant subtractExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile SubExactILoadTest.java Verify.java * @run main SubExactILoadTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/SubExactILoopDependentTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/SubExactILoopDependentTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/SubExactILoopDependentTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test non constant subtractExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile SubExactILoopDependentTest.java Verify.java * @run main SubExactILoopDependentTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/SubExactINonConstantTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/SubExactINonConstantTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/SubExactINonConstantTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test non constant subtractExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile SubExactINonConstantTest.java Verify.java * @run main SubExactINonConstantTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/SubExactIRepeatTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/SubExactIRepeatTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/SubExactIRepeatTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026844 * @summary Test repeating subtractExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile SubExactIRepeatTest.java Verify.java * @run main SubExactIRepeatTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/SubExactLConstantTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/SubExactLConstantTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/SubExactLConstantTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8027353 * @summary Test constant subtractExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile SubExactLConstantTest.java Verify.java * @run main SubExactLConstantTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/SubExactLNonConstantTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/SubExactLNonConstantTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/SubExactLNonConstantTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8027353 * @summary Test non constant subtractExact * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile SubExactLNonConstantTest.java Verify.java * @run main SubExactLNonConstantTest * diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/sanity/AddExactIntTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/sanity/AddExactIntTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/AddExactIntTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,8 @@ * @test * @library /testlibrary /../../test/lib /compiler/whitebox * /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build AddExactIntTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/sanity/AddExactLongTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/sanity/AddExactLongTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/AddExactLongTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,8 @@ * @test * @library /testlibrary /../../test/lib /compiler/whitebox * /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build AddExactLongTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/sanity/DecrementExactIntTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/sanity/DecrementExactIntTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/DecrementExactIntTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,8 @@ * @test * @library /testlibrary /../../test/lib /compiler/whitebox * /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build DecrementExactIntTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/sanity/DecrementExactLongTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/sanity/DecrementExactLongTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/DecrementExactLongTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,8 @@ * @test * @library /testlibrary /../../test/lib /compiler/whitebox * /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build DecrementExactLongTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/sanity/IncrementExactIntTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/sanity/IncrementExactIntTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/IncrementExactIntTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,8 @@ * @test * @library /testlibrary /../../test/lib /compiler/whitebox * /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build IncrementExactIntTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/sanity/IncrementExactLongTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/sanity/IncrementExactLongTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/IncrementExactLongTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,8 @@ * @test * @library /testlibrary /../../test/lib /compiler/whitebox * /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build IncrementExactLongTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/sanity/MultiplyExactIntTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/sanity/MultiplyExactIntTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/MultiplyExactIntTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,8 @@ * @test * @library /testlibrary /../../test/lib /compiler/whitebox * /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build MultiplyExactIntTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/sanity/MultiplyExactLongTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/sanity/MultiplyExactLongTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/MultiplyExactLongTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,8 @@ * @test * @library /testlibrary /../../test/lib /compiler/whitebox * /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build MultiplyExactLongTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/sanity/NegateExactIntTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/sanity/NegateExactIntTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/NegateExactIntTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,8 @@ * @test * @library /testlibrary /../../test/lib /compiler/whitebox * /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build NegateExactIntTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/sanity/NegateExactLongTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/sanity/NegateExactLongTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/NegateExactLongTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,8 @@ * @test * @library /testlibrary /../../test/lib /compiler/whitebox * /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build NegateExactLongTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/sanity/SubtractExactIntTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/sanity/SubtractExactIntTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/SubtractExactIntTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,8 @@ * @test * @library /testlibrary /../../test/lib /compiler/whitebox * /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build SubtractExactIntTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/mathexact/sanity/SubtractExactLongTest.java --- a/hotspot/test/compiler/intrinsics/mathexact/sanity/SubtractExactLongTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/mathexact/sanity/SubtractExactLongTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,8 @@ * @test * @library /testlibrary /../../test/lib /compiler/whitebox * /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build SubtractExactLongTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnSupportedCPU.java --- a/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnSupportedCPU.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnSupportedCPU.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8035968 * @summary Verify UseSHA1Intrinsics option processing on supported CPU, * @library /testlibrary /../../test/lib /compiler/testlibrary testcases + * @modules java.base/sun.misc + * java.management * @build TestUseSHA1IntrinsicsOptionOnSupportedCPU * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnUnsupportedCPU.java --- a/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnUnsupportedCPU.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnUnsupportedCPU.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8035968 * @summary Verify UseSHA1Intrinsics option processing on unsupported CPU, * @library /testlibrary /../../test/lib /compiler/testlibrary testcases + * @modules java.base/sun.misc + * java.management * @build TestUseSHA1IntrinsicsOptionOnUnsupportedCPU * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnSupportedCPU.java --- a/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnSupportedCPU.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnSupportedCPU.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8035968 * @summary Verify UseSHA256Intrinsics option processing on supported CPU, * @library /testlibrary /../../test/lib /compiler/testlibrary testcases + * @modules java.base/sun.misc + * java.management * @build TestUseSHA256IntrinsicsOptionOnSupportedCPU * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnUnsupportedCPU.java --- a/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnUnsupportedCPU.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnUnsupportedCPU.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8035968 * @summary Verify UseSHA256Intrinsics option processing on unsupported CPU, * @library /testlibrary /../../test/lib /compiler/testlibrary testcases + * @modules java.base/sun.misc + * java.management * @build TestUseSHA256IntrinsicsOptionOnUnsupportedCPU * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnSupportedCPU.java --- a/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnSupportedCPU.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnSupportedCPU.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8035968 * @summary Verify UseSHA512Intrinsics option processing on supported CPU. * @library /testlibrary /../../test/lib /compiler/testlibrary testcases + * @modules java.base/sun.misc + * java.management * @build TestUseSHA512IntrinsicsOptionOnSupportedCPU * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnUnsupportedCPU.java --- a/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnUnsupportedCPU.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnUnsupportedCPU.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8035968 * @summary Verify UseSHA512Intrinsics option processing on unsupported CPU, * @library /testlibrary /../../test/lib /compiler/testlibrary testcases + * @modules java.base/sun.misc + * java.management * @build TestUseSHA512IntrinsicsOptionOnUnsupportedCPU * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/sha/cli/TestUseSHAOptionOnSupportedCPU.java --- a/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHAOptionOnSupportedCPU.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHAOptionOnSupportedCPU.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8035968 * @summary Verify UseSHA option processing on supported CPU, * @library /testlibrary /../../test/lib /compiler/testlibrary testcases + * @modules java.base/sun.misc + * java.management * @build TestUseSHAOptionOnSupportedCPU * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/sha/cli/TestUseSHAOptionOnUnsupportedCPU.java --- a/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHAOptionOnUnsupportedCPU.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHAOptionOnUnsupportedCPU.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8035968 * @summary Verify UseSHA option processing on unsupported CPU. * @library /testlibrary /../../test/lib /compiler/testlibrary testcases + * @modules java.base/sun.misc + * java.management * @build TestUseSHAOptionOnUnsupportedCPU * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/sha/sanity/TestSHA1Intrinsics.java --- a/hotspot/test/compiler/intrinsics/sha/sanity/TestSHA1Intrinsics.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/sha/sanity/TestSHA1Intrinsics.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8035968 * @summary Verify that SHA-1 intrinsic is actually used. * @library /testlibrary /../../test/lib /compiler/testlibrary ../ + * @modules java.base/sun.misc + * java.management * @build TestSHA intrinsics.Verifier TestSHA1Intrinsics * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/sha/sanity/TestSHA1MultiBlockIntrinsics.java --- a/hotspot/test/compiler/intrinsics/sha/sanity/TestSHA1MultiBlockIntrinsics.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/sha/sanity/TestSHA1MultiBlockIntrinsics.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @bug 8035968 * @summary Verify that SHA-1 multi block intrinsic is actually used. * @library /testlibrary /../../test/lib /compiler/testlibrary ../ + * @modules java.base/sun.misc + * java.management * @build TestSHA intrinsics.Verifier TestSHA1MultiBlockIntrinsics * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/sha/sanity/TestSHA256Intrinsics.java --- a/hotspot/test/compiler/intrinsics/sha/sanity/TestSHA256Intrinsics.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/sha/sanity/TestSHA256Intrinsics.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @bug 8035968 * @summary Verify that SHA-256 intrinsic is actually used. * @library /testlibrary /../../test/lib /compiler/testlibrary ../ + * @modules java.base/sun.misc + * java.management * @build TestSHA intrinsics.Verifier TestSHA256Intrinsics * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/sha/sanity/TestSHA256MultiBlockIntrinsics.java --- a/hotspot/test/compiler/intrinsics/sha/sanity/TestSHA256MultiBlockIntrinsics.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/sha/sanity/TestSHA256MultiBlockIntrinsics.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @bug 8035968 * @summary Verify that SHA-256 multi block intrinsic is actually used. * @library /testlibrary /../../test/lib /compiler/testlibrary ../ + * @modules java.base/sun.misc + * java.management * @build TestSHA intrinsics.Verifier TestSHA256MultiBlockIntrinsics * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/sha/sanity/TestSHA512Intrinsics.java --- a/hotspot/test/compiler/intrinsics/sha/sanity/TestSHA512Intrinsics.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/sha/sanity/TestSHA512Intrinsics.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @bug 8035968 * @summary Verify that SHA-512 intrinsic is actually used. * @library /testlibrary /../../test/lib /compiler/testlibrary ../ + * @modules java.base/sun.misc + * java.management * @build TestSHA intrinsics.Verifier TestSHA512Intrinsics * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/sha/sanity/TestSHA512MultiBlockIntrinsics.java --- a/hotspot/test/compiler/intrinsics/sha/sanity/TestSHA512MultiBlockIntrinsics.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/sha/sanity/TestSHA512MultiBlockIntrinsics.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @bug 8035968 * @summary Verify that SHA-512 multi block intrinsic is actually used. * @library /testlibrary /../../test/lib /compiler/testlibrary ../ + * @modules java.base/sun.misc + * java.management * @build TestSHA intrinsics.Verifier TestSHA512MultiBlockIntrinsics * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/intrinsics/unsafe/UnsafeGetAddressTest.java --- a/hotspot/test/compiler/intrinsics/unsafe/UnsafeGetAddressTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/intrinsics/unsafe/UnsafeGetAddressTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,7 @@ * @test * @bug 6653795 * @summary C2 intrinsic for Unsafe.getAddress performs pointer sign extension on 32-bit systems + * @modules java.base/sun.misc * @run main UnsafeGetAddressTest * */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/jsr292/ConcurrentClassLoadingTest.java --- a/hotspot/test/compiler/jsr292/ConcurrentClassLoadingTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/jsr292/ConcurrentClassLoadingTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8022595 * @summary JSR292: deadlock during class loading of MethodHandles, MethodHandleImpl & MethodHandleNatives * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm ConcurrentClassLoadingTest */ import com.oracle.java.testlibrary.Utils; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/jsr292/CreatesInterfaceDotEqualsCallInfo.java --- a/hotspot/test/compiler/jsr292/CreatesInterfaceDotEqualsCallInfo.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/jsr292/CreatesInterfaceDotEqualsCallInfo.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,7 +26,7 @@ * @test * @bug 8026124 * @summary Javascript file provoked assertion failure in linkResolver.cpp - * + * @modules jdk.scripting.nashorn/jdk.nashorn.tools * @run main/othervm CreatesInterfaceDotEqualsCallInfo */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/jsr292/RedefineMethodUsedByMultipleMethodHandles.java --- a/hotspot/test/compiler/jsr292/RedefineMethodUsedByMultipleMethodHandles.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/jsr292/RedefineMethodUsedByMultipleMethodHandles.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,10 @@ * @test * @bug 8042235 * @summary redefining method used by multiple MethodHandles crashes VM + * @modules java.base/jdk.internal.org.objectweb.asm + * java.compiler + * java.instrument + * java.management * @compile -XDignore.symbol.file RedefineMethodUsedByMultipleMethodHandles.java * @run main RedefineMethodUsedByMultipleMethodHandles */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/jsr292/VMAnonymousClasses.java --- a/hotspot/test/compiler/jsr292/VMAnonymousClasses.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/jsr292/VMAnonymousClasses.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -24,6 +24,8 @@ /** * @test * @bug 8058828 + * @modules java.base/jdk.internal.org.objectweb.asm + * java.base/sun.misc * @run main/bootclasspath -Xbatch VMAnonymousClasses */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/jsr292/methodHandleExceptions/TestAMEnotNPE.java --- a/hotspot/test/compiler/jsr292/methodHandleExceptions/TestAMEnotNPE.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/jsr292/methodHandleExceptions/TestAMEnotNPE.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -35,6 +35,7 @@ * @test @bug 8025260 8016839 * @summary Ensure that AbstractMethodError and IllegalAccessError are thrown appropriately, not NullPointerException * + * @modules java.base/jdk.internal.org.objectweb.asm * @compile -XDignore.symbol.file TestAMEnotNPE.java ByteClassLoader.java p/C.java p/Dok.java p/E.java p/F.java p/I.java p/Tdirect.java p/Treflect.java * * @run main/othervm TestAMEnotNPE diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/oracle/CheckCompileCommandOption.java --- a/hotspot/test/compiler/oracle/CheckCompileCommandOption.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/oracle/CheckCompileCommandOption.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -31,6 +31,8 @@ * @bug 8055286 8056964 8059847 8069035 * @summary "Checks parsing of -XX:CompileCommand=option" * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main CheckCompileCommandOption */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/oracle/TestCompileCommand.java --- a/hotspot/test/compiler/oracle/TestCompileCommand.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/oracle/TestCompileCommand.java Fri Apr 03 16:34:51 2015 -0700 @@ -31,6 +31,8 @@ * @bug 8069389 * @summary "Regression tests of -XX:CompileCommand" * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main TestCompileCommand */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/osr/TestOSRWithNonEmptyStack.java --- a/hotspot/test/compiler/osr/TestOSRWithNonEmptyStack.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/osr/TestOSRWithNonEmptyStack.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -33,6 +33,7 @@ * @test * @bug 8051344 * @summary Force OSR compilation with non-empty stack at the OSR entry point. + * @modules java.base/jdk.internal.org.objectweb.asm * @compile -XDignore.symbol.file TestOSRWithNonEmptyStack.java * @run main/othervm -XX:CompileOnly=TestCase.test TestOSRWithNonEmptyStack */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/profiling/spectrapredefineclass/Launcher.java --- a/hotspot/test/compiler/profiling/spectrapredefineclass/Launcher.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/profiling/spectrapredefineclass/Launcher.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,9 @@ * @test * @bug 8038636 * @library /testlibrary + * @modules java.base/sun.misc + * java.instrument + * java.management * @build Agent * @run main ClassFileInstaller Agent * @run main Launcher diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/profiling/spectrapredefineclass_classloaders/Launcher.java --- a/hotspot/test/compiler/profiling/spectrapredefineclass_classloaders/Launcher.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/profiling/spectrapredefineclass_classloaders/Launcher.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,9 @@ * @test * @bug 8040237 * @library /testlibrary + * @modules java.base/sun.misc + * java.instrument + * java.management * @build Agent Test A B * @run main ClassFileInstaller Agent * @run main Launcher diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rangechecks/TestRangeCheckSmearing.java --- a/hotspot/test/compiler/rangechecks/TestRangeCheckSmearing.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rangechecks/TestRangeCheckSmearing.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8066103 * @summary C2's range check smearing allows out of bound array accesses * @library /testlibrary /../../test/lib /compiler/whitebox + * @modules java.base/sun.misc + * java.management * @build TestRangeCheckSmearing * @run main ClassFileInstaller sun.hotspot.WhiteBox * @run main ClassFileInstaller com.oracle.java.testlibrary.Platform diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/cli/TestPrintPreciseRTMLockingStatisticsOptionOnSupportedConfig.java --- a/hotspot/test/compiler/rtm/cli/TestPrintPreciseRTMLockingStatisticsOptionOnSupportedConfig.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/cli/TestPrintPreciseRTMLockingStatisticsOptionOnSupportedConfig.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify PrintPreciseRTMLockingStatistics on CPUs with * rtm support and on VM with rtm locking support, * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestPrintPreciseRTMLockingStatisticsOptionOnSupportedConfig * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/cli/TestPrintPreciseRTMLockingStatisticsOptionOnUnsupportedConfig.java --- a/hotspot/test/compiler/rtm/cli/TestPrintPreciseRTMLockingStatisticsOptionOnUnsupportedConfig.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/cli/TestPrintPreciseRTMLockingStatisticsOptionOnUnsupportedConfig.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify PrintPreciseRTMLockingStatistics on CPUs without * rtm support and/or unsupported VM. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestPrintPreciseRTMLockingStatisticsOptionOnUnsupportedConfig * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/cli/TestRTMAbortRatioOptionOnSupportedConfig.java --- a/hotspot/test/compiler/rtm/cli/TestRTMAbortRatioOptionOnSupportedConfig.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/cli/TestRTMAbortRatioOptionOnSupportedConfig.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify RTMAbortRatio option processing on CPU with rtm * support and on VM with rtm locking support. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestRTMAbortRatioOptionOnSupportedConfig * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/cli/TestRTMAbortRatioOptionOnUnsupportedConfig.java --- a/hotspot/test/compiler/rtm/cli/TestRTMAbortRatioOptionOnUnsupportedConfig.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/cli/TestRTMAbortRatioOptionOnUnsupportedConfig.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify RTMAbortRatio option processing on CPU without rtm * support or on VM that does not support rtm locking. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestRTMAbortRatioOptionOnUnsupportedConfig * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/cli/TestRTMAbortThresholdOption.java --- a/hotspot/test/compiler/rtm/cli/TestRTMAbortThresholdOption.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/cli/TestRTMAbortThresholdOption.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @bug 8031320 * @summary Verify processing of RTMAbortThreshold option. * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @build TestRTMAbortThresholdOption * @run main/othervm TestRTMAbortThresholdOption */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/cli/TestRTMLockingCalculationDelayOption.java --- a/hotspot/test/compiler/rtm/cli/TestRTMLockingCalculationDelayOption.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/cli/TestRTMLockingCalculationDelayOption.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @bug 8031320 * @summary Verify processing of RTMLockingCalculationDelay option. * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @build TestRTMLockingCalculationDelayOption * @run main/othervm TestRTMLockingCalculationDelayOption */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/cli/TestRTMLockingThresholdOption.java --- a/hotspot/test/compiler/rtm/cli/TestRTMLockingThresholdOption.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/cli/TestRTMLockingThresholdOption.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @bug 8031320 * @summary Verify processing of RTMLockingThreshold option. * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @build TestRTMLockingThresholdOption * @run main/othervm TestRTMLockingThresholdOption */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/cli/TestRTMRetryCountOption.java --- a/hotspot/test/compiler/rtm/cli/TestRTMRetryCountOption.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/cli/TestRTMRetryCountOption.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @bug 8031320 * @summary Verify processing of RTMRetryCount option. * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @build TestRTMRetryCountOption * @run main/othervm TestRTMRetryCountOption */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/cli/TestRTMSpinLoopCountOption.java --- a/hotspot/test/compiler/rtm/cli/TestRTMSpinLoopCountOption.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/cli/TestRTMSpinLoopCountOption.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @bug 8031320 * @summary Verify processing of RTMSpinLoopCount option. * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @build TestRTMSpinLoopCountOption * @run main/othervm TestRTMSpinLoopCountOption */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/cli/TestRTMTotalCountIncrRateOptionOnSupportedConfig.java --- a/hotspot/test/compiler/rtm/cli/TestRTMTotalCountIncrRateOptionOnSupportedConfig.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/cli/TestRTMTotalCountIncrRateOptionOnSupportedConfig.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify RTMTotalCountIncrRate option processing on CPU with * rtm support and on VM with rtm locking support. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestRTMTotalCountIncrRateOptionOnSupportedConfig * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/cli/TestRTMTotalCountIncrRateOptionOnUnsupportedConfig.java --- a/hotspot/test/compiler/rtm/cli/TestRTMTotalCountIncrRateOptionOnUnsupportedConfig.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/cli/TestRTMTotalCountIncrRateOptionOnUnsupportedConfig.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -33,6 +33,8 @@ * @summary Verify RTMTotalCountIncrRate option processing on CPU without * rtm support and/or on VM without rtm locking support. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestRTMTotalCountIncrRateOptionOnUnsupportedConfig * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/cli/TestUseRTMDeoptOptionOnSupportedConfig.java --- a/hotspot/test/compiler/rtm/cli/TestUseRTMDeoptOptionOnSupportedConfig.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/cli/TestUseRTMDeoptOptionOnSupportedConfig.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify UseRTMDeopt option processing on CPUs with rtm support * when rtm locking is supported by VM. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestUseRTMDeoptOptionOnSupportedConfig * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/cli/TestUseRTMDeoptOptionOnUnsupportedConfig.java --- a/hotspot/test/compiler/rtm/cli/TestUseRTMDeoptOptionOnUnsupportedConfig.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/cli/TestUseRTMDeoptOptionOnUnsupportedConfig.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify UseRTMDeopt option processing on CPUs without rtm support * or on VMs without rtm locking support. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestUseRTMDeoptOptionOnUnsupportedConfig * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/cli/TestUseRTMForStackLocksOptionOnSupportedConfig.java --- a/hotspot/test/compiler/rtm/cli/TestUseRTMForStackLocksOptionOnSupportedConfig.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/cli/TestUseRTMForStackLocksOptionOnSupportedConfig.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify UseRTMForStackLocks option processing on CPU with * rtm support when VM supports rtm locking. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestUseRTMForStackLocksOptionOnSupportedConfig * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/cli/TestUseRTMForStackLocksOptionOnUnsupportedConfig.java --- a/hotspot/test/compiler/rtm/cli/TestUseRTMForStackLocksOptionOnUnsupportedConfig.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/cli/TestUseRTMForStackLocksOptionOnUnsupportedConfig.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify UseRTMForStackLocks option processing on CPUs without * rtm support and/or on VMs without rtm locking support. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestUseRTMForStackLocksOptionOnUnsupportedConfig * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/cli/TestUseRTMLockingOptionOnSupportedConfig.java --- a/hotspot/test/compiler/rtm/cli/TestUseRTMLockingOptionOnSupportedConfig.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/cli/TestUseRTMLockingOptionOnSupportedConfig.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify UseRTMLocking option processing on CPU with rtm support and * on VM with rtm-locking support. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestUseRTMLockingOptionOnSupportedConfig * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/cli/TestUseRTMLockingOptionOnUnsupportedCPU.java --- a/hotspot/test/compiler/rtm/cli/TestUseRTMLockingOptionOnUnsupportedCPU.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/cli/TestUseRTMLockingOptionOnUnsupportedCPU.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify UseRTMLocking option processing on CPU without * rtm support. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestUseRTMLockingOptionOnUnsupportedCPU * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/cli/TestUseRTMLockingOptionOnUnsupportedVM.java --- a/hotspot/test/compiler/rtm/cli/TestUseRTMLockingOptionOnUnsupportedVM.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/cli/TestUseRTMLockingOptionOnUnsupportedVM.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify UseRTMLocking option processing on CPU with rtm support * in case when VM should not support this option. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestUseRTMLockingOptionOnUnsupportedVM * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/cli/TestUseRTMLockingOptionWithBiasedLocking.java --- a/hotspot/test/compiler/rtm/cli/TestUseRTMLockingOptionWithBiasedLocking.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/cli/TestUseRTMLockingOptionWithBiasedLocking.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify processing of UseRTMLocking and UseBiasedLocking * options combination on CPU and VM with rtm support. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestUseRTMLockingOptionWithBiasedLocking * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/cli/TestUseRTMXendForLockBusyOption.java --- a/hotspot/test/compiler/rtm/cli/TestUseRTMXendForLockBusyOption.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/cli/TestUseRTMXendForLockBusyOption.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @bug 8031320 * @summary Verify processing of UseRTMXendForLockBusy option. * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @build TestUseRTMXendForLockBusyOption * @run main/othervm TestUseRTMXendForLockBusyOption */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/locking/TestRTMAbortRatio.java --- a/hotspot/test/compiler/rtm/locking/TestRTMAbortRatio.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/locking/TestRTMAbortRatio.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that RTMAbortRatio affects amount of aborts before * deoptimization. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestRTMAbortRatio * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/locking/TestRTMAbortThreshold.java --- a/hotspot/test/compiler/rtm/locking/TestRTMAbortThreshold.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/locking/TestRTMAbortThreshold.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that RTMAbortThreshold option affects * amount of aborts after which abort ratio is calculated. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestRTMAbortThreshold * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/locking/TestRTMAfterNonRTMDeopt.java --- a/hotspot/test/compiler/rtm/locking/TestRTMAfterNonRTMDeopt.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/locking/TestRTMAfterNonRTMDeopt.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -30,6 +30,8 @@ * method's RTM state. And if we don't use RTMDeopt, then * RTM state remain the same after such deoptimization. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestRTMAfterNonRTMDeopt * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/locking/TestRTMDeoptOnHighAbortRatio.java --- a/hotspot/test/compiler/rtm/locking/TestRTMDeoptOnHighAbortRatio.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/locking/TestRTMDeoptOnHighAbortRatio.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that on high abort ratio method will be recompiled * without rtm locking. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestRTMDeoptOnHighAbortRatio * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/locking/TestRTMDeoptOnLowAbortRatio.java --- a/hotspot/test/compiler/rtm/locking/TestRTMDeoptOnLowAbortRatio.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/locking/TestRTMDeoptOnLowAbortRatio.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @bug 8031320 * @summary Verify that on low abort ratio method will be recompiled. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestRTMDeoptOnLowAbortRatio * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/locking/TestRTMLockingCalculationDelay.java --- a/hotspot/test/compiler/rtm/locking/TestRTMLockingCalculationDelay.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/locking/TestRTMLockingCalculationDelay.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that RTMLockingCalculationDelay affect when * abort ratio calculation is started. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestRTMLockingCalculationDelay * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/locking/TestRTMLockingThreshold.java --- a/hotspot/test/compiler/rtm/locking/TestRTMLockingThreshold.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/locking/TestRTMLockingThreshold.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that RTMLockingThreshold affects rtm state transition * ProfileRTM => UseRTM. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestRTMLockingThreshold * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/locking/TestRTMRetryCount.java --- a/hotspot/test/compiler/rtm/locking/TestRTMRetryCount.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/locking/TestRTMRetryCount.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @bug 8031320 * @summary Verify that RTMRetryCount affects actual amount of retries. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestRTMRetryCount * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/locking/TestRTMSpinLoopCount.java --- a/hotspot/test/compiler/rtm/locking/TestRTMSpinLoopCount.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/locking/TestRTMSpinLoopCount.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that RTMSpinLoopCount affects time spent * between locking attempts. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestRTMSpinLoopCount * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/locking/TestRTMTotalCountIncrRate.java --- a/hotspot/test/compiler/rtm/locking/TestRTMTotalCountIncrRate.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/locking/TestRTMTotalCountIncrRate.java Fri Apr 03 16:34:51 2015 -0700 @@ -28,6 +28,8 @@ * @summary Verify that RTMTotalCountIncrRate option affects * RTM locking statistics. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestRTMTotalCountIncrRate * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/locking/TestUseRTMAfterLockInflation.java --- a/hotspot/test/compiler/rtm/locking/TestUseRTMAfterLockInflation.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/locking/TestUseRTMAfterLockInflation.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that rtm locking is used for stack locks before * inflation and after it used for inflated locks. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestUseRTMAfterLockInflation * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/locking/TestUseRTMDeopt.java --- a/hotspot/test/compiler/rtm/locking/TestUseRTMDeopt.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/locking/TestUseRTMDeopt.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that UseRTMDeopt affects uncommon trap installation in * copmpiled methods with synchronized block. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestUseRTMDeopt * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/locking/TestUseRTMForInflatedLocks.java --- a/hotspot/test/compiler/rtm/locking/TestUseRTMForInflatedLocks.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/locking/TestUseRTMForInflatedLocks.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @bug 8031320 * @summary Verify that rtm locking is used for inflated locks. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestUseRTMForInflatedLocks * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/locking/TestUseRTMForStackLocks.java --- a/hotspot/test/compiler/rtm/locking/TestUseRTMForStackLocks.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/locking/TestUseRTMForStackLocks.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @bug 8031320 * @summary Verify that rtm locking is used for stack locks. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestUseRTMForStackLocks * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/locking/TestUseRTMXendForLockBusy.java --- a/hotspot/test/compiler/rtm/locking/TestUseRTMXendForLockBusy.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/locking/TestUseRTMXendForLockBusy.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that UseRTMXendForLockBusy option affects * method behaviour if lock is busy. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestUseRTMXendForLockBusy * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/method_options/TestNoRTMLockElidingOption.java --- a/hotspot/test/compiler/rtm/method_options/TestNoRTMLockElidingOption.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/method_options/TestNoRTMLockElidingOption.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Verify that NoRTMLockEliding option could be applied to * specified method and that such method will not use rtm. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestNoRTMLockElidingOption * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/method_options/TestUseRTMLockElidingOption.java --- a/hotspot/test/compiler/rtm/method_options/TestUseRTMLockElidingOption.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/method_options/TestUseRTMLockElidingOption.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -29,6 +29,8 @@ * specified method and that such method will not be deoptimized * on high abort ratio. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestUseRTMLockElidingOption * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/rtm/print/TestPrintPreciseRTMLockingStatistics.java --- a/hotspot/test/compiler/rtm/print/TestPrintPreciseRTMLockingStatistics.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/rtm/print/TestPrintPreciseRTMLockingStatistics.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -30,6 +30,8 @@ * different types. Test also verify that VM output does not * contain rtm locking statistics when it should not. * @library /testlibrary /../../test/lib /compiler/testlibrary + * @modules java.base/sun.misc + * java.management * @build TestPrintPreciseRTMLockingStatistics * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/runtime/8010927/Test8010927.java --- a/hotspot/test/compiler/runtime/8010927/Test8010927.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/runtime/8010927/Test8010927.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,7 @@ * @bug 8010927 * @summary Kitchensink crashed with SIGSEGV, Problematic frame: v ~StubRoutines::checkcast_arraycopy * @library /../../test/lib /testlibrary + * @modules java.base/sun.misc * @build Test8010927 * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/startup/NumCompilerThreadsCheck.java --- a/hotspot/test/compiler/startup/NumCompilerThreadsCheck.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/startup/NumCompilerThreadsCheck.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8034775 * @summary Ensures correct minimal number of compiler threads (provided by -XX:CICompilerCount=) * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/startup/SmallCodeCacheStartup.java --- a/hotspot/test/compiler/startup/SmallCodeCacheStartup.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/startup/SmallCodeCacheStartup.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -28,6 +28,8 @@ * to initialize all compiler threads. The option -Xcomp gives the VM more time to * trigger the old bug. * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; import static com.oracle.java.testlibrary.Asserts.assertTrue; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/startup/StartupOutput.java --- a/hotspot/test/compiler/startup/StartupOutput.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/startup/StartupOutput.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8026949 * @summary Test ensures correct VM output during startup * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/tiered/ConstantGettersTransitionsTest.java --- a/hotspot/test/compiler/tiered/ConstantGettersTransitionsTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/tiered/ConstantGettersTransitionsTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ /** * @test ConstantGettersTransitionsTest * @library /testlibrary /../../test/lib /compiler/whitebox + * @modules java.base/sun.misc + * java.management * @build TransitionsTestExecutor ConstantGettersTransitionsTest * @run main ClassFileInstaller sun.hotspot.WhiteBox sun.hotspot.WhiteBox$WhiteBoxPermission * @run main/othervm/timeout=240 -Xmixed -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/tiered/LevelTransitionTest.java --- a/hotspot/test/compiler/tiered/LevelTransitionTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/tiered/LevelTransitionTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -29,6 +29,8 @@ /** * @test LevelTransitionTest * @library /testlibrary /../../test/lib /compiler/whitebox + * @modules java.base/sun.misc + * java.management * @ignore 8067651 * @build TransitionsTestExecutor LevelTransitionTest * @run main ClassFileInstaller sun.hotspot.WhiteBox sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/tiered/NonTieredLevelsTest.java --- a/hotspot/test/compiler/tiered/NonTieredLevelsTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/tiered/NonTieredLevelsTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,7 @@ /** * @test NonTieredLevelsTest * @library /testlibrary /../../test/lib /compiler/whitebox + * @modules java.management * @build NonTieredLevelsTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/tiered/TieredLevelsTest.java --- a/hotspot/test/compiler/tiered/TieredLevelsTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/tiered/TieredLevelsTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -24,6 +24,7 @@ /** * @test TieredLevelsTest * @library /testlibrary /../../test/lib /compiler/whitebox + * @modules java.management * @build TieredLevelsTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/types/correctness/CorrectnessTest.java --- a/hotspot/test/compiler/types/correctness/CorrectnessTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/types/correctness/CorrectnessTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,8 @@ * @test CorrectnessTest * @bug 8038418 * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @ignore 8066173 * @compile execution/TypeConflict.java execution/TypeProfile.java * execution/MethodHandleDelegate.java diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/types/correctness/OffTest.java --- a/hotspot/test/compiler/types/correctness/OffTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/types/correctness/OffTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,8 @@ * @test CorrectnessTest * @bug 8038418 * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @ignore 8066173 * @compile execution/TypeConflict.java execution/TypeProfile.java * execution/MethodHandleDelegate.java diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/uncommontrap/TestUnstableIfTrap.java --- a/hotspot/test/compiler/uncommontrap/TestUnstableIfTrap.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/uncommontrap/TestUnstableIfTrap.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -41,6 +41,11 @@ * @test * @bug 8030976 8059226 * @library /testlibrary /compiler/testlibrary /../../test/lib + * @modules java.base/jdk.internal.org.objectweb.asm + * java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build TestUnstableIfTrap com.oracle.java.testlibrary.* uncommontrap.Verifier * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/unsafe/GetUnsafeObjectG1PreBarrier.java --- a/hotspot/test/compiler/unsafe/GetUnsafeObjectG1PreBarrier.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/unsafe/GetUnsafeObjectG1PreBarrier.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,7 @@ * @test * @bug 8016474 * @summary The bug only happens with C1 and G1 using a different ObjectAlignmentInBytes than KlassAlignmentInBytes (which is 8) + * @modules java.base/sun.misc * @run main/othervm -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:ObjectAlignmentInBytes=32 GetUnsafeObjectG1PreBarrier */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/unsafe/UnsafeRaw.java --- a/hotspot/test/compiler/unsafe/UnsafeRaw.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/unsafe/UnsafeRaw.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8058744 * @summary Invalid pattern-matching of address computations in raw unsafe * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm -Xbatch UnsafeRaw */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/whitebox/AllocationCodeBlobTest.java --- a/hotspot/test/compiler/whitebox/AllocationCodeBlobTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/whitebox/AllocationCodeBlobTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -35,6 +35,7 @@ * @test AllocationCodeBlobTest * @bug 8059624 8064669 * @library /testlibrary /../../test/lib + * @modules java.management * @build AllocationCodeBlobTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/whitebox/ClearMethodStateTest.java --- a/hotspot/test/compiler/whitebox/ClearMethodStateTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/whitebox/ClearMethodStateTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -27,6 +27,7 @@ * @test ClearMethodStateTest * @bug 8006683 8007288 8022832 * @library /testlibrary /../../test/lib + * @modules java.management * @build ClearMethodStateTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/whitebox/DeoptimizeAllTest.java --- a/hotspot/test/compiler/whitebox/DeoptimizeAllTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/whitebox/DeoptimizeAllTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,7 @@ * @test DeoptimizeAllTest * @bug 8006683 8007288 8022832 * @library /testlibrary /../../test/lib + * @modules java.management * @build DeoptimizeAllTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/whitebox/DeoptimizeFramesTest.java --- a/hotspot/test/compiler/whitebox/DeoptimizeFramesTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/whitebox/DeoptimizeFramesTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,7 @@ * @test DeoptimizeFramesTest * @bug 8028595 * @library /testlibrary /../../test/lib + * @modules java.management * @build DeoptimizeFramesTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/whitebox/DeoptimizeMethodTest.java --- a/hotspot/test/compiler/whitebox/DeoptimizeMethodTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/whitebox/DeoptimizeMethodTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,7 @@ * @test DeoptimizeMethodTest * @bug 8006683 8007288 8022832 * @library /testlibrary /../../test/lib + * @modules java.management * @build DeoptimizeMethodTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/whitebox/DeoptimizeMultipleOSRTest.java --- a/hotspot/test/compiler/whitebox/DeoptimizeMultipleOSRTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/whitebox/DeoptimizeMultipleOSRTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -29,6 +29,7 @@ * @test DeoptimizeMultipleOSRTest * @bug 8061817 * @library /testlibrary /../../test/lib + * @modules java.management * @build DeoptimizeMultipleOSRTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/whitebox/EnqueueMethodForCompilationTest.java --- a/hotspot/test/compiler/whitebox/EnqueueMethodForCompilationTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/whitebox/EnqueueMethodForCompilationTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,7 @@ * @test EnqueueMethodForCompilationTest * @bug 8006683 8007288 8022832 * @library /testlibrary /../../test/lib + * @modules java.management * @build EnqueueMethodForCompilationTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/whitebox/ForceNMethodSweepTest.java --- a/hotspot/test/compiler/whitebox/ForceNMethodSweepTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/whitebox/ForceNMethodSweepTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -35,6 +35,7 @@ * @test * @bug 8059624 8064669 * @library /testlibrary /../../test/lib + * @modules java.management * @build ForceNMethodSweepTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/whitebox/GetCodeHeapEntriesTest.java --- a/hotspot/test/compiler/whitebox/GetCodeHeapEntriesTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/whitebox/GetCodeHeapEntriesTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -34,6 +34,7 @@ * @test GetCodeHeapEntriesTest * @bug 8059624 * @library /testlibrary /../../test/lib + * @modules java.management * @build GetCodeHeapEntriesTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/whitebox/GetNMethodTest.java --- a/hotspot/test/compiler/whitebox/GetNMethodTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/whitebox/GetNMethodTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -30,6 +30,7 @@ * @test GetNMethodTest * @bug 8038240 * @library /testlibrary /../../test/lib + * @modules java.management * @build GetNMethodTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/whitebox/IsMethodCompilableTest.java --- a/hotspot/test/compiler/whitebox/IsMethodCompilableTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/whitebox/IsMethodCompilableTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,8 @@ * @test IsMethodCompilableTest * @bug 8007270 8006683 8007288 8022832 * @library /testlibrary /../../test/lib /testlibrary/com/oracle/java/testlibrary + * @modules java.base/sun.misc + * java.management * @build IsMethodCompilableTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/whitebox/LockCompilationTest.java --- a/hotspot/test/compiler/whitebox/LockCompilationTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/whitebox/LockCompilationTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,7 @@ * @test LockCompilationTest * @bug 8059624 * @library /testlibrary /../../test/lib + * @modules java.management * @build LockCompilationTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/whitebox/MakeMethodNotCompilableTest.java --- a/hotspot/test/compiler/whitebox/MakeMethodNotCompilableTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/whitebox/MakeMethodNotCompilableTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,7 @@ * @test MakeMethodNotCompilableTest * @bug 8012322 8006683 8007288 8022832 * @library /testlibrary /../../test/lib + * @modules java.management * @build MakeMethodNotCompilableTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/whitebox/SetDontInlineMethodTest.java --- a/hotspot/test/compiler/whitebox/SetDontInlineMethodTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/whitebox/SetDontInlineMethodTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,7 @@ * @test SetDontInlineMethodTest * @bug 8006683 8007288 8022832 * @library /testlibrary /../../test/lib + * @modules java.management * @build SetDontInlineMethodTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/compiler/whitebox/SetForceInlineMethodTest.java --- a/hotspot/test/compiler/whitebox/SetForceInlineMethodTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/compiler/whitebox/SetForceInlineMethodTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,7 @@ * @test SetForceInlineMethodTest * @bug 8006683 8007288 8022832 * @library /testlibrary /../../test/lib + * @modules java.management * @build SetForceInlineMethodTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/6581734/Test6581734.java --- a/hotspot/test/gc/6581734/Test6581734.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/6581734/Test6581734.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 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 @@ -26,6 +26,7 @@ * @bug 6581734 * @requires vm.gc=="ConcMarkSweep" | vm.gc=="null" * @summary CMS Old Gen's collection usage is zero after GC which is incorrect + * @modules java.management * @run main/othervm -Xmx512m -verbose:gc -XX:+UseConcMarkSweepGC Test6581734 * */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/6941923/Test6941923.java --- a/hotspot/test/gc/6941923/Test6941923.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/6941923/Test6941923.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 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 @@ -26,6 +26,8 @@ * @bug 6941923 * @summary test flags for gc log rotation * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm/timeout=600 Test6941923 * */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/7072527/TestFullGCCount.java --- a/hotspot/test/gc/7072527/TestFullGCCount.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/7072527/TestFullGCCount.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -25,6 +25,7 @@ * @test TestFullGCount.java * @bug 7072527 * @summary CMS: JMM GC counters overcount in some cases + * @modules java.management * @run main/othervm -XX:+PrintGC TestFullGCCount */ import java.util.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/TestCardTablePageCommits.java --- a/hotspot/test/gc/TestCardTablePageCommits.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/TestCardTablePageCommits.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2014, 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 @@ -32,6 +32,8 @@ * @bug 8059066 * @summary Tests that the card table does not commit the same page twice * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run driver TestCardTablePageCommits */ public class TestCardTablePageCommits { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/TestDisableExplicitGC.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot/test/gc/TestDisableExplicitGC.java Fri Apr 03 16:34:51 2015 -0700 @@ -0,0 +1,54 @@ +/* + * Copyright (c) 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. + */ + +/* + * @test TestDisableExplicitGC + * @requires vm.opt.DisableExplicitGC == null + * @summary Verify GC behavior with DisableExplicitGC flag. + * @library /testlibrary + * @run main/othervm -XX:+PrintGCDetails TestDisableExplicitGC + * @run main/othervm/fail -XX:+DisableExplicitGC -XX:+PrintGCDetails TestDisableExplicitGC + * @run main/othervm -XX:-DisableExplicitGC -XX:+PrintGCDetails TestDisableExplicitGC + */ +import java.lang.management.GarbageCollectorMXBean; +import java.util.List; +import static com.oracle.java.testlibrary.Asserts.*; + +public class TestDisableExplicitGC { + + public static void main(String[] args) throws InterruptedException { + List list = java.lang.management.ManagementFactory.getGarbageCollectorMXBeans(); + long collectionCountBefore = getCollectionCount(list); + System.gc(); + long collectionCountAfter = getCollectionCount(list); + assertLT(collectionCountBefore, collectionCountAfter); + } + + private static long getCollectionCount(List list) { + int collectionCount = 0; + for (GarbageCollectorMXBean gcMXBean : list) { + collectionCount += gcMXBean.getCollectionCount(); + } + return collectionCount; + } +} diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/TestGCLogRotationViaJcmd.java --- a/hotspot/test/gc/TestGCLogRotationViaJcmd.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/TestGCLogRotationViaJcmd.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 7090324 * @summary test for gc log rotation via jcmd * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm -Xloggc:test.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=3 TestGCLogRotationViaJcmd * */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/TestObjectAlignment.java --- a/hotspot/test/gc/TestObjectAlignment.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/TestObjectAlignment.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8021823 * @summary G1: Concurrent marking crashes with -XX:ObjectAlignmentInBytes>=32 in 64bit VMs * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm TestObjectAlignment -Xmx20M -XX:+ExplicitGCInvokesConcurrent -XX:+IgnoreUnrecognizedVMOptions -XX:ObjectAlignmentInBytes=8 * @run main/othervm TestObjectAlignment -Xmx20M -XX:+ExplicitGCInvokesConcurrent -XX:+IgnoreUnrecognizedVMOptions -XX:ObjectAlignmentInBytes=16 * @run main/othervm TestObjectAlignment -Xmx20M -XX:+ExplicitGCInvokesConcurrent -XX:+IgnoreUnrecognizedVMOptions -XX:ObjectAlignmentInBytes=32 diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/TestSmallHeap.java --- a/hotspot/test/gc/TestSmallHeap.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/TestSmallHeap.java Fri Apr 03 16:34:51 2015 -0700 @@ -29,6 +29,7 @@ * @requires vm.compMode != "Xcomp" * @summary Verify that starting the VM with a small heap works * @library /testlibrary /../../test/lib + * @modules java.management/sun.management * @build TestSmallHeap * @run main ClassFileInstaller sun.hotspot.WhiteBox * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xmx2m -XX:+UseParallelGC TestSmallHeap diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/TestSoftReferencesBehaviorOnOOME.java --- a/hotspot/test/gc/TestSoftReferencesBehaviorOnOOME.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/TestSoftReferencesBehaviorOnOOME.java Fri Apr 03 16:34:51 2015 -0700 @@ -26,6 +26,8 @@ * @key gc * @summary Tests that all SoftReferences has been cleared at time of OOM. * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @ignore 8073669 * @build TestSoftReferencesBehaviorOnOOME * @run main/othervm -Xmx128m TestSoftReferencesBehaviorOnOOME 512 2k diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/TestVerifyDuringStartup.java --- a/hotspot/test/gc/TestVerifyDuringStartup.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/TestVerifyDuringStartup.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8010463 8011343 8011898 * @summary Simple test run with -XX:+VerifyDuringStartup -XX:-UseTLAB to verify 8010463 * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.JDKToolFinder; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/TestVerifySilently.java --- a/hotspot/test/gc/TestVerifySilently.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/TestVerifySilently.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8032771 * @summary Test silent verification. * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.OutputAnalyzer; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/arguments/TestArrayAllocatorMallocLimit.java --- a/hotspot/test/gc/arguments/TestArrayAllocatorMallocLimit.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/arguments/TestArrayAllocatorMallocLimit.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @bug 8054823 * @key gc * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run driver TestArrayAllocatorMallocLimit */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/arguments/TestCMSHeapSizeFlags.java --- a/hotspot/test/gc/arguments/TestCMSHeapSizeFlags.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/arguments/TestCMSHeapSizeFlags.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8006088 * @summary Tests argument processing for initial and maximum heap size for the CMS collector * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestCMSHeapSizeFlags TestMaxHeapSizeTools * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/arguments/TestCompressedClassFlags.java --- a/hotspot/test/gc/arguments/TestCompressedClassFlags.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/arguments/TestCompressedClassFlags.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -29,6 +29,8 @@ * @summary Tests that VM prints a warning when -XX:CompressedClassSpaceSize * is used together with -XX:-UseCompressedClassPointers * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ public class TestCompressedClassFlags { public static void main(String[] args) throws Exception { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/arguments/TestDynMaxHeapFreeRatio.java --- a/hotspot/test/gc/arguments/TestDynMaxHeapFreeRatio.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/arguments/TestDynMaxHeapFreeRatio.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -31,6 +31,7 @@ * @bug 8028391 * @summary Verify that MaxHeapFreeRatio flag is manageable * @library /testlibrary + * @modules java.management * @run main TestDynMaxHeapFreeRatio * @run main/othervm -XX:MinHeapFreeRatio=0 -XX:MaxHeapFreeRatio=100 TestDynMaxHeapFreeRatio * @run main/othervm -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=50 -XX:-UseAdaptiveSizePolicy TestDynMaxHeapFreeRatio diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/arguments/TestDynMinHeapFreeRatio.java --- a/hotspot/test/gc/arguments/TestDynMinHeapFreeRatio.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/arguments/TestDynMinHeapFreeRatio.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,7 @@ * @bug 8028391 * @summary Verify that MinHeapFreeRatio flag is manageable * @library /testlibrary + * @modules java.management * @run main TestDynMinHeapFreeRatio * @run main/othervm -XX:MinHeapFreeRatio=0 -XX:MaxHeapFreeRatio=100 TestDynMinHeapFreeRatio * @run main/othervm -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=50 -XX:-UseAdaptiveSizePolicy TestDynMinHeapFreeRatio diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/arguments/TestG1ConcRefinementThreads.java --- a/hotspot/test/gc/arguments/TestG1ConcRefinementThreads.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/arguments/TestG1ConcRefinementThreads.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @bug 8047976 * @summary Tests argument processing for G1ConcRefinementThreads * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/arguments/TestG1HeapRegionSize.java --- a/hotspot/test/gc/arguments/TestG1HeapRegionSize.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/arguments/TestG1HeapRegionSize.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2013, 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 @@ -26,6 +26,7 @@ * @key gc * @bug 8021879 * @summary Verify that the flag G1HeapRegionSize is updated properly + * @modules java.management/sun.management * @run main/othervm -Xmx64m TestG1HeapRegionSize 1048576 * @run main/othervm -XX:G1HeapRegionSize=2m -Xmx64m TestG1HeapRegionSize 2097152 * @run main/othervm -XX:G1HeapRegionSize=3m -Xmx64m TestG1HeapRegionSize 2097152 diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/arguments/TestG1HeapSizeFlags.java --- a/hotspot/test/gc/arguments/TestG1HeapSizeFlags.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/arguments/TestG1HeapSizeFlags.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8006088 * @summary Tests argument processing for initial and maximum heap size for the G1 collector * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestG1HeapSizeFlags TestMaxHeapSizeTools * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/arguments/TestG1PercentageOptions.java --- a/hotspot/test/gc/arguments/TestG1PercentageOptions.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/arguments/TestG1PercentageOptions.java Fri Apr 03 16:34:51 2015 -0700 @@ -27,6 +27,8 @@ * @bug 8068942 * @summary Test argument processing of various percentage options * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run driver TestG1PercentageOptions */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/arguments/TestHeapFreeRatio.java --- a/hotspot/test/gc/arguments/TestHeapFreeRatio.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/arguments/TestHeapFreeRatio.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8025661 * @summary Test parsing of -Xminf and -Xmaxf * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm TestHeapFreeRatio */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/arguments/TestInitialTenuringThreshold.java --- a/hotspot/test/gc/arguments/TestInitialTenuringThreshold.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/arguments/TestInitialTenuringThreshold.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8014765 * @summary Tests argument processing for initial tenuring threshold * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm TestInitialTenuringThreshold * @author thomas.schatzl@oracle.com */ @@ -72,4 +74,4 @@ runWithThresholds(16, 8, true); runWithThresholds(8, 17, true); } -} \ No newline at end of file +} diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/arguments/TestMaxNewSize.java --- a/hotspot/test/gc/arguments/TestMaxNewSize.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/arguments/TestMaxNewSize.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2013, 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 @@ -28,6 +28,8 @@ * @summary Make sure that MaxNewSize always has a useful value after argument * processing. * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @build TestMaxNewSize * @run main TestMaxNewSize -XX:+UseSerialGC * @run main TestMaxNewSize -XX:+UseParallelGC diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/arguments/TestMinInitialErgonomics.java --- a/hotspot/test/gc/arguments/TestMinInitialErgonomics.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/arguments/TestMinInitialErgonomics.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8006088 * @summary Test ergonomics decisions related to minimum and initial heap size. * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestMinInitialErgonomics TestMaxHeapSizeTools * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/arguments/TestObjectTenuringFlags.java --- a/hotspot/test/gc/arguments/TestObjectTenuringFlags.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/arguments/TestObjectTenuringFlags.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @summary Tests argument processing for NeverTenure, AlwaysTenure, * and MaxTenuringThreshold * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @build TestObjectTenuringFlags FlagsValue * @run main/othervm TestObjectTenuringFlags */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/arguments/TestParallelGCThreads.java --- a/hotspot/test/gc/arguments/TestParallelGCThreads.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/arguments/TestParallelGCThreads.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @bug 8059527 * @summary Tests argument processing for ParallelGCThreads * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run driver TestParallelGCThreads */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/arguments/TestParallelHeapSizeFlags.java --- a/hotspot/test/gc/arguments/TestParallelHeapSizeFlags.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/arguments/TestParallelHeapSizeFlags.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2013, 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 @@ -28,6 +28,8 @@ * @summary Tests argument processing for initial and maximum heap size for the * parallel collectors. * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestParallelHeapSizeFlags TestMaxHeapSizeTools * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/arguments/TestSerialHeapSizeFlags.java --- a/hotspot/test/gc/arguments/TestSerialHeapSizeFlags.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/arguments/TestSerialHeapSizeFlags.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8006088 * @summary Tests argument processing for initial and maximum heap size for the Serial collector * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestSerialHeapSizeFlags TestMaxHeapSizeTools * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/arguments/TestSurvivorAlignmentInBytesOption.java --- a/hotspot/test/gc/arguments/TestSurvivorAlignmentInBytesOption.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/arguments/TestSurvivorAlignmentInBytesOption.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -34,6 +34,8 @@ * & vm.opt.UnlockExperimentalVMOptions == null * & (vm.opt.IgnoreUnrecognizedVMOptions == null * | vm.opt.IgnoreUnrecognizedVMOptions == "false") + * @modules java.base/sun.misc + * java.management * @run main TestSurvivorAlignmentInBytesOption */ public class TestSurvivorAlignmentInBytesOption { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/arguments/TestUnrecognizedVMOptionsHandling.java --- a/hotspot/test/gc/arguments/TestUnrecognizedVMOptionsHandling.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/arguments/TestUnrecognizedVMOptionsHandling.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8017611 * @summary Tests handling unrecognized VM options * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm TestUnrecognizedVMOptionsHandling */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/arguments/TestUseCompressedOopsErgo.java --- a/hotspot/test/gc/arguments/TestUseCompressedOopsErgo.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/arguments/TestUseCompressedOopsErgo.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2013, 2014 Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8010722 * @summary Tests ergonomics for UseCompressedOops. * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management/sun.management * @build TestUseCompressedOopsErgo TestUseCompressedOopsErgoTools * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/arguments/TestUseNUMAInterleaving.java --- a/hotspot/test/gc/arguments/TestUseNUMAInterleaving.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/arguments/TestUseNUMAInterleaving.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @bug 8059614 * @key gc * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run driver TestUseNUMAInterleaving */ import com.oracle.java.testlibrary.ProcessTools; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/class_unloading/TestCMSClassUnloadingEnabledHWM.java --- a/hotspot/test/gc/class_unloading/TestCMSClassUnloadingEnabledHWM.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/class_unloading/TestCMSClassUnloadingEnabledHWM.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @key gc * @bug 8049831 * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestCMSClassUnloadingEnabledHWM * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/class_unloading/TestG1ClassUnloadingHWM.java --- a/hotspot/test/gc/class_unloading/TestG1ClassUnloadingHWM.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/class_unloading/TestG1ClassUnloadingHWM.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @key gc * @bug 8049831 * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestG1ClassUnloadingHWM * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/concurrentMarkSweep/GuardShrinkWarning.java --- a/hotspot/test/gc/concurrentMarkSweep/GuardShrinkWarning.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/concurrentMarkSweep/GuardShrinkWarning.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -28,6 +28,8 @@ * @key gc * @key regression * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm GuardShrinkWarning * @author jon.masamitsu@oracle.com */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/defnew/HeapChangeLogging.java --- a/hotspot/test/gc/defnew/HeapChangeLogging.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/defnew/HeapChangeLogging.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,8 @@ * @test HeapChangeLogging.java * @bug 8027440 * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @build HeapChangeLogging * @summary Allocate to get a promotion failure and verify that that heap change logging is present. * @run main HeapChangeLogging diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/Test2GbHeap.java --- a/hotspot/test/gc/g1/Test2GbHeap.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/Test2GbHeap.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @key gc * @key regression * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import java.util.ArrayList; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestEagerReclaimHumongousRegions.java --- a/hotspot/test/gc/g1/TestEagerReclaimHumongousRegions.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestEagerReclaimHumongousRegions.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * up the heap with humongous objects that should be eagerly reclaimable to avoid Full GC. * @key gc * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import java.util.regex.Pattern; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestEagerReclaimHumongousRegionsClearMarkBits.java --- a/hotspot/test/gc/g1/TestEagerReclaimHumongousRegionsClearMarkBits.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestEagerReclaimHumongousRegionsClearMarkBits.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * mark bitmaps at reclaim. * @key gc * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import java.util.ArrayList; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestEagerReclaimHumongousRegionsWithRefs.java --- a/hotspot/test/gc/g1/TestEagerReclaimHumongousRegionsWithRefs.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestEagerReclaimHumongousRegionsWithRefs.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -31,6 +31,8 @@ * should still be eagerly reclaimable to avoid Full GC. * @key gc * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import java.util.regex.Pattern; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestG1TraceEagerReclaimHumongousObjects.java --- a/hotspot/test/gc/g1/TestG1TraceEagerReclaimHumongousObjects.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestG1TraceEagerReclaimHumongousObjects.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * includes the expected necessary messages. * @key gc * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.ProcessTools; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestGCLogMessages.java --- a/hotspot/test/gc/g1/TestGCLogMessages.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestGCLogMessages.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -23,142 +23,172 @@ /* * @test TestGCLogMessages - * @bug 8035406 8027295 8035398 8019342 8027959 8048179 + * @bug 8035406 8027295 8035398 8019342 8027959 8048179 8027962 * @summary Ensure that the PrintGCDetails output for a minor GC with G1 * includes the expected necessary messages. * @key gc * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.ProcessTools; import com.oracle.java.testlibrary.OutputAnalyzer; public class TestGCLogMessages { - public static void main(String[] args) throws Exception { - testNormalLogs(); - testWithToSpaceExhaustionLogs(); - } - private static void testNormalLogs() throws Exception { - - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC", - "-Xmx10M", - GCTest.class.getName()); + private enum Level { + OFF, FINER, FINEST; + public boolean lessOrEqualTo(Level other) { + return this.compareTo(other) < 0; + } + } - OutputAnalyzer output = new OutputAnalyzer(pb.start()); + private class LogMessageWithLevel { + String message; + Level level; - output.shouldNotContain("[Redirty Cards"); - output.shouldNotContain("[Parallel Redirty"); - output.shouldNotContain("[Redirtied Cards"); - output.shouldNotContain("[Code Root Purge"); - output.shouldNotContain("[String Dedup Fixup"); - output.shouldNotContain("[Young Free CSet"); - output.shouldNotContain("[Non-Young Free CSet"); - output.shouldNotContain("[Humongous Register"); - output.shouldNotContain("[Humongous Reclaim"); - output.shouldHaveExitValue(0); + public LogMessageWithLevel(String message, Level level) { + this.message = message; + this.level = level; + } + }; - pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC", - "-XX:+UseStringDeduplication", - "-Xmx10M", - "-XX:+PrintGCDetails", - GCTest.class.getName()); - - output = new OutputAnalyzer(pb.start()); + private LogMessageWithLevel allLogMessages[] = new LogMessageWithLevel[] { + // Ext Root Scan + new LogMessageWithLevel("Thread Roots (ms)", Level.FINEST), + new LogMessageWithLevel("StringTable Roots (ms)", Level.FINEST), + new LogMessageWithLevel("Universe Roots (ms)", Level.FINEST), + new LogMessageWithLevel("JNI Handles Roots (ms)", Level.FINEST), + new LogMessageWithLevel("ObjectSynchronizer Roots (ms)", Level.FINEST), + new LogMessageWithLevel("FlatProfiler Roots", Level.FINEST), + new LogMessageWithLevel("Management Roots", Level.FINEST), + new LogMessageWithLevel("SystemDictionary Roots", Level.FINEST), + new LogMessageWithLevel("CLDG Roots", Level.FINEST), + new LogMessageWithLevel("JVMTI Roots", Level.FINEST), + new LogMessageWithLevel("CodeCache Roots", Level.FINEST), + new LogMessageWithLevel("SATB Filtering", Level.FINEST), + new LogMessageWithLevel("CM RefProcessor Roots", Level.FINEST), + new LogMessageWithLevel("Wait For Strong CLD", Level.FINEST), + new LogMessageWithLevel("Weak CLD Roots", Level.FINEST), + // Redirty Cards + new LogMessageWithLevel("Redirty Cards", Level.FINER), + new LogMessageWithLevel("Parallel Redirty", Level.FINEST), + new LogMessageWithLevel("Redirtied Cards", Level.FINEST), + // Misc Top-level + new LogMessageWithLevel("Code Root Purge", Level.FINER), + new LogMessageWithLevel("String Dedup Fixup", Level.FINER), + // Free CSet + new LogMessageWithLevel("Young Free CSet", Level.FINEST), + new LogMessageWithLevel("Non-Young Free CSet", Level.FINEST), + // Humongous Eager Reclaim + new LogMessageWithLevel("Humongous Reclaim", Level.FINER), + new LogMessageWithLevel("Humongous Register", Level.FINER), + }; - output.shouldContain("[Redirty Cards"); - output.shouldNotContain("[Parallel Redirty"); - output.shouldNotContain("[Redirtied Cards"); - output.shouldContain("[Code Root Purge"); - output.shouldContain("[String Dedup Fixup"); - output.shouldNotContain("[Young Free CSet"); - output.shouldNotContain("[Non-Young Free CSet"); - output.shouldContain("[Humongous Register"); - output.shouldNotContain("[Humongous Total"); - output.shouldNotContain("[Humongous Candidate"); - output.shouldContain("[Humongous Reclaim"); - output.shouldNotContain("[Humongous Reclaimed"); - output.shouldHaveExitValue(0); + void checkMessagesAtLevel(OutputAnalyzer output, LogMessageWithLevel messages[], Level level) throws Exception { + for (LogMessageWithLevel l : messages) { + if (level.lessOrEqualTo(l.level)) { + output.shouldNotContain(l.message); + } else { + output.shouldContain(l.message); + } + } + } - pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC", - "-XX:+UseStringDeduplication", - "-Xmx10M", - "-XX:+PrintGCDetails", - "-XX:+UnlockExperimentalVMOptions", - "-XX:G1LogLevel=finest", - GCTest.class.getName()); + public static void main(String[] args) throws Exception { + new TestGCLogMessages().testNormalLogs(); + new TestGCLogMessages().testWithToSpaceExhaustionLogs(); + } + + private void testNormalLogs() throws Exception { - output = new OutputAnalyzer(pb.start()); + ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC", + "-Xmx10M", + GCTest.class.getName()); + + OutputAnalyzer output = new OutputAnalyzer(pb.start()); + checkMessagesAtLevel(output, allLogMessages, Level.OFF); + output.shouldHaveExitValue(0); - output.shouldContain("[Redirty Cards"); - output.shouldContain("[Parallel Redirty"); - output.shouldContain("[Redirtied Cards"); - output.shouldContain("[Code Root Purge"); - output.shouldContain("[String Dedup Fixup"); - output.shouldContain("[Young Free CSet"); - output.shouldContain("[Non-Young Free CSet"); - output.shouldContain("[Humongous Register"); - output.shouldContain("[Humongous Total"); - output.shouldContain("[Humongous Candidate"); - output.shouldContain("[Humongous Reclaim"); - output.shouldContain("[Humongous Reclaimed"); - output.shouldHaveExitValue(0); - } + pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC", + "-XX:+UseStringDeduplication", + "-Xmx10M", + "-XX:+PrintGCDetails", + GCTest.class.getName()); + + output = new OutputAnalyzer(pb.start()); + checkMessagesAtLevel(output, allLogMessages, Level.FINER); + + pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC", + "-XX:+UseStringDeduplication", + "-Xmx10M", + "-XX:+PrintGCDetails", + "-XX:+UnlockExperimentalVMOptions", + "-XX:G1LogLevel=finest", + GCTest.class.getName()); - private static void testWithToSpaceExhaustionLogs() throws Exception { - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC", - "-Xmx32M", - "-Xmn16M", - "-XX:+PrintGCDetails", - GCTestWithToSpaceExhaustion.class.getName()); + output = new OutputAnalyzer(pb.start()); + checkMessagesAtLevel(output, allLogMessages, Level.FINEST); + output.shouldHaveExitValue(0); + } - OutputAnalyzer output = new OutputAnalyzer(pb.start()); - output.shouldContain("[Evacuation Failure"); - output.shouldNotContain("[Recalculate Used"); - output.shouldNotContain("[Remove Self Forwards"); - output.shouldNotContain("[Restore RemSet"); - output.shouldHaveExitValue(0); + LogMessageWithLevel exhFailureMessages[] = new LogMessageWithLevel[] { + new LogMessageWithLevel("Evacuation Failure", Level.FINER), + new LogMessageWithLevel("Recalculate Used", Level.FINEST), + new LogMessageWithLevel("Remove Self Forwards", Level.FINEST), + new LogMessageWithLevel("Restore RemSet", Level.FINEST), + }; + + private void testWithToSpaceExhaustionLogs() throws Exception { + ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC", + "-Xmx32M", + "-Xmn16M", + "-XX:+PrintGCDetails", + GCTestWithToSpaceExhaustion.class.getName()); + + OutputAnalyzer output = new OutputAnalyzer(pb.start()); + checkMessagesAtLevel(output, exhFailureMessages, Level.FINER); + output.shouldHaveExitValue(0); - pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC", - "-Xmx32M", - "-Xmn16M", - "-XX:+PrintGCDetails", - "-XX:+UnlockExperimentalVMOptions", - "-XX:G1LogLevel=finest", - GCTestWithToSpaceExhaustion.class.getName()); + pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC", + "-Xmx32M", + "-Xmn16M", + "-XX:+PrintGCDetails", + "-XX:+UnlockExperimentalVMOptions", + "-XX:G1LogLevel=finest", + GCTestWithToSpaceExhaustion.class.getName()); - output = new OutputAnalyzer(pb.start()); - output.shouldContain("[Evacuation Failure"); - output.shouldContain("[Recalculate Used"); - output.shouldContain("[Remove Self Forwards"); - output.shouldContain("[Restore RemSet"); - output.shouldHaveExitValue(0); - } + output = new OutputAnalyzer(pb.start()); + checkMessagesAtLevel(output, exhFailureMessages, Level.FINEST); + output.shouldHaveExitValue(0); + } - static class GCTest { - private static byte[] garbage; - public static void main(String [] args) { - System.out.println("Creating garbage"); - // create 128MB of garbage. This should result in at least one GC - for (int i = 0; i < 1024; i++) { - garbage = new byte[128 * 1024]; - } - System.out.println("Done"); + static class GCTest { + private static byte[] garbage; + public static void main(String [] args) { + System.out.println("Creating garbage"); + // create 128MB of garbage. This should result in at least one GC + for (int i = 0; i < 1024; i++) { + garbage = new byte[128 * 1024]; + } + System.out.println("Done"); + } } - } - static class GCTestWithToSpaceExhaustion { - private static byte[] garbage; - private static byte[] largeObject; - public static void main(String [] args) { - largeObject = new byte[16*1024*1024]; - System.out.println("Creating garbage"); - // create 128MB of garbage. This should result in at least one GC, - // some of them with to-space exhaustion. - for (int i = 0; i < 1024; i++) { - garbage = new byte[128 * 1024]; - } - System.out.println("Done"); + static class GCTestWithToSpaceExhaustion { + private static byte[] garbage; + private static byte[] largeObject; + public static void main(String [] args) { + largeObject = new byte[16*1024*1024]; + System.out.println("Creating garbage"); + // create 128MB of garbage. This should result in at least one GC, + // some of them with to-space exhaustion. + for (int i = 0; i < 1024; i++) { + garbage = new byte[128 * 1024]; + } + System.out.println("Done"); + } } - } } + diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestHumongousAllocInitialMark.java --- a/hotspot/test/gc/g1/TestHumongousAllocInitialMark.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestHumongousAllocInitialMark.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 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 @@ -26,6 +26,8 @@ * @bug 7168848 * @summary G1: humongous object allocations should initiate marking cycles when necessary * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestHumongousCodeCacheRoots.java --- a/hotspot/test/gc/g1/TestHumongousCodeCacheRoots.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestHumongousCodeCacheRoots.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @key gc * @bug 8027756 * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestHumongousCodeCacheRoots * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestHumongousShrinkHeap.java --- a/hotspot/test/gc/g1/TestHumongousShrinkHeap.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestHumongousShrinkHeap.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,7 @@ * @summary Verify that heap shrinks after GC in the presence of fragmentation * due to humongous objects * @library /testlibrary + * @modules java.management/sun.management * @run main/othervm -XX:-ExplicitGCInvokesConcurrent -XX:MinHeapFreeRatio=10 * -XX:MaxHeapFreeRatio=12 -XX:+UseG1GC -XX:G1HeapRegionSize=1M -verbose:gc * TestHumongousShrinkHeap diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestPrintGCDetails.java --- a/hotspot/test/gc/g1/TestPrintGCDetails.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestPrintGCDetails.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -28,6 +28,8 @@ * @key gc * @key regression * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.ProcessTools; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestPrintRegionRememberedSetInfo.java --- a/hotspot/test/gc/g1/TestPrintRegionRememberedSetInfo.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestPrintRegionRememberedSetInfo.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8014240 * @summary Test output of G1PrintRegionRememberedSetInfo * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main TestPrintRegionRememberedSetInfo * @author thomas.schatzl@oracle.com */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestShrinkAuxiliaryData.java --- a/hotspot/test/gc/g1/TestShrinkAuxiliaryData.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestShrinkAuxiliaryData.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -21,7 +21,7 @@ * questions. */ -import static com.oracle.java.testlibrary.Asserts.assertLessThanOrEqual; +import com.oracle.java.testlibrary.Asserts; import com.oracle.java.testlibrary.OutputAnalyzer; import com.oracle.java.testlibrary.Platform; import com.oracle.java.testlibrary.ProcessTools; @@ -36,23 +36,29 @@ import java.util.Collections; import java.util.LinkedList; import java.util.List; -import sun.misc.Unsafe; +import sun.misc.Unsafe; // for ADDRESS_SIZE +import sun.hotspot.WhiteBox; public class TestShrinkAuxiliaryData { + private static final int REGION_SIZE = 1024 * 1024; + private final static String[] initialOpts = new String[]{ "-XX:MinHeapFreeRatio=10", "-XX:MaxHeapFreeRatio=11", "-XX:+UseG1GC", - "-XX:G1HeapRegionSize=1m", + "-XX:G1HeapRegionSize=" + REGION_SIZE, "-XX:-ExplicitGCInvokesConcurrent", - "-XX:+PrintGCDetails" + "-XX:+PrintGCDetails", + "-XX:+UnlockDiagnosticVMOptions", + "-XX:+WhiteBoxAPI", + "-Xbootclasspath/a:.", }; - private final int RSetCacheSize; + private final int hotCardTableSize; - protected TestShrinkAuxiliaryData(int RSetCacheSize) { - this.RSetCacheSize = RSetCacheSize; + protected TestShrinkAuxiliaryData(int hotCardTableSize) { + this.hotCardTableSize = hotCardTableSize; } protected void test() throws Exception { @@ -60,16 +66,16 @@ Collections.addAll(vmOpts, initialOpts); int maxCacheSize = Math.max(0, Math.min(31, getMaxCacheSize())); - if (maxCacheSize < RSetCacheSize) { + if (maxCacheSize < hotCardTableSize) { System.out.format("Skiping test for %d cache size due max cache size %d", - RSetCacheSize, maxCacheSize + hotCardTableSize, maxCacheSize ); return; } printTestInfo(maxCacheSize); - vmOpts.add("-XX:G1ConcRSLogCacheSize=" + RSetCacheSize); + vmOpts.add("-XX:G1ConcRSLogCacheSize=" + hotCardTableSize); vmOpts.addAll(Arrays.asList(Utils.getTestJavaOpts())); // for 32 bits ObjectAlignmentInBytes is not a option @@ -92,11 +98,13 @@ private void performTest(List opts) throws Exception { ProcessBuilder pb - = ProcessTools.createJavaProcessBuilder( - opts.toArray(new String[opts.size()]) - ); + = ProcessTools.createJavaProcessBuilder( + opts.toArray(new String[opts.size()]) + ); OutputAnalyzer output = new OutputAnalyzer(pb.start()); + System.out.println(output.getStdout()); + System.err.println(output.getStderr()); output.shouldHaveExitValue(0); } @@ -107,12 +115,13 @@ formatSymbols.setGroupingSeparator(' '); grouped.setDecimalFormatSymbols(formatSymbols); - System.out.format("Test will use %s bytes of memory of %s available%n" + System.out.format( + "Test will use %s bytes of memory of %s available%n" + "Available memory is %s with %d bytes pointer size - can save %s pointers%n" + "Max cache size: 2^%d = %s elements%n", grouped.format(ShrinkAuxiliaryDataTest.getMemoryUsedByTest()), - grouped.format(Runtime.getRuntime().freeMemory()), - grouped.format(Runtime.getRuntime().freeMemory() + grouped.format(Runtime.getRuntime().maxMemory()), + grouped.format(Runtime.getRuntime().maxMemory() - ShrinkAuxiliaryDataTest.getMemoryUsedByTest()), Unsafe.ADDRESS_SIZE, grouped.format((Runtime.getRuntime().freeMemory() @@ -135,6 +144,7 @@ if (availableMemory <= 0) { return 0; } + long availablePointersCount = availableMemory / Unsafe.ADDRESS_SIZE; return (63 - (int) Long.numberOfLeadingZeros(availablePointersCount)); } @@ -142,17 +152,48 @@ static class ShrinkAuxiliaryDataTest { public static void main(String[] args) throws IOException { - int iterateCount = DEFAULT_ITERATION_COUNT; + + ShrinkAuxiliaryDataTest testCase = new ShrinkAuxiliaryDataTest(); - if (args.length > 0) { - try { - iterateCount = Integer.parseInt(args[0]); - } catch (NumberFormatException e) { - //num_iterate remains default - } + if (!testCase.checkEnvApplicability()) { + return; } - new ShrinkAuxiliaryDataTest().test(iterateCount); + testCase.test(); + } + + /** + * Checks is this environment suitable to run this test + * - memory is enough to decommit (page size is not big) + * - RSet cache size is not too big + * + * @return true if test could run, false if test should be skipped + */ + protected boolean checkEnvApplicability() { + + int pageSize = WhiteBox.getWhiteBox().getVMPageSize(); + System.out.println( "Page size = " + pageSize + + " region size = " + REGION_SIZE + + " aux data ~= " + (REGION_SIZE * 3 / 100)); + // If auxdata size will be less than page size it wouldn't decommit. + // Auxiliary data size is about ~3.6% of heap size. + if (pageSize >= REGION_SIZE * 3 / 100) { + System.out.format("Skipping test for too large page size = %d", + pageSize + ); + return false; + } + + if (REGION_SIZE * REGIONS_TO_ALLOCATE > Runtime.getRuntime().maxMemory()) { + System.out.format("Skipping test for too low available memory. " + + "Need %d, available %d", + REGION_SIZE * REGIONS_TO_ALLOCATE, + Runtime.getRuntime().maxMemory() + ); + return false; + } + + return true; } class GarbageObject { @@ -177,41 +218,54 @@ private final List garbage = new ArrayList(); - public void test(int num_iterate) throws IOException { + public void test() throws IOException { + + MemoryUsage muFull, muFree, muAuxDataFull, muAuxDataFree; + float auxFull, auxFree; allocate(); link(); mutate(); - deallocate(); + + muFull = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage(); + long numUsedRegions = WhiteBox.getWhiteBox().g1NumMaxRegions() + - WhiteBox.getWhiteBox().g1NumFreeRegions(); + muAuxDataFull = WhiteBox.getWhiteBox().g1AuxiliaryMemoryUsage(); + auxFull = (float)muAuxDataFull.getUsed() / numUsedRegions; - MemoryUsage muBeforeHeap - = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage(); - MemoryUsage muBeforeNonHeap - = ManagementFactory.getMemoryMXBean().getNonHeapMemoryUsage(); + System.out.format("Full aux data ratio= %f, regions max= %d, used= %d\n", + auxFull, WhiteBox.getWhiteBox().g1NumMaxRegions(), numUsedRegions + ); + + deallocate(); + System.gc(); - for (int i = 0; i < num_iterate; i++) { - allocate(); - link(); - mutate(); - deallocate(); - } + muFree = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage(); + muAuxDataFree = WhiteBox.getWhiteBox().g1AuxiliaryMemoryUsage(); + + numUsedRegions = WhiteBox.getWhiteBox().g1NumMaxRegions() + - WhiteBox.getWhiteBox().g1NumFreeRegions(); + auxFree = (float)muAuxDataFree.getUsed() / numUsedRegions; - System.gc(); - MemoryUsage muAfterHeap - = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage(); - MemoryUsage muAfterNonHeap - = ManagementFactory.getMemoryMXBean().getNonHeapMemoryUsage(); + System.out.format("Free aux data ratio= %f, regions max= %d, used= %d\n", + auxFree, WhiteBox.getWhiteBox().g1NumMaxRegions(), numUsedRegions + ); - assertLessThanOrEqual(muAfterHeap.getCommitted(), muBeforeHeap.getCommitted(), - String.format("heap decommit failed - after > before: %d > %d", - muAfterHeap.getCommitted(), muBeforeHeap.getCommitted() + Asserts.assertLessThanOrEqual(muFree.getCommitted(), muFull.getCommitted(), + String.format("heap decommit failed - full > free: %d > %d", + muFree.getCommitted(), muFull.getCommitted() ) ); - if (muAfterHeap.getCommitted() < muBeforeHeap.getCommitted()) { - assertLessThanOrEqual(muAfterNonHeap.getCommitted(), muBeforeNonHeap.getCommitted(), - String.format("non-heap decommit failed - after > before: %d > %d", - muAfterNonHeap.getCommitted(), muBeforeNonHeap.getCommitted() + System.out.format("State used committed\n"); + System.out.format("Full aux data: %10d %10d\n", muAuxDataFull.getUsed(), muAuxDataFull.getCommitted()); + System.out.format("Free aux data: %10d %10d\n", muAuxDataFree.getUsed(), muAuxDataFree.getCommitted()); + + // if decommited check that aux data has same ratio + if (muFree.getCommitted() < muFull.getCommitted()) { + Asserts.assertLessThanOrEqual(auxFree, auxFull, + String.format("auxiliary data decommit failed - full > free: %f > %f", + auxFree, auxFull ) ); } @@ -238,8 +292,7 @@ for (int i = 0; i < NUM_LINKS; i++) { int regionToLink; do { - regionToLink = (int) (Math.random() - * REGIONS_TO_ALLOCATE); + regionToLink = (int) (Math.random() * REGIONS_TO_ALLOCATE); } while (regionToLink == regionNumber); // get random garbage object from random region @@ -265,11 +318,8 @@ return REGIONS_TO_ALLOCATE * REGION_SIZE; } - private static final int REGION_SIZE = 1024 * 1024; - private static final int DEFAULT_ITERATION_COUNT = 1; // iterate main scenario - private static final int REGIONS_TO_ALLOCATE = 5; + private static final int REGIONS_TO_ALLOCATE = 100; private static final int NUM_OBJECTS_PER_REGION = 10; private static final int NUM_LINKS = 20; // how many links create for each object - } } diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestShrinkAuxiliaryData00.java --- a/hotspot/test/gc/g1/TestShrinkAuxiliaryData00.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestShrinkAuxiliaryData00.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -23,11 +23,17 @@ /** * @test TestShrinkAuxiliaryData00 - * @bug 8038423 + * @bug 8038423 8061715 * @summary Checks that decommitment occurs for JVM with different * G1ConcRSLogCacheSize and ObjectAlignmentInBytes options values + * @requires vm.gc=="G1" | vm.gc=="null" * @library /testlibrary /../../test/lib - * @build TestShrinkAuxiliaryData TestShrinkAuxiliaryData00 + * @modules java.base/sun.misc + * java.management + * @build com.oracle.java.testlibrary.* sun.hotspot.WhiteBox + * TestShrinkAuxiliaryData TestShrinkAuxiliaryData00 + * @run main ClassFileInstaller sun.hotspot.WhiteBox + * sun.hotspot.WhiteBox$WhiteBoxPermission * @run driver/timeout=720 TestShrinkAuxiliaryData00 */ public class TestShrinkAuxiliaryData00 { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestShrinkAuxiliaryData05.java --- a/hotspot/test/gc/g1/TestShrinkAuxiliaryData05.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestShrinkAuxiliaryData05.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -23,12 +23,17 @@ /** * @test TestShrinkAuxiliaryData05 - * @bug 8038423 + * @bug 8038423 8061715 * @summary Checks that decommitment occurs for JVM with different * G1ConcRSLogCacheSize and ObjectAlignmentInBytes options values * @requires vm.gc=="G1" | vm.gc=="null" * @library /testlibrary /../../test/lib - * @build TestShrinkAuxiliaryData TestShrinkAuxiliaryData05 + * @modules java.base/sun.misc + * java.management + * @build com.oracle.java.testlibrary.* sun.hotspot.WhiteBox + * TestShrinkAuxiliaryData TestShrinkAuxiliaryData05 + * @run main ClassFileInstaller sun.hotspot.WhiteBox + * sun.hotspot.WhiteBox$WhiteBoxPermission * @run driver/timeout=720 TestShrinkAuxiliaryData05 */ public class TestShrinkAuxiliaryData05 { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestShrinkAuxiliaryData10.java --- a/hotspot/test/gc/g1/TestShrinkAuxiliaryData10.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestShrinkAuxiliaryData10.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -23,12 +23,17 @@ /** * @test TestShrinkAuxiliaryData10 - * @bug 8038423 + * @bug 8038423 8061715 * @summary Checks that decommitment occurs for JVM with different * G1ConcRSLogCacheSize and ObjectAlignmentInBytes options values * @requires vm.gc=="G1" | vm.gc=="null" * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management + * @build com.oracle.java.testlibrary.* sun.hotspot.WhiteBox * @build TestShrinkAuxiliaryData TestShrinkAuxiliaryData10 + * @run main ClassFileInstaller sun.hotspot.WhiteBox + * sun.hotspot.WhiteBox$WhiteBoxPermission * @run driver/timeout=720 TestShrinkAuxiliaryData10 */ public class TestShrinkAuxiliaryData10 { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestShrinkAuxiliaryData15.java --- a/hotspot/test/gc/g1/TestShrinkAuxiliaryData15.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestShrinkAuxiliaryData15.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -23,12 +23,17 @@ /** * @test TestShrinkAuxiliaryData15 - * @bug 8038423 + * @bug 8038423 8061715 * @summary Checks that decommitment occurs for JVM with different * G1ConcRSLogCacheSize and ObjectAlignmentInBytes options values * @requires vm.gc=="G1" | vm.gc=="null" * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management + * @build com.oracle.java.testlibrary.* sun.hotspot.WhiteBox * @build TestShrinkAuxiliaryData TestShrinkAuxiliaryData15 + * @run main ClassFileInstaller sun.hotspot.WhiteBox + * sun.hotspot.WhiteBox$WhiteBoxPermission * @run driver/timeout=720 TestShrinkAuxiliaryData15 */ public class TestShrinkAuxiliaryData15 { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestShrinkAuxiliaryData20.java --- a/hotspot/test/gc/g1/TestShrinkAuxiliaryData20.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestShrinkAuxiliaryData20.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -23,12 +23,17 @@ /** * @test TestShrinkAuxiliaryData20 - * @bug 8038423 + * @bug 8038423 8061715 * @summary Checks that decommitment occurs for JVM with different * G1ConcRSLogCacheSize and ObjectAlignmentInBytes options values * @requires vm.gc=="G1" | vm.gc=="null" * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management + * @build com.oracle.java.testlibrary.* sun.hotspot.WhiteBox * @build TestShrinkAuxiliaryData TestShrinkAuxiliaryData20 + * @run main ClassFileInstaller sun.hotspot.WhiteBox + * sun.hotspot.WhiteBox$WhiteBoxPermission * @run driver/timeout=720 TestShrinkAuxiliaryData20 */ public class TestShrinkAuxiliaryData20 { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestShrinkAuxiliaryData25.java --- a/hotspot/test/gc/g1/TestShrinkAuxiliaryData25.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestShrinkAuxiliaryData25.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -23,12 +23,17 @@ /** * @test TestShrinkAuxiliaryData25 - * @bug 8038423 + * @bug 8038423 8061715 * @summary Checks that decommitment occurs for JVM with different * G1ConcRSLogCacheSize and ObjectAlignmentInBytes options values * @requires vm.gc=="G1" | vm.gc=="null" * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management + * @build com.oracle.java.testlibrary.* sun.hotspot.WhiteBox * @build TestShrinkAuxiliaryData TestShrinkAuxiliaryData25 + * @run main ClassFileInstaller sun.hotspot.WhiteBox + * sun.hotspot.WhiteBox$WhiteBoxPermission * @run driver/timeout=720 TestShrinkAuxiliaryData25 */ public class TestShrinkAuxiliaryData25 { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestShrinkAuxiliaryData30.java --- a/hotspot/test/gc/g1/TestShrinkAuxiliaryData30.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestShrinkAuxiliaryData30.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -23,12 +23,17 @@ /** * @test TestShrinkAuxiliaryData30 - * @bug 8038423 + * @bug 8038423 8061715 * @summary Checks that decommitment occurs for JVM with different * G1ConcRSLogCacheSize and ObjectAlignmentInBytes options values * @requires vm.gc=="G1" | vm.gc=="null" * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management + * @build com.oracle.java.testlibrary.* sun.hotspot.WhiteBox * @build TestShrinkAuxiliaryData TestShrinkAuxiliaryData30 + * @run main ClassFileInstaller sun.hotspot.WhiteBox + * sun.hotspot.WhiteBox$WhiteBoxPermission * @run driver/timeout=720 TestShrinkAuxiliaryData30 */ public class TestShrinkAuxiliaryData30 { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestShrinkDefragmentedHeap.java --- a/hotspot/test/gc/g1/TestShrinkDefragmentedHeap.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestShrinkDefragmentedHeap.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -32,6 +32,8 @@ * 3. invoke gc and check that memory returned to the system (amount of committed memory got down) * * @library /testlibrary + * @modules java.base/sun.misc + * java.management/sun.management */ import java.lang.management.ManagementFactory; import java.lang.management.MemoryUsage; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestStringDeduplicationAgeThreshold.java --- a/hotspot/test/gc/g1/TestStringDeduplicationAgeThreshold.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestStringDeduplicationAgeThreshold.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @bug 8029075 * @key gc * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ public class TestStringDeduplicationAgeThreshold { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestStringDeduplicationFullGC.java --- a/hotspot/test/gc/g1/TestStringDeduplicationFullGC.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestStringDeduplicationFullGC.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @bug 8029075 * @key gc * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ public class TestStringDeduplicationFullGC { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestStringDeduplicationInterned.java --- a/hotspot/test/gc/g1/TestStringDeduplicationInterned.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestStringDeduplicationInterned.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @bug 8029075 * @key gc * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ public class TestStringDeduplicationInterned { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestStringDeduplicationPrintOptions.java --- a/hotspot/test/gc/g1/TestStringDeduplicationPrintOptions.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestStringDeduplicationPrintOptions.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @bug 8029075 * @key gc * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ public class TestStringDeduplicationPrintOptions { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestStringDeduplicationTableRehash.java --- a/hotspot/test/gc/g1/TestStringDeduplicationTableRehash.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestStringDeduplicationTableRehash.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @bug 8029075 * @key gc * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ public class TestStringDeduplicationTableRehash { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestStringDeduplicationTableResize.java --- a/hotspot/test/gc/g1/TestStringDeduplicationTableResize.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestStringDeduplicationTableResize.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @bug 8029075 * @key gc * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ public class TestStringDeduplicationTableResize { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestStringDeduplicationYoungGC.java --- a/hotspot/test/gc/g1/TestStringDeduplicationYoungGC.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestStringDeduplicationYoungGC.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @bug 8029075 * @key gc * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ public class TestStringDeduplicationYoungGC { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestStringSymbolTableStats.java --- a/hotspot/test/gc/g1/TestStringSymbolTableStats.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestStringSymbolTableStats.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @summary Ensure that the G1TraceStringSymbolTableScrubbing prints the expected message. * @key gc * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.ProcessTools; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestSummarizeRSetStats.java --- a/hotspot/test/gc/g1/TestSummarizeRSetStats.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestSummarizeRSetStats.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,8 @@ * @test TestSummarizeRSetStats.java * @bug 8013895 * @library /testlibrary + * @modules java.base/sun.misc + * java.management/sun.management * @build TestSummarizeRSetStatsTools TestSummarizeRSetStats * @summary Verify output of -XX:+G1SummarizeRSetStats * @run main TestSummarizeRSetStats diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestSummarizeRSetStatsPerRegion.java --- a/hotspot/test/gc/g1/TestSummarizeRSetStatsPerRegion.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestSummarizeRSetStatsPerRegion.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,8 @@ * @test TestSummarizeRSetStatsPerRegion.java * @bug 8014078 * @library /testlibrary + * @modules java.base/sun.misc + * java.management/sun.management * @build TestSummarizeRSetStatsTools TestSummarizeRSetStatsPerRegion * @summary Verify output of -XX:+G1SummarizeRSetStats in regards to per-region type output * @run main TestSummarizeRSetStatsPerRegion diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/g1/TestSummarizeRSetStatsThreads.java --- a/hotspot/test/gc/g1/TestSummarizeRSetStatsThreads.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/g1/TestSummarizeRSetStatsThreads.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -28,6 +28,8 @@ * refinement threads do not crash the VM. * @key gc * @library /testlibrary + * @modules java.base/sun.misc + * java.management/sun.management */ import java.util.regex.Matcher; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/logging/TestGCId.java --- a/hotspot/test/gc/logging/TestGCId.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/logging/TestGCId.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @summary Ensure that the GCId is logged * @key gc * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.ProcessTools; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java --- a/hotspot/test/gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java Fri Apr 03 16:34:51 2015 -0700 @@ -26,6 +26,8 @@ * @bug 8004924 * @summary Checks that jmap -heap contains the flag CompressedClassSpaceSize * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:CompressedClassSpaceSize=50m CompressedClassSpaceSizeInJmapHeap */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/metaspace/TestCapacityUntilGCWrapAround.java --- a/hotspot/test/gc/metaspace/TestCapacityUntilGCWrapAround.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/metaspace/TestCapacityUntilGCWrapAround.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @key gc * @bug 8049831 * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestCapacityUntilGCWrapAround * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/metaspace/TestMetaspaceMemoryPool.java --- a/hotspot/test/gc/metaspace/TestMetaspaceMemoryPool.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/metaspace/TestMetaspaceMemoryPool.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -31,6 +31,8 @@ * @summary Tests that a MemoryPoolMXBeans is created for metaspace and that a * MemoryManagerMXBean is created. * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseCompressedOops TestMetaspaceMemoryPool * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseCompressedOops -XX:MaxMetaspaceSize=60m TestMetaspaceMemoryPool * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UseCompressedOops -XX:+UseCompressedClassPointers TestMetaspaceMemoryPool diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/metaspace/TestMetaspacePerfCounters.java --- a/hotspot/test/gc/metaspace/TestMetaspacePerfCounters.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/metaspace/TestMetaspacePerfCounters.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -33,7 +33,10 @@ * @library /testlibrary * @summary Tests that performance counters for metaspace and compressed class * space exists and works. - * + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseCompressedOops -XX:-UseCompressedClassPointers -XX:+UsePerfData -XX:+UseSerialGC TestMetaspacePerfCounters * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseCompressedOops -XX:-UseCompressedClassPointers -XX:+UsePerfData -XX:+UseParallelGC -XX:+UseParallelOldGC TestMetaspacePerfCounters * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseCompressedOops -XX:-UseCompressedClassPointers -XX:+UsePerfData -XX:+UseG1GC TestMetaspacePerfCounters diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/metaspace/TestMetaspaceSizeFlags.java --- a/hotspot/test/gc/metaspace/TestMetaspaceSizeFlags.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/metaspace/TestMetaspaceSizeFlags.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -31,6 +31,8 @@ * @bug 8024650 * @summary Test that metaspace size flags can be set correctly * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ public class TestMetaspaceSizeFlags { public static final long K = 1024L; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/metaspace/TestPerfCountersAndMemoryPools.java --- a/hotspot/test/gc/metaspace/TestPerfCountersAndMemoryPools.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/metaspace/TestPerfCountersAndMemoryPools.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -33,6 +33,9 @@ * @requires vm.gc=="Serial" | vm.gc=="null" * @summary Tests that a MemoryPoolMXBeans and PerfCounters for metaspace * report the same data. + * @modules java.base/sun.misc + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseCompressedOops -XX:-UseCompressedKlassPointers -XX:+UseSerialGC -XX:+UsePerfData -Xint TestPerfCountersAndMemoryPools * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UseCompressedOops -XX:+UseCompressedKlassPointers -XX:+UseSerialGC -XX:+UsePerfData -Xint TestPerfCountersAndMemoryPools */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/parallelScavenge/AdaptiveGCBoundary.java --- a/hotspot/test/gc/parallelScavenge/AdaptiveGCBoundary.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/parallelScavenge/AdaptiveGCBoundary.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -28,6 +28,8 @@ * @key gc * @key regression * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm AdaptiveGCBoundary * @author jon.masamitsu@oracle.com */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/startup_warnings/TestCMS.java --- a/hotspot/test/gc/startup_warnings/TestCMS.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/startup_warnings/TestCMS.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8006398 * @summary Test that CMS does not print a warning message * @library /testlibrary +* @modules java.base/sun.misc +* java.management */ import com.oracle.java.testlibrary.OutputAnalyzer; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/startup_warnings/TestDefNewCMS.java --- a/hotspot/test/gc/startup_warnings/TestDefNewCMS.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/startup_warnings/TestDefNewCMS.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8065972 * @summary Test that the unsupported DefNew+CMS combination does not start * @library /testlibrary +* @modules java.base/sun.misc +* java.management */ import com.oracle.java.testlibrary.OutputAnalyzer; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/startup_warnings/TestDefaultMaxRAMFraction.java --- a/hotspot/test/gc/startup_warnings/TestDefaultMaxRAMFraction.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/startup_warnings/TestDefaultMaxRAMFraction.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8021967 * @summary Test that the deprecated TestDefaultMaxRAMFraction flag print a warning message * @library /testlibrary +* @modules java.base/sun.misc +* java.management */ import com.oracle.java.testlibrary.OutputAnalyzer; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/startup_warnings/TestG1.java --- a/hotspot/test/gc/startup_warnings/TestG1.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/startup_warnings/TestG1.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8006398 * @summary Test that the G1 collector does not print a warning message * @library /testlibrary +* @modules java.base/sun.misc +* java.management */ import com.oracle.java.testlibrary.OutputAnalyzer; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/startup_warnings/TestNoParNew.java --- a/hotspot/test/gc/startup_warnings/TestNoParNew.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/startup_warnings/TestNoParNew.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @bug 8065972 * @summary Test that specifying -XX:-UseParNewGC on the command line logs a warning message * @library /testlibrary +* @modules java.base/sun.misc +* java.management */ import com.oracle.java.testlibrary.OutputAnalyzer; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/startup_warnings/TestParNewCMS.java --- a/hotspot/test/gc/startup_warnings/TestParNewCMS.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/startup_warnings/TestParNewCMS.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8065972 * @summary Test that specifying -XX:+UseParNewGC on the command line logs a warning message * @library /testlibrary +* @modules java.base/sun.misc +* java.management */ import com.oracle.java.testlibrary.OutputAnalyzer; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/startup_warnings/TestParNewSerialOld.java --- a/hotspot/test/gc/startup_warnings/TestParNewSerialOld.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/startup_warnings/TestParNewSerialOld.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2013, 2024, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8065972 * @summary Test that the unsupported ParNew+SerialOld combination does not start * @library /testlibrary +* @modules java.base/sun.misc +* java.management */ import com.oracle.java.testlibrary.OutputAnalyzer; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/startup_warnings/TestParallelGC.java --- a/hotspot/test/gc/startup_warnings/TestParallelGC.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/startup_warnings/TestParallelGC.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8006398 * @summary Test that ParallelGC does not print a warning message * @library /testlibrary +* @modules java.base/sun.misc +* java.management */ import com.oracle.java.testlibrary.OutputAnalyzer; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/startup_warnings/TestParallelScavengeSerialOld.java --- a/hotspot/test/gc/startup_warnings/TestParallelScavengeSerialOld.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/startup_warnings/TestParallelScavengeSerialOld.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8006398 * @summary Test that the ParallelScavenge+SerialOld combination does not print a warning message * @library /testlibrary +* @modules java.base/sun.misc +* java.management */ import com.oracle.java.testlibrary.OutputAnalyzer; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/startup_warnings/TestSerialGC.java --- a/hotspot/test/gc/startup_warnings/TestSerialGC.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/startup_warnings/TestSerialGC.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8006398 * @summary Test that SerialGC does not print a warning message * @library /testlibrary +* @modules java.base/sun.misc +* java.management */ import com.oracle.java.testlibrary.OutputAnalyzer; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/survivorAlignment/TestAllocationInEden.java --- a/hotspot/test/gc/survivorAlignment/TestAllocationInEden.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/survivorAlignment/TestAllocationInEden.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @summary Verify that object's alignment in eden space is not affected by * SurvivorAlignmentInBytes option. * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestAllocationInEden SurvivorAlignmentTestMain AlignmentHelper * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/survivorAlignment/TestPromotionFromEdenToTenured.java --- a/hotspot/test/gc/survivorAlignment/TestPromotionFromEdenToTenured.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/survivorAlignment/TestPromotionFromEdenToTenured.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @summary Verify that objects promoted from eden space to tenured space during * full GC are not aligned to SurvivorAlignmentInBytes value. * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestPromotionFromEdenToTenured SurvivorAlignmentTestMain * AlignmentHelper * @run main ClassFileInstaller sun.hotspot.WhiteBox diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterFullGC.java --- a/hotspot/test/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterFullGC.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterFullGC.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @summary Verify that objects promoted from survivor space to tenured space * during full GC are not aligned to SurvivorAlignmentInBytes value. * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestPromotionFromSurvivorToTenuredAfterFullGC * SurvivorAlignmentTestMain AlignmentHelper * @run main ClassFileInstaller sun.hotspot.WhiteBox diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterMinorGC.java --- a/hotspot/test/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterMinorGC.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterMinorGC.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * when their age exceeded tenuring threshold are not aligned to * SurvivorAlignmentInBytes value. * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestPromotionFromSurvivorToTenuredAfterMinorGC * SurvivorAlignmentTestMain AlignmentHelper * @run main ClassFileInstaller sun.hotspot.WhiteBox diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/survivorAlignment/TestPromotionToSurvivor.java --- a/hotspot/test/gc/survivorAlignment/TestPromotionToSurvivor.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/survivorAlignment/TestPromotionToSurvivor.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @summary Verify that objects promoted from eden space to survivor space after * minor GC are aligned to SurvivorAlignmentInBytes. * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestPromotionToSurvivor * SurvivorAlignmentTestMain AlignmentHelper * @run main ClassFileInstaller sun.hotspot.WhiteBox diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/whitebox/TestConcMarkCycleWB.java --- a/hotspot/test/gc/whitebox/TestConcMarkCycleWB.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/whitebox/TestConcMarkCycleWB.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,10 @@ * @bug 8065579 * @requires vm.gc=="null" | vm.gc=="G1" * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build ClassFileInstaller com.oracle.java.testlibrary.* sun.hotspot.WhiteBox TestConcMarkCycleWB * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/gc/whitebox/TestWBGC.java --- a/hotspot/test/gc/whitebox/TestWBGC.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/gc/whitebox/TestWBGC.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8055098 * @summary Test verify that WB methods isObjectInOldGen and youngGC works correctly. * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestWBGC * @run main ClassFileInstaller sun.hotspot.WhiteBox * @run driver TestWBGC diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/6819213/TestBootNativeLibraryPath.java --- a/hotspot/test/runtime/6819213/TestBootNativeLibraryPath.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/6819213/TestBootNativeLibraryPath.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2008, 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 @@ -24,6 +24,7 @@ /* * @test TestBootNativeLibraryPath.java * @bug 6819213 + * @modules java.compiler * @compile -XDignore.symbol.file TestBootNativeLibraryPath.java * @summary verify sun.boot.native.library.path is expandable on 32 bit systems * @run main TestBootNativeLibraryPath diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/8003720/Test8003720.java --- a/hotspot/test/runtime/8003720/Test8003720.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/8003720/Test8003720.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 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 @@ -26,6 +26,8 @@ * @test * @bug 8003720 * @summary Method in interpreter stack frame can be deallocated + * @modules java.base/jdk.internal.org.objectweb.asm + * java.base/sun.misc * @compile -XDignore.symbol.file Victim.java * @run main/othervm -Xverify:all -Xint Test8003720 */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/8026365/InvokeSpecialAnonTest.java --- a/hotspot/test/runtime/8026365/InvokeSpecialAnonTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/8026365/InvokeSpecialAnonTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @summary Test invokespecial of host class method from an anonymous class * @author Robert Field * @library /testlibrary + * @modules java.base/jdk.internal.org.objectweb.asm + * java.base/sun.misc * @compile -XDignore.symbol.file InvokeSpecialAnonTest.java * @run main ClassFileInstaller InvokeSpecialAnonTest AnonTester * @run main/othervm -Xbootclasspath/a:. -Xverify:all InvokeSpecialAnonTest diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/BadObjectClass/BootstrapRedefine.java --- a/hotspot/test/runtime/BadObjectClass/BootstrapRedefine.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/BadObjectClass/BootstrapRedefine.java Fri Apr 03 16:34:51 2015 -0700 @@ -26,6 +26,8 @@ * @bug 6583051 * @summary Give error if java.lang.Object has been incompatibly overridden on the bootpath * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile Object.java * @run main BootstrapRedefine */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/CDSCompressedKPtrs/CDSCompressedKPtrs.java --- a/hotspot/test/runtime/CDSCompressedKPtrs/CDSCompressedKPtrs.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/CDSCompressedKPtrs/CDSCompressedKPtrs.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8003424 * @summary Testing UseCompressedClassPointers with CDS * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main CDSCompressedKPtrs */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/CDSCompressedKPtrs/CDSCompressedKPtrsError.java --- a/hotspot/test/runtime/CDSCompressedKPtrs/CDSCompressedKPtrsError.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/CDSCompressedKPtrs/CDSCompressedKPtrsError.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8003424 * @summary Test that cannot use CDS if UseCompressedClassPointers is turned off. * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main CDSCompressedKPtrsError */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/CDSCompressedKPtrs/XShareAuto.java --- a/hotspot/test/runtime/CDSCompressedKPtrs/XShareAuto.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/CDSCompressedKPtrs/XShareAuto.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8005933 * @summary Test that -Xshare:auto uses CDS when explicitly specified with -server. * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main XShareAuto */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/ClassFile/JsrRewriting.java --- a/hotspot/test/runtime/ClassFile/JsrRewriting.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/ClassFile/JsrRewriting.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -34,6 +34,9 @@ * @bug 7149464 * @key cte_test * @library /testlibrary + * @modules java.base/sun.misc + * java.desktop + * java.management * @run main JsrRewriting */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/ClassFile/OomWhileParsingRepeatedJsr.java --- a/hotspot/test/runtime/ClassFile/OomWhileParsingRepeatedJsr.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/ClassFile/OomWhileParsingRepeatedJsr.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 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 @@ -34,6 +34,9 @@ * @bug 7123945 * @bug 8016029 * @library /testlibrary + * @modules java.base/sun.misc + * java.desktop + * java.management * @run main OomWhileParsingRepeatedJsr */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/ClassFile/UnsupportedClassFileVersion.java --- a/hotspot/test/runtime/ClassFile/UnsupportedClassFileVersion.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/ClassFile/UnsupportedClassFileVersion.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -24,6 +24,9 @@ /* * @test * @library /testlibrary + * @modules java.base/jdk.internal.org.objectweb.asm + * java.base/sun.misc + * java.management * @compile -XDignore.symbol.file UnsupportedClassFileVersion.java * @run main UnsupportedClassFileVersion */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/CommandLine/BooleanFlagWithInvalidValue.java --- a/hotspot/test/runtime/CommandLine/BooleanFlagWithInvalidValue.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/CommandLine/BooleanFlagWithInvalidValue.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8006298 * @summary Setting an invalid value for a bool argument should result in a useful error message * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/CommandLine/CompilerConfigFileWarning.java --- a/hotspot/test/runtime/CommandLine/CompilerConfigFileWarning.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/CommandLine/CompilerConfigFileWarning.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 7167142 * @summary Warn if unused .hotspot_compiler file is present * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import java.io.PrintWriter; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/CommandLine/ConfigFileParsing.java --- a/hotspot/test/runtime/CommandLine/ConfigFileParsing.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/CommandLine/ConfigFileParsing.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 7158804 * @summary Improve config file parsing * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import java.io.PrintWriter; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/CommandLine/ConfigFileWarning.java --- a/hotspot/test/runtime/CommandLine/ConfigFileWarning.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/CommandLine/ConfigFileWarning.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 7167142 * @summary Warn if unused .hotspot_rc file is present * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import java.io.PrintWriter; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/CommandLine/FlagWithInvalidValue.java --- a/hotspot/test/runtime/CommandLine/FlagWithInvalidValue.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/CommandLine/FlagWithInvalidValue.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8006298 * @summary Setting a flag to an invalid value should print a useful error message * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/CommandLine/NonBooleanFlagWithInvalidBooleanPrefix.java --- a/hotspot/test/runtime/CommandLine/NonBooleanFlagWithInvalidBooleanPrefix.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/CommandLine/NonBooleanFlagWithInvalidBooleanPrefix.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8006298 * @summary Using a bool (+/-) prefix on non-bool flag should result in a useful error message * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/CommandLine/ObsoleteFlagErrorMessage.java --- a/hotspot/test/runtime/CommandLine/ObsoleteFlagErrorMessage.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/CommandLine/ObsoleteFlagErrorMessage.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8060449 * @summary Newly obsolete command line options should still give useful error messages when used improperly. * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/CommandLine/TestHexArguments.java --- a/hotspot/test/runtime/CommandLine/TestHexArguments.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/CommandLine/TestHexArguments.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @summary Make sure there is no error using hexadecimal format in vm options * @author Yumin Qi * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import java.io.File; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/CommandLine/TestNullTerminatedFlags.java --- a/hotspot/test/runtime/CommandLine/TestNullTerminatedFlags.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/CommandLine/TestNullTerminatedFlags.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * @bug 6522873 * @summary Test that the VM don't allow random junk characters at the end of valid command line flags. * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run driver TestNullTerminatedFlags */ public class TestNullTerminatedFlags { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/CommandLine/TestVMOptions.java --- a/hotspot/test/runtime/CommandLine/TestVMOptions.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/CommandLine/TestVMOptions.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8060256 * @summary Test various command line options * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main TestVMOptions */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/CommandLine/TraceExceptionsTest.java --- a/hotspot/test/runtime/CommandLine/TraceExceptionsTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/CommandLine/TraceExceptionsTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8048933 * @summary TraceExceptions output should have the exception message - useful for ClassNotFoundExceptions especially * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/CommandLine/UnrecognizedVMOption.java --- a/hotspot/test/runtime/CommandLine/UnrecognizedVMOption.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/CommandLine/UnrecognizedVMOption.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8006298 * @summary Using an unrecognized VM option should print the name of the option * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/CommandLine/VMOptionWarning.java --- a/hotspot/test/runtime/CommandLine/VMOptionWarning.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/CommandLine/VMOptionWarning.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8027314 * @summary Warn if diagnostic or experimental vm option is used and -XX:+UnlockDiagnosticVMOptions or -XX:+UnlockExperimentalVMOptions, respectively, isn't specified. Warn if develop or notproduct vm option is used with product version of VM. * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/CompressedOops/CompressedClassPointers.java --- a/hotspot/test/runtime/CompressedOops/CompressedClassPointers.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/CompressedOops/CompressedClassPointers.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8024927 * @summary Testing address of compressed class pointer space as best as possible. * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/CompressedOops/CompressedClassSpaceSize.java --- a/hotspot/test/runtime/CompressedOops/CompressedClassSpaceSize.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/CompressedOops/CompressedClassSpaceSize.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8022865 * @summary Tests for the -XX:CompressedClassSpaceSize command line option * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main CompressedClassSpaceSize */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/CompressedOops/CompressedKlassPointerAndOops.java --- a/hotspot/test/runtime/CompressedOops/CompressedKlassPointerAndOops.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/CompressedOops/CompressedKlassPointerAndOops.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @key regression * @summary NPG: UseCompressedClassPointers asserts with ObjectAlignmentInBytes=32 * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/CompressedOops/ObjectAlignment.java --- a/hotspot/test/runtime/CompressedOops/ObjectAlignment.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/CompressedOops/ObjectAlignment.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8022865 * @summary Tests for the -XX:ObjectAlignmentInBytes command line option * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main ObjectAlignment */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/CompressedOops/UseCompressedOops.java --- a/hotspot/test/runtime/CompressedOops/UseCompressedOops.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/CompressedOops/UseCompressedOops.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8022865 * @summary Tests for different combination of UseCompressedOops options * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main UseCompressedOops */ import java.util.ArrayList; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/EnclosingMethodAttr/EnclMethodAttr.java --- a/hotspot/test/runtime/EnclosingMethodAttr/EnclMethodAttr.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/EnclosingMethodAttr/EnclMethodAttr.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8044738 * @library /testlibrary * @summary Check attribute_length of EnclosingMethod attribute + * @modules java.base/sun.misc + * java.management * @run main EnclMethodAttr */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/ErrorHandling/ProblematicFrameTest.java --- a/hotspot/test/runtime/ErrorHandling/ProblematicFrameTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/ErrorHandling/ProblematicFrameTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -26,6 +26,10 @@ * @bug 8050167 * @summary Test that error is not occurred during printing problematic frame * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build com.oracle.java.testlibrary.* * @run driver ProblematicFrameTest */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/ErrorHandling/SecondaryErrorTest.java --- a/hotspot/test/runtime/ErrorHandling/SecondaryErrorTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/ErrorHandling/SecondaryErrorTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -14,6 +14,8 @@ * @summary Synchronous signals during error reporting may terminate or hang VM process * @library /testlibrary * @author Thomas Stuefe (SAP) + * @modules java.base/sun.misc + * java.management */ public class SecondaryErrorTest { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/InternalApi/ThreadCpuTimesDeadlock.java --- a/hotspot/test/runtime/InternalApi/ThreadCpuTimesDeadlock.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/InternalApi/ThreadCpuTimesDeadlock.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 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 @@ -27,6 +27,7 @@ * @bug 7196045 * @bug 8014294 * @summary Possible JVM deadlock in ThreadTimesClosure when using HotspotInternal non-public API. + * @modules java.management/sun.management * @run main/othervm -XX:+UsePerfData -Xmx32m ThreadCpuTimesDeadlock */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/LoadClass/LoadClassNegative.java --- a/hotspot/test/runtime/LoadClass/LoadClassNegative.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/LoadClass/LoadClassNegative.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8020675 * @summary make sure there is no fatal error if a class is loaded from an invalid jar file which is in the bootclasspath * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @build TestForName * @build LoadClassNegative * @run main LoadClassNegative diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/LocalVariableTable/TestLVT.java --- a/hotspot/test/runtime/LocalVariableTable/TestLVT.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/LocalVariableTable/TestLVT.java Fri Apr 03 16:34:51 2015 -0700 @@ -26,6 +26,8 @@ * @bug 8049632 * @summary Test ClassFileParser::copy_localvariable_table cases * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @compile -g -XDignore.symbol.file TestLVT.java * @run main TestLVT */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Metaspace/FragmentMetaspace.java --- a/hotspot/test/runtime/Metaspace/FragmentMetaspace.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Metaspace/FragmentMetaspace.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -24,6 +24,7 @@ /** * @test * @library /runtime/testlibrary + * @modules java.compiler * @build GeneratedClassLoader * @run main/othervm/timeout=200 -Xmx300m FragmentMetaspace */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/AutoshutdownNMT.java --- a/hotspot/test/runtime/NMT/AutoshutdownNMT.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/AutoshutdownNMT.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @key nmt * @summary Test for deprecated message if -XX:-AutoShutdownNMT is specified * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/BaselineWithParameter.java --- a/hotspot/test/runtime/NMT/BaselineWithParameter.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/BaselineWithParameter.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @key nmt jcmd regression * @summary Regression test for invoking a jcmd with baseline=false, result was that the target VM crashed * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm -XX:NativeMemoryTracking=detail BaselineWithParameter */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/CommandLineDetail.java --- a/hotspot/test/runtime/NMT/CommandLineDetail.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/CommandLineDetail.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @key nmt * @summary Running with NMT detail should not result in an error * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/CommandLineEmptyArgument.java --- a/hotspot/test/runtime/NMT/CommandLineEmptyArgument.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/CommandLineEmptyArgument.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @key nmt * @summary Empty argument to NMT should result in an informative error message * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/CommandLineInvalidArgument.java --- a/hotspot/test/runtime/NMT/CommandLineInvalidArgument.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/CommandLineInvalidArgument.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @key nmt * @summary Invalid argument to NMT should result in an informative error message * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/CommandLineSummary.java --- a/hotspot/test/runtime/NMT/CommandLineSummary.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/CommandLineSummary.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @key nmt * @summary Running with NMT summary should not result in an error * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/CommandLineTurnOffNMT.java --- a/hotspot/test/runtime/NMT/CommandLineTurnOffNMT.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/CommandLineTurnOffNMT.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @key nmt * @summary Turning off NMT should not result in an error * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/JcmdBaselineDetail.java --- a/hotspot/test/runtime/NMT/JcmdBaselineDetail.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/JcmdBaselineDetail.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @key nmt jcmd * @summary Verify that jcmd correctly reports that baseline succeeds with NMT enabled with detailed tracking. * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm -XX:NativeMemoryTracking=detail JcmdBaselineDetail */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/JcmdDetailDiff.java --- a/hotspot/test/runtime/NMT/JcmdDetailDiff.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/JcmdDetailDiff.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @summary run NMT baseline, allocate memory and verify output from detail.diff * @key nmt jcmd * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @ignore * @build JcmdDetailDiff * @run main ClassFileInstaller sun.hotspot.WhiteBox diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/JcmdScale.java --- a/hotspot/test/runtime/NMT/JcmdScale.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/JcmdScale.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @key nmt jcmd * @summary Test the NMT scale parameter * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm -XX:NativeMemoryTracking=summary JcmdScale */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/JcmdScaleDetail.java --- a/hotspot/test/runtime/NMT/JcmdScaleDetail.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/JcmdScaleDetail.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @key nmt jcmd * @summary Test the NMT scale parameter with detail tracking level * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm -XX:NativeMemoryTracking=detail JcmdScaleDetail */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/JcmdSummaryDiff.java --- a/hotspot/test/runtime/NMT/JcmdSummaryDiff.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/JcmdSummaryDiff.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @summary run NMT baseline, allocate memory and verify output from summary.diff * @key nmt jcmd * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build JcmdSummaryDiff * @run main ClassFileInstaller sun.hotspot.WhiteBox * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:NativeMemoryTracking=summary JcmdSummaryDiff diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/JcmdWithNMTDisabled.java --- a/hotspot/test/runtime/NMT/JcmdWithNMTDisabled.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/JcmdWithNMTDisabled.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @key nmt jcmd * @summary Verify that jcmd correctly reports that NMT is not enabled * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main JcmdWithNMTDisabled 1 */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/MallocRoundingReportTest.java --- a/hotspot/test/runtime/NMT/MallocRoundingReportTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/MallocRoundingReportTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @summary Test consistency of NMT by creating allocations of the Test type with various sizes and verifying visibility with jcmd * @key nmt jcmd * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build MallocRoundingReportTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:NativeMemoryTracking=detail MallocRoundingReportTest diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/MallocStressTest.java --- a/hotspot/test/runtime/NMT/MallocStressTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/MallocStressTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @summary Stress test for malloc tracking * @key nmt jcmd stress * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build MallocStressTest * @ignore - This test is disabled since it will stress NMT and timeout during normal testing * @run main ClassFileInstaller sun.hotspot.WhiteBox diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/MallocTestType.java --- a/hotspot/test/runtime/NMT/MallocTestType.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/MallocTestType.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @summary Test consistency of NMT by leaking a few select allocations of the Test type and then verify visibility with jcmd * @key nmt jcmd * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build MallocTestType * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/MallocTrackingVerify.java --- a/hotspot/test/runtime/NMT/MallocTrackingVerify.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/MallocTrackingVerify.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -27,6 +27,8 @@ * @summary Test to verify correctness of malloc tracking * @key nmt jcmd * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build MallocTrackingVerify * @run main ClassFileInstaller sun.hotspot.WhiteBox * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:NativeMemoryTracking=detail MallocTrackingVerify diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/NMTWithCDS.java --- a/hotspot/test/runtime/NMT/NMTWithCDS.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/NMTWithCDS.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8055061 * @key nmt * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main NMTWithCDS */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/PrintNMTStatisticsWithNMTDisabled.java --- a/hotspot/test/runtime/NMT/PrintNMTStatisticsWithNMTDisabled.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/PrintNMTStatisticsWithNMTDisabled.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @key nmt * @summary Trying to enable PrintNMTStatistics should result in a warning * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/ReleaseNoCommit.java --- a/hotspot/test/runtime/NMT/ReleaseNoCommit.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/ReleaseNoCommit.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @summary Release uncommitted memory and make sure NMT handles it correctly * @key nmt regression * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build ReleaseNoCommit * @run main ClassFileInstaller sun.hotspot.WhiteBox * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:NativeMemoryTracking=summary ReleaseNoCommit diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/ShutdownTwice.java --- a/hotspot/test/runtime/NMT/ShutdownTwice.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/ShutdownTwice.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @key nmt jcmd * @summary Run shutdown twice * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm -XX:NativeMemoryTracking=detail ShutdownTwice */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/SummaryAfterShutdown.java --- a/hotspot/test/runtime/NMT/SummaryAfterShutdown.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/SummaryAfterShutdown.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @key nmt jcmd * @summary Verify that jcmd correctly reports that NMT is not enabled after a shutdown * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm -XX:NativeMemoryTracking=detail SummaryAfterShutdown */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/SummarySanityCheck.java --- a/hotspot/test/runtime/NMT/SummarySanityCheck.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/SummarySanityCheck.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @key nmt jcmd * @summary Sanity check the output of NMT * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build SummarySanityCheck * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/ThreadedMallocTestType.java --- a/hotspot/test/runtime/NMT/ThreadedMallocTestType.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/ThreadedMallocTestType.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,8 @@ * @test * @key nmt jcmd * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build ThreadedMallocTestType * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/ThreadedVirtualAllocTestType.java --- a/hotspot/test/runtime/NMT/ThreadedVirtualAllocTestType.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/ThreadedVirtualAllocTestType.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,8 @@ * @test * @key nmt jcmd * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build ThreadedVirtualAllocTestType * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/VirtualAllocCommitUncommitRecommit.java --- a/hotspot/test/runtime/NMT/VirtualAllocCommitUncommitRecommit.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/VirtualAllocCommitUncommitRecommit.java Fri Apr 03 16:34:51 2015 -0700 @@ -26,6 +26,8 @@ * @summary Test reserve/commit/uncommit/release of virtual memory and that we track it correctly * @key nmt jcmd * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build VirtualAllocCommitUncommitRecommit * @run main ClassFileInstaller sun.hotspot.WhiteBox * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:NativeMemoryTracking=detail VirtualAllocCommitUncommitRecommit diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/NMT/VirtualAllocTestType.java --- a/hotspot/test/runtime/NMT/VirtualAllocTestType.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/NMT/VirtualAllocTestType.java Fri Apr 03 16:34:51 2015 -0700 @@ -26,6 +26,8 @@ * @summary Test Reserve/Commit/Uncommit/Release of virtual memory and that we track it correctly * @key nmt jcmd * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build VirtualAllocTestType * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/PerfMemDestroy/PerfMemDestroy.java --- a/hotspot/test/runtime/PerfMemDestroy/PerfMemDestroy.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/PerfMemDestroy/PerfMemDestroy.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8030955 * @summary Allow multiple calls to PerfMemory::destroy() without asserting. * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main PerfMemDestroy */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/RedefineObject/TestRedefineObject.java --- a/hotspot/test/runtime/RedefineObject/TestRedefineObject.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/RedefineObject/TestRedefineObject.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -33,6 +33,9 @@ * @bug 8005056 * @bug 8009728 * @library /testlibrary + * @modules java.base/sun.misc + * java.instrument + * java.management * @build Agent * @run main ClassFileInstaller Agent * @run main TestRedefineObject diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/RedefineTests/RedefineAnnotations.java --- a/hotspot/test/runtime/RedefineTests/RedefineAnnotations.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/RedefineTests/RedefineAnnotations.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,9 @@ * @test * @library /testlibrary * @summary Test that type annotations are retained after a retransform + * @modules java.base/jdk.internal.org.objectweb.asm + * java.instrument + * jdk.jartool/sun.tools.jar * @run main RedefineAnnotations buildagent * @run main/othervm -javaagent:redefineagent.jar RedefineAnnotations */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/RedefineTests/RedefineFinalizer.java --- a/hotspot/test/runtime/RedefineTests/RedefineFinalizer.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/RedefineTests/RedefineFinalizer.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,9 @@ * @bug 6904403 * @summary Don't assert if we redefine finalize method * @library /testlibrary + * @modules java.compiler + * java.instrument + * jdk.jartool/sun.tools.jar * @build RedefineClassHelper * @run main RedefineClassHelper * @run main/othervm -javaagent:redefineagent.jar RedefineFinalizer diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/RedefineTests/RedefineRunningMethods.java --- a/hotspot/test/runtime/RedefineTests/RedefineRunningMethods.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/RedefineTests/RedefineRunningMethods.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,9 @@ * @bug 8055008 * @summary Redefine EMCP and non-EMCP methods that are running in an infinite loop * @library /testlibrary + * @modules java.compiler + * java.instrument + * jdk.jartool/sun.tools.jar * @build RedefineClassHelper * @run main RedefineClassHelper * @run main/othervm -javaagent:redefineagent.jar -XX:TraceRedefineClasses=0x600 RedefineRunningMethods diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Safepoint/AssertSafepointCheckConsistency1.java --- a/hotspot/test/runtime/Safepoint/AssertSafepointCheckConsistency1.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Safepoint/AssertSafepointCheckConsistency1.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8047290 * @summary Ensure that a Monitor::lock_without_safepoint_check fires an assert when it incorrectly acquires a lock which must always have safepoint checks. * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build AssertSafepointCheckConsistency1 * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Safepoint/AssertSafepointCheckConsistency2.java --- a/hotspot/test/runtime/Safepoint/AssertSafepointCheckConsistency2.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Safepoint/AssertSafepointCheckConsistency2.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8047290 * @summary Ensure that a Monitor::lock fires an assert when it incorrectly acquires a lock which must never have safepoint checks. * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build AssertSafepointCheckConsistency2 * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Safepoint/AssertSafepointCheckConsistency3.java --- a/hotspot/test/runtime/Safepoint/AssertSafepointCheckConsistency3.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Safepoint/AssertSafepointCheckConsistency3.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8047290 * @summary Ensure that Monitor::lock_without_safepoint_check does not assert when it correctly acquires a lock which must never have safepoint checks. * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build AssertSafepointCheckConsistency3 * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Safepoint/AssertSafepointCheckConsistency4.java --- a/hotspot/test/runtime/Safepoint/AssertSafepointCheckConsistency4.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Safepoint/AssertSafepointCheckConsistency4.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8047290 * @summary Ensure that Monitor::lock does not assert when it correctly acquires a lock which must always have safepoint checks. * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build AssertSafepointCheckConsistency4 * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/SharedArchiveFile/ArchiveDoesNotExist.java --- a/hotspot/test/runtime/SharedArchiveFile/ArchiveDoesNotExist.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/SharedArchiveFile/ArchiveDoesNotExist.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -28,6 +28,8 @@ * when sharing mode is ON, and continue w/o sharing if sharing * mode is AUTO. * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main ArchiveDoesNotExist */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java --- a/hotspot/test/runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -30,6 +30,8 @@ * should fail when loading. * @library /testlibrary * @bug 8025642 + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/SharedArchiveFile/CdsSameObjectAlignment.java --- a/hotspot/test/runtime/SharedArchiveFile/CdsSameObjectAlignment.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/SharedArchiveFile/CdsSameObjectAlignment.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @summary Testing CDS (class data sharing) using varying object alignment. * Using same object alignment for each dump/load pair * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/SharedArchiveFile/DefaultUseWithClient.java --- a/hotspot/test/runtime/SharedArchiveFile/DefaultUseWithClient.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/SharedArchiveFile/DefaultUseWithClient.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,8 @@ * @test DefaultUseWithClient * @summary Test default behavior of sharing with -client * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main DefaultUseWithClient * @bug 8032224 */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/SharedArchiveFile/DumpSymbolAndStringTable.java --- a/hotspot/test/runtime/SharedArchiveFile/DumpSymbolAndStringTable.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/SharedArchiveFile/DumpSymbolAndStringTable.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8059510 * @summary Test jcmd VM.symboltable and VM.stringtable options * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm -XX:+UnlockDiagnosticVMOptions DumpSymbolAndStringTable */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/SharedArchiveFile/LimitSharedSizes.java --- a/hotspot/test/runtime/SharedArchiveFile/LimitSharedSizes.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/SharedArchiveFile/LimitSharedSizes.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -24,6 +24,8 @@ /* @test LimitSharedSizes * @summary Test handling of limits on shared space size * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main LimitSharedSizes */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/SharedArchiveFile/MaxMetaspaceSize.java --- a/hotspot/test/runtime/SharedArchiveFile/MaxMetaspaceSize.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/SharedArchiveFile/MaxMetaspaceSize.java Fri Apr 03 16:34:51 2015 -0700 @@ -26,6 +26,8 @@ * @bug 8067187 * @summary Testing CDS dumping with the -XX:MaxMetaspaceSize= option * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/SharedArchiveFile/PrintSharedArchiveAndExit.java --- a/hotspot/test/runtime/SharedArchiveFile/PrintSharedArchiveAndExit.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/SharedArchiveFile/PrintSharedArchiveAndExit.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8066670 * @summary Testing -XX:+PrintSharedArchiveAndExit option * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/SharedArchiveFile/SharedArchiveFile.java --- a/hotspot/test/runtime/SharedArchiveFile/SharedArchiveFile.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/SharedArchiveFile/SharedArchiveFile.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 8014138 * @summary Testing new -XX:SharedArchiveFile= option * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/SharedArchiveFile/SharedBaseAddress.java --- a/hotspot/test/runtime/SharedArchiveFile/SharedBaseAddress.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/SharedArchiveFile/SharedBaseAddress.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @summary Test variety of values for SharedBaseAddress, making sure * VM handles normal values as well as edge values w/o a crash. * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main SharedBaseAddress */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/SharedArchiveFile/SharedSymbolTableBucketSize.java --- a/hotspot/test/runtime/SharedArchiveFile/SharedSymbolTableBucketSize.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/SharedArchiveFile/SharedSymbolTableBucketSize.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8059510 * @summary Test SharedSymbolTableBucketSize option * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/SharedArchiveFile/SpaceUtilizationCheck.java --- a/hotspot/test/runtime/SharedArchiveFile/SpaceUtilizationCheck.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/SharedArchiveFile/SpaceUtilizationCheck.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,8 @@ * @test SpaceUtilizationCheck * @summary Check if the space utilization for shared spaces is adequate * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main SpaceUtilizationCheck */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Thread/TestThreadDumpMonitorContention.java --- a/hotspot/test/runtime/Thread/TestThreadDumpMonitorContention.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Thread/TestThreadDumpMonitorContention.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -29,6 +29,8 @@ * whether jstack reports "locked" by more than one thread. * * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm TestThreadDumpMonitorContention */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Thread/ThreadPriorities.java --- a/hotspot/test/runtime/Thread/ThreadPriorities.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Thread/ThreadPriorities.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2015 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 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 @@ -28,6 +28,8 @@ * whether jstack reports correct priorities for them. * * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main ThreadPriorities */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/AllocateInstance.java --- a/hotspot/test/runtime/Unsafe/AllocateInstance.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/AllocateInstance.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,8 @@ * @test * @summary Verifies the behaviour of Unsafe.allocateInstance * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main AllocateInstance */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/AllocateMemory.java --- a/hotspot/test/runtime/Unsafe/AllocateMemory.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/AllocateMemory.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,8 @@ * @test * @summary Verifies behaviour of Unsafe.allocateMemory * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:MallocMaxTestWords=100m AllocateMemory */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/CopyMemory.java --- a/hotspot/test/runtime/Unsafe/CopyMemory.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/CopyMemory.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,8 @@ * @test * @summary Verifies behaviour of Unsafe.copyMemory * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main CopyMemory */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/DefineClass.java --- a/hotspot/test/runtime/Unsafe/DefineClass.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/DefineClass.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,9 @@ * @test * @summary Verifies the behaviour of Unsafe.defineClass * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management * @run main DefineClass */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/FieldOffset.java --- a/hotspot/test/runtime/Unsafe/FieldOffset.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/FieldOffset.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,8 @@ * @test * @summary Verifies the behaviour of Unsafe.fieldOffset * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main FieldOffset */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/GetField.java --- a/hotspot/test/runtime/Unsafe/GetField.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/GetField.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,8 @@ * @test * @summary Verifies behaviour of Unsafe.getField * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main GetField */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/GetPutAddress.java --- a/hotspot/test/runtime/Unsafe/GetPutAddress.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/GetPutAddress.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,8 @@ * @test * Verify behaviour of Unsafe.get/putAddress and Unsafe.addressSize * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main GetPutAddress */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/GetPutBoolean.java --- a/hotspot/test/runtime/Unsafe/GetPutBoolean.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/GetPutBoolean.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,8 @@ * @test * @summary Verify behaviour of Unsafe.get/putBoolean * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main GetPutBoolean */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/GetPutByte.java --- a/hotspot/test/runtime/Unsafe/GetPutByte.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/GetPutByte.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,8 @@ * @test * @summary Verify behaviour of Unsafe.get/putByte * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main GetPutByte */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/GetPutChar.java --- a/hotspot/test/runtime/Unsafe/GetPutChar.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/GetPutChar.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,8 @@ * @test * @summary Verify behaviour of Unsafe.get/putChar * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main GetPutChar */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/GetPutDouble.java --- a/hotspot/test/runtime/Unsafe/GetPutDouble.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/GetPutDouble.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,8 @@ * @test * @summary Verify behaviour of Unsafe.get/putDouble * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main GetPutDouble */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/GetPutFloat.java --- a/hotspot/test/runtime/Unsafe/GetPutFloat.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/GetPutFloat.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,8 @@ * @test * @summary Verify behaviour of Unsafe.get/putFloat * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main GetPutFloat */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/GetPutInt.java --- a/hotspot/test/runtime/Unsafe/GetPutInt.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/GetPutInt.java Fri Apr 03 16:34:51 2015 -0700 @@ -24,6 +24,8 @@ /* * @test * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main GetPutInt */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/GetPutLong.java --- a/hotspot/test/runtime/Unsafe/GetPutLong.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/GetPutLong.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,8 @@ * @test * @summary Verify behaviour of Unsafe.get/putLong * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main GetPutLong */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/GetPutObject.java --- a/hotspot/test/runtime/Unsafe/GetPutObject.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/GetPutObject.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,8 @@ * @test * @summary Verify behaviour of Unsafe.get/putObject * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main GetPutObject */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/GetPutShort.java --- a/hotspot/test/runtime/Unsafe/GetPutShort.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/GetPutShort.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,8 @@ * @test * @summary Verify behaviour of Unsafe.get/putShort * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main GetPutShort */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/GetUnsafe.java --- a/hotspot/test/runtime/Unsafe/GetUnsafe.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/GetUnsafe.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,7 @@ * @test * @summary Verifies that getUnsafe() actually throws SecurityException when unsafeAccess is prohibited. * @library /testlibrary + * @modules java.base/sun.misc * @run main GetUnsafe */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/PageSize.java --- a/hotspot/test/runtime/Unsafe/PageSize.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/PageSize.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,8 @@ * @test * @summary Make sure pageSize() returns a value that is a power of two * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main PageSize */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/RangeCheck.java --- a/hotspot/test/runtime/Unsafe/RangeCheck.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/RangeCheck.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8001071 * @summary Add simple range check into VM implemenation of Unsafe access methods * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.*; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/Reallocate.java --- a/hotspot/test/runtime/Unsafe/Reallocate.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/Reallocate.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,8 @@ * @test * @bug 8058897 * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:MallocMaxTestWords=100m Reallocate */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/SetMemory.java --- a/hotspot/test/runtime/Unsafe/SetMemory.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/SetMemory.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,8 @@ * @test * @summary Verifies that setMemory works correctly * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main SetMemory */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/Unsafe/ThrowException.java --- a/hotspot/test/runtime/Unsafe/ThrowException.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/Unsafe/ThrowException.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,8 @@ * @test * @summary Verify that throwException() can throw an exception * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main ThrowException */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/XCheckJniJsig/XCheckJSig.java --- a/hotspot/test/runtime/XCheckJniJsig/XCheckJSig.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/XCheckJniJsig/XCheckJSig.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -26,6 +26,8 @@ * @bug 7051189 8023393 * @summary Need to suppress info message if -Xcheck:jni is used with libjsig.so * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main XCheckJSig */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/classFileParserBug/ClassFileParserBug.java --- a/hotspot/test/runtime/classFileParserBug/ClassFileParserBug.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/classFileParserBug/ClassFileParserBug.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8040018 * @library /testlibrary * @summary Check for exception instead of assert. + * @modules java.base/sun.misc + * java.management * @run main ClassFileParserBug */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java --- a/hotspot/test/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8041918 * @library /testlibrary * @summary Test empty bootstrap_methods table within BootstrapMethods attribute + * @modules java.base/sun.misc + * java.management * @compile TestEmptyBootstrapMethodsAttr.java * @run main TestEmptyBootstrapMethodsAttr */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/contended/Basic.java --- a/hotspot/test/runtime/contended/Basic.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/contended/Basic.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -42,7 +42,7 @@ * @test * @bug 8003985 * @summary Support Contended Annotation - JEP 142 - * + * @modules java.base/sun.misc * @run main/othervm -XX:-RestrictContended Basic */ public class Basic { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/contended/DefaultValue.java --- a/hotspot/test/runtime/contended/DefaultValue.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/contended/DefaultValue.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -43,6 +43,7 @@ * @bug 8014509 * @summary \@Contended: explicit default value behaves differently from the implicit value * + * @modules java.base/sun.misc * @run main/othervm -XX:-RestrictContended DefaultValue */ public class DefaultValue { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/contended/HasNonStatic.java --- a/hotspot/test/runtime/contended/HasNonStatic.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/contended/HasNonStatic.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -43,6 +43,7 @@ * @bug 8015270 * @summary \@Contended: fix multiple issues in the layout code * + * @modules java.base/sun.misc * @run main/othervm -XX:-RestrictContended HasNonStatic */ public class HasNonStatic { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/contended/Inheritance1.java --- a/hotspot/test/runtime/contended/Inheritance1.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/contended/Inheritance1.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -43,6 +43,7 @@ * @bug 8012939 * @summary \@Contended doesn't work correctly with inheritance * + * @modules java.base/sun.misc * @run main/othervm -XX:-RestrictContended Inheritance1 */ public class Inheritance1 { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/contended/OopMaps.java --- a/hotspot/test/runtime/contended/OopMaps.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/contended/OopMaps.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -44,6 +44,7 @@ * @bug 8015493 * @summary \@Contended: fix multiple issues in the layout code * + * @modules java.base/sun.misc * @run main/othervm -XX:-RestrictContended -XX:ContendedPaddingWidth=128 -Xmx128m OopMaps */ public class OopMaps { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/contended/OopMapsSameGroup.java --- a/hotspot/test/runtime/contended/OopMapsSameGroup.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/contended/OopMapsSameGroup.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -43,6 +43,7 @@ * @bug 8015272 * @summary \@Contended within the same group to use the same oop map * + * @modules java.base/sun.misc * @run main/othervm -XX:-RestrictContended -XX:ContendedPaddingWidth=128 -Xmx128m OopMapsSameGroup */ public class OopMapsSameGroup { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/contended/Options.java --- a/hotspot/test/runtime/contended/Options.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/contended/Options.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -29,6 +29,8 @@ * @summary ContendedPaddingWidth should be range-checked * * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main Options */ public class Options { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/duplAttributes/DuplAttributesTest.java --- a/hotspot/test/runtime/duplAttributes/DuplAttributesTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/duplAttributes/DuplAttributesTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,8 @@ * @bug 8040292 * @library /testlibrary * @summary Throw exceptions when duplicate attributes are detected. + * @modules java.base/sun.misc + * java.management * @run main DuplAttributesTest */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/finalStatic/FinalStatic.java --- a/hotspot/test/runtime/finalStatic/FinalStatic.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/finalStatic/FinalStatic.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,7 @@ * @test * @bug 8028553 * @summary Test that VerifyError is not thrown when 'overriding' a static method. + * @modules java.base/jdk.internal.org.objectweb.asm * @run main FinalStatic */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/lambda-features/TestConcreteClassWithAbstractMethod.java --- a/hotspot/test/runtime/lambda-features/TestConcreteClassWithAbstractMethod.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/lambda-features/TestConcreteClassWithAbstractMethod.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,7 @@ * @test * @bug 8032010 * @summary method lookup on an abstract method in a concrete class should be successful + * @modules java.base/jdk.internal.org.objectweb.asm * @run main TestConcreteClassWithAbstractMethod */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/memory/LargePages/TestLargePageSizeInBytes.java --- a/hotspot/test/runtime/memory/LargePages/TestLargePageSizeInBytes.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/memory/LargePages/TestLargePageSizeInBytes.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,8 @@ * @summary Tests that the flag -XX:LargePageSizeInBytes does not cause warnings on Solaris * @bug 8049536 * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run driver TestLargePageSizeInBytes */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/memory/LargePages/TestLargePagesFlags.java --- a/hotspot/test/runtime/memory/LargePages/TestLargePagesFlags.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/memory/LargePages/TestLargePagesFlags.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -24,6 +24,8 @@ /* @test TestLargePagesFlags * @summary Tests how large pages are choosen depending on the given large pages flag combinations. * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main TestLargePagesFlags */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/memory/ReadFromNoaccessArea.java --- a/hotspot/test/runtime/memory/ReadFromNoaccessArea.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/memory/ReadFromNoaccessArea.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,8 @@ * @test * @summary Test that touching noaccess area in class ReservedHeapSpace results in SIGSEGV/ACCESS_VIOLATION * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build ReadFromNoaccessArea * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/memory/ReserveMemory.java --- a/hotspot/test/runtime/memory/ReserveMemory.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/memory/ReserveMemory.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -27,6 +27,8 @@ * @bug 8012015 * @summary Make sure reserved (but uncommitted) memory is not accessible * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build ReserveMemory * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/memory/RunUnitTestsConcurrently.java --- a/hotspot/test/runtime/memory/RunUnitTestsConcurrently.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/memory/RunUnitTestsConcurrently.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,8 @@ * @test * @summary Test launches unit tests inside vm concurrently * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build RunUnitTestsConcurrently * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/verifier/OverriderMsg.java --- a/hotspot/test/runtime/verifier/OverriderMsg.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/verifier/OverriderMsg.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -32,6 +32,9 @@ * @test OverriderMsg * @bug 8026894 * @library /testlibrary + * @modules java.base/jdk.internal.org.objectweb.asm + * java.base/sun.misc + * java.management * @compile -XDignore.symbol.file OverriderMsg.java * @run main/othervm OverriderMsg */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/verifier/TestANewArray.java --- a/hotspot/test/runtime/verifier/TestANewArray.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/verifier/TestANewArray.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -34,6 +34,9 @@ * @test * @summary Test that anewarray bytecode is valid only if it specifies 255 or fewer dimensions. * @library /testlibrary + * @modules java.base/jdk.internal.org.objectweb.asm + * java.base/sun.misc + * java.management * @compile -XDignore.symbol.file TestANewArray.java * @run main/othervm TestANewArray 49 * @run main/othervm TestANewArray 50 diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/runtime/verifier/TestMultiANewArray.java --- a/hotspot/test/runtime/verifier/TestMultiANewArray.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/runtime/verifier/TestMultiANewArray.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -32,6 +32,9 @@ * @test TestMultiANewArray * @bug 8038076 * @library /testlibrary + * @modules java.base/jdk.internal.org.objectweb.asm + * java.base/sun.misc + * java.management * @compile -XDignore.symbol.file TestMultiANewArray.java * @run main/othervm TestMultiANewArray 49 * @run main/othervm TestMultiANewArray 50 diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/attach/AttachSetGetFlag.java --- a/hotspot/test/serviceability/attach/AttachSetGetFlag.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/attach/AttachSetGetFlag.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,11 @@ * @bug 8054823 * @summary Tests the setFlag and printFlag attach command * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.attach/sun.tools.attach + * jdk.jvmstat/sun.jvmstat.monitor * @build com.oracle.java.testlibrary.* AttachSetGetFlag * @run driver AttachSetGetFlag */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/dcmd/compiler/CodeCacheTest.java --- a/hotspot/test/serviceability/dcmd/compiler/CodeCacheTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/dcmd/compiler/CodeCacheTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,10 @@ * @test CodeCacheTest * @bug 8054889 * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build com.oracle.java.testlibrary.* * @build com.oracle.java.testlibrary.dcmd.* * @run testng/othervm -XX:+SegmentedCodeCache CodeCacheTest diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/dcmd/compiler/CodelistTest.java --- a/hotspot/test/serviceability/dcmd/compiler/CodelistTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/dcmd/compiler/CodelistTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,10 @@ * @test CodelistTest * @bug 8054889 * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build com.oracle.java.testlibrary.* * @build com.oracle.java.testlibrary.dcmd.* * @build MethodIdentifierParser diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/dcmd/compiler/CompilerQueueTest.java --- a/hotspot/test/serviceability/dcmd/compiler/CompilerQueueTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/dcmd/compiler/CompilerQueueTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,10 @@ * @test CompilerQueueTest * @bug 8054889 * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @ignore 8069160 * @build com.oracle.java.testlibrary.* * @build com.oracle.java.testlibrary.dcmd.* diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/dcmd/framework/HelpTest.java --- a/hotspot/test/serviceability/dcmd/framework/HelpTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/dcmd/framework/HelpTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -33,6 +33,10 @@ * @test * @summary Test of diagnostic command help (tests all DCMD executors) * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @ignore 8072440 * @build com.oracle.java.testlibrary.* * @build com.oracle.java.testlibrary.dcmd.* diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/dcmd/framework/InvalidCommandTest.java --- a/hotspot/test/serviceability/dcmd/framework/InvalidCommandTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/dcmd/framework/InvalidCommandTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -33,6 +33,10 @@ * @test * @summary Test of invalid diagnostic command (tests all DCMD executors) * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @ignore 8072440 * @build com.oracle.java.testlibrary.* * @build com.oracle.java.testlibrary.dcmd.* diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/dcmd/framework/VMVersionTest.java --- a/hotspot/test/serviceability/dcmd/framework/VMVersionTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/dcmd/framework/VMVersionTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -34,6 +34,10 @@ * @test * @summary Test of diagnostic command VM.version (tests all DCMD executors) * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @ignore 8072440 * @build com.oracle.java.testlibrary.* * @build com.oracle.java.testlibrary.dcmd.* diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/dcmd/gc/ClassHistogramAllTest.java --- a/hotspot/test/serviceability/dcmd/gc/ClassHistogramAllTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/dcmd/gc/ClassHistogramAllTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,10 @@ * @test * @summary Test of diagnostic command GC.class_histogram -all=true * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build com.oracle.java.testlibrary.* * @build com.oracle.java.testlibrary.dcmd.* * @build ClassHistogramTest diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/dcmd/gc/ClassHistogramTest.java --- a/hotspot/test/serviceability/dcmd/gc/ClassHistogramTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/dcmd/gc/ClassHistogramTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -33,6 +33,10 @@ * @test * @summary Test of diagnostic command GC.class_histogram * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build com.oracle.java.testlibrary.* * @build com.oracle.java.testlibrary.dcmd.* * @run testng ClassHistogramTest diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/dcmd/gc/HeapDumpAllTest.java --- a/hotspot/test/serviceability/dcmd/gc/HeapDumpAllTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/dcmd/gc/HeapDumpAllTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,10 @@ * @test * @summary Test of diagnostic command GC.heap_dump -all=true * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build com.oracle.java.testlibrary.* * @build com.oracle.java.testlibrary.dcmd.* * @build HeapDumpTest diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/dcmd/gc/HeapDumpTest.java --- a/hotspot/test/serviceability/dcmd/gc/HeapDumpTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/dcmd/gc/HeapDumpTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -35,6 +35,10 @@ * @test * @summary Test of diagnostic command GC.heap_dump * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build com.oracle.java.testlibrary.* * @build com.oracle.java.testlibrary.dcmd.* * @run testng HeapDumpTest diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/dcmd/gc/RunFinalizationTest.java --- a/hotspot/test/serviceability/dcmd/gc/RunFinalizationTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/dcmd/gc/RunFinalizationTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -35,6 +35,10 @@ * @test * @summary Test of diagnostic command GC.run_finalization * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build com.oracle.java.testlibrary.* * @build com.oracle.java.testlibrary.dcmd.* * @run testng RunFinalizationTest diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/dcmd/gc/RunGCTest.java --- a/hotspot/test/serviceability/dcmd/gc/RunGCTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/dcmd/gc/RunGCTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -37,6 +37,10 @@ * @test * @summary Test of diagnostic command GC.run * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build com.oracle.java.testlibrary.* * @build com.oracle.java.testlibrary.dcmd.* * @run testng/othervm -XX:+PrintGCDetails -Xloggc:RunGC.gclog -XX:-ExplicitGCInvokesConcurrent RunGCTest diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/dcmd/thread/PrintConcurrentLocksTest.java --- a/hotspot/test/serviceability/dcmd/thread/PrintConcurrentLocksTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/dcmd/thread/PrintConcurrentLocksTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,10 @@ * @test * @summary Test of diagnostic command Thread.print -l=true * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build com.oracle.java.testlibrary.* * @build com.oracle.java.testlibrary.dcmd.* * @build PrintTest diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/dcmd/thread/PrintTest.java --- a/hotspot/test/serviceability/dcmd/thread/PrintTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/dcmd/thread/PrintTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -38,6 +38,10 @@ * @test * @summary Test of diagnostic command Thread.print * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build com.oracle.java.testlibrary.* * @build com.oracle.java.testlibrary.dcmd.* * @run testng PrintTest diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/dcmd/vm/ClassHierarchyTest.java --- a/hotspot/test/serviceability/dcmd/vm/ClassHierarchyTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/dcmd/vm/ClassHierarchyTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -25,6 +25,10 @@ * @test * @summary Test of diagnostic command VM.class_hierarchy * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build com.oracle.java.testlibrary.* * @build com.oracle.java.testlibrary.dcmd.* * @run testng ClassHierarchyTest diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/dcmd/vm/ClassLoaderStatsTest.java --- a/hotspot/test/serviceability/dcmd/vm/ClassLoaderStatsTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/dcmd/vm/ClassLoaderStatsTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,10 @@ * @test * @summary Test of diagnostic command VM.classloader_stats * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build com.oracle.java.testlibrary.* * @build com.oracle.java.testlibrary.dcmd.* * @run testng ClassLoaderStatsTest diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/dcmd/vm/CommandLineTest.java --- a/hotspot/test/serviceability/dcmd/vm/CommandLineTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/dcmd/vm/CommandLineTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -31,6 +31,10 @@ * @test * @summary Test of diagnostic command VM.command_line * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build com.oracle.java.testlibrary.* * @build com.oracle.java.testlibrary.dcmd.* * @run testng/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+ThereShouldNotBeAnyVMOptionNamedLikeThis CommandLineTest diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/dcmd/vm/DynLibsTest.java --- a/hotspot/test/serviceability/dcmd/vm/DynLibsTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/dcmd/vm/DynLibsTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -33,6 +33,10 @@ * @test * @summary Test of VM.dynlib diagnostic command via MBean * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build com.oracle.java.testlibrary.* * @build com.oracle.java.testlibrary.dcmd.* * @run testng DynLibsTest diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/dcmd/vm/FlagsTest.java --- a/hotspot/test/serviceability/dcmd/vm/FlagsTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/dcmd/vm/FlagsTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -30,6 +30,10 @@ * @test * @summary Test of diagnostic command VM.flags * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build com.oracle.java.testlibrary.* * @build com.oracle.java.testlibrary.dcmd.* * @run testng/othervm -Xmx129m -XX:+PrintGC -XX:+UnlockDiagnosticVMOptions -XX:+IgnoreUnrecognizedVMOptions -XX:+ThereShouldNotBeAnyVMOptionNamedLikeThis_Right -XX:-TieredCompilation FlagsTest diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/dcmd/vm/SystemPropertiesTest.java --- a/hotspot/test/serviceability/dcmd/vm/SystemPropertiesTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/dcmd/vm/SystemPropertiesTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -31,6 +31,10 @@ * @test * @summary Test of diagnostic command VM.system_properties * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build com.oracle.java.testlibrary.* * @build com.oracle.java.testlibrary.dcmd.* * @run testng SystemPropertiesTest diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/dcmd/vm/UptimeTest.java --- a/hotspot/test/serviceability/dcmd/vm/UptimeTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/dcmd/vm/UptimeTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -35,6 +35,10 @@ * @test * @summary Test of diagnostic command VM.uptime * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build com.oracle.java.testlibrary.* * @build com.oracle.java.testlibrary.dcmd.* * @run testng UptimeTest diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/jvmti/GetObjectSizeOverflow.java --- a/hotspot/test/serviceability/jvmti/GetObjectSizeOverflow.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/jvmti/GetObjectSizeOverflow.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -29,6 +29,11 @@ * @test * @bug 8027230 * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.instrument + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build ClassFileInstaller com.oracle.java.testlibrary.* GetObjectSizeOverflowAgent * @run main ClassFileInstaller GetObjectSizeOverflowAgent * @run main GetObjectSizeOverflow diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/jvmti/TestLambdaFormRetransformation.java --- a/hotspot/test/serviceability/jvmti/TestLambdaFormRetransformation.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/jvmti/TestLambdaFormRetransformation.java Fri Apr 03 16:34:51 2015 -0700 @@ -27,6 +27,10 @@ * @bug 8008678 * @summary JSR 292: constant pool reconstitution must support pseudo strings * @library /testlibrary + * @modules java.base/sun.misc + * java.instrument + * java.management + * jdk.jartool/sun.tools.jar * @compile -XDignore.symbol.file TestLambdaFormRetransformation.java * @run main TestLambdaFormRetransformation */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/jvmti/TestRedefineWithUnresolvedClass.java --- a/hotspot/test/serviceability/jvmti/TestRedefineWithUnresolvedClass.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/jvmti/TestRedefineWithUnresolvedClass.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,12 @@ * @summary Redefine a class with an UnresolvedClass reference in the constant pool. * @bug 8035150 * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.instrument + * java.management + * jdk.jartool/sun.tools.jar + * jdk.jvmstat/sun.jvmstat.monitor * @build com.oracle.java.testlibrary.* UnresolvedClassAgent * @run main TestRedefineWithUnresolvedClass */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/sa/jmap-hashcode/Test8028623.java --- a/hotspot/test/serviceability/sa/jmap-hashcode/Test8028623.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/sa/jmap-hashcode/Test8028623.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -26,6 +26,10 @@ * @bug 8028623 * @summary Test hashing of extended characters in Serviceability Agent. * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @ignore 8044416 * @build com.oracle.java.testlibrary.* * @compile -encoding utf8 Test8028623.java diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java --- a/hotspot/test/serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -44,6 +44,10 @@ * @key regression * @summary Regression test for hprof export issue due to large heaps (>2G) * @library /testlibrary + * @modules java.base/sun.misc + * java.compiler + * java.management/sun.management + * jdk.jvmstat/sun.jvmstat.monitor * @build com.oracle.java.testlibrary.* JMapHProfLargeHeapProc * @run main JMapHProfLargeHeapTest */ diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/testlibrary_tests/OutputAnalyzerReportingTest.java --- a/hotspot/test/testlibrary_tests/OutputAnalyzerReportingTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/testlibrary_tests/OutputAnalyzerReportingTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -28,6 +28,8 @@ * such as printing additional diagnostic info * (exit code, stdout, stderr, command line, etc.) * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import java.io.ByteArrayOutputStream; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/testlibrary_tests/OutputAnalyzerTest.java --- a/hotspot/test/testlibrary_tests/OutputAnalyzerTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/testlibrary_tests/OutputAnalyzerTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,8 @@ * @test * @summary Test the OutputAnalyzer utility class * @library /testlibrary + * @modules java.base/sun.misc + * java.management */ import com.oracle.java.testlibrary.OutputAnalyzer; diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/testlibrary_tests/RandomGeneratorTest.java --- a/hotspot/test/testlibrary_tests/RandomGeneratorTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/testlibrary_tests/RandomGeneratorTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,8 @@ * @test * @summary Verify correctnes of the random generator from Utility.java * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run driver RandomGeneratorTest SAME_SEED * @run driver RandomGeneratorTest NO_SEED * @run driver RandomGeneratorTest DIFFERENT_SEED diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/testlibrary_tests/RedefineClassTest.java --- a/hotspot/test/testlibrary_tests/RedefineClassTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/testlibrary_tests/RedefineClassTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,9 @@ * @test * @library /testlibrary * @summary Proof of concept test for RedefineClassHelper + * @modules java.compiler + * java.instrument + * jdk.jartool/sun.tools.jar * @build RedefineClassHelper * @run main RedefineClassHelper * @run main/othervm -javaagent:redefineagent.jar RedefineClassTest diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java --- a/hotspot/test/testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -39,6 +39,8 @@ * in com.oracle.java.testlibrary.Platform one and only one predicate * evaluates to true. * @library /testlibrary + * @modules java.base/sun.misc + * java.management * @run main TestMutuallyExclusivePlatformPredicates */ public class TestMutuallyExclusivePlatformPredicates { diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/testlibrary_tests/TestPlatformIsTieredSupported.java --- a/hotspot/test/testlibrary_tests/TestPlatformIsTieredSupported.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/testlibrary_tests/TestPlatformIsTieredSupported.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -29,6 +29,8 @@ * @test * @summary Verifies that Platform::isTieredSupported returns correct value. * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management * @build TestPlatformIsTieredSupported * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/testlibrary_tests/ctw/ClassesDirTest.java --- a/hotspot/test/testlibrary_tests/ctw/ClassesDirTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/testlibrary_tests/ctw/ClassesDirTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,9 @@ * @test * @bug 8012447 * @library /testlibrary /../../test/lib /testlibrary/ctw/src + * @modules java.base/sun.misc + * java.base/sun.reflect + * java.management * @build ClassFileInstaller sun.hotspot.tools.ctw.CompileTheWorld sun.hotspot.WhiteBox Foo Bar * @run main ClassFileInstaller sun.hotspot.WhiteBox Foo Bar * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/testlibrary_tests/ctw/ClassesListTest.java --- a/hotspot/test/testlibrary_tests/ctw/ClassesListTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/testlibrary_tests/ctw/ClassesListTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,9 @@ * @test * @bug 8012447 * @library /testlibrary /../../test/lib /testlibrary/ctw/src + * @modules java.base/sun.misc + * java.base/sun.reflect + * java.management * @build ClassFileInstaller sun.hotspot.tools.ctw.CompileTheWorld sun.hotspot.WhiteBox Foo Bar * @run main ClassFileInstaller sun.hotspot.WhiteBox Foo Bar * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/testlibrary_tests/ctw/JarDirTest.java --- a/hotspot/test/testlibrary_tests/ctw/JarDirTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/testlibrary_tests/ctw/JarDirTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,11 @@ * @test * @bug 8012447 * @library /testlibrary /../../test/lib /testlibrary/ctw/src + * @modules java.base/sun.misc + * java.base/sun.reflect + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build ClassFileInstaller com.oracle.java.testlibrary.* sun.hotspot.tools.ctw.CompileTheWorld sun.hotspot.WhiteBox Foo Bar * @run main ClassFileInstaller sun.hotspot.WhiteBox Foo Bar * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/testlibrary_tests/ctw/JarsTest.java --- a/hotspot/test/testlibrary_tests/ctw/JarsTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/testlibrary_tests/ctw/JarsTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,11 @@ * @test * @bug 8012447 * @library /testlibrary /../../test/lib /testlibrary/ctw/src + * @modules java.base/sun.misc + * java.base/sun.reflect + * java.compiler + * java.management + * jdk.jvmstat/sun.jvmstat.monitor * @build ClassFileInstaller com.oracle.java.testlibrary.* sun.hotspot.tools.ctw.CompileTheWorld sun.hotspot.WhiteBox Foo Bar * @run main ClassFileInstaller sun.hotspot.WhiteBox Foo Bar * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/testlibrary_tests/whitebox/vm_flags/BooleanTest.java --- a/hotspot/test/testlibrary_tests/whitebox/vm_flags/BooleanTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/testlibrary_tests/whitebox/vm_flags/BooleanTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,10 @@ * @test BooleanTest * @bug 8028756 * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.compiler + * java.management/sun.management + * jdk.jvmstat/sun.jvmstat.monitor * @build BooleanTest ClassFileInstaller sun.hotspot.WhiteBox com.oracle.java.testlibrary.* * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/testlibrary_tests/whitebox/vm_flags/DoubleTest.java --- a/hotspot/test/testlibrary_tests/whitebox/vm_flags/DoubleTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/testlibrary_tests/whitebox/vm_flags/DoubleTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,7 @@ * @test DoubleTest * @bug 8028756 * @library /testlibrary /../../test/lib + * @modules java.management/sun.management * @build DoubleTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/testlibrary_tests/whitebox/vm_flags/IntxTest.java --- a/hotspot/test/testlibrary_tests/whitebox/vm_flags/IntxTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/testlibrary_tests/whitebox/vm_flags/IntxTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,7 @@ * @test IntxTest * @bug 8028756 * @library /testlibrary /../../test/lib + * @modules java.management/sun.management * @build IntxTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/testlibrary_tests/whitebox/vm_flags/SizeTTest.java --- a/hotspot/test/testlibrary_tests/whitebox/vm_flags/SizeTTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/testlibrary_tests/whitebox/vm_flags/SizeTTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,8 @@ * @test SizeTTest * @bug 8054823 * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management/sun.management * @build SizeTTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/testlibrary_tests/whitebox/vm_flags/StringTest.java --- a/hotspot/test/testlibrary_tests/whitebox/vm_flags/StringTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/testlibrary_tests/whitebox/vm_flags/StringTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,7 @@ * @test StringTest * @bug 8028756 * @library /testlibrary /../../test/lib + * @modules java.management/sun.management * @build StringTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/testlibrary_tests/whitebox/vm_flags/Uint64Test.java --- a/hotspot/test/testlibrary_tests/whitebox/vm_flags/Uint64Test.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/testlibrary_tests/whitebox/vm_flags/Uint64Test.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,7 @@ * @test Uint64Test * @bug 8028756 * @library /testlibrary /../../test/lib + * @modules java.management/sun.management * @build Uint64Test * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff -r f40752db7773 -r 3ddc731d6980 hotspot/test/testlibrary_tests/whitebox/vm_flags/UintxTest.java --- a/hotspot/test/testlibrary_tests/whitebox/vm_flags/UintxTest.java Wed Jul 05 20:26:30 2017 +0200 +++ b/hotspot/test/testlibrary_tests/whitebox/vm_flags/UintxTest.java Fri Apr 03 16:34:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 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 @@ -25,6 +25,8 @@ * @test UintxTest * @bug 8028756 * @library /testlibrary /../../test/lib + * @modules java.base/sun.misc + * java.management/sun.management * @build UintxTest * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission