Version in base suite: 11.0.4+11-1~deb10u1 Version in overlay suite: 11.0.5+10-1~deb10u1 Base version: openjdk-11_11.0.5+10-1~deb10u1 Target version: openjdk-11_11.0.6+10-1~deb10u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/o/openjdk-11/openjdk-11_11.0.5+10-1~deb10u1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/o/openjdk-11/openjdk-11_11.0.6+10-1~deb10u1.dsc /srv/release.debian.org/tmp/CUoq2jA58D/openjdk-11-11.0.6+10/src/java.base/share/lib/security/cacerts |binary openjdk-11-11.0.6+10/.hg_archival.txt | 6 openjdk-11-11.0.6+10/.hgtags | 12 openjdk-11-11.0.6+10/debian/changelog | 53 openjdk-11-11.0.6+10/debian/control | 2 openjdk-11-11.0.6+10/debian/patches/reproducible-build-user.diff | 14 openjdk-11-11.0.6+10/debian/patches/reproducible-character-data.diff | 23 openjdk-11-11.0.6+10/debian/patches/reproducible-copyright-headers.diff | 64 openjdk-11-11.0.6+10/debian/patches/reproducible-module-info.diff | 18 openjdk-11-11.0.6+10/debian/patches/series | 4 openjdk-11-11.0.6+10/debian/rules | 33 openjdk-11-11.0.6+10/debian/tests/control | 4 openjdk-11-11.0.6+10/debian/tests/control.in | 4 openjdk-11-11.0.6+10/make/Help.gmk | 2 openjdk-11-11.0.6+10/make/MacBundles.gmk | 34 openjdk-11-11.0.6+10/make/Main.gmk | 1 openjdk-11-11.0.6+10/make/RunTests.gmk | 112 openjdk-11-11.0.6+10/make/RunTestsPrebuilt.gmk | 62 openjdk-11-11.0.6+10/make/RunTestsPrebuiltSpec.gmk | 16 openjdk-11-11.0.6+10/make/ToolsJdk.gmk | 3 openjdk-11-11.0.6+10/make/autoconf/basics.m4 | 17 openjdk-11-11.0.6+10/make/autoconf/flags.m4 | 10 openjdk-11-11.0.6+10/make/autoconf/spec.gmk.in | 6 openjdk-11-11.0.6+10/make/autoconf/toolchain.m4 | 2 openjdk-11-11.0.6+10/make/autoconf/version-numbers | 4 openjdk-11-11.0.6+10/make/common/MakeBase.gmk | 8 openjdk-11-11.0.6+10/make/common/NativeCompilation.gmk | 7 openjdk-11-11.0.6+10/make/conf/jib-profiles.js | 42 openjdk-11-11.0.6+10/make/copy/Copy-java.base.gmk | 12 openjdk-11-11.0.6+10/make/data/cacerts/README | 10 openjdk-11-11.0.6+10/make/data/cacerts/actalisauthenticationrootca | 40 openjdk-11-11.0.6+10/make/data/cacerts/addtrustclass1ca | 31 openjdk-11-11.0.6+10/make/data/cacerts/addtrustexternalca | 32 openjdk-11-11.0.6+10/make/data/cacerts/addtrustqualifiedca | 32 openjdk-11-11.0.6+10/make/data/cacerts/affirmtrustcommercialca | 27 openjdk-11-11.0.6+10/make/data/cacerts/affirmtrustnetworkingca | 27 openjdk-11-11.0.6+10/make/data/cacerts/affirmtrustpremiumca | 38 openjdk-11-11.0.6+10/make/data/cacerts/affirmtrustpremiumeccca | 20 openjdk-11-11.0.6+10/make/data/cacerts/amazonrootca1 | 27 openjdk-11-11.0.6+10/make/data/cacerts/amazonrootca2 | 38 openjdk-11-11.0.6+10/make/data/cacerts/amazonrootca3 | 19 openjdk-11-11.0.6+10/make/data/cacerts/amazonrootca4 | 20 openjdk-11-11.0.6+10/make/data/cacerts/baltimorecybertrustca | 28 openjdk-11-11.0.6+10/make/data/cacerts/buypassclass2ca | 38 openjdk-11-11.0.6+10/make/data/cacerts/buypassclass3ca | 38 openjdk-11-11.0.6+10/make/data/cacerts/camerfirmachambersca | 49 openjdk-11-11.0.6+10/make/data/cacerts/camerfirmachamberscommerceca | 35 openjdk-11-11.0.6+10/make/data/cacerts/camerfirmachambersignca | 48 openjdk-11-11.0.6+10/make/data/cacerts/certumca | 26 openjdk-11-11.0.6+10/make/data/cacerts/certumtrustednetworkca | 29 openjdk-11-11.0.6+10/make/data/cacerts/chunghwaepkirootca | 40 openjdk-11-11.0.6+10/make/data/cacerts/comodoaaaca | 32 openjdk-11-11.0.6+10/make/data/cacerts/comodoeccca | 23 openjdk-11-11.0.6+10/make/data/cacerts/comodorsaca | 41 openjdk-11-11.0.6+10/make/data/cacerts/digicertassuredidg2 | 29 openjdk-11-11.0.6+10/make/data/cacerts/digicertassuredidg3 | 22 openjdk-11-11.0.6+10/make/data/cacerts/digicertassuredidrootca | 29 openjdk-11-11.0.6+10/make/data/cacerts/digicertglobalrootca | 29 openjdk-11-11.0.6+10/make/data/cacerts/digicertglobalrootg2 | 29 openjdk-11-11.0.6+10/make/data/cacerts/digicertglobalrootg3 | 22 openjdk-11-11.0.6+10/make/data/cacerts/digicerthighassuranceevrootca | 30 openjdk-11-11.0.6+10/make/data/cacerts/digicerttrustedrootg4 | 39 openjdk-11-11.0.6+10/make/data/cacerts/dtrustclass3ca2 | 32 openjdk-11-11.0.6+10/make/data/cacerts/dtrustclass3ca2ev | 32 openjdk-11-11.0.6+10/make/data/cacerts/entrust2048ca | 32 openjdk-11-11.0.6+10/make/data/cacerts/entrustevca | 34 openjdk-11-11.0.6+10/make/data/cacerts/entrustrootcaec1 | 25 openjdk-11-11.0.6+10/make/data/cacerts/entrustrootcag2 | 32 openjdk-11-11.0.6+10/make/data/cacerts/geotrustglobalca | 27 openjdk-11-11.0.6+10/make/data/cacerts/geotrustprimaryca | 28 openjdk-11-11.0.6+10/make/data/cacerts/geotrustprimarycag2 | 24 openjdk-11-11.0.6+10/make/data/cacerts/geotrustprimarycag3 | 31 openjdk-11-11.0.6+10/make/data/cacerts/geotrustuniversalca | 38 openjdk-11-11.0.6+10/make/data/cacerts/globalsignca | 28 openjdk-11-11.0.6+10/make/data/cacerts/globalsigneccrootcar4 | 20 openjdk-11-11.0.6+10/make/data/cacerts/globalsigneccrootcar5 | 21 openjdk-11-11.0.6+10/make/data/cacerts/globalsignr2ca | 29 openjdk-11-11.0.6+10/make/data/cacerts/globalsignr3ca | 28 openjdk-11-11.0.6+10/make/data/cacerts/globalsignrootcar6 | 39 openjdk-11-11.0.6+10/make/data/cacerts/godaddyclass2ca | 31 openjdk-11-11.0.6+10/make/data/cacerts/godaddyrootg2ca | 30 openjdk-11-11.0.6+10/make/data/cacerts/identrustcommercial | 38 openjdk-11-11.0.6+10/make/data/cacerts/identrustdstx3 | 27 openjdk-11-11.0.6+10/make/data/cacerts/identrustpublicca | 38 openjdk-11-11.0.6+10/make/data/cacerts/keynectisrootca | 30 openjdk-11-11.0.6+10/make/data/cacerts/letsencryptisrgx1 | 38 openjdk-11-11.0.6+10/make/data/cacerts/luxtrustglobalroot2ca | 40 openjdk-11-11.0.6+10/make/data/cacerts/luxtrustglobalrootca | 28 openjdk-11-11.0.6+10/make/data/cacerts/quovadisrootca | 41 openjdk-11-11.0.6+10/make/data/cacerts/quovadisrootca1g3 | 38 openjdk-11-11.0.6+10/make/data/cacerts/quovadisrootca2 | 40 openjdk-11-11.0.6+10/make/data/cacerts/quovadisrootca2g3 | 38 openjdk-11-11.0.6+10/make/data/cacerts/quovadisrootca3 | 45 openjdk-11-11.0.6+10/make/data/cacerts/quovadisrootca3g3 | 38 openjdk-11-11.0.6+10/make/data/cacerts/secomscrootca1 | 27 openjdk-11-11.0.6+10/make/data/cacerts/secomscrootca2 | 28 openjdk-11-11.0.6+10/make/data/cacerts/securetrustca | 29 openjdk-11-11.0.6+10/make/data/cacerts/soneraclass2ca | 26 openjdk-11-11.0.6+10/make/data/cacerts/starfieldclass2ca | 31 openjdk-11-11.0.6+10/make/data/cacerts/starfieldrootg2ca | 30 openjdk-11-11.0.6+10/make/data/cacerts/starfieldservicesrootg2ca | 31 openjdk-11-11.0.6+10/make/data/cacerts/swisssigngoldg2ca | 40 openjdk-11-11.0.6+10/make/data/cacerts/swisssignplatinumg2ca | 40 openjdk-11-11.0.6+10/make/data/cacerts/swisssignsilverg2ca | 40 openjdk-11-11.0.6+10/make/data/cacerts/teliasonerarootcav1 | 37 openjdk-11-11.0.6+10/make/data/cacerts/thawtepremiumserverca | 27 openjdk-11-11.0.6+10/make/data/cacerts/thawteprimaryrootca | 32 openjdk-11-11.0.6+10/make/data/cacerts/thawteprimaryrootcag2 | 23 openjdk-11-11.0.6+10/make/data/cacerts/thawteprimaryrootcag3 | 32 openjdk-11-11.0.6+10/make/data/cacerts/ttelesecglobalrootclass2ca | 30 openjdk-11-11.0.6+10/make/data/cacerts/ttelesecglobalrootclass3ca | 30 openjdk-11-11.0.6+10/make/data/cacerts/usertrusteccca | 23 openjdk-11-11.0.6+10/make/data/cacerts/usertrustrsaca | 41 openjdk-11-11.0.6+10/make/data/cacerts/utnuserfirstobjectca | 33 openjdk-11-11.0.6+10/make/data/cacerts/verisignclass2g2ca | 26 openjdk-11-11.0.6+10/make/data/cacerts/verisignclass3ca | 21 openjdk-11-11.0.6+10/make/data/cacerts/verisignclass3g2ca | 26 openjdk-11-11.0.6+10/make/data/cacerts/verisignclass3g3ca | 31 openjdk-11-11.0.6+10/make/data/cacerts/verisignclass3g4ca | 28 openjdk-11-11.0.6+10/make/data/cacerts/verisignclass3g5ca | 35 openjdk-11-11.0.6+10/make/data/cacerts/verisigntsaca | 24 openjdk-11-11.0.6+10/make/data/cacerts/verisignuniversalrootca | 35 openjdk-11-11.0.6+10/make/data/cacerts/xrampglobalca | 32 openjdk-11-11.0.6+10/make/data/fontconfig/aix.fontconfig.properties | 188 openjdk-11-11.0.6+10/make/data/fontconfig/windows.fontconfig.properties | 28 openjdk-11-11.0.6+10/make/data/macosxsigning/entitlements.plist | 16 openjdk-11-11.0.6+10/make/data/tzdata/VERSION | 2 openjdk-11-11.0.6+10/make/data/tzdata/asia | 23 openjdk-11-11.0.6+10/make/data/tzdata/australasia | 42 openjdk-11-11.0.6+10/make/data/tzdata/europe | 186 openjdk-11-11.0.6+10/make/data/tzdata/leapseconds | 41 openjdk-11-11.0.6+10/make/data/tzdata/northamerica | 132 openjdk-11-11.0.6+10/make/data/tzdata/southamerica | 11 openjdk-11-11.0.6+10/make/gendata/Gendata-java.base.gmk | 20 openjdk-11-11.0.6+10/make/gendata/GendataBlacklistedCerts.gmk | 2 openjdk-11-11.0.6+10/make/gendata/GendataBreakIterator.gmk | 4 openjdk-11-11.0.6+10/make/gendata/GendataPublicSuffixList.gmk | 2 openjdk-11-11.0.6+10/make/hotspot/gensrc/GensrcDtrace.gmk | 5 openjdk-11-11.0.6+10/make/hotspot/lib/CompileJvm.gmk | 2 openjdk-11-11.0.6+10/make/jdk/src/classes/build/tools/generatecacerts/GenerateCacerts.java | 148 openjdk-11-11.0.6+10/make/launcher/Launcher-jdk.aot.gmk | 4 openjdk-11-11.0.6+10/make/launcher/Launcher-jdk.hotspot.agent.gmk | 4 openjdk-11-11.0.6+10/make/launcher/Launcher-jdk.jcmd.gmk | 8 openjdk-11-11.0.6+10/make/launcher/Launcher-jdk.jfr.gmk | 31 openjdk-11-11.0.6+10/make/launcher/LauncherCommon.gmk | 6 openjdk-11-11.0.6+10/make/lib/Lib-jdk.jdwp.agent.gmk | 3 openjdk-11-11.0.6+10/src/hotspot/cpu/aarch64/aarch64.ad | 483 openjdk-11-11.0.6+10/src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp | 1 openjdk-11-11.0.6+10/src/hotspot/cpu/aarch64/frame_aarch64.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp | 6 openjdk-11-11.0.6+10/src/hotspot/cpu/arm/arm.ad | 8 openjdk-11-11.0.6+10/src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp | 10 openjdk-11-11.0.6+10/src/hotspot/cpu/arm/frame_arm.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/cpu/arm/nativeInst_arm_32.hpp | 5 openjdk-11-11.0.6+10/src/hotspot/cpu/ppc/c2_globals_ppc.hpp | 6 openjdk-11-11.0.6+10/src/hotspot/cpu/ppc/nativeInst_ppc.hpp | 2 openjdk-11-11.0.6+10/src/hotspot/cpu/ppc/ppc.ad | 8 openjdk-11-11.0.6+10/src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp | 6 openjdk-11-11.0.6+10/src/hotspot/cpu/ppc/vm_version_ppc.cpp | 48 openjdk-11-11.0.6+10/src/hotspot/cpu/ppc/vm_version_ppc.hpp | 3 openjdk-11-11.0.6+10/src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp | 13 openjdk-11-11.0.6+10/src/hotspot/cpu/s390/interp_masm_s390.cpp | 10 openjdk-11-11.0.6+10/src/hotspot/cpu/s390/nativeInst_s390.hpp | 6 openjdk-11-11.0.6+10/src/hotspot/cpu/s390/s390.ad | 8 openjdk-11-11.0.6+10/src/hotspot/cpu/sparc/frame_sparc.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/cpu/sparc/nativeInst_sparc.cpp | 9 openjdk-11-11.0.6+10/src/hotspot/cpu/sparc/nativeInst_sparc.hpp | 14 openjdk-11-11.0.6+10/src/hotspot/cpu/sparc/sparc.ad | 8 openjdk-11-11.0.6+10/src/hotspot/cpu/x86/frame_x86.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/cpu/x86/globals_x86.hpp | 12 openjdk-11-11.0.6+10/src/hotspot/cpu/x86/macroAssembler_x86.cpp | 87 openjdk-11-11.0.6+10/src/hotspot/cpu/x86/nativeInst_x86.cpp | 69 openjdk-11-11.0.6+10/src/hotspot/cpu/x86/nativeInst_x86.hpp | 31 openjdk-11-11.0.6+10/src/hotspot/cpu/x86/stubGenerator_x86_64.cpp | 122 openjdk-11-11.0.6+10/src/hotspot/cpu/x86/vm_version_x86.cpp | 19 openjdk-11-11.0.6+10/src/hotspot/cpu/x86/vm_version_x86.hpp | 2 openjdk-11-11.0.6+10/src/hotspot/cpu/x86/x86.ad | 70 openjdk-11-11.0.6+10/src/hotspot/cpu/x86/x86_32.ad | 8 openjdk-11-11.0.6+10/src/hotspot/cpu/x86/x86_64.ad | 11 openjdk-11-11.0.6+10/src/hotspot/os/aix/os_aix.cpp | 50 openjdk-11-11.0.6+10/src/hotspot/os/aix/perfMemory_aix.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/os/bsd/os_bsd.cpp | 39 openjdk-11-11.0.6+10/src/hotspot/os/bsd/perfMemory_bsd.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/os/linux/os_linux.cpp | 17 openjdk-11-11.0.6+10/src/hotspot/os/linux/perfMemory_linux.cpp | 4 openjdk-11-11.0.6+10/src/hotspot/os/solaris/os_solaris.cpp | 21 openjdk-11-11.0.6+10/src/hotspot/os/solaris/perfMemory_solaris.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/os/windows/include/jvm_md.h | 2 openjdk-11-11.0.6+10/src/hotspot/os/windows/os_windows.cpp | 280 openjdk-11-11.0.6+10/src/hotspot/os/windows/os_windows.hpp | 6 openjdk-11-11.0.6+10/src/hotspot/os/windows/perfMemory_windows.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/os_cpu/linux_ppc/thread_linux_ppc.cpp | 29 openjdk-11-11.0.6+10/src/hotspot/os_cpu/linux_s390/thread_linux_s390.cpp | 32 openjdk-11-11.0.6+10/src/hotspot/share/adlc/formssel.cpp | 26 openjdk-11-11.0.6+10/src/hotspot/share/adlc/formssel.hpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/adlc/output_c.cpp | 4 openjdk-11-11.0.6+10/src/hotspot/share/adlc/output_h.cpp | 4 openjdk-11-11.0.6+10/src/hotspot/share/aot/aotLoader.cpp | 8 openjdk-11-11.0.6+10/src/hotspot/share/c1/c1_CodeStubs.hpp | 4 openjdk-11-11.0.6+10/src/hotspot/share/c1/c1_Compilation.hpp | 5 openjdk-11-11.0.6+10/src/hotspot/share/c1/c1_GraphBuilder.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/c1/c1_LIRGenerator.cpp | 22 openjdk-11-11.0.6+10/src/hotspot/share/c1/c1_LIRGenerator.hpp | 3 openjdk-11-11.0.6+10/src/hotspot/share/c1/c1_Optimizer.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/c1/c1_Runtime1.cpp | 3 openjdk-11-11.0.6+10/src/hotspot/share/ci/ciField.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/ci/ciInstanceKlass.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/ci/ciReplay.cpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/classfile/classLoaderData.cpp | 8 openjdk-11-11.0.6+10/src/hotspot/share/classfile/javaClasses.cpp | 144 openjdk-11-11.0.6+10/src/hotspot/share/classfile/javaClasses.hpp | 117 openjdk-11-11.0.6+10/src/hotspot/share/classfile/javaClasses.inline.hpp | 3 openjdk-11-11.0.6+10/src/hotspot/share/classfile/systemDictionary.hpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/classfile/vmSymbols.cpp | 7 openjdk-11-11.0.6+10/src/hotspot/share/classfile/vmSymbols.hpp | 7 openjdk-11-11.0.6+10/src/hotspot/share/code/nmethod.cpp | 4 openjdk-11-11.0.6+10/src/hotspot/share/compiler/compileBroker.cpp | 38 openjdk-11-11.0.6+10/src/hotspot/share/compiler/compileBroker.hpp | 3 openjdk-11-11.0.6+10/src/hotspot/share/compiler/compilerDirectives.cpp | 5 openjdk-11-11.0.6+10/src/hotspot/share/gc/cms/cmsHeap.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/gc/cms/compactibleFreeListSpace.cpp | 17 openjdk-11-11.0.6+10/src/hotspot/share/gc/cms/compactibleFreeListSpace.hpp | 14 openjdk-11-11.0.6+10/src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp | 17 openjdk-11-11.0.6+10/src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.hpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/gc/cms/gSpaceCounters.hpp | 4 openjdk-11-11.0.6+10/src/hotspot/share/gc/epsilon/epsilonArguments.cpp | 16 openjdk-11-11.0.6+10/src/hotspot/share/gc/epsilon/epsilonHeap.cpp | 4 openjdk-11-11.0.6+10/src/hotspot/share/gc/g1/g1Arguments.cpp | 6 openjdk-11-11.0.6+10/src/hotspot/share/gc/g1/g1CollectedHeap.cpp | 6 openjdk-11-11.0.6+10/src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp | 4 openjdk-11-11.0.6+10/src/hotspot/share/gc/parallel/vmPSOperations.cpp | 10 openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/c1/barrierSetC1.cpp | 12 openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/c1/barrierSetC1.hpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/c2/barrierSetC2.cpp | 40 openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/c2/barrierSetC2.hpp | 5 openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/gcLocker.cpp | 14 openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/gcLocker.hpp | 8 openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/genCollectedHeap.cpp | 23 openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/generation.cpp | 6 openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/generation.hpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/taskqueue.inline.hpp | 5 openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/vmGCOperations.hpp | 3 openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/workgroup.cpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp | 81 openjdk-11-11.0.6+10/src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp | 17 openjdk-11-11.0.6+10/src/hotspot/share/interpreter/abstractInterpreter.cpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/interpreter/interpreterRuntime.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/interpreter/linkResolver.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/interpreter/rewriter.cpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/interpreter/templateInterpreter.cpp | 14 openjdk-11-11.0.6+10/src/hotspot/share/jfr/dcmd/jfrDcmds.cpp | 8 openjdk-11-11.0.6+10/src/hotspot/share/jfr/jni/jfrJavaCall.cpp | 6 openjdk-11-11.0.6+10/src/hotspot/share/jfr/jni/jfrJavaSupport.cpp | 4 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.cpp | 27 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.hpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/bitset.hpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/dfsClosure.cpp | 46 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/dfsClosure.hpp | 4 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/edge.hpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/edgeStore.cpp | 316 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/edgeStore.hpp | 90 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.cpp | 179 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.hpp | 10 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/pathToGcRootsOperation.cpp | 132 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/pathToGcRootsOperation.hpp | 46 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.cpp | 65 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.hpp | 12 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/eventEmitter.cpp | 148 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/eventEmitter.hpp | 58 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.cpp | 105 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.hpp | 13 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleDescription.cpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.cpp | 61 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.hpp | 14 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/rootResolver.hpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/emitEventOperation.cpp | 234 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/emitEventOperation.hpp | 69 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/leakProfiler.cpp | 115 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/leakProfiler.hpp | 24 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/sampling/objectSampler.cpp | 189 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/sampling/objectSampler.hpp | 35 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/sampling/sampleList.cpp | 4 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/sampling/sampleList.hpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/startOperation.hpp | 30 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/stopOperation.hpp | 25 openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/utilities/vmOperation.hpp | 41 openjdk-11-11.0.6+10/src/hotspot/share/jfr/metadata/metadata.xml | 8 openjdk-11-11.0.6+10/src/hotspot/share/jfr/periodic/jfrOSInterface.cpp | 21 openjdk-11-11.0.6+10/src/hotspot/share/jfr/periodic/jfrOSInterface.hpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/jfr/periodic/jfrPeriodic.cpp | 10 openjdk-11-11.0.6+10/src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp | 4 openjdk-11-11.0.6+10/src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp | 19 openjdk-11-11.0.6+10/src/hotspot/share/jfr/recorder/checkpoint/types/jfrThreadGroup.cpp | 7 openjdk-11-11.0.6+10/src/hotspot/share/jfr/recorder/checkpoint/types/jfrType.cpp | 4 openjdk-11-11.0.6+10/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdBits.inline.hpp | 50 openjdk-11-11.0.6+10/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdMacros.hpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/jfr/recorder/repository/jfrChunkState.cpp | 5 openjdk-11-11.0.6+10/src/hotspot/share/jfr/recorder/repository/jfrChunkWriter.cpp | 8 openjdk-11-11.0.6+10/src/hotspot/share/jfr/recorder/repository/jfrEmergencyDump.cpp | 300 openjdk-11-11.0.6+10/src/hotspot/share/jfr/recorder/repository/jfrEmergencyDump.hpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/jfr/recorder/repository/jfrRepository.cpp | 327 openjdk-11-11.0.6+10/src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp | 50 openjdk-11-11.0.6+10/src/hotspot/share/jfr/recorder/stacktrace/jfrStackTraceRepository.cpp | 73 openjdk-11-11.0.6+10/src/hotspot/share/jfr/recorder/stacktrace/jfrStackTraceRepository.hpp | 28 openjdk-11-11.0.6+10/src/hotspot/share/jfr/support/jfrFlush.cpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/jfr/support/jfrFlush.hpp | 8 openjdk-11-11.0.6+10/src/hotspot/share/jfr/support/jfrThreadLocal.cpp | 8 openjdk-11-11.0.6+10/src/hotspot/share/jfr/support/jfrThreadLocal.hpp | 4 openjdk-11-11.0.6+10/src/hotspot/share/jfr/writers/jfrJavaEventWriter.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/jvmci/jvmciCompilerToVM.cpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/jvmci/jvmciEnv.cpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/jvmci/jvmciJavaClasses.cpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/logging/logFileOutput.cpp | 21 openjdk-11-11.0.6+10/src/hotspot/share/logging/logFileOutput.hpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/memory/allocation.cpp | 10 openjdk-11-11.0.6+10/src/hotspot/share/memory/allocation.hpp | 13 openjdk-11-11.0.6+10/src/hotspot/share/memory/heapShared.cpp | 86 openjdk-11-11.0.6+10/src/hotspot/share/memory/heapShared.hpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/memory/metaspace.cpp | 43 openjdk-11-11.0.6+10/src/hotspot/share/memory/metaspace.hpp | 4 openjdk-11-11.0.6+10/src/hotspot/share/memory/metaspace/metaspaceCommon.cpp | 14 openjdk-11-11.0.6+10/src/hotspot/share/memory/metaspace/metaspaceCommon.hpp | 5 openjdk-11-11.0.6+10/src/hotspot/share/memory/metaspace/printCLDMetaspaceInfoClosure.cpp | 67 openjdk-11-11.0.6+10/src/hotspot/share/memory/metaspace/printCLDMetaspaceInfoClosure.hpp | 5 openjdk-11-11.0.6+10/src/hotspot/share/memory/metaspace/printMetaspaceInfoKlassClosure.cpp | 40 openjdk-11-11.0.6+10/src/hotspot/share/memory/metaspace/printMetaspaceInfoKlassClosure.hpp | 6 openjdk-11-11.0.6+10/src/hotspot/share/memory/metaspace/virtualSpaceList.cpp | 78 openjdk-11-11.0.6+10/src/hotspot/share/memory/metaspace/virtualSpaceList.hpp | 17 openjdk-11-11.0.6+10/src/hotspot/share/memory/metaspace/virtualSpaceNode.hpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/memory/metaspaceShared.cpp | 38 openjdk-11-11.0.6+10/src/hotspot/share/memory/metaspaceShared.hpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/memory/operator_new.cpp | 9 openjdk-11-11.0.6+10/src/hotspot/share/memory/universe.cpp | 5 openjdk-11-11.0.6+10/src/hotspot/share/oops/instanceKlass.cpp | 4 openjdk-11-11.0.6+10/src/hotspot/share/oops/klassVtable.cpp | 13 openjdk-11-11.0.6+10/src/hotspot/share/opto/callnode.cpp | 20 openjdk-11-11.0.6+10/src/hotspot/share/opto/castnode.cpp | 52 openjdk-11-11.0.6+10/src/hotspot/share/opto/castnode.hpp | 13 openjdk-11-11.0.6+10/src/hotspot/share/opto/cfgnode.cpp | 7 openjdk-11-11.0.6+10/src/hotspot/share/opto/classes.hpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/opto/compile.cpp | 3 openjdk-11-11.0.6+10/src/hotspot/share/opto/escape.cpp | 8 openjdk-11-11.0.6+10/src/hotspot/share/opto/gcm.cpp | 17 openjdk-11-11.0.6+10/src/hotspot/share/opto/graphKit.cpp | 63 openjdk-11-11.0.6+10/src/hotspot/share/opto/graphKit.hpp | 9 openjdk-11-11.0.6+10/src/hotspot/share/opto/ifnode.cpp | 49 openjdk-11-11.0.6+10/src/hotspot/share/opto/library_call.cpp | 17 openjdk-11-11.0.6+10/src/hotspot/share/opto/loopPredicate.cpp | 4 openjdk-11-11.0.6+10/src/hotspot/share/opto/loopTransform.cpp | 193 openjdk-11-11.0.6+10/src/hotspot/share/opto/loopnode.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/opto/loopnode.hpp | 12 openjdk-11-11.0.6+10/src/hotspot/share/opto/loopopts.cpp | 59 openjdk-11-11.0.6+10/src/hotspot/share/opto/machnode.cpp | 7 openjdk-11-11.0.6+10/src/hotspot/share/opto/machnode.hpp | 13 openjdk-11-11.0.6+10/src/hotspot/share/opto/macro.cpp | 42 openjdk-11-11.0.6+10/src/hotspot/share/opto/macro.hpp | 30 openjdk-11-11.0.6+10/src/hotspot/share/opto/macroArrayCopy.cpp | 16 openjdk-11-11.0.6+10/src/hotspot/share/opto/matcher.cpp | 3 openjdk-11-11.0.6+10/src/hotspot/share/opto/memnode.cpp | 16 openjdk-11-11.0.6+10/src/hotspot/share/opto/node.cpp | 20 openjdk-11-11.0.6+10/src/hotspot/share/opto/node.hpp | 9 openjdk-11-11.0.6+10/src/hotspot/share/opto/phaseX.cpp | 81 openjdk-11-11.0.6+10/src/hotspot/share/opto/phaseX.hpp | 6 openjdk-11-11.0.6+10/src/hotspot/share/opto/split_if.cpp | 129 openjdk-11-11.0.6+10/src/hotspot/share/opto/subnode.cpp | 9 openjdk-11-11.0.6+10/src/hotspot/share/opto/superword.cpp | 7 openjdk-11-11.0.6+10/src/hotspot/share/prims/jni.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/prims/jniCheck.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/prims/jvmtiEnter.xsl | 1 openjdk-11-11.0.6+10/src/hotspot/share/prims/jvmtiEnv.cpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/prims/jvmtiExport.cpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/prims/methodHandles.cpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/prims/whitebox.cpp | 12 openjdk-11-11.0.6+10/src/hotspot/share/runtime/fieldDescriptor.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/runtime/fieldDescriptor.hpp | 48 openjdk-11-11.0.6+10/src/hotspot/share/runtime/fieldDescriptor.inline.hpp | 82 openjdk-11-11.0.6+10/src/hotspot/share/runtime/flags/jvmFlag.cpp | 36 openjdk-11-11.0.6+10/src/hotspot/share/runtime/globals.hpp | 6 openjdk-11-11.0.6+10/src/hotspot/share/runtime/mutex.cpp | 6 openjdk-11-11.0.6+10/src/hotspot/share/runtime/mutex.hpp | 7 openjdk-11-11.0.6+10/src/hotspot/share/runtime/mutexLocker.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/runtime/reflection.cpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/runtime/sharedRuntime.cpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/runtime/thread.cpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/runtime/vmStructs.cpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/runtime/vmThread.cpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/runtime/vm_operations.hpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/runtime/vm_version.hpp | 5 openjdk-11-11.0.6+10/src/hotspot/share/services/diagnosticCommand.cpp | 1 openjdk-11-11.0.6+10/src/hotspot/share/services/heapDumper.cpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/services/memTracker.cpp | 25 openjdk-11-11.0.6+10/src/hotspot/share/services/memTracker.hpp | 8 openjdk-11-11.0.6+10/src/hotspot/share/utilities/concurrentHashTable.hpp | 2 openjdk-11-11.0.6+10/src/hotspot/share/utilities/concurrentHashTable.inline.hpp | 8 openjdk-11-11.0.6+10/src/hotspot/share/utilities/debug.cpp | 15 openjdk-11-11.0.6+10/src/hotspot/share/utilities/ostream.cpp | 77 openjdk-11-11.0.6+10/src/hotspot/share/utilities/ostream.hpp | 23 openjdk-11-11.0.6+10/src/hotspot/share/utilities/vmError.cpp | 46 openjdk-11-11.0.6+10/src/hotspot/share/utilities/vmError.hpp | 3 openjdk-11-11.0.6+10/src/java.base/linux/classes/sun/nio/fs/LinuxFileSystem.java | 20 openjdk-11-11.0.6+10/src/java.base/linux/classes/sun/nio/fs/LinuxNativeDispatcher.java | 14 openjdk-11-11.0.6+10/src/java.base/linux/native/libnio/fs/LinuxNativeDispatcher.c | 11 openjdk-11-11.0.6+10/src/java.base/macosx/native/libosxsecurity/KeystoreImpl.m | 6 openjdk-11-11.0.6+10/src/java.base/share/classes/com/sun/crypto/provider/JceKeyStore.java | 61 openjdk-11-11.0.6+10/src/java.base/share/classes/com/sun/crypto/provider/KeyProtector.java | 28 openjdk-11-11.0.6+10/src/java.base/share/classes/com/sun/java/util/jar/pack/ClassReader.java | 39 openjdk-11-11.0.6+10/src/java.base/share/classes/java/io/BufferedReader.java | 4 openjdk-11-11.0.6+10/src/java.base/share/classes/java/io/File.java | 10 openjdk-11-11.0.6+10/src/java.base/share/classes/java/io/ObjectInputFilter.java | 3 openjdk-11-11.0.6+10/src/java.base/share/classes/java/io/ObjectInputStream.java | 76 openjdk-11-11.0.6+10/src/java.base/share/classes/java/lang/Integer.java | 19 openjdk-11-11.0.6+10/src/java.base/share/classes/java/lang/Module.java | 3 openjdk-11-11.0.6+10/src/java.base/share/classes/java/lang/ModuleLayer.java | 5 openjdk-11-11.0.6+10/src/java.base/share/classes/java/lang/StackFrameInfo.java | 22 openjdk-11-11.0.6+10/src/java.base/share/classes/java/lang/invoke/Invokers.java | 4 openjdk-11-11.0.6+10/src/java.base/share/classes/java/lang/invoke/MethodHandle.java | 2 openjdk-11-11.0.6+10/src/java.base/share/classes/java/lang/invoke/MethodHandles.java | 2 openjdk-11-11.0.6+10/src/java.base/share/classes/java/lang/invoke/VarHandle.java | 2 openjdk-11-11.0.6+10/src/java.base/share/classes/java/lang/module/Configuration.java | 29 openjdk-11-11.0.6+10/src/java.base/share/classes/java/lang/module/ModuleDescriptor.java | 116 openjdk-11-11.0.6+10/src/java.base/share/classes/java/lang/module/ModuleFinder.java | 2 openjdk-11-11.0.6+10/src/java.base/share/classes/java/lang/reflect/ProxyGenerator.java | 2 openjdk-11-11.0.6+10/src/java.base/share/classes/java/net/URL.java | 7 openjdk-11-11.0.6+10/src/java.base/share/classes/java/nio/channels/Selector.java | 4 openjdk-11-11.0.6+10/src/java.base/share/classes/java/nio/file/Files.java | 2 openjdk-11-11.0.6+10/src/java.base/share/classes/java/security/CodeSource.java | 2 openjdk-11-11.0.6+10/src/java.base/share/classes/java/security/UnresolvedPermission.java | 2 openjdk-11-11.0.6+10/src/java.base/share/classes/java/security/cert/CertificateRevokedException.java | 2 openjdk-11-11.0.6+10/src/java.base/share/classes/java/util/Calendar.java | 3 openjdk-11-11.0.6+10/src/java.base/share/classes/java/util/EnumSet.java | 16 openjdk-11-11.0.6+10/src/java.base/share/classes/java/util/ImmutableCollections.java | 31 openjdk-11-11.0.6+10/src/java.base/share/classes/javax/net/ssl/SSLEngine.java | 2 openjdk-11-11.0.6+10/src/java.base/share/classes/javax/net/ssl/SSLSocket.java | 2 openjdk-11-11.0.6+10/src/java.base/share/classes/jdk/internal/misc/JavaObjectInputStreamReadString.java | 38 openjdk-11-11.0.6+10/src/java.base/share/classes/jdk/internal/misc/SharedSecrets.java | 12 openjdk-11-11.0.6+10/src/java.base/share/classes/jdk/internal/module/ArchivedModuleGraph.java | 25 openjdk-11-11.0.6+10/src/java.base/share/classes/jdk/internal/module/Builder.java | 13 openjdk-11-11.0.6+10/src/java.base/share/classes/jdk/internal/module/ExplodedSystemModules.java | 5 openjdk-11-11.0.6+10/src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java | 29 openjdk-11-11.0.6+10/src/java.base/share/classes/jdk/internal/module/ModuleInfo.java | 7 openjdk-11-11.0.6+10/src/java.base/share/classes/jdk/internal/module/ModulePatcher.java | 3 openjdk-11-11.0.6+10/src/java.base/share/classes/jdk/internal/module/ModulePath.java | 5 openjdk-11-11.0.6+10/src/java.base/share/classes/jdk/internal/module/ServicesCatalog.java | 5 openjdk-11-11.0.6+10/src/java.base/share/classes/jdk/internal/module/SystemModuleFinders.java | 6 openjdk-11-11.0.6+10/src/java.base/share/classes/jdk/internal/util/ArraysSupport.java | 2 openjdk-11-11.0.6+10/src/java.base/share/classes/jdk/internal/util/StaticProperty.java | 17 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/net/spi/DefaultProxySelector.java | 2 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/net/www/MessageHeader.java | 38 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/net/www/http/HttpClient.java | 26 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/jca/ProviderConfig.java | 6 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/provider/DSA.java | 2 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/provider/JavaKeyStore.java | 19 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/provider/certpath/IndexedCollectionCertStore.java | 4 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/ssl/Alert.java | 10 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/ssl/CertSignAlgsExtension.java | 12 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/ssl/CertificateMessage.java | 8 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/ssl/CertificateVerify.java | 41 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/ssl/ClientHello.java | 15 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/ssl/DHServerKeyExchange.java | 2 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/ssl/ECDHClientKeyExchange.java | 7 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/ssl/ECDHKeyExchange.java | 7 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/ssl/ECDHServerKeyExchange.java | 2 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/ssl/Finished.java | 34 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/ssl/HandshakeHash.java | 20 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/ssl/PreSharedKeyExtension.java | 4 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/ssl/SSLCipher.java | 10 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java | 3 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java | 12 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/ssl/SignatureScheme.java | 48 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/ssl/SupportedGroupsExtension.java | 21 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/ssl/X509Authentication.java | 21 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/tools/keytool/Main.java | 6 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/util/CurveDB.java | 19 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/util/DerValue.java | 2 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/util/ECUtil.java | 18 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/util/GCMParameters.java | 153 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/util/IOUtils.java | 70 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/util/SignatureUtil.java | 47 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/validator/PKIXValidator.java | 102 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/x509/AVA.java | 2 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/x509/OCSPNoCheckExtension.java | 6 openjdk-11-11.0.6+10/src/java.base/share/classes/sun/security/x509/X500Name.java | 176 openjdk-11-11.0.6+10/src/java.base/share/conf/security/java.security | 39 openjdk-11-11.0.6+10/src/java.base/share/native/libzip/Deflater.c | 2 openjdk-11-11.0.6+10/src/java.base/share/native/libzip/zip_util.c | 42 openjdk-11-11.0.6+10/src/java.base/unix/classes/sun/nio/fs/UnixNativeDispatcher.java | 12 openjdk-11-11.0.6+10/src/java.base/unix/native/libjava/TimeZone_md.c | 117 openjdk-11-11.0.6+10/src/java.base/unix/native/libnet/NetworkInterface.c | 1 openjdk-11-11.0.6+10/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c | 47 openjdk-11-11.0.6+10/src/java.base/windows/native/libjava/canonicalize_md.c | 80 openjdk-11-11.0.6+10/src/java.base/windows/native/libjava/io_util_md.h | 2 openjdk-11-11.0.6+10/src/java.base/windows/native/libnet/NetworkInterface_winXP.c | 2 openjdk-11-11.0.6+10/src/java.desktop/macosx/classes/sun/awt/CGraphicsConfig.java | 18 openjdk-11-11.0.6+10/src/java.desktop/macosx/classes/sun/awt/CGraphicsDevice.java | 29 openjdk-11-11.0.6+10/src/java.desktop/macosx/classes/sun/awt/CGraphicsEnvironment.java | 41 openjdk-11-11.0.6+10/src/java.desktop/macosx/classes/sun/font/CFont.java | 7 openjdk-11-11.0.6+10/src/java.desktop/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java | 18 openjdk-11-11.0.6+10/src/java.desktop/macosx/classes/sun/java2d/opengl/CGLSurfaceData.java | 11 openjdk-11-11.0.6+10/src/java.desktop/macosx/classes/sun/lwawt/LWComponentPeer.java | 62 openjdk-11-11.0.6+10/src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java | 13 openjdk-11-11.0.6+10/src/java.desktop/macosx/classes/sun/lwawt/macosx/CRobot.java | 21 openjdk-11-11.0.6+10/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.m | 4 openjdk-11-11.0.6+10/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m | 2 openjdk-11-11.0.6+10/src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsConfig.m | 50 openjdk-11-11.0.6+10/src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsDevice.m | 138 openjdk-11-11.0.6+10/src/java.desktop/macosx/native/libawt_lwawt/awt/CRobot.m | 7 openjdk-11-11.0.6+10/src/java.desktop/macosx/native/libawt_lwawt/font/AWTFont.h | 3 openjdk-11-11.0.6+10/src/java.desktop/macosx/native/libawt_lwawt/font/AWTFont.m | 48 openjdk-11-11.0.6+10/src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLSurfaceData.m | 41 openjdk-11-11.0.6+10/src/java.desktop/share/classes/com/sun/beans/introspect/MethodInfo.java | 14 openjdk-11-11.0.6+10/src/java.desktop/share/classes/java/awt/color/ICC_Profile.java | 44 openjdk-11-11.0.6+10/src/java.desktop/share/classes/java/beans/beancontext/BeanContextSupport.java | 16 openjdk-11-11.0.6+10/src/java.desktop/share/classes/javax/swing/ToolTipManager.java | 49 openjdk-11-11.0.6+10/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java | 5 openjdk-11-11.0.6+10/src/java.desktop/share/classes/sun/font/Font2D.java | 7 openjdk-11-11.0.6+10/src/java.desktop/share/classes/sun/font/FontScaler.java | 19 openjdk-11-11.0.6+10/src/java.desktop/share/classes/sun/font/FreetypeFontScaler.java | 6 openjdk-11-11.0.6+10/src/java.desktop/share/classes/sun/font/NullFontScaler.java | 2 openjdk-11-11.0.6+10/src/java.desktop/share/classes/sun/font/SunFontManager.java | 3 openjdk-11-11.0.6+10/src/java.desktop/share/classes/sun/font/SunLayoutEngine.java | 89 openjdk-11-11.0.6+10/src/java.desktop/share/classes/sun/font/TrueTypeFont.java | 9 openjdk-11-11.0.6+10/src/java.desktop/share/classes/sun/java2d/marlin/DMarlinRenderingEngine.java | 3 openjdk-11-11.0.6+10/src/java.desktop/share/classes/sun/java2d/marlin/MarlinRenderingEngine.java | 3 openjdk-11-11.0.6+10/src/java.desktop/share/classes/sun/java2d/marlin/Version.java | 2 openjdk-11-11.0.6+10/src/java.desktop/share/classes/sun/java2d/opengl/OGLSurfaceData.java | 9 openjdk-11-11.0.6+10/src/java.desktop/share/native/common/font/fontscalerdefs.h | 24 openjdk-11-11.0.6+10/src/java.desktop/share/native/common/java2d/opengl/OGLSurfaceData.c | 12 openjdk-11-11.0.6+10/src/java.desktop/share/native/common/java2d/opengl/OGLSurfaceData.h | 6 openjdk-11-11.0.6+10/src/java.desktop/share/native/libawt/awt/image/BufImgSurfaceData.c | 3 openjdk-11-11.0.6+10/src/java.desktop/share/native/libfontmanager/HBShaper.c | 12 openjdk-11-11.0.6+10/src/java.desktop/share/native/libfontmanager/freetypeScaler.c | 183 openjdk-11-11.0.6+10/src/java.desktop/share/native/libfontmanager/hb-jdk-font.cc | 160 openjdk-11-11.0.6+10/src/java.desktop/share/native/libfontmanager/hb-jdk.h | 5 openjdk-11-11.0.6+10/src/java.desktop/share/native/libfontmanager/sunFont.c | 29 openjdk-11-11.0.6+10/src/java.desktop/unix/classes/sun/awt/X11/XBaseWindow.java | 44 openjdk-11-11.0.6+10/src/java.desktop/unix/classes/sun/awt/X11/XConstants.java | 5 openjdk-11-11.0.6+10/src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java | 18 openjdk-11-11.0.6+10/src/java.desktop/unix/classes/sun/java2d/opengl/GLXSurfaceData.java | 5 openjdk-11-11.0.6+10/src/java.desktop/unix/legal/xwd.md | 34 openjdk-11-11.0.6+10/src/java.desktop/unix/legal/xwindows.md | 36 openjdk-11-11.0.6+10/src/java.desktop/unix/native/common/awt/fontpath.c | 31 openjdk-11-11.0.6+10/src/java.desktop/unix/native/common/java2d/opengl/GLXSurfaceData.c | 54 openjdk-11-11.0.6+10/src/java.desktop/unix/native/common/java2d/x11/X11SurfaceData.c | 48 openjdk-11-11.0.6+10/src/java.desktop/unix/native/common/java2d/x11/X11SurfaceData.h | 2 openjdk-11-11.0.6+10/src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c | 75 openjdk-11-11.0.6+10/src/java.desktop/unix/native/libawt_xawt/awt/awt_Robot.c | 3 openjdk-11-11.0.6+10/src/java.desktop/unix/native/libawt_xawt/awt/gtk2_interface.c | 6 openjdk-11-11.0.6+10/src/java.desktop/unix/native/libawt_xawt/awt/list.c | 107 openjdk-11-11.0.6+10/src/java.desktop/unix/native/libawt_xawt/awt/list.h | 61 openjdk-11-11.0.6+10/src/java.desktop/unix/native/libawt_xawt/awt/multiVis.c | 772 - openjdk-11-11.0.6+10/src/java.desktop/unix/native/libawt_xawt/awt/multiVis.h | 48 openjdk-11-11.0.6+10/src/java.desktop/unix/native/libawt_xawt/awt/robot_common.c | 101 openjdk-11-11.0.6+10/src/java.desktop/unix/native/libawt_xawt/awt/robot_common.h | 39 openjdk-11-11.0.6+10/src/java.desktop/unix/native/libawt_xawt/awt/wsutils.h | 135 openjdk-11-11.0.6+10/src/java.desktop/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java | 103 openjdk-11-11.0.6+10/src/java.desktop/windows/classes/sun/java2d/opengl/WGLSurfaceData.java | 6 openjdk-11-11.0.6+10/src/java.desktop/windows/native/common/awt/systemscale/systemScale.cpp | 31 openjdk-11-11.0.6+10/src/java.desktop/windows/native/libawt/java2d/opengl/WGLSurfaceData.c | 45 openjdk-11-11.0.6+10/src/java.desktop/windows/native/libawt/windows/ShellFolder2.cpp | 5 openjdk-11-11.0.6+10/src/java.desktop/windows/native/libawt/windows/awt_Win32GraphicsDevice.cpp | 2 openjdk-11-11.0.6+10/src/java.instrument/share/classes/java/lang/instrument/package-info.java | 2 openjdk-11-11.0.6+10/src/java.instrument/share/native/libinstrument/JPLISAgent.c | 1 openjdk-11-11.0.6+10/src/java.instrument/unix/native/libinstrument/FileSystemSupport_md.c | 2 openjdk-11-11.0.6+10/src/java.instrument/windows/native/libinstrument/FileSystemSupport_md.c | 2 openjdk-11-11.0.6+10/src/java.logging/share/classes/java/util/logging/Handler.java | 5 openjdk-11-11.0.6+10/src/java.logging/share/classes/java/util/logging/MemoryHandler.java | 4 openjdk-11-11.0.6+10/src/java.logging/share/classes/java/util/logging/StreamHandler.java | 4 openjdk-11-11.0.6+10/src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java | 6 openjdk-11-11.0.6+10/src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java | 10 openjdk-11-11.0.6+10/src/java.net.http/share/classes/jdk/internal/net/http/HttpConnection.java | 9 openjdk-11-11.0.6+10/src/java.net.http/share/classes/jdk/internal/net/http/MultiExchange.java | 55 openjdk-11-11.0.6+10/src/java.net.http/share/classes/jdk/internal/net/http/PlainHttpConnection.java | 4 openjdk-11-11.0.6+10/src/java.rmi/share/classes/java/rmi/server/RemoteObjectInvocationHandler.java | 10 openjdk-11-11.0.6+10/src/java.rmi/share/classes/sun/rmi/registry/RegistryImpl_Skel.java | 26 openjdk-11-11.0.6+10/src/java.rmi/share/classes/sun/rmi/server/UnicastRef.java | 5 openjdk-11-11.0.6+10/src/java.rmi/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java | 6 openjdk-11-11.0.6+10/src/java.security.jgss/macosx/native/libosxkrb5/nativeccache.c | 6 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/javax/security/auth/kerberos/JavaxSecurityAuthKerberosAccessImpl.java | 16 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosPrincipal.java | 7 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosTicket.java | 8 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5Context.java | 14 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5InitCredential.java | 40 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/jgss/krb5/Krb5Util.java | 23 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/jgss/krb5/SubjectComber.java | 39 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/Checksum.java | 137 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/Config.java | 38 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/Credentials.java | 36 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/JavaxSecurityAuthKerberosAccess.java | 9 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/KrbApReq.java | 4 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/KrbAsRep.java | 19 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/KrbAsReq.java | 15 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/KrbAsReqBuilder.java | 88 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/KrbCred.java | 6 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/KrbKdcRep.java | 68 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/KrbTgsRep.java | 27 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/KrbTgsReq.java | 136 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/PrincipalName.java | 12 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/CredentialsUtil.java | 224 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/EncASRepPart.java | 4 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/EncKDCRepPart.java | 73 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/EncTGSRepPart.java | 4 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/KDCOptions.java | 4 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/KDCReq.java | 20 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/KRBError.java | 20 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/Krb5.java | 7 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/NetClient.java | 4 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/PAData.java | 39 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/PAForUserEnc.java | 3 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/ReferralsCache.java | 159 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/TicketFlags.java | 6 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/ccache/CCacheInputStream.java | 8 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/ccache/Credentials.java | 5 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/crypto/CksumType.java | 50 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/crypto/Crc32CksumType.java | 18 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/crypto/DesCbcCrcEType.java | 2 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/crypto/DesMacCksumType.java | 10 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/crypto/DesMacKCksumType.java | 12 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/crypto/HmacMd5ArcFourCksumType.java | 14 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/crypto/HmacSha1Aes128CksumType.java | 14 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/crypto/HmacSha1Aes256CksumType.java | 14 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/crypto/HmacSha1Des3KdCksumType.java | 14 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/crypto/HmacSha2Aes128CksumType.java | 12 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/crypto/HmacSha2Aes256CksumType.java | 12 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/crypto/KeyUsage.java | 3 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/crypto/RsaMd5CksumType.java | 26 openjdk-11-11.0.6+10/src/java.security.jgss/share/classes/sun/security/krb5/internal/crypto/RsaMd5DesCksumType.java | 17 openjdk-11-11.0.6+10/src/java.security.jgss/windows/native/libw2k_lsa_auth/NativeCreds.c | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/Const.java | 5797 ++++------ openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/Repository.java | 139 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AccessFlags.java | 14 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Attribute.java | 81 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AttributeReader.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ClassFormatException.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ClassParser.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Code.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/CodeException.java | 5 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Constant.java | 123 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantCP.java | 34 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantClass.java | 15 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantDouble.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantDynamic.java | 94 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantFieldref.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantFloat.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantInteger.java | 5 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantInterfaceMethodref.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantLong.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantMethodref.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantModule.java | 138 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantNameAndType.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantObject.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantPackage.java | 138 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantPool.java | 4 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantString.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantUtf8.java | 5 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantValue.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Deprecated.java | 25 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/DescendingVisitor.java | 201 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ElementValue.java | 4 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/EmptyVisitor.java | 24 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ExceptionTable.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Field.java | 7 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/FieldOrMethod.java | 73 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/InnerClass.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/InnerClasses.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/JavaClass.java | 231 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LineNumber.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LineNumberTable.java | 24 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariable.java | 37 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariableTable.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariableTypeTable.java | 10 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Method.java | 67 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Node.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/PMGClass.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Signature.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/SourceFile.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMap.java | 4 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMapEntry.java | 64 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMapType.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Synthetic.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Unknown.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/UnknownAttributeReader.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Utility.java | 431 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Visitor.java | 19 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AALOAD.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AASTORE.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ACONST_NULL.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ALOAD.java | 12 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ANEWARRAY.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ARETURN.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ARRAYLENGTH.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ASTORE.java | 26 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ATHROW.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AllocationInstruction.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AnnotationEntryGen.java | 8 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArithmeticInstruction.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayInstruction.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayType.java | 24 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BALOAD.java | 16 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BASTORE.java | 18 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BIPUSH.java | 38 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BREAKPOINT.java | 13 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BasicType.java | 15 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BranchHandle.java | 50 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BranchInstruction.java | 89 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CALOAD.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CASTORE.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CHECKCAST.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CPInstruction.java | 47 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ClassGen.java | 216 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ClassGenException.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ClassObserver.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CodeExceptionGen.java | 62 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CompoundInstruction.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ConstantPoolGen.java | 169 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ConstantPushInstruction.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ConversionInstruction.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/D2F.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/D2I.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/D2L.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DADD.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DALOAD.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DASTORE.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DCMPG.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DCMPL.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DCONST.java | 10 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DDIV.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DLOAD.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DMUL.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DNEG.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DREM.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DRETURN.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DSTORE.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DSUB.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP2.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP2_X1.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP2_X2.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP_X1.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP_X2.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ElementValueGen.java | 3 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/EmptyVisitor.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ExceptionThrower.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/F2D.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/F2I.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/F2L.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FADD.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FALOAD.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FASTORE.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FCMPG.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FCMPL.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FCONST.java | 10 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FDIV.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FLOAD.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FMUL.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FNEG.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FREM.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FRETURN.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FSTORE.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FSUB.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldGen.java | 152 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldGenOrMethodGen.java | 54 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldInstruction.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldObserver.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldOrMethod.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GETFIELD.java | 29 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GETSTATIC.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GOTO.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GOTO_W.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GotoInstruction.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2B.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2C.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2D.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2F.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2L.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2S.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IADD.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IALOAD.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IAND.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IASTORE.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ICONST.java | 26 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IDIV.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFEQ.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFGE.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFGT.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFLE.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFLT.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFNE.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFNONNULL.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFNULL.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ACMPEQ.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ACMPNE.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPEQ.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPGE.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPGT.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPLE.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPLT.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPNE.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IINC.java | 13 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ILOAD.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IMPDEP1.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IMPDEP2.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IMUL.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INEG.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INSTANCEOF.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEDYNAMIC.java | 23 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEINTERFACE.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKESPECIAL.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKESTATIC.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEVIRTUAL.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IOR.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IREM.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IRETURN.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ISHL.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ISHR.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ISTORE.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ISUB.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IUSHR.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IXOR.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IfInstruction.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IndexedInstruction.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Instruction.java | 128 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionComparator.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionConst.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionFactory.java | 272 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionHandle.java | 162 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionList.java | 41 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionListObserver.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionTargeter.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InvokeInstruction.java | 10 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/JSR.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/JSR_W.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/JsrInstruction.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/L2D.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/L2F.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/L2I.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LADD.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LALOAD.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LAND.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LASTORE.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LCMP.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LCONST.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDC.java | 10 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDC2_W.java | 10 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDC_W.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDIV.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LLOAD.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LMUL.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LNEG.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LOOKUPSWITCH.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LOR.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LREM.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LRETURN.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LSHL.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LSHR.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LSTORE.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LSUB.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LUSHR.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LXOR.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LineNumberGen.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LoadClass.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LoadInstruction.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LocalVariableGen.java | 114 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LocalVariableInstruction.java | 65 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MONITORENTER.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MONITOREXIT.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MULTIANEWARRAY.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MethodGen.java | 556 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MethodObserver.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NEW.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NEWARRAY.java | 15 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NOP.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NamedAndTyped.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ObjectType.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/POP.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/POP2.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PUSH.java | 5 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PUTFIELD.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PUTSTATIC.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PopInstruction.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PushInstruction.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/RET.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/RETURN.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ReferenceType.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ReturnInstruction.java | 10 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ReturnaddressType.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SALOAD.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SASTORE.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SIPUSH.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SWAP.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SWITCH.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Select.java | 72 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/StackConsumer.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/StackInstruction.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/StackProducer.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/StoreInstruction.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/TABLESWITCH.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/TargetLostException.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Type.java | 73 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/TypedInstruction.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/UnconditionalBranch.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/VariableLengthInstruction.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Visitor.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/AttributeHTML.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/BCELComparator.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/BCELFactory.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/BCELifier.java | 4 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ByteSequence.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/Class2HTML.java | 41 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ClassQueue.java | 14 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ClassSet.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ClassStack.java | 3 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/CodeHTML.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ConstantHTML.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/InstructionFinder.java | 6 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/MethodHTML.java | 2 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ModularRuntimeImage.java | 158 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/Repository.java | 40 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/SyntheticRepository.java | 8 openjdk-11-11.0.6+10/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl.java | 7 openjdk-11-11.0.6+10/src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/Linker.java | 115 openjdk-11-11.0.6+10/src/jdk.attach/windows/native/libattach/VirtualMachineImpl.c | 5 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java | 751 + openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Digest.java | 4 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Mac.java | 4 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11PSSSignature.java | 717 + openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11RSACipher.java | 17 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11SecretKeyFactory.java | 13 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java | 130 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/CK_CCM_PARAMS.java | 83 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/CK_GCM_PARAMS.java | 75 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/CK_MECHANISM.java | 55 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/CK_RSA_PKCS_PSS_PARAMS.java | 153 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/Functions.java | 289 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11.java | 118 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11Constants.java | 838 - openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11Exception.java | 16 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/legal/pkcs11cryptotoken.md | 46 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_convert.c | 1974 +-- openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_crypt.c | 192 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_digest.c | 53 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_general.c | 34 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_keymgmt.c | 284 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_mutex.c | 4 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_objmgmt.c | 12 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_sessmgmt.c | 8 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_sign.c | 219 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_util.c | 343 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs-11v2-20a3.h | 124 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11.h | 82 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11f.h | 217 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11gcm2.h | 55 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11t.h | 2126 ++- openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11wrapper.h | 93 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/unix/native/libj2pkcs11/p11_md.c | 1 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/unix/native/libj2pkcs11/p11_md.h | 5 openjdk-11-11.0.6+10/src/jdk.crypto.cryptoki/windows/native/libj2pkcs11/p11_md.h | 5 openjdk-11-11.0.6+10/src/jdk.crypto.ec/share/classes/sun/security/ec/ECDSASignature.java | 46 openjdk-11-11.0.6+10/src/jdk.hotspot.agent/linux/native/libsaproc/symtab.c | 27 openjdk-11-11.0.6+10/src/jdk.hotspot.agent/macosx/native/libsaproc/MacosxDebuggerLocal.m | 11 openjdk-11-11.0.6+10/src/jdk.hotspot.agent/macosx/native/libsaproc/symtab.c | 24 openjdk-11-11.0.6+10/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/SALauncher.java | 126 openjdk-11-11.0.6+10/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/PStack.java | 17 openjdk-11-11.0.6+10/src/jdk.hotspot.agent/solaris/native/libsaproc/saproc.cpp | 10 openjdk-11-11.0.6+10/src/jdk.hotspot.agent/windows/native/libsaproc/sawindbg.cpp | 12 openjdk-11-11.0.6+10/src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/PerfDataFile.java | 2 openjdk-11-11.0.6+10/src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTY.java | 3 openjdk-11-11.0.6+10/src/jdk.jdwp.agent/share/native/libjdwp/util.c | 4 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/ValueDescriptor.java | 2 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/consumer/ChunkParser.java | 10 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordedEvent.java | 3 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordedObject.java | 29 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingFile.java | 54 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/consumer/TimeConverter.java | 23 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/OldObjectSample.java | 4 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java | 4 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecording.java | 12 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/Type.java | 9 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/WriteableUserPath.java | 22 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/Command.java | 150 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/Execute.java | 65 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/HelpCommand.java | 68 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/JSONWriter.java | 258 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/PrettyWriter.java | 236 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/PrintCommand.java | 100 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/ReconstructCommand.java | 131 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/SplitCommand.java | 195 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/StructuredWriter.java | 111 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/SummaryCommand.java | 173 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/cmd/XMLWriter.java | 191 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/ChunkHeader.java | 2 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/consumer/RecordingInternals.java | 47 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdDump.java | 2 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdStart.java | 9 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/jfc/JFC.java | 6 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/management/ManagementSupport.java | 22 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Assemble.java | 127 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Command.java | 306 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Disassemble.java | 250 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/tool/EventPrintWriter.java | 139 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Help.java | 75 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/tool/JSONWriter.java | 261 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Main.java | 110 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Metadata.java | 139 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/tool/PrettyWriter.java | 608 + openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Print.java | 282 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/tool/StructuredWriter.java | 121 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Summary.java | 162 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/tool/UserDataException.java | 49 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/tool/UserSyntaxException.java | 45 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Version.java | 50 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/internal/tool/XMLWriter.java | 200 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/jdk/jfr/package-info.java | 1 openjdk-11-11.0.6+10/src/jdk.jfr/share/classes/module-info.java | 6 openjdk-11-11.0.6+10/src/jdk.jfr/share/conf/jfr/default.jfc | 46 openjdk-11-11.0.6+10/src/jdk.jfr/share/conf/jfr/profile.jfc | 48 openjdk-11-11.0.6+10/src/jdk.localedata/share/classes/sun/text/resources/ext/FormatData_ja.java | 12 openjdk-11-11.0.6+10/src/jdk.localedata/share/classes/sun/text/resources/ext/FormatData_zh.java | 14 openjdk-11-11.0.6+10/src/jdk.localedata/share/classes/sun/text/resources/ext/FormatData_zh_TW.java | 14 openjdk-11-11.0.6+10/src/jdk.management.jfr/share/classes/jdk/management/jfr/FlightRecorderMXBean.java | 1 openjdk-11-11.0.6+10/src/jdk.management.jfr/share/classes/jdk/management/jfr/FlightRecorderMXBeanImpl.java | 21 openjdk-11-11.0.6+10/src/jdk.management.jfr/share/classes/jdk/management/jfr/MBeanUtils.java | 13 openjdk-11-11.0.6+10/src/jdk.management.jfr/share/classes/jdk/management/jfr/RecordingInfo.java | 5 openjdk-11-11.0.6+10/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/doubleconv/Bignum.java | 32 openjdk-11-11.0.6+10/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/doubleconv/FixedDtoa.java | 3 openjdk-11-11.0.6+10/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/doubleconv/IeeeDouble.java | 2 openjdk-11-11.0.6+10/src/jdk.scripting.nashorn/share/legal/joni.md | 6 openjdk-11-11.0.6+10/src/jdk.security.jgss/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Base.java | 24 openjdk-11-11.0.6+10/src/jdk.security.jgss/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Client.java | 6 openjdk-11-11.0.6+10/src/jdk.security.jgss/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Server.java | 6 openjdk-11-11.0.6+10/src/jdk.zipfs/share/classes/jdk/nio/zipfs/JarFileSystem.java | 120 openjdk-11-11.0.6+10/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipDirectoryStream.java | 20 openjdk-11-11.0.6+10/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java | 79 openjdk-11-11.0.6+10/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipPath.java | 6 openjdk-11-11.0.6+10/test/TestCommon.gmk | 4 openjdk-11-11.0.6+10/test/hotspot/gtest/memory/test_is_metaspace_obj.cpp | 115 openjdk-11-11.0.6+10/test/hotspot/gtest/runtime/test_os_windows.cpp | 608 + openjdk-11-11.0.6+10/test/hotspot/gtest/utilities/test_ostream.cpp | 146 openjdk-11-11.0.6+10/test/hotspot/jtreg/ProblemList.txt | 13 openjdk-11-11.0.6+10/test/hotspot/jtreg/TEST.ROOT | 6 openjdk-11-11.0.6+10/test/hotspot/jtreg/TEST.groups | 3 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/DeoptimizationTest.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/RecompilationTest.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/SharedUsageTest.java | 7 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromAot/AotInvokeDynamic2AotTest.java | 5 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromAot/AotInvokeDynamic2CompiledTest.java | 6 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromAot/AotInvokeDynamic2InterpretedTest.java | 5 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromAot/AotInvokeDynamic2NativeTest.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromAot/AotInvokeInterface2AotTest.java | 5 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromAot/AotInvokeInterface2CompiledTest.java | 6 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromAot/AotInvokeInterface2InterpretedTest.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromAot/AotInvokeInterface2NativeTest.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromAot/AotInvokeSpecial2AotTest.java | 5 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromAot/AotInvokeSpecial2CompiledTest.java | 6 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromAot/AotInvokeSpecial2InterpretedTest.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromAot/AotInvokeSpecial2NativeTest.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromAot/AotInvokeStatic2AotTest.java | 5 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromAot/AotInvokeStatic2CompiledTest.java | 6 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromAot/AotInvokeStatic2InterpretedTest.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromAot/AotInvokeStatic2NativeTest.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromAot/AotInvokeVirtual2AotTest.java | 5 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromAot/AotInvokeVirtual2CompiledTest.java | 6 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromAot/AotInvokeVirtual2InterpretedTest.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromAot/AotInvokeVirtual2NativeTest.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromCompiled/CompiledInvokeDynamic2AotTest.java | 6 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromCompiled/CompiledInvokeInterface2AotTest.java | 6 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromCompiled/CompiledInvokeSpecial2AotTest.java | 6 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromCompiled/CompiledInvokeStatic2AotTest.java | 6 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromCompiled/CompiledInvokeVirtual2AotTest.java | 6 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromInterpreted/InterpretedInvokeDynamic2AotTest.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromInterpreted/InterpretedInvokeInterface2AotTest.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromInterpreted/InterpretedInvokeSpecial2AotTest.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromInterpreted/InterpretedInvokeStatic2AotTest.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromInterpreted/InterpretedInvokeVirtual2AotTest.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromNative/NativeInvokeSpecial2AotTest.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromNative/NativeInvokeStatic2AotTest.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/calls/fromNative/NativeInvokeVirtual2AotTest.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/cli/AotLibraryNegativeBase.java | 6 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/cli/DisabledAOTWithLibraryTest.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/cli/MultipleAOTLibraryTest.java | 21 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/cli/SingleAOTLibraryTest.java | 6 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/cli/SingleAOTOptionTest.java | 22 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/cli/jaotc/JaotcTestHelper.java | 6 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/fingerprint/SelfChanged.java | 8 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/fingerprint/SelfChangedCDS.java | 11 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/fingerprint/SuperChanged.java | 8 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/scripts/build-bootmodules.sh | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/scripts/test-helloworld.sh | 12 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/scripts/test-jaotc.sh | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/scripts/test-javac.sh | 18 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/scripts/test-nashorn.sh | 12 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/verification/ClassAndLibraryNotMatchTest.java | 6 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/aot/verification/vmflags/BasicFlagsChange.java | 6 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/c2/TestUnreachableRegionDuringCCP.java | 63 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/c2/aarch64/ConvI2LWideningAssertTooStrong.java | 67 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileCAE.java | 133 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileCAS.java | 54 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileGAA.java | 76 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileGAS.java | 90 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/c2/aarch64/TestUnsafeVolatileWeakCAS.java | 139 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java | 649 - openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesCMS.java | 12 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesCMSCondMark.java | 12 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesG1.java | 17 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesParallel.java | 12 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/c2/aarch64/TestVolatilesSerial.java | 12 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/controldependency/TestAntiDependentMembar.java | 450 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/escapeAnalysis/TestArrayCopy.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/escapeAnalysis/TestSelfArrayCopy.java | 90 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/gcbarriers/EqvUncastStepOverBarrier.java | 81 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/graalunit/JttLangMathALTest.java | 3 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/graalunit/JttLangMathMZTest.java | 3 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/intrinsics/object/TestClone.java | 98 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/jsr292/ContinuousCallSiteTargetChange.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/linkage/TestLinkageErrorInGenerateOopMap.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/loopopts/SplitIfSharedFastLockBehindCastPP.java | 101 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/loopopts/StrangeControl.jasm | 48 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/loopopts/TestCMovWithOpaque.java | 62 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/loopopts/TestDivZeroCheckControl.java | 116 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/loopopts/TestRemoveEmptyLoop.java | 55 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/loopopts/TestStrangeControl.java | 49 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/loopopts/superword/SuperWordIntermediateUse.java | 81 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/loopopts/superword/TestFuzzPreLoop.java | 65 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/loopstripmining/AntiDependentLoadInOuterStripMinedLoop.java | 92 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/loopstripmining/DeadNodesInOuterLoopAtLoopCloning.java | 84 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/loopstripmining/LoadDependsOnIfIdenticalToLoopExit.java | 64 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/print/PrintCompileQueue.java | 39 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/cli/TestPrintPreciseRTMLockingStatisticsOptionOnSupportedConfig.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/cli/TestPrintPreciseRTMLockingStatisticsOptionOnUnsupportedConfig.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/cli/TestRTMAbortThresholdOption.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/cli/TestRTMLockingCalculationDelayOption.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/cli/TestRTMLockingThresholdOption.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/cli/TestRTMRetryCountOption.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/cli/TestRTMSpinLoopCountOption.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/cli/TestRTMTotalCountIncrRateOptionOnSupportedConfig.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/cli/TestUseRTMDeoptOptionOnSupportedConfig.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/cli/TestUseRTMDeoptOptionOnUnsupportedConfig.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/cli/TestUseRTMForStackLocksOptionOnSupportedConfig.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/cli/TestUseRTMForStackLocksOptionOnUnsupportedConfig.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/cli/TestUseRTMLockingOptionOnSupportedConfig.java | 6 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/cli/TestUseRTMLockingOptionOnUnsupportedCPU.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/cli/TestUseRTMLockingOptionWithBiasedLocking.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/cli/TestUseRTMXendForLockBusyOption.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/locking/TestRTMAbortRatio.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/locking/TestRTMAbortThreshold.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/locking/TestRTMAfterNonRTMDeopt.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/locking/TestRTMDeoptOnHighAbortRatio.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/locking/TestRTMDeoptOnLowAbortRatio.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/locking/TestRTMLockingCalculationDelay.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/locking/TestRTMLockingThreshold.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/locking/TestRTMRetryCount.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/locking/TestRTMSpinLoopCount.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/locking/TestRTMTotalCountIncrRate.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/locking/TestUseRTMAfterLockInflation.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/locking/TestUseRTMDeopt.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/locking/TestUseRTMForInflatedLocks.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/locking/TestUseRTMForStackLocks.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/locking/TestUseRTMXendForLockBusy.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/method_options/TestNoRTMLockElidingOption.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/method_options/TestUseRTMLockElidingOption.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/rtm/print/TestPrintPreciseRTMLockingStatistics.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/compiler/uncommontrap/TestDeoptOOM.java | 3 openjdk-11-11.0.6+10/test/hotspot/jtreg/containers/docker/JfrNetwork.java | 163 openjdk-11-11.0.6+10/test/hotspot/jtreg/containers/docker/JfrReporter.java | 55 openjdk-11-11.0.6+10/test/hotspot/jtreg/containers/docker/TestJFREvents.java | 50 openjdk-11-11.0.6+10/test/hotspot/jtreg/containers/docker/TestJFRNetworkEvents.java | 73 openjdk-11-11.0.6+10/test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java | 27 openjdk-11-11.0.6+10/test/hotspot/jtreg/gc/epsilon/TestAlwaysPretouch.java | 7 openjdk-11-11.0.6+10/test/hotspot/jtreg/gc/stress/gclocker/TestExcessGCLockerCollections.java | 188 openjdk-11-11.0.6+10/test/hotspot/jtreg/runtime/ClassUnload/UnloadTest.java | 11 openjdk-11-11.0.6+10/test/hotspot/jtreg/runtime/CompressedOops/CompressedClassPointers.java | 3 openjdk-11-11.0.6+10/test/hotspot/jtreg/runtime/CreateMirror/ArraysNewInstanceBug.java | 9 openjdk-11-11.0.6+10/test/hotspot/jtreg/runtime/ErrorHandling/VeryEarlyAssertTest.java | 118 openjdk-11-11.0.6+10/test/hotspot/jtreg/runtime/LoadClass/LongBCP.java | 40 openjdk-11-11.0.6+10/test/hotspot/jtreg/runtime/StackTrace/HiddenFrameTest.java | 80 openjdk-11-11.0.6+10/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedIntegerCacheTest.java | 141 openjdk-11-11.0.6+10/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleComboTest.java | 80 openjdk-11-11.0.6+10/test/hotspot/jtreg/runtime/appcds/cacheObject/ArchivedModuleWithCustomImageTest.java | 1 openjdk-11-11.0.6+10/test/hotspot/jtreg/runtime/appcds/cacheObject/CheckArchivedModuleApp.java | 71 openjdk-11-11.0.6+10/test/hotspot/jtreg/runtime/appcds/cacheObject/CheckIntegerCacheApp.java | 88 openjdk-11-11.0.6+10/test/hotspot/jtreg/runtime/appcds/jvmti/InstrumentationApp.java | 8 openjdk-11-11.0.6+10/test/hotspot/jtreg/runtime/appcds/jvmti/InstrumentationTest.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/runtime/testlibrary/ClassUnloadCommon.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/serviceability/logging/TestQuotedLogOutputs.java | 1 openjdk-11-11.0.6+10/test/hotspot/jtreg/serviceability/sa/ClhsdbCDSCore.java | 36 openjdk-11-11.0.6+10/test/hotspot/jtreg/serviceability/sa/TestJmapCore.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/serviceability/sa/sadebugd/DebugdConnectTest.java | 130 openjdk-11-11.0.6+10/test/hotspot/jtreg/serviceability/sa/sadebugd/DebugdUtils.java | 72 openjdk-11-11.0.6+10/test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/CtwRunner.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/AotTestGeneratorsFactory.java | 5 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/jdb/monitor/monitor002/monitor002.java | 136 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/jdb/monitor/monitor002/monitor002a.java | 52 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/jvmti/Allocate/alloc001/TestDescription.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/jvmti/MonitorWait/monitorwait001/monitorwait001.c | 6 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/jvmti/MonitorWaited/monitorwaited001/monitorwaited001.c | 6 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted002/TestDescription.java | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack001.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack002.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack003.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack004.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack005.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack006.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack007.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack008.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack009.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack010.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack011.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack012.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack013.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack014.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack015.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack016.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack017.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack018.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/nsk/stress/stack/stack019.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfoOnCompilation/run.sh | 4 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/vm/mlvm/cp/stress/classfmt/correctBootstrap/TestDescription.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/vm/mlvm/cp/stress/classfmt/incorrectBootstrap/TestDescription.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/vm/mlvm/cp/stress/classfmt/mh/TestDescription.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/vm/mlvm/cp/stress/classfmt/mt/TestDescription.java | 2 openjdk-11-11.0.6+10/test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/stress/gc/createLotsOfMHConsts/Test.java | 2 openjdk-11-11.0.6+10/test/jaxp/javax/xml/jaxp/unittest/transform/StAX2DOMTest.java | 82 openjdk-11-11.0.6+10/test/jaxp/javax/xml/jaxp/unittest/transform/StAX2DOMTest.xml | 119 openjdk-11-11.0.6+10/test/jaxp/javax/xml/jaxp/unittest/transform/StAX2DOMTest1.xml | 120 openjdk-11-11.0.6+10/test/jdk/ProblemList.txt | 8 openjdk-11-11.0.6+10/test/jdk/TEST.ROOT | 4 openjdk-11-11.0.6+10/test/jdk/com/sun/crypto/provider/KeyProtector/IterationCount.java | 182 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetAny.java | 55 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetAttrs.dns | 58 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetAttrs.java | 55 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetAttrsBase.java | 69 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetAttrsEmptyAttrIds.dns | 58 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetAttrsEmptyAttrIds.java | 60 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetAttrsNonExistentAttrIds.dns | 58 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetAttrsNonExistentAttrIds.java | 62 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetAttrsNotFound.dns | 49 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetAttrsNotFound.java | 72 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetAttrsNullAttrIds.dns | 58 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetAttrsNullAttrIds.java | 57 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetAttrsSomeAttrIds.dns | 58 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetAttrsSomeAttrIds.java | 60 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetNonstandard.dns | 49 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetNonstandard.java | 93 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetNumericIRRs.dns | 148 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetNumericIRRs.java | 63 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetNumericRRs.dns | 148 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetNumericRRs.java | 69 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetRRs.dns | 148 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetRRs.java | 63 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/AttributeTests/GetRRsBase.java | 89 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/lib/DNSServer.java | 113 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/lib/DNSTestBase.java | 84 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/lib/DNSTestUtils.java | 175 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/lib/DNSTracer.java | 45 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/lib/Server.java | 39 openjdk-11-11.0.6+10/test/jdk/com/sun/jndi/dns/lib/TestBase.java | 113 openjdk-11-11.0.6+10/test/jdk/java/awt/Focus/NullActiveWindowOnFocusLost/NullActiveWindowOnFocusLost.java | 3 openjdk-11-11.0.6+10/test/jdk/java/awt/FontClass/MassiveMetricsTest.java | 69 openjdk-11-11.0.6+10/test/jdk/java/awt/Frame/NormalToIconified/NormalToIconifiedTest.java | 17 openjdk-11-11.0.6+10/test/jdk/java/awt/GraphicsDevice/CheckDisplayModes.java | 45 openjdk-11-11.0.6+10/test/jdk/java/awt/GraphicsDevice/IncorrectDisplayModeExitFullscreen.java | 3 openjdk-11-11.0.6+10/test/jdk/java/awt/GraphicsEnvironment/LoadLock/GE_init5.java | 4 openjdk-11-11.0.6+10/test/jdk/java/awt/Modal/MultipleDialogs/MixOfModalAndNonModalDialogs.java | 79 openjdk-11-11.0.6+10/test/jdk/java/awt/Robot/CheckCommonColors/CheckCommonColors.java | 86 openjdk-11-11.0.6+10/test/jdk/java/awt/Window/ShapedAndTranslucentWindows/Common.java | 2 openjdk-11-11.0.6+10/test/jdk/java/awt/event/ComponentEvent/MovedResizedTwiceTest/MovedResizedTwiceTest.java | 22 openjdk-11-11.0.6+10/test/jdk/java/awt/event/MouseWheelEvent/WheelModifier/MouseWheelOnBackgroundComponent.java | 170 openjdk-11-11.0.6+10/test/jdk/java/awt/font/TextLayout/FontLayoutStressTest.java | 88 openjdk-11-11.0.6+10/test/jdk/java/awt/font/WindowsIndicFonts.java | 84 openjdk-11-11.0.6+10/test/jdk/java/beans/Introspector/MethodOrderException.java | 525 openjdk-11-11.0.6+10/test/jdk/java/io/Serializable/serialFilter/GlobalFilterTest.java | 30 openjdk-11-11.0.6+10/test/jdk/java/io/Serializable/serialFilter/security.policy | 2 openjdk-11-11.0.6+10/test/jdk/java/lang/module/ModuleDescriptorTest.java | 7 openjdk-11-11.0.6+10/test/jdk/java/lang/reflect/callerCache/ReflectionCallerCacheTest.java | 4 openjdk-11-11.0.6+10/test/jdk/java/net/CookieHandler/B6791927.java | 11 openjdk-11-11.0.6+10/test/jdk/java/net/URL/RacyHandler.java | 3 openjdk-11-11.0.6+10/test/jdk/java/net/httpclient/whitebox/ConnectionPoolTestDriver.java | 8 openjdk-11-11.0.6+10/test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/ConnectionPoolTest.java | 233 openjdk-11-11.0.6+10/test/jdk/java/nio/file/etc/MacVolumesTest.java | 203 openjdk-11-11.0.6+10/test/jdk/java/util/EnumSet/BogusEnumSet.java | 13 openjdk-11-11.0.6+10/test/jdk/java/util/EnumSet/EnumSetClassSerialization.java | 101 openjdk-11-11.0.6+10/test/jdk/java/util/Locale/LocaleCategory.java | 43 openjdk-11-11.0.6+10/test/jdk/java/util/Locale/LocaleCategory.sh | 104 openjdk-11-11.0.6+10/test/jdk/java/util/Locale/LocaleProviders.java | 46 openjdk-11-11.0.6+10/test/jdk/java/util/Locale/LocaleProviders.sh | 381 openjdk-11-11.0.6+10/test/jdk/java/util/Locale/LocaleProvidersRun.java | 175 openjdk-11-11.0.6+10/test/jdk/java/util/Locale/providersrc/spi/dest/META-INF/services/java.util.spi.TimeZoneNameProvider | 2 openjdk-11-11.0.6+10/test/jdk/java/util/Locale/providersrc/spi/src/tznp.java | 39 openjdk-11-11.0.6+10/test/jdk/java/util/Locale/providersrc/spi/src/tznp8013086.java | 43 openjdk-11-11.0.6+10/test/jdk/java/util/logging/IsLoggableHandlerTest.java | 96 openjdk-11-11.0.6+10/test/jdk/java/util/zip/FlaterTest.java | 7 openjdk-11-11.0.6+10/test/jdk/javax/swing/JTextArea/ScrollbarFlicker/ScrollFlickerTest.java | 75 openjdk-11-11.0.6+10/test/jdk/javax/swing/ToolTipManager/JMenuItemToolTipKeyBindingsTest/JMenuItemToolTipKeyBindingsTest.java | 144 openjdk-11-11.0.6+10/test/jdk/jdk/internal/platform/docker/TestSystemMetrics.java | 3 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/api/metadata/annotations/TestFormatMissingValue.java | 24 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/cmd/ExecuteHelper.java | 140 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/cmd/TestHelp.java | 57 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/cmd/TestPrint.java | 66 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/cmd/TestPrintDefault.java | 53 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/cmd/TestPrintJSON.java | 149 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/cmd/TestPrintXML.java | 222 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/cmd/TestReconstruct.java | 146 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/cmd/TestSplit.java | 121 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/cmd/TestSummary.java | 62 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/event/compiler/TestCompilerStats.java | 6 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/event/os/TestVirtualizationInfo.java | 57 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/javaagent/EventEmitterAgent.java | 106 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/javaagent/JavaAgentBuilder.java | 87 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/javaagent/TestLoadedAgent.java | 58 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/javaagent/TestPremainAgent.java | 48 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/jmx/TestRecordingOptions.java | 5 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/jvm/TestDumpOnCrash.java | 78 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/startupargs/TestStartNoSettings.java | 69 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/tool/ExecuteHelper.java | 136 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/tool/TestAssemble.java | 145 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/tool/TestDisassemble.java | 125 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/tool/TestHelp.java | 56 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/tool/TestMetadata.java | 63 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/tool/TestPrint.java | 61 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/tool/TestPrintDefault.java | 53 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/tool/TestPrintJSON.java | 163 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/tool/TestPrintXML.java | 260 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/tool/TestSummary.java | 62 openjdk-11-11.0.6+10/test/jdk/jdk/jfr/tool/jfr.xsd | 81 openjdk-11-11.0.6+10/test/jdk/jdk/nio/zipfs/Basic.java | 17 openjdk-11-11.0.6+10/test/jdk/jdk/nio/zipfs/CRCWriteTest.java | 164 openjdk-11-11.0.6+10/test/jdk/jdk/nio/zipfs/DirectoryStreamTests.java | 357 openjdk-11-11.0.6+10/test/jdk/jdk/nio/zipfs/InvalidZipHeaderTests.java | 129 openjdk-11-11.0.6+10/test/jdk/jdk/nio/zipfs/jarfs/JFSTester.java | 111 openjdk-11-11.0.6+10/test/jdk/jdk/nio/zipfs/jarfs/root/dir1/leaf1.txt | 1 openjdk-11-11.0.6+10/test/jdk/jdk/nio/zipfs/jarfs/root/dir1/leaf2.txt | 1 openjdk-11-11.0.6+10/test/jdk/jdk/nio/zipfs/jarfs/root/dir2/leaf3.txt | 1 openjdk-11-11.0.6+10/test/jdk/jdk/nio/zipfs/jarfs/root/dir2/leaf4.txt | 1 openjdk-11-11.0.6+10/test/jdk/jdk/nio/zipfs/jarfs/v9/root/dir1/leaf1.txt | 1 openjdk-11-11.0.6+10/test/jdk/jdk/nio/zipfs/jarfs/v9/root/dir1/leaf2.txt | 1 openjdk-11-11.0.6+10/test/jdk/jdk/nio/zipfs/jarfs/v9/root/dir2/leaf3.txt | 1 openjdk-11-11.0.6+10/test/jdk/jdk/nio/zipfs/jarfs/v9/root/dir2/leaf4.txt | 1 openjdk-11-11.0.6+10/test/jdk/security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java | 552 openjdk-11-11.0.6+10/test/jdk/security/infra/java/security/cert/CertPathValidator/certification/ComodoCA.java | 504 openjdk-11-11.0.6+10/test/jdk/security/infra/java/security/cert/CertPathValidator/certification/LuxTrustCA.java | 194 openjdk-11-11.0.6+10/test/jdk/sun/java2d/marlin/FlipBitTest.java | 104 openjdk-11-11.0.6+10/test/jdk/sun/net/www/B8185898.java | 280 openjdk-11-11.0.6+10/test/jdk/sun/net/www/http/HttpClient/B8209178.java | 409 openjdk-11-11.0.6+10/test/jdk/sun/security/ec/SignatureDigestTruncate.java | 9 openjdk-11-11.0.6+10/test/jdk/sun/security/krb5/auto/KDC.java | 125 openjdk-11-11.0.6+10/test/jdk/sun/security/krb5/auto/ReferralsTest.java | 249 openjdk-11-11.0.6+10/test/jdk/sun/security/krb5/auto/SaslGSS.java | 138 openjdk-11-11.0.6+10/test/jdk/sun/security/lib/cacerts/VerifyCACerts.java | 34 openjdk-11-11.0.6+10/test/jdk/sun/security/pkcs11/Cipher/Test4512704.java | 76 openjdk-11-11.0.6+10/test/jdk/sun/security/pkcs11/Cipher/TestCICOWithGCM.java | 109 openjdk-11-11.0.6+10/test/jdk/sun/security/pkcs11/Cipher/TestCICOWithGCMAndAAD.java | 122 openjdk-11-11.0.6+10/test/jdk/sun/security/pkcs11/Cipher/TestGCMKeyAndIvCheck.java | 199 openjdk-11-11.0.6+10/test/jdk/sun/security/pkcs11/Cipher/TestKATForGCM.java | 334 openjdk-11-11.0.6+10/test/jdk/sun/security/pkcs11/MessageDigest/ByteBuffers.java | 55 openjdk-11-11.0.6+10/test/jdk/sun/security/pkcs11/Signature/InitAgainPSS.java | 87 openjdk-11-11.0.6+10/test/jdk/sun/security/pkcs11/Signature/KeyAndParamCheckForPSS.java | 139 openjdk-11-11.0.6+10/test/jdk/sun/security/pkcs11/Signature/SigInteropPSS.java | 104 openjdk-11-11.0.6+10/test/jdk/sun/security/pkcs11/Signature/SignatureTestPSS.java | 150 openjdk-11-11.0.6+10/test/jdk/sun/security/pkcs11/Signature/TestDSA2.java | 93 openjdk-11-11.0.6+10/test/jdk/sun/security/pkcs11/fips/SunJSSEFIPSInit.java | 131 openjdk-11-11.0.6+10/test/jdk/sun/security/pkcs11/fips/SunJSSEFIPSInitClient.java | 42 openjdk-11-11.0.6+10/test/jdk/sun/security/tools/jarsigner/TsacertOptionTest.java | 1 openjdk-11-11.0.6+10/test/jdk/sun/security/tools/jarsigner/Warning.java | 2 openjdk-11-11.0.6+10/test/jdk/sun/security/tools/jarsigner/concise_jarsigner.sh | 14 openjdk-11-11.0.6+10/test/jdk/sun/security/tools/jarsigner/default_options.sh | 2 openjdk-11-11.0.6+10/test/jdk/sun/security/tools/jarsigner/ec.sh | 2 openjdk-11-11.0.6+10/test/jdk/sun/security/tools/jarsigner/onlymanifest.sh | 2 openjdk-11-11.0.6+10/test/jdk/sun/security/tools/jarsigner/warnings/BadExtendedKeyUsageTest.java | 4 openjdk-11-11.0.6+10/test/jdk/sun/security/tools/jarsigner/warnings/BadKeyUsageTest.java | 4 openjdk-11-11.0.6+10/test/jdk/sun/security/tools/jarsigner/warnings/BadNetscapeCertTypeTest.java | 4 openjdk-11-11.0.6+10/test/jdk/sun/security/tools/jarsigner/warnings/ChainNotValidatedTest.java | 4 openjdk-11-11.0.6+10/test/jdk/sun/security/tools/jarsigner/warnings/HasExpiredCertTest.java | 4 openjdk-11-11.0.6+10/test/jdk/sun/security/tools/jarsigner/warnings/HasExpiringCertTest.java | 4 openjdk-11-11.0.6+10/test/jdk/sun/security/tools/jarsigner/warnings/HasUnsignedEntryTest.java | 4 openjdk-11-11.0.6+10/test/jdk/sun/security/tools/jarsigner/warnings/MultipleWarningsTest.java | 4 openjdk-11-11.0.6+10/test/jdk/sun/security/tools/jarsigner/warnings/NoTimestampTest.java | 4 openjdk-11-11.0.6+10/test/jdk/sun/security/tools/jarsigner/warnings/NotSignedByAliasTest.java | 4 openjdk-11-11.0.6+10/test/jdk/sun/security/tools/jarsigner/warnings/NotYetValidCertTest.java | 4 openjdk-11-11.0.6+10/test/jdk/sun/security/tools/keytool/ListOrder.java | 64 openjdk-11-11.0.6+10/test/jdk/sun/security/util/DerValue/BadValue.java | 16 openjdk-11-11.0.6+10/test/jdk/sun/security/validator/EndEntityExtensionCheck.java | 3 openjdk-11-11.0.6+10/test/jdk/sun/security/x509/X509CertImpl/ECSigParamsVerifyWithCert.java | 91 openjdk-11-11.0.6+10/test/jdk/sun/text/resources/LocaleData | 10 openjdk-11-11.0.6+10/test/jdk/sun/text/resources/LocaleDataTest.java | 2 openjdk-11-11.0.6+10/test/jdk/sun/tools/jhsdb/JShellHeapDumpTest.java | 71 openjdk-11-11.0.6+10/test/jdk/tools/jimage/JImageExtractTest.java | 2 openjdk-11-11.0.6+10/test/jdk/tools/launcher/HelpFlagsTest.java | 2 openjdk-11-11.0.6+10/test/jdk/tools/launcher/VersionCheck.java | 1 openjdk-11-11.0.6+10/test/jtreg-ext/requires/VMProps.java | 67 openjdk-11-11.0.6+10/test/langtools/tools/javac/T8152616.java | 4 openjdk-11-11.0.6+10/test/lib/jdk/test/lib/Container.java | 32 openjdk-11-11.0.6+10/test/lib/jdk/test/lib/Utils.java | 9 openjdk-11-11.0.6+10/test/lib/jdk/test/lib/artifacts/ArtifactResolver.java | 3 openjdk-11-11.0.6+10/test/lib/jdk/test/lib/artifacts/JibArtifactManager.java | 70 openjdk-11-11.0.6+10/test/lib/jdk/test/lib/containers/cgroup/MetricsTester.java | 37 openjdk-11-11.0.6+10/test/lib/jdk/test/lib/containers/docker/DockerRunOptions.java | 15 openjdk-11-11.0.6+10/test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java | 42 openjdk-11-11.0.6+10/test/lib/jdk/test/lib/jfr/EventNames.java | 3 openjdk-11-11.0.6+10/test/lib/sun/hotspot/WhiteBox.java | 1 openjdk-11-11.0.6+10/test/lib/sun/hotspot/gc/GC.java | 12 openjdk-11-11.0.6+10/test/nashorn/src/jdk/nashorn/internal/runtime/doubleconv/test/BignumDtoaTest.java | 7 openjdk-11-11.0.6+10/test/nashorn/src/jdk/nashorn/internal/runtime/doubleconv/test/FixedDtoaTest.java | 5 openjdk-11-11.0.6+10/test/nashorn/src/jdk/nashorn/internal/runtime/doubleconv/test/IeeeDoubleTest.java | 6 1403 files changed, 45112 insertions(+), 19844 deletions(-) diff -Nru openjdk-11-11.0.5+10/.hg_archival.txt openjdk-11-11.0.6+10/.hg_archival.txt --- openjdk-11-11.0.5+10/.hg_archival.txt 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/.hg_archival.txt 2019-11-26 00:55:54.000000000 +0000 @@ -1,5 +1,5 @@ repo: fd16c54261b32be1aaedd863b7e856801b7f8543 -node: 6385eb06af947d8ec5fd51a4733bc8187efb88b5 +node: 837b7afec083aaddeef0a6c3e6501b2200eaf1d4 branch: default -tag: jdk-11.0.5+10 -tag: jdk-11.0.5-ga +tag: jdk-11.0.6+10 +tag: jdk-11.0.6-ga diff -Nru openjdk-11-11.0.5+10/.hgtags openjdk-11-11.0.6+10/.hgtags --- openjdk-11-11.0.5+10/.hgtags 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/.hgtags 2019-11-26 00:55:54.000000000 +0000 @@ -561,7 +561,19 @@ d84dae4fba034adc749e3f28fc444b3d95b8f670 jdk-11.0.5+3 315e873712092d48fbfa23885bdf2c6fd654c1ab jdk-11.0.5+4 d43c5ab1a337b94fffee1cab871543da06f8113c jdk-11.0.5+5 +7431ec494a2988fa69742812168c3119805a7855 jdk-11.0.6+0 deaef57bf366fdab908b97a9760d0fa6e273abcd jdk-11.0.5+6 046604d257d7bc698ee213d70af09793f5008ff1 jdk-11.0.5+7 2c29e9b3a2856350d55a188635c36c5b23c1c9e3 jdk-11.0.5+8 ee7128cf507a670ae84841b202a7a06711608359 jdk-11.0.5+9 +6385eb06af947d8ec5fd51a4733bc8187efb88b5 jdk-11.0.5+10 +6385eb06af947d8ec5fd51a4733bc8187efb88b5 jdk-11.0.5-ga +6eb89e59a06a2f83f7fe0399da4bf4ca638d46f3 jdk-11.0.6+1 +8d3e0c2c009815cae59ad3c9bf9e4b1f090efc8b jdk-11.0.6+2 +f8b2e95a1d41585a757729ed28ce35d43aba1b3f jdk-11.0.6+3 +577a1fc440666e3c0724e07f6a8d736b2c7905cf jdk-11.0.6+4 +bfce7426e091127450a70b7d07941c0f9e02d347 jdk-11.0.6+5 +aa260c24480a2bd7d21ad1c863e6fe9a3973011e jdk-11.0.6+6 +42500af9232ed5b2990ff618a1e92ef6ccc0b9af jdk-11.0.6+7 +0c54fb645a7388cb7e3d587b4df75a2edd7826e2 jdk-11.0.6+8 +1859de77ee6cd7e10ac0b9e71027d9f974a6e481 jdk-11.0.6+9 diff -Nru openjdk-11-11.0.5+10/debian/changelog openjdk-11-11.0.6+10/debian/changelog --- openjdk-11-11.0.5+10/debian/changelog 2019-10-18 14:29:48.000000000 +0000 +++ openjdk-11-11.0.6+10/debian/changelog 2020-01-17 00:09:03.000000000 +0000 @@ -1,8 +1,55 @@ -openjdk-11 (11.0.5+10-1~deb10u1) buster-security; urgency=medium +openjdk-11 (11.0.6+10-1~deb10u1) buster-security; urgency=medium - * Rebuild for buster-security + * Rebuild for Buster - -- Moritz Muehlenhoff Fri, 18 Oct 2019 18:28:52 +0000 + -- Moritz Muehlenhoff Fri, 17 Jan 2020 00:09:03 +0000 + +openjdk-11 (11.0.6+10-1) unstable; urgency=high + + * OpenJDK 11.0.6+10 build (release). + - S8220598: Malformed copyright year range in a few files in java.base. + - S8224909, CVE-2020-2583: Unlink Set of LinkedHashSets. + - S8225261: Better method resolutions. + - S8225279: Better XRender interpolation. + - S8226352, CVE-2020-2590: Improve Kerberos interop capabilities. + - S8227758: More valid PKIX processing. + - S8227816: More Colorful ICC profiles. + - S8228548, CVE-2020-2593: Normalize normalization for all. + - S8229728: Implement negotiation parameters. + - S8229951, CVE-2020-2601: Better Ticket Granting Services. + - S8230279: Improve Pack200 file reading. + - S8230318: Better trust store usage. + - S8230967: Improve Registry support of clients. + - S8231139: Improved keystore support. + - S8231422, CVE-2020-2604: Better serial filter handling. + - S8231780, CVE-2020-2655: Better TLS messaging support. + - S8231790: Provide better FileSystemProviders. + - S8232419: Improve Registry registration. + - S8234037, CVE-2020-2654: Improve Object Identifier Processing. + * Disable zero on sparc64 (Adrian Glaubitz). Closes: #942030. + * Make the generated character data source files reproducible (Emmanuel + Bourg). Closes: #933339. + * Make the generated module-info.java files reproducible (Emmanuel Bourg). + Closes: #933342. + * Make the generated copyright headers reproducible (Emmanuel Bourg). + Closes: #933349. + * Make the build user reproducible (Emmanuel Bourg). Closes: #933373. + + -- Matthias Klose Wed, 15 Jan 2020 01:09:36 +0100 + +openjdk-11 (11.0.6+7-1) unstable; urgency=medium + + * OpenJDK 11.0.5+7 build (early access). + + -- Matthias Klose Fri, 13 Dec 2019 14:52:21 +0100 + +openjdk-11 (11.0.5+10-2) unstable; urgency=medium + + * Fix the jtreg consistency check when building without jtreg. + * Don't call dh_strip_nondeterminism when building for older releases. + * Fix disabling the zero build on arm64 on trusty. + + -- Matthias Klose Thu, 17 Oct 2019 22:04:30 +0200 openjdk-11 (11.0.5+10-1) unstable; urgency=high diff -Nru openjdk-11-11.0.5+10/debian/control openjdk-11-11.0.6+10/debian/control --- openjdk-11-11.0.5+10/debian/control 2019-10-18 14:28:44.000000000 +0000 +++ openjdk-11-11.0.6+10/debian/control 2020-01-17 00:09:03.000000000 +0000 @@ -152,7 +152,7 @@ This package contains the debugging symbols. Package: openjdk-11-jre-zero -Architecture: amd64 i386 arm64 ppc64 ppc64el sparc64 s390x kfreebsd-amd64 kfreebsd-i386 +Architecture: amd64 i386 arm64 ppc64 ppc64el s390x kfreebsd-amd64 kfreebsd-i386 Multi-Arch: same Priority: optional Pre-Depends: ${dpkg:Depends} diff -Nru openjdk-11-11.0.5+10/debian/patches/reproducible-build-user.diff openjdk-11-11.0.6+10/debian/patches/reproducible-build-user.diff --- openjdk-11-11.0.5+10/debian/patches/reproducible-build-user.diff 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/debian/patches/reproducible-build-user.diff 2020-01-15 00:09:36.000000000 +0000 @@ -0,0 +1,14 @@ +Description: Makes the build user invariant to improve the reproducibility (it appears in the interval VM version in libjvm.so) +Author: Emmanuel Bourg +Forwarded: no +--- a/make/autoconf/basics.m4 ++++ b/make/autoconf/basics.m4 +@@ -650,7 +650,7 @@ + + # Setup username (for use in adhoc version strings etc) + # Outer [ ] to quote m4. +- [ USERNAME=`$ECHO "$USER" | $TR -d -c '[a-z][A-Z][0-9]'` ] ++ [ USERNAME="unknown" ] + AC_SUBST(USERNAME) + ]) + diff -Nru openjdk-11-11.0.5+10/debian/patches/reproducible-character-data.diff openjdk-11-11.0.6+10/debian/patches/reproducible-character-data.diff --- openjdk-11-11.0.5+10/debian/patches/reproducible-character-data.diff 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/debian/patches/reproducible-character-data.diff 2020-01-15 00:09:36.000000000 +0000 @@ -0,0 +1,23 @@ +Description: Makes the generated character data classes reproducible (removes a timestamp and trims a build path captured in the comments) +Author: Emmanuel Bourg +Forwarded: no +--- a/make/jdk/src/classes/build/tools/generatecharacter/GenerateCharacter.java ++++ b/make/jdk/src/classes/build/tools/generatecharacter/GenerateCharacter.java +@@ -693,7 +693,7 @@ + PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(theOutputFileName))); + out.println(commentStart + + " This file was generated AUTOMATICALLY from a template file " + +- new java.util.Date() + commentEnd); ++ commentEnd); + int marklen = commandMarker.length(); + LOOP: while(true) { + try { +@@ -1815,7 +1815,7 @@ + } + commentStart = (Csyntax ? "/*" : "//"); + commentEnd = (Csyntax ? " */" : ""); +- commandLineDescription = desc.toString(); ++ commandLineDescription = desc.toString().replace(System.getProperty("user.dir").replace("make/gensrc", ""), ""); + } + + private static void searchBins(long[] map, int binsOccupied) throws Exception { diff -Nru openjdk-11-11.0.5+10/debian/patches/reproducible-copyright-headers.diff openjdk-11-11.0.6+10/debian/patches/reproducible-copyright-headers.diff --- openjdk-11-11.0.5+10/debian/patches/reproducible-copyright-headers.diff 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/debian/patches/reproducible-copyright-headers.diff 2020-01-15 00:09:36.000000000 +0000 @@ -0,0 +1,64 @@ +Description: Makes the generated copyright headers reproducible +Author: Emmanuel Bourg +Forwarded: no +--- a/make/jdk/src/classes/build/tools/cldrconverter/CopyrightHeaders.java ++++ b/make/jdk/src/classes/build/tools/cldrconverter/CopyrightHeaders.java +@@ -26,6 +26,7 @@ + package build.tools.cldrconverter; + + import java.util.Calendar; ++import java.util.Date; + import java.util.GregorianCalendar; + import java.util.Locale; + import java.util.TimeZone; +@@ -150,8 +151,14 @@ + } + + private static int getYear() { +- return new GregorianCalendar(TimeZone.getTimeZone("America/Los_Angeles"), +- Locale.US).get(Calendar.YEAR); ++ Date date = new Date(); ++ if (System.getenv("SOURCE_DATE_EPOCH") != null) { ++ date = new Date(1000 * Long.valueOf(System.getenv("SOURCE_DATE_EPOCH"))); ++ } ++ ++ GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("UTC"), Locale.ENGLISH); ++ calendar.setTime(date); ++ return calendar.get(Calendar.YEAR); + } + + // no instantiation +--- a/make/jdk/src/classes/build/tools/generatelsrequivmaps/EquivMapsGenerator.java ++++ b/make/jdk/src/classes/build/tools/generatelsrequivmaps/EquivMapsGenerator.java +@@ -33,9 +33,13 @@ + import java.time.ZoneId; + import java.time.ZonedDateTime; + import java.util.ArrayList; ++import java.util.Calendar; ++import java.util.Date; ++import java.util.GregorianCalendar; + import java.util.List; + import java.util.Locale; + import java.util.Map; ++import java.util.TimeZone; + import java.util.TreeMap; + + /** +@@ -225,8 +229,15 @@ + + "}"; + + private static String getOpenJDKCopyright() { +- int year = ZonedDateTime.now(ZoneId +- .of("America/Los_Angeles")).getYear(); ++ Date date = new Date(); ++ if (System.getenv("SOURCE_DATE_EPOCH") != null) { ++ date = new Date(1000 * Long.valueOf(System.getenv("SOURCE_DATE_EPOCH"))); ++ } ++ ++ GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("UTC"), Locale.ENGLISH); ++ calendar.setTime(date); ++ ++ int year = calendar.get(Calendar.YEAR); + return String.format(Locale.US, COPYRIGHT, year); + } + diff -Nru openjdk-11-11.0.5+10/debian/patches/reproducible-module-info.diff openjdk-11-11.0.6+10/debian/patches/reproducible-module-info.diff --- openjdk-11-11.0.5+10/debian/patches/reproducible-module-info.diff 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/debian/patches/reproducible-module-info.diff 2020-01-15 00:09:36.000000000 +0000 @@ -0,0 +1,18 @@ +Description: Makes the generated module-info.java files reproducible (removes a captured build path) +Author: Emmanuel Bourg +Forwarded: no +--- a/make/jdk/src/classes/build/tools/module/GenModuleInfoSource.java ++++ b/make/jdk/src/classes/build/tools/module/GenModuleInfoSource.java +@@ -147,9 +147,10 @@ + writer.println(l); + if (l.trim().startsWith("module ")) { + // print URI rather than file path to avoid escape +- writer.format(" // source file: %s%n", sourceFile.toUri()); ++ String buildPath = System.getProperty("user.dir").replaceAll("make$", ""); ++ writer.format(" // source file: %s%n", sourceFile.toUri().toString().replace(buildPath, "")); + for (Path file: extraFiles) { +- writer.format(" // %s%n", file.toUri()); ++ writer.format(" // %s%n", file.toUri().toString().replace(buildPath, "")); + } + break; + } diff -Nru openjdk-11-11.0.5+10/debian/patches/series openjdk-11-11.0.6+10/debian/patches/series --- openjdk-11-11.0.5+10/debian/patches/series 2019-09-06 15:54:10.000000000 +0000 +++ openjdk-11-11.0.6+10/debian/patches/series 2020-01-15 00:09:36.000000000 +0000 @@ -40,3 +40,7 @@ jaw-optional.diff riscv64.diff 8230708.diff +reproducible-character-data.diff +reproducible-module-info.diff +reproducible-copyright-headers.diff +reproducible-build-user.diff diff -Nru openjdk-11-11.0.5+10/debian/rules openjdk-11-11.0.6+10/debian/rules --- openjdk-11-11.0.5+10/debian/rules 2019-10-16 08:41:31.000000000 +0000 +++ openjdk-11-11.0.6+10/debian/rules 2020-01-15 00:09:36.000000000 +0000 @@ -149,6 +149,7 @@ ifneq (,$(filter $(DEB_HOST_ARCH), alpha)) with_check = disabled running check on $(DEB_HOST_ARCH) endif +# no jtreg backport yet ifneq (,$(filter $(distrel), precise trusty xenial)) with_check = disabled for $(distrel) endif @@ -179,6 +180,9 @@ # ftbfs in 11.0.5+bx, and 13+17 altzero_archs := $(filter-out armhf, $(altzero_archs)) +# FIXME: Zero currently FTBFS on sparc64 with gcc-9 +altzero_archs := $(filter-out sparc64, $(altzero_archs)) + ifneq (,$(filter noaltzero, $(DEB_BUILD_OPTIONS))) altzero_archs = else ifneq (,$(filter $(DEB_HOST_ARCH), $(altzero_archs))) @@ -619,15 +623,14 @@ # look at all TEST.ROOT for the required jtreg version, sorted by newest min_jtreg_version := $(shell find test/ -name TEST.ROOT -exec grep -hr "^requiredVersion=" {} \; | sed -e 's:^requiredVersion=::' -e 's:$$:-0~:' | sort -uVr | head -n1 | tr ' ' '-') -bd_check = \ - jtreg (>= $(min_jtreg_version))$(nocheck_profile), testng$(nocheck_profile), \ - xvfb$(nocheck_profile), xauth$(nocheck_profile), \ - xfonts-base$(nocheck_profile), libgl1-mesa-dri [!x32]$(nocheck_profile), \ - xfwm4$(nocheck_profile), x11-xkb-utils$(nocheck_profile), \ - dbus-x11$(nocheck_profile), - -ifneq (,$(filter $(distrel),precise trusty xenial)) - # no jtreg backport yet +ifeq ($(with_check),yes) + bd_check = \ + jtreg (>= $(min_jtreg_version))$(nocheck_profile), testng$(nocheck_profile), \ + xvfb$(nocheck_profile), xauth$(nocheck_profile), \ + xfonts-base$(nocheck_profile), libgl1-mesa-dri [!x32]$(nocheck_profile), \ + xfwm4$(nocheck_profile), x11-xkb-utils$(nocheck_profile), \ + dbus-x11$(nocheck_profile), +else bd_check = file, endif @@ -961,7 +964,7 @@ build_stamps += stamps/jtreg-check-default pre-build: -ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) +ifeq ($(with_check),yes) jtreg_version="$$(dpkg-query -f '$${Version}\n' -W jtreg)"; \ if ! dpkg --compare-versions $(min_jtreg_version) le $$jtreg_version; then \ echo "Error: testsuite requires jtreg $(min_jtreg_version) but $$jtreg_version is installed"; \ @@ -1662,7 +1665,9 @@ -dh_icons -i $(nodocs) || dh_iconcache -i $(nodocs) # dh_installdebconf -i $(nodocs) dh_link -i $(nodocs) - dh_strip_nondeterminism -i $(nodocs) + set -e; if which dh_strip_nondeterminism >/dev/null; then \ + dh_strip_nondeterminism -i $(nodocs); \ + fi dh_compress -i $(nodocs) -Xexamples -Xdemo -Xpackage-list -Xelement-list dh_fixperms -i $(nodocs) dh_installdeb -i $(nodocs) @@ -1715,7 +1720,9 @@ || dh_iconcache -a $(nodemo) $(nojrez) # dh_installdebconf -a $(nodemo) $(nojrez) dh_link -a $(nodemo) $(nojrez) - dh_strip_nondeterminism -a $(nodemo) $(nojrez) + set -e; if which dh_strip_nondeterminism >/dev/null; then \ + dh_strip_nondeterminism -a $(nodemo) $(nojrez); \ + fi dh_strip -a $(nodemo) $(nojrez) \ -Xlibjvm.so -X.debuginfo --dbg-package=$(p_dbg) @@ -1761,7 +1768,7 @@ is_release = yes hg_project = jdk11u -hg_tag = jdk-11.0.5+10 +hg_tag = jdk-11.0.6+10 package_version = $(subst jdk-,,$(hg_tag)) ifneq ($(is_release),yes) package_version := $(subst +,~,$(package_version)) diff -Nru openjdk-11-11.0.5+10/debian/tests/control openjdk-11-11.0.6+10/debian/tests/control --- openjdk-11-11.0.5+10/debian/tests/control 2019-10-16 08:41:31.000000000 +0000 +++ openjdk-11-11.0.6+10/debian/tests/control 2020-01-15 00:09:36.000000000 +0000 @@ -1,7 +1,7 @@ Tests: hotspot, jaxp, langtools Depends: @, default-jre-headless, jtreg (>= 4.2-b13-0~), testng, g++ -Restrictions: allow-stderr, skippable +Restrictions: allow-stderr, skippable, flaky Tests: jdk Depends: @, default-jre-headless, jtreg (>= 4.2-b13-0~), testng, g++, xfwm4, xvfb, dbus-x11 -Restrictions: allow-stderr, skippable +Restrictions: allow-stderr, skippable, flaky diff -Nru openjdk-11-11.0.5+10/debian/tests/control.in openjdk-11-11.0.6+10/debian/tests/control.in --- openjdk-11-11.0.5+10/debian/tests/control.in 2019-10-16 08:41:31.000000000 +0000 +++ openjdk-11-11.0.6+10/debian/tests/control.in 2019-10-18 11:41:48.000000000 +0000 @@ -1,7 +1,7 @@ Tests: hotspot, jaxp, langtools Depends: @, default-jre-headless, jtreg (>= @min_jtreg_version@), testng, g++ -Restrictions: allow-stderr, skippable +Restrictions: allow-stderr, skippable, flaky Tests: jdk Depends: @, default-jre-headless, jtreg (>= @min_jtreg_version@), testng, g++, xfwm4, xvfb, dbus-x11 -Restrictions: allow-stderr, skippable +Restrictions: allow-stderr, skippable, flaky diff -Nru openjdk-11-11.0.5+10/make/Help.gmk openjdk-11-11.0.6+10/make/Help.gmk --- openjdk-11-11.0.5+10/make/Help.gmk 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/Help.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -119,7 +119,7 @@ run-test-prebuilt: @( cd $(topdir) && \ $(MAKE) --no-print-directory -r -R -I make/common/ -f make/RunTestsPrebuilt.gmk \ - run-test-prebuilt TEST="$(TEST)" ) + run-test-prebuilt CUSTOM_MAKE_DIR=$(CUSTOM_MAKE_DIR) TEST="$(TEST)" ) ALL_GLOBAL_TARGETS := help print-configurations run-test-prebuilt diff -Nru openjdk-11-11.0.5+10/make/MacBundles.gmk openjdk-11-11.0.6+10/make/MacBundles.gmk --- openjdk-11-11.0.5+10/make/MacBundles.gmk 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/MacBundles.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -61,17 +61,15 @@ FILES := $(call CacheFind, $(JRE_IMAGE_DIR)), \ )) - $(JDK_MACOSX_CONTENTS_DIR)/MacOS/libjli.dylib: - $(call LogInfo, Creating link $(patsubst $(OUTPUTDIR)/%,%,$@)) - $(MKDIR) -p $(@D) - $(RM) $@ - $(LN) -s ../Home/lib/jli/libjli.dylib $@ - - $(JRE_MACOSX_CONTENTS_DIR)/MacOS/libjli.dylib: - $(call LogInfo, Creating link $(patsubst $(OUTPUTDIR)/%,%,$@)) - $(MKDIR) -p $(@D) - $(RM) $@ - $(LN) -s ../Home/lib/jli/libjli.dylib $@ + $(eval $(call SetupCopyFiles, COPY_LIBJLI_JDK, \ + FILES := $(JDK_IMAGE_DIR)/lib/jli/libjli.dylib, \ + DEST := $(JDK_MACOSX_CONTENTS_DIR)/MacOS, \ + )) + + $(eval $(call SetupCopyFiles, COPY_LIBJLI_JRE, \ + FILES := $(JRE_IMAGE_DIR)/lib/jli/libjli.dylib, \ + DEST := $(JRE_MACOSX_CONTENTS_DIR)/MacOS, \ + )) $(eval $(call SetupTextFileProcessing, BUILD_JDK_PLIST, \ SOURCE_FILES := $(MACOSX_PLIST_SRC)/JDK-Info.plist, \ @@ -97,13 +95,19 @@ @@VENDOR@@ => $(BUNDLE_VENDOR) , \ )) - jdk-bundle: $(COPY_JDK_IMAGE) $(JDK_MACOSX_CONTENTS_DIR)/MacOS/libjli.dylib \ - $(BUILD_JDK_PLIST) + $(SUPPORT_OUTPUTDIR)/images/_jdk_bundle_attribute_set: $(COPY_JDK_IMAGE) $(SETFILE) -a B $(dir $(JDK_MACOSX_CONTENTS_DIR)) + $(TOUCH) $@ - jre-bundle: $(COPY_JRE_IMAGE) $(JRE_MACOSX_CONTENTS_DIR)/MacOS/libjli.dylib \ - $(BUILD_JRE_PLIST) + $(SUPPORT_OUTPUTDIR)/images/_jre_bundle_attribute_set: $(COPY_JRE_IMAGE) $(SETFILE) -a B $(dir $(JRE_MACOSX_CONTENTS_DIR)) + $(TOUCH) $@ + + jdk-bundle: $(COPY_JDK_IMAGE) $(COPY_LIBJLI_JDK) \ + $(BUILD_JDK_PLIST) $(SUPPORT_OUTPUTDIR)/images/_jdk_bundle_attribute_set + + jre-bundle: $(COPY_JRE_IMAGE) $(COPY_LIBJLI_JRE) \ + $(BUILD_JRE_PLIST) $(SUPPORT_OUTPUTDIR)/images/_jre_bundle_attribute_set else # Not macosx diff -Nru openjdk-11-11.0.5+10/make/Main.gmk openjdk-11-11.0.6+10/make/Main.gmk --- openjdk-11-11.0.5+10/make/Main.gmk 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/Main.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -637,6 +637,7 @@ # Declare dependencies between hotspot-* targets $(foreach v, $(JVM_VARIANTS), \ $(eval hotspot-$v: hotspot-$v-gensrc hotspot-$v-libs) \ + $(eval hotspot-$v-gensrc: java.base-copy) \ $(eval hotspot-$v-libs: hotspot-$v-gensrc java.base-copy) \ ) diff -Nru openjdk-11-11.0.5+10/make/RunTests.gmk openjdk-11-11.0.6+10/make/RunTests.gmk --- openjdk-11-11.0.5+10/make/RunTests.gmk 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/RunTests.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -82,8 +82,8 @@ endif $(eval $(call ParseKeywordVariable, TEST_OPTS, \ - KEYWORDS := JOBS TIMEOUT, \ - STRING_KEYWORDS := VM_OPTIONS, \ + SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR, \ + STRING_KEYWORDS := VM_OPTIONS JAVA_OPTIONS, \ )) # Helper function to propagate TEST_OPTS values. @@ -102,10 +102,14 @@ ifndef _NT_SYMBOL_PATH # Can't use PathList here as it adds quotes around the value. _NT_SYMBOL_PATH := \ - $(subst $(SPACE),;, $(foreach p, $(sort $(dir $(wildcard \ - $(addprefix $(SYMBOLS_IMAGE_DIR)/bin/, *.pdb */*.pdb)))), $(call FixPath, $p))) + $(subst $(SPACE),;,$(strip \ + $(foreach p, $(sort $(dir $(wildcard \ + $(addprefix $(SYMBOLS_IMAGE_DIR)/bin/, *.pdb */*.pdb)))), \ + $(call FixPath, $p) \ + ) \ + )) export _NT_SYMBOL_PATH - $(info _NT_SYMBOL_PATH $(_NT_SYMBOL_PATH)) + $(info _NT_SYMBOL_PATH=$(_NT_SYMBOL_PATH)) endif endif @@ -141,22 +145,50 @@ GTEST_VARIANTS := $(strip $(patsubst $(TEST_IMAGE_DIR)/hotspot/gtest/%, %, $(GTEST_LAUNCHER_DIRS))) ################################################################################ +# Setup global test running parameters +################################################################################ + +# Each factor variable comes in 3 variants. The first one is reserved for users +# to use on command line. The other two are for predifined configurations in JDL +# and for machine specific configurations respectively. +TEST_JOBS_FACTOR ?= 1 +TEST_JOBS_FACTOR_JDL ?= 1 +TEST_JOBS_FACTOR_MACHINE ?= 1 + +ifeq ($(TEST_JOBS), 0) + # Concurrency based on min(cores / 2, 12) * TEST_JOBS_FACTOR + TEST_JOBS := $(shell $(AWK) \ + 'BEGIN { \ + c = $(NUM_CORES) / 2; \ + if (c > 12) c = 12; \ + c = c * $(TEST_JOBS_FACTOR); \ + c = c * $(TEST_JOBS_FACTOR_JDL); \ + c = c * $(TEST_JOBS_FACTOR_MACHINE); \ + if (c < 1) c = 1; \ + printf "%.0f", c; \ + }') +endif + +################################################################################ # Parse control variables ################################################################################ ifneq ($(TEST_OPTS), ) # Inform the user $(info Running tests using TEST_OPTS control variable '$(TEST_OPTS)') +endif - $(eval $(call SetTestOpt,VM_OPTIONS,JTREG)) - $(eval $(call SetTestOpt,VM_OPTIONS,GTEST)) +$(eval $(call SetTestOpt,VM_OPTIONS,JTREG)) +$(eval $(call SetTestOpt,JAVA_OPTIONS,JTREG)) +$(eval $(call SetTestOpt,VM_OPTIONS,GTEST)) +$(eval $(call SetTestOpt,JAVA_OPTIONS,GTEST)) - $(eval $(call SetTestOpt,JOBS,JTREG)) - $(eval $(call SetTestOpt,TIMEOUT,JTREG)) -endif +$(eval $(call SetTestOpt,JOBS,JTREG)) +$(eval $(call SetTestOpt,TIMEOUT_FACTOR,JTREG)) $(eval $(call ParseKeywordVariable, JTREG, \ - KEYWORDS := JOBS TIMEOUT TEST_MODE ASSERT VERBOSE RETAIN MAX_MEM, \ + SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR TEST_MODE ASSERT VERBOSE RETAIN MAX_MEM \ + EXTRA_PROBLEM_LISTS KEYWORDS, \ STRING_KEYWORDS := OPTIONS JAVA_OPTIONS VM_OPTIONS, \ )) @@ -166,8 +198,8 @@ endif $(eval $(call ParseKeywordVariable, GTEST, \ - KEYWORDS := REPEAT, \ - STRING_KEYWORDS := OPTIONS VM_OPTIONS, \ + SINGLE_KEYWORDS := REPEAT, \ + STRING_KEYWORDS := OPTIONS VM_OPTIONS JAVA_OPTIONS, \ )) ifneq ($(GTEST), ) @@ -396,15 +428,16 @@ $1_GTEST_REPEAT :=--gtest_repeat=$$(GTEST_REPEAT) endif - run-test-$1: + run-test-$1: $(TEST_PREREQS) $$(call LogWarn) $$(call LogWarn, Running test '$$($1_TEST)') $$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR)) $$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/gtest, \ $$(FIXPATH) $$(TEST_IMAGE_DIR)/hotspot/gtest/$$($1_VARIANT)/gtestLauncher \ - -jdk $(JDK_IMAGE_DIR) $$($1_GTEST_FILTER) \ - --gtest_output=xml:$$($1_TEST_RESULTS_DIR)/gtest.xml \ - $$($1_GTEST_REPEAT) $$(GTEST_OPTIONS) $$(GTEST_VM_OPTIONS) \ + -jdk $(JDK_IMAGE_DIR) $$($1_GTEST_FILTER) \ + --gtest_output=xml:$$($1_TEST_RESULTS_DIR)/gtest.xml \ + $$($1_GTEST_REPEAT) $$(GTEST_OPTIONS) $$(GTEST_VM_OPTIONS) \ + $$($1_GTEST_JAVA_OPTIONS) \ > >($(TEE) $$($1_TEST_RESULTS_DIR)/gtest.txt) \ && $$(ECHO) $$$$? > $$($1_EXITCODE) \ || $$(ECHO) $$$$? > $$($1_EXITCODE) \ @@ -475,12 +508,11 @@ $1_TEST_NAME := $$(strip $$(patsubst jtreg:%, %, $$($1_TEST))) - $1_COMPONENT := \ + $1_TEST_ROOT := \ $$(strip $$(foreach root, $$(JTREG_TESTROOTS), \ - $$(if $$(filter $$(root)%, $$(JTREG_TOPDIR)/$$($1_TEST_NAME)), \ - $$(lastword $$(subst /, $$(SPACE), $$(root))) \ - ) \ + $$(if $$(filter $$(root)%, $$(JTREG_TOPDIR)/$$($1_TEST_NAME)), $$(root)) \ )) + $1_COMPONENT := $$(lastword $$(subst /, $$(SPACE), $$($1_TEST_ROOT))) # This will work only as long as just hotspot has the additional "jtreg" directory ifeq ($$($1_COMPONENT), jtreg) $1_COMPONENT := hotspot @@ -503,6 +535,9 @@ $$(eval $$(call SetJtregValue,$1,JTREG_BASIC_OPTIONS)) $$(eval $$(call SetJtregValue,$1,JTREG_PROBLEM_LIST)) + # Only the problem list for the current test root should be used. + $1_JTREG_PROBLEM_LIST := $$(filter $$($1_TEST_ROOT)%, $$($1_JTREG_PROBLEM_LIST)) + ifneq ($(TEST_JOBS), 0) $$(eval $$(call SetJtregValue,$1,JTREG_JOBS,$$(TEST_JOBS))) else @@ -515,9 +550,9 @@ # SPARC is in general slower per core so need to scale up timeouts a bit. ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc) - JTREG_TIMEOUT ?= 8 + JTREG_TIMEOUT_FACTOR ?= 8 else - JTREG_TIMEOUT ?= 4 + JTREG_TIMEOUT_FACTOR ?= 4 endif JTREG_VERBOSE ?= fail,error,summary JTREG_RETAIN ?= fail,error @@ -529,10 +564,10 @@ $1_JTREG_BASIC_OPTIONS += -$$($1_JTREG_TEST_MODE) \ -verbose:$$(JTREG_VERBOSE) -retain:$$(JTREG_RETAIN) \ - -concurrency:$$($1_JTREG_JOBS) -timeoutFactor:$$(JTREG_TIMEOUT) \ + -concurrency:$$($1_JTREG_JOBS) -timeoutFactor:$$(JTREG_TIMEOUT_FACTOR) \ -vmoption:-XX:MaxRAMPercentage=$$($1_JTREG_MAX_RAM_PERCENTAGE) - $1_JTREG_BASIC_OPTIONS += -automatic -keywords:\!ignore -ignore:quiet + $1_JTREG_BASIC_OPTIONS += -automatic -ignore:quiet # Make it possible to specify the JIB_DATA_DIR for tests using the # JIB Artifact resolver @@ -562,8 +597,16 @@ $1_JTREG_BASIC_OPTIONS += $$(addprefix -exclude:, $$($1_JTREG_PROBLEM_LIST)) endif - ifneq ($$(JIB_JAR), ) - $1_JTREG_BASIC_OPTIONS += -cpa:$$(JIB_JAR) + ifneq ($$(JTREG_EXTRA_PROBLEM_LISTS), ) + # Accept both absolute paths as well as relative to the current test root. + $1_JTREG_BASIC_OPTIONS += $$(addprefix -exclude:, $$(wildcard \ + $$(JTREG_EXTRA_PROBLEM_LISTS) \ + $$(addprefix $$($1_TEST_ROOT)/, $$(JTREG_EXTRA_PROBLEM_LISTS)) \ + )) + endif + + ifneq ($$(JIB_HOME), ) + $1_JTREG_BASIC_OPTIONS += -e:JIB_HOME=$$(JIB_HOME) endif $1_JTREG_BASIC_OPTIONS += -e:TEST_IMAGE_GRAAL_DIR=${TEST_IMAGE_DIR}/hotspot/jtreg/graal @@ -572,10 +615,21 @@ $1_JTREG_LAUNCHER_OPTIONS += -Djava.library.path="$(JTREG_FAILURE_HANDLER_DIR)" endif + ifneq ($$(JTREG_KEYWORDS), ) + # The keywords string may contain problematic characters and may be quoted + # already when it arrives here. Remove any existing quotes and replace them + # with one set of single quotes. + $1_JTREG_KEYWORDS := \ + $$(strip $$(subst $$(SQUOTE),,$$(subst $$(DQUOTE),,$$(JTREG_KEYWORDS)))) + ifneq ($$($1_JTREG_KEYWORDS), ) + $1_JTREG_BASIC_OPTIONS += -k:'$$($1_JTREG_KEYWORDS)' + endif + endif + clean-workdir-$1: $$(RM) -r $$($1_TEST_SUPPORT_DIR) - run-test-$1: clean-workdir-$1 + run-test-$1: clean-workdir-$1 $(TEST_PREREQS) $$(call LogWarn) $$(call LogWarn, Running test '$$($1_TEST)') $$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR)) @@ -662,7 +716,7 @@ $$(error Invalid special test specification: $$($1_TEST_NAME)) endif - run-test-$1: + run-test-$1: $(TEST_PREREQS) $$(call LogWarn) $$(call LogWarn, Running test '$$($1_TEST)') $$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR)) diff -Nru openjdk-11-11.0.5+10/make/RunTestsPrebuilt.gmk openjdk-11-11.0.6+10/make/RunTestsPrebuilt.gmk --- openjdk-11-11.0.5+10/make/RunTestsPrebuilt.gmk 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/RunTestsPrebuilt.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -49,10 +49,11 @@ # given. # Note: No spaces are allowed around the arguments. # -# $1: The name of the argument +# $1: The name of the variable # $2: The default value, if any, or OPTIONAL (do not provide a default but # do not exit if it is missing) # $3: If NO_CHECK, disable checking for target file/directory existence +# If MKDIR, create the default directory define SetupVariable ifeq ($$($1), ) ifeq ($2, ) @@ -75,10 +76,17 @@ endif # If $1 has a value (is not optional), and $3 is not set (to NO_CHECK), # and if wildcard is empty, then complain that the file is missing. - ifeq ($$(strip $$(if $$($1), , OPTIONAL) $$(wildcard $$($1)) $3), ) - $$(info Error: Prebuilt variable $1 points to missing file/directory:) - $$(info '$$($1)') - $$(error Cannot continue.) + ifeq ($3, MKDIR) + ifneq ($$(findstring $$(LOG), info debug trace), ) + $$(info Creating directory for $1) + endif + $$(shell mkdir -p $$($1)) + else ifneq ($3, NO_CHECK) + ifeq ($$(strip $$(if $$($1), , OPTIONAL) $$(wildcard $$($1))), ) + $$(info Error: Prebuilt variable $1 points to missing file/directory:) + $$(info '$$($1)') + $$(error Cannot continue.) + endif endif endef @@ -106,14 +114,14 @@ # Verify that user has given correct additional input. # These variables are absolutely necessary -$(eval $(call SetupVariable,OUTPUTDIR)) +$(eval $(call SetupVariable,OUTPUTDIR,$(TOPDIR)/build/run-test-prebuilt,MKDIR)) $(eval $(call SetupVariable,BOOT_JDK)) $(eval $(call SetupVariable,JT_HOME)) # These can have default values based on the ones above $(eval $(call SetupVariable,JDK_IMAGE_DIR,$(OUTPUTDIR)/images/jdk)) $(eval $(call SetupVariable,TEST_IMAGE_DIR,$(OUTPUTDIR)/images/test)) -$(eval $(call SetupVariable,SYMBOLS_IMAGE_DIR,$(OUTPUTDIR)/images/symbols)) +$(eval $(call SetupVariable,SYMBOLS_IMAGE_DIR,$(OUTPUTDIR)/images/symbols,NO_CHECK)) # Provide default values for tools that we need $(eval $(call SetupVariable,MAKE,make,NO_CHECK)) @@ -202,8 +210,8 @@ ifeq ($(OPENJDK_TARGET_OS), windows) ifeq ($(wildcard $(TEST_IMAGE_DIR)/bin/fixpath.exe), ) - $$(info Error: fixpath is missing from test image '$(TEST_IMAGE_DIR)') - $$(error Cannot continue.) + $(info Error: fixpath is missing from test image '$(TEST_IMAGE_DIR)') + $(error Cannot continue.) endif FIXPATH := $(TEST_IMAGE_DIR)/bin/fixpath.exe -c PATH_SEP:=; @@ -214,27 +222,32 @@ # Check number of cores and memory in MB ifeq ($(OPENJDK_TARGET_OS), linux) - NUM_CORES := $(shell $(CAT) /proc/cpuinfo | $(GREP) -c processor) - MEMORY_SIZE := $(shell \ + NUM_CORES := $(shell $(CAT) /proc/cpuinfo | $(GREP) -c processor) + MEMORY_SIZE := $(shell \ $(EXPR) `$(CAT) /proc/meminfo | $(GREP) MemTotal | $(AWK) '{print $$2}'` / 1024 \ - ) + ) else ifeq ($(OPENJDK_TARGET_OS), macosx) - NUM_CORES := $(shell /usr/sbin/sysctl -n hw.ncpu) - MEMORY_SIZE := $(shell $(EXPR) `/usr/sbin/sysctl -n hw.memsize` / 1024 / 1024) + NUM_CORES := $(shell /usr/sbin/sysctl -n hw.ncpu) + MEMORY_SIZE := $(shell $(EXPR) `/usr/sbin/sysctl -n hw.memsize` / 1024 / 1024) else ifeq ($(OPENJDK_TARGET_OS), solaris) - NUM_CORES := $(shell LC_MESSAGES=C /usr/sbin/psrinfo -v | $(GREP) -c on-line) - MEMORY_SIZE := $(shell \ + NUM_CORES := $(shell LC_MESSAGES=C /usr/sbin/psrinfo -v | $(GREP) -c on-line) + MEMORY_SIZE := $(shell \ /usr/sbin/prtconf 2> /dev/null | $(GREP) "^Memory [Ss]ize" | $(AWK) '{print $$3}' \ - ) + ) else ifeq ($(OPENJDK_TARGET_OS), windows) - NUM_CORES := $(NUMBER_OF_PROCESSORS) - MEMORY_SIZE := $(shell \ + NUM_CORES := $(NUMBER_OF_PROCESSORS) + MEMORY_SIZE := $(shell \ $(EXPR) `wmic computersystem get totalphysicalmemory -value | $(GREP) = \ | $(CUT) -d "=" -f 2-` / 1024 / 1024 \ - ) -else - NUM_CORES := 1 - MEMORY_SIZE := 1024 + ) +endif +ifeq ($(NUM_CORES), ) + $(warn Could not find number of CPUs, assuming 1) + NUM_CORES := 1 +endif +ifeq ($(MEMORY_SIZE), ) + $(warn Could not find memory size, assuming 1024 MB) + MEMORY_SIZE := 1024 endif ################################################################################ @@ -289,9 +302,6 @@ @$(RM) -f $(MAKESUPPORT_OUTPUTDIR)/exit-with-error @cd $(TOPDIR) && $(MAKE) $(MAKE_ARGS) -f make/RunTests.gmk run-test \ TEST="$(TEST)" - @if test -f $(MAKESUPPORT_OUTPUTDIR)/exit-with-error ; then \ - exit 1 ; \ - fi all: run-test-prebuilt diff -Nru openjdk-11-11.0.5+10/make/RunTestsPrebuiltSpec.gmk openjdk-11-11.0.6+10/make/RunTestsPrebuiltSpec.gmk --- openjdk-11-11.0.5+10/make/RunTestsPrebuiltSpec.gmk 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/RunTestsPrebuiltSpec.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -124,7 +124,7 @@ JMOD := $(FIXPATH) $(JMOD_CMD) JARSIGNER := $(FIXPATH) $(JARSIGNER_CMD) -BUILD_JAVA := $(JAVA) +BUILD_JAVA := $(JDK_IMAGE_DIR)/bin/JAVA ################################################################################ # Some common tools. Assume most common name and no path. AWK := awk @@ -172,3 +172,17 @@ EXPR := expr FILE := file HG := hg + +# On Solaris gnu versions of some tools are required. +ifeq ($(OPENJDK_BUILD_OS), solaris) + AWK := gawk + GREP := ggrep + EGREP := ggrep -E + FGREP := grep -F + SED := gsed + TAR := gtar +endif + +ifeq ($(OPENJDK_BUILD_OS), windows) + CYGPATH := cygpath +endif diff -Nru openjdk-11-11.0.5+10/make/ToolsJdk.gmk openjdk-11-11.0.6+10/make/ToolsJdk.gmk --- openjdk-11-11.0.5+10/make/ToolsJdk.gmk 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/ToolsJdk.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -79,6 +79,9 @@ TOOL_MAKEJAVASECURITY = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \ build.tools.makejavasecurity.MakeJavaSecurity +TOOL_GENERATECACERTS = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \ + build.tools.generatecacerts.GenerateCacerts + # TODO: There are references to the jdwpgen.jar in jdk/make/netbeans/jdwpgen/build.xml # and nbproject/project.properties in the same dir. Needs to be looked at. diff -Nru openjdk-11-11.0.5+10/make/autoconf/basics.m4 openjdk-11-11.0.6+10/make/autoconf/basics.m4 --- openjdk-11-11.0.5+10/make/autoconf/basics.m4 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/autoconf/basics.m4 2019-11-26 00:55:54.000000000 +0000 @@ -1212,12 +1212,23 @@ BASIC_REQUIRE_PROGS(MIG, mig) BASIC_REQUIRE_PROGS(XATTR, xattr) BASIC_PATH_PROGS(CODESIGN, codesign) + if test "x$CODESIGN" != "x"; then - # Verify that the openjdk_codesign certificate is present - AC_MSG_CHECKING([if openjdk_codesign certificate is present]) + # Check for user provided code signing identity. + # If no identity was provided, fall back to "openjdk_codesign". + AC_ARG_WITH([macosx-codesign-identity], [AS_HELP_STRING([--with-macosx-codesign-identity], + [specify the code signing identity])], + [MACOSX_CODESIGN_IDENTITY=$with_macosx_codesign_identity], + [MACOSX_CODESIGN_IDENTITY=openjdk_codesign] + ) + + AC_SUBST(MACOSX_CODESIGN_IDENTITY) + + # Verify that the codesign certificate is present + AC_MSG_CHECKING([if codesign certificate is present]) $RM codesign-testfile $TOUCH codesign-testfile - $CODESIGN -s openjdk_codesign codesign-testfile 2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD || CODESIGN= + $CODESIGN -s "$MACOSX_CODESIGN_IDENTITY" codesign-testfile 2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD || CODESIGN= $RM codesign-testfile if test "x$CODESIGN" = x; then AC_MSG_RESULT([no]) diff -Nru openjdk-11-11.0.5+10/make/autoconf/flags.m4 openjdk-11-11.0.6+10/make/autoconf/flags.m4 --- openjdk-11-11.0.5+10/make/autoconf/flags.m4 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/autoconf/flags.m4 2019-11-26 00:55:54.000000000 +0000 @@ -162,6 +162,10 @@ AC_MSG_WARN([Ignoring LDFLAGS($LDFLAGS) found in environment. Use --with-extra-ldflags]) fi + if test "x$ASFLAGS" != "x"; then + AC_MSG_WARN([Ignoring ASFLAGS($ASFLAGS) found in environment. Use --with-extra-asflags]) + fi + AC_ARG_WITH(extra-cflags, [AS_HELP_STRING([--with-extra-cflags], [extra flags to be used when compiling jdk c-files])]) @@ -171,9 +175,13 @@ AC_ARG_WITH(extra-ldflags, [AS_HELP_STRING([--with-extra-ldflags], [extra flags to be used when linking jdk])]) + AC_ARG_WITH(extra-asflags, [AS_HELP_STRING([--with-extra-asflags], + [extra flags to be passed to the assembler])]) + USER_CFLAGS="$with_extra_cflags" USER_CXXFLAGS="$with_extra_cxxflags" USER_LDFLAGS="$with_extra_ldflags" + USER_ASFLAGS="$with_extra_asflags" ]) # Setup the sysroot flags and add them to global CFLAGS and LDFLAGS so @@ -265,10 +273,12 @@ EXTRA_CFLAGS="$MACHINE_FLAG $USER_CFLAGS" EXTRA_CXXFLAGS="$MACHINE_FLAG $USER_CXXFLAGS" EXTRA_LDFLAGS="$MACHINE_FLAG $USER_LDFLAGS" + EXTRA_ASFLAGS="$USER_ASFLAGS" AC_SUBST(EXTRA_CFLAGS) AC_SUBST(EXTRA_CXXFLAGS) AC_SUBST(EXTRA_LDFLAGS) + AC_SUBST(EXTRA_ASFLAGS) # For autoconf testing to work, the global flags must also be stored in the # "unnamed" CFLAGS etc. diff -Nru openjdk-11-11.0.5+10/make/autoconf/spec.gmk.in openjdk-11-11.0.6+10/make/autoconf/spec.gmk.in --- openjdk-11-11.0.5+10/make/autoconf/spec.gmk.in 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/autoconf/spec.gmk.in 2019-11-26 00:55:54.000000000 +0000 @@ -387,6 +387,9 @@ # The highest allowed version of macosx MACOSX_VERSION_MAX=@MACOSX_VERSION_MAX@ +# The macosx code signing identity to use +MACOSX_CODESIGN_IDENTITY=@MACOSX_CODESIGN_IDENTITY@ + # Toolchain type: gcc, clang, solstudio, lxc, microsoft... TOOLCHAIN_TYPE:=@TOOLCHAIN_TYPE@ TOOLCHAIN_VERSION := @TOOLCHAIN_VERSION@ @@ -462,6 +465,7 @@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_CXXFLAGS = @EXTRA_CXXFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_ASFLAGS = @EXTRA_ASFLAGS@ CXX:=@FIXPATH@ @CCACHE@ @ICECC@ @CXX@ @@ -731,7 +735,7 @@ XATTR:=@XATTR@ JT_HOME:=@JT_HOME@ JTREGEXE:=@JTREGEXE@ -JIB_JAR:=@JIB_JAR@ +JIB_HOME:=@JIB_HOME@ XCODEBUILD=@XCODEBUILD@ DTRACE := @DTRACE@ FIXPATH:=@FIXPATH@ diff -Nru openjdk-11-11.0.5+10/make/autoconf/toolchain.m4 openjdk-11-11.0.6+10/make/autoconf/toolchain.m4 --- openjdk-11-11.0.5+10/make/autoconf/toolchain.m4 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/autoconf/toolchain.m4 2019-11-26 00:55:54.000000000 +0000 @@ -1144,5 +1144,5 @@ fi fi - AC_SUBST(JIB_JAR) + AC_SUBST(JIB_HOME) ]) diff -Nru openjdk-11-11.0.5+10/make/autoconf/version-numbers openjdk-11-11.0.6+10/make/autoconf/version-numbers --- openjdk-11-11.0.5+10/make/autoconf/version-numbers 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/autoconf/version-numbers 2019-11-26 00:55:54.000000000 +0000 @@ -27,12 +27,12 @@ DEFAULT_VERSION_FEATURE=11 DEFAULT_VERSION_INTERIM=0 -DEFAULT_VERSION_UPDATE=5 +DEFAULT_VERSION_UPDATE=6 DEFAULT_VERSION_PATCH=0 DEFAULT_VERSION_EXTRA1=0 DEFAULT_VERSION_EXTRA2=0 DEFAULT_VERSION_EXTRA3=0 -DEFAULT_VERSION_DATE=2019-10-15 +DEFAULT_VERSION_DATE=2020-01-14 DEFAULT_VERSION_CLASSFILE_MAJOR=55 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`" DEFAULT_VERSION_CLASSFILE_MINOR=0 DEFAULT_ACCEPTABLE_BOOT_VERSIONS="10 11" diff -Nru openjdk-11-11.0.5+10/make/common/MakeBase.gmk openjdk-11-11.0.6+10/make/common/MakeBase.gmk --- openjdk-11-11.0.5+10/make/common/MakeBase.gmk 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/common/MakeBase.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -842,7 +842,7 @@ # Parameter 1 is the name of the rule, and is also the name of the variable. # # Remaining parameters are named arguments. These include: -# KEYWORDS A list of valid keywords +# SINGLE_KEYWORDS A list of valid keywords with single string values # STRING_KEYWORDS A list of valid keywords, processed as string. This means # that '%20' will be replaced by ' ' to allow for multi-word strings. # @@ -856,7 +856,7 @@ $$(eval mangled_part_eval := $$(call DoubleDollar, $$(mangled_part))) \ $$(eval part := $$$$(subst ||||,$$$$(SPACE),$$$$(mangled_part_eval))) \ $$(eval $1_NO_MATCH := true) \ - $$(foreach keyword, $$($1_KEYWORDS), \ + $$(foreach keyword, $$($1_SINGLE_KEYWORDS), \ $$(eval keyword_eval := $$(call DoubleDollar, $$(keyword))) \ $$(if $$(filter $$(keyword)=%, $$(part)), \ $$(eval $(strip $1)_$$$$(keyword_eval) := $$$$(strip $$$$(patsubst $$$$(keyword_eval)=%, %, $$$$(part)))) \ @@ -871,11 +871,11 @@ ) \ ) \ $$(if $$($1_NO_MATCH), \ - $$(if $$(filter $$(part), $$($1_KEYWORDS) $$($1_STRING_KEYWORDS)), \ + $$(if $$(filter $$(part), $$($1_SINGLE_KEYWORDS) $$($1_STRING_KEYWORDS)), \ $$(info Keyword $$(part) for $1 needs to be assigned a value.) \ , \ $$(info $$(part) is not a valid keyword for $1.) \ - $$(info Valid keywords: $$($1_KEYWORDS) $$($1_STRING_KEYWORDS).) \ + $$(info Valid keywords: $$($1_SINGLE_KEYWORDS) $$($1_STRING_KEYWORDS).) \ ) \ $$(error Cannot continue) \ ) \ diff -Nru openjdk-11-11.0.5+10/make/common/NativeCompilation.gmk openjdk-11-11.0.6+10/make/common/NativeCompilation.gmk --- openjdk-11-11.0.5+10/make/common/NativeCompilation.gmk 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/common/NativeCompilation.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -936,7 +936,7 @@ $1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \ $$(GLOBAL_LIBS) $$($1_LIBS) $$($1_EXTRA_LIBS) $$($1_MT) \ - $$($1_CODESIGN) $$($1_CREATE_DEBUGINFO_CMDS) $$($1_MANIFEST_VERSION) \ + $$($1_CREATE_DEBUGINFO_CMDS) $$($1_MANIFEST_VERSION) \ $$($1_STRIP_CMD) $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \ $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps) @@ -1015,9 +1015,8 @@ # This only works if the openjdk_codesign identity is present on the system. Let # silently fail otherwise. ifneq ($(CODESIGN), ) - ifneq ($$($1_CODESIGN), ) - $(CODESIGN) -s openjdk_codesign $$@ - endif + $(CODESIGN) -s "$(MACOSX_CODESIGN_IDENTITY)" --timestamp --options runtime \ + --entitlements $(TOPDIR)/make/data/macosxsigning/entitlements.plist $$@ endif endif endef diff -Nru openjdk-11-11.0.5+10/make/conf/jib-profiles.js openjdk-11-11.0.6+10/make/conf/jib-profiles.js --- openjdk-11-11.0.5+10/make/conf/jib-profiles.js 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/conf/jib-profiles.js 2019-11-26 00:55:54.000000000 +0000 @@ -747,16 +747,15 @@ "run-test-prebuilt": { target_os: input.build_os, target_cpu: input.build_cpu, - src: "src.conf", dependencies: [ "jtreg", "gnumake", "boot_jdk", "jib", testedProfile + ".jdk", - testedProfile + ".test", "src.full" + testedProfile + ".test" ], - work_dir: input.get("src.full", "install_path") + "/test", + src: "src.conf", + make_args: [ "run-test-prebuilt", "LOG_CMDLINES=true" ], environment: { - "JT_JAVA": common.boot_jdk_home, - "PRODUCT_HOME": input.get(testedProfile + ".jdk", "home_path"), - "TEST_IMAGE_DIR": input.get(testedProfile + ".test", "home_path"), - "TEST_OUTPUT_DIR": input.src_top_dir + "BOOT_JDK": common.boot_jdk_home, + "JDK_IMAGE_DIR": input.get(testedProfile + ".jdk", "home_path"), + "TEST_IMAGE_DIR": input.get(testedProfile + ".test", "home_path") }, labels: "test" } @@ -794,13 +793,34 @@ windowsRunTestPrebuiltExtra = { dependencies: [ testedProfile + ".jdk_symbols" ], environment: { - "PRODUCT_SYMBOLS_HOME": input.get(testedProfile + ".jdk_symbols", "home_path"), + "SYMBOLS_IMAGE_DIR": input.get(testedProfile + ".jdk_symbols", "home_path"), } }; profiles["run-test-prebuilt"] = concatObjects(profiles["run-test-prebuilt"], windowsRunTestPrebuiltExtra); } + // The profile run-test-prebuilt defines src.conf as the src bundle. When + // running in Mach 5, this reduces the time it takes to populate the + // considerably. But with just src.conf, we cannot actually run any tests, + // so if running from a workspace with just src.conf in it, we need to also + // get src.full as a dependency, and define the work_dir (where make gets + // run) to be in the src.full install path. By running in the install path, + // the same cached installation of the full src can be reused for multiple + // test tasks. Care must however be taken not to polute that work dir by + // setting the appropriate make variables to control output directories. + // + // Use the existance of the top level README as indication of if this is + // the full source or just src.conf. + if (!new java.io.File(__DIR__, "../../README").exists()) { + var runTestPrebuiltSrcFullExtra = { + dependencies: "src.full", + work_dir: input.get("src.full", "install_path"), + } + profiles["run-test-prebuilt"] = concatObjects(profiles["run-test-prebuilt"], + runTestPrebuiltSrcFullExtra); + } + // Generate the missing platform attributes profiles = generatePlatformAttributes(profiles); profiles = generateDefaultMakeTargetsConfigureArg(common, profiles); @@ -827,7 +847,7 @@ : "gcc7.3.0-Fedora27+1.0"), linux_arm: (input.profile != null && input.profile.indexOf("hflt") >= 0 ? "gcc-linaro-arm-linux-gnueabihf-raspbian-2012.09-20120921_linux+1.0" - : (input.profile.indexOf("arm32") >= 0 + : (input.profile != null && input.profile.indexOf("arm32") >= 0 ? "gcc7.3.0-Fedora27+1.0" : "arm-linaro-4.7+1.0" ) @@ -941,9 +961,9 @@ ext: "zip", classifier: "distribution", revision: "3.0-SNAPSHOT", - environment_name: "JIB_JAR", + environment_name: "JIB_HOME", environment_value: input.get("jib", "install_path") - + "/jib-3.0-SNAPSHOT-distribution/lib/jib-3.0-SNAPSHOT.jar" + + "/jib-3.0-SNAPSHOT-distribution" }, ant: { diff -Nru openjdk-11-11.0.5+10/make/copy/Copy-java.base.gmk openjdk-11-11.0.6+10/make/copy/Copy-java.base.gmk --- openjdk-11-11.0.5+10/make/copy/Copy-java.base.gmk 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/copy/Copy-java.base.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -162,17 +162,17 @@ ################################################################################ -ifeq ($(CACERTS_FILE), ) - CACERTS_FILE := $(TOPDIR)/src/java.base/share/lib/security/cacerts -endif - +# CACERTS_FILE is optionally set in configure to override the default cacerts +# which is otherwise generated in Gendata-java.base.gmk CACERTS_DST := $(LIB_DST_DIR)/security/cacerts $(CACERTS_DST): $(CACERTS_FILE) $(call LogInfo, Copying $(patsubst $(OUTPUTDIR)/%, %, $@)) $(call install-file) -TARGETS += $(CACERTS_DST) +ifneq ($(CACERTS_FILE), ) + TARGETS += $(CACERTS_DST) +endif ################################################################################ diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/README openjdk-11-11.0.6+10/make/data/cacerts/README --- openjdk-11-11.0.5+10/make/data/cacerts/README 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/README 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,10 @@ +Each file in this directory (except for this README) contains a CA certificate in PEM format. It can be generated with + +keytool -J-Duser.timezone=GMT -printcert -file ca.cert | sed -n '1,4p;8,10p' +keytool -printcert -file ca.cert -rfc + +Please note the textual part before the "-----BEGIN CERTIFICATE-----" line is just a suggestion and not arbitrary. + +After any change in this directory, please remember to update the content of `test/jdk/sun/security/lib/cacerts/VerifyCACerts.java` as well. + +All changes to this directory need to be approved by the Security group. diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/actalisauthenticationrootca openjdk-11-11.0.6+10/make/data/cacerts/actalisauthenticationrootca --- openjdk-11-11.0.5+10/make/data/cacerts/actalisauthenticationrootca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/actalisauthenticationrootca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,40 @@ +Owner: CN=Actalis Authentication Root CA, O=Actalis S.p.A./03358520967, L=Milan, C=IT +Issuer: CN=Actalis Authentication Root CA, O=Actalis S.p.A./03358520967, L=Milan, C=IT +Serial number: 570a119742c4e3cc +Valid from: Thu Sep 22 11:22:02 GMT 2011 until: Sun Sep 22 11:22:02 GMT 2030 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UE +BhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8w +MzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 +IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDkyMjExMjIwMlowazELMAkGA1UEBhMC +SVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1 +ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENB +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNv +UTufClrJwkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX +4ay8IMKx4INRimlNAJZaby/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9 +KK3giq0itFZljoZUj5NDKd45RnijMCO6zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/ +gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1fYVEiVRvjRuPjPdA1Yprb +rxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2oxgkg4YQ +51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2F +be8lEfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxe +KF+w6D9Fz8+vm2/7hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4F +v6MGn8i1zeQf1xcGDXqVdFUNaBr8EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbn +fpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5jF66CyCU3nuDuP/jVo23Eek7 +jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLYiDrIn3hm7Ynz +ezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt +ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAL +e3KHwGCmSUyIWOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70 +jsNjLiNmsGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDz +WochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKxK3JCaKygvU5a2hi/a5iB0P2avl4V +SM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+Xlff1ANATIGk0k9j +pwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC4yyX +X04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+Ok +fcvHlXHo2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7R +K4X9p2jIugErsWx0Hbhzlefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btU +ZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXemOR/qnuOf0GZvBeyqdn6/axag67XH/JJU +LysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9vwGYT7JZVEc+NHt4bVaT +LnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/addtrustclass1ca openjdk-11-11.0.6+10/make/data/cacerts/addtrustclass1ca --- openjdk-11-11.0.5+10/make/data/cacerts/addtrustclass1ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/addtrustclass1ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,31 @@ +Owner: CN=AddTrust Class 1 CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE +Issuer: CN=AddTrust Class 1 CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE +Serial number: 1 +Valid from: Tue May 30 10:38:31 GMT 2000 until: Sat May 30 10:38:31 GMT 2020 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEU +MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3 +b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMw +MTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML +QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYD +VQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUA +A4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ul +CDtbKRY654eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6n +tGO0/7Gcrjyvd7ZWxbWroulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyl +dI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1Zmne3yzxbrww2ywkEtvrNTVokMsAsJch +PXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJuiGMx1I4S+6+JNM3GOGvDC ++Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8wHQYDVR0O +BBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8E +BTADAQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBl +MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFk +ZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENB +IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxtZBsfzQ3duQH6lmM0MkhHma6X +7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0PhiVYrqW9yTkkz +43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY +eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJl +pz/+0WatC7xrmYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOA +WiFeIc9TVPC6b4nbqKqVz4vjccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/addtrustexternalca openjdk-11-11.0.6+10/make/data/cacerts/addtrustexternalca --- openjdk-11-11.0.5+10/make/data/cacerts/addtrustexternalca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/addtrustexternalca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,32 @@ +Owner: CN=AddTrust External CA Root, OU=AddTrust External TTP Network, O=AddTrust AB, C=SE +Issuer: CN=AddTrust External CA Root, OU=AddTrust External TTP Network, O=AddTrust AB, C=SE +Serial number: 1 +Valid from: Tue May 30 10:48:38 GMT 2000 until: Sat May 30 10:48:38 GMT 2020 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU +MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs +IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290 +MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux +FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h +bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v +dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt +H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9 +uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX +mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX +a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN +E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0 +WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD +VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0 +Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU +cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx +IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN +AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH +YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 +6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC +Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX +c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a +mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/addtrustqualifiedca openjdk-11-11.0.6+10/make/data/cacerts/addtrustqualifiedca --- openjdk-11-11.0.5+10/make/data/cacerts/addtrustqualifiedca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/addtrustqualifiedca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,32 @@ +Owner: CN=AddTrust Qualified CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE +Issuer: CN=AddTrust Qualified CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE +Serial number: 1 +Valid from: Tue May 30 10:44:50 GMT 2000 until: Sat May 30 10:44:50 GMT 2020 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEU +MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3 +b3JrMSMwIQYDVQQDExpBZGRUcnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1 +MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcxCzAJBgNVBAYTAlNFMRQwEgYDVQQK +EwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5ldHdvcmsxIzAh +BgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwq +xBb/4Oxx64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G +87B4pfYOQnrjfxvM0PC3KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i +2O+tCBGaKZnhqkRFmhJePp1tUvznoD1oL/BLcHwTOK28FSXx1s6rosAx1i+f4P8U +WfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GRwVY18BTcZTYJbqukB8c1 +0cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HUMIHRMB0G +A1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0T +AQH/BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6Fr +pGkwZzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQL +ExRBZGRUcnVzdCBUVFAgTmV0d29yazEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlm +aWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBABmrder4i2VhlRO6aQTv +hsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxGGuoYQ992zPlm +hpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X +dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3 +P6CxB9bpT9zeRXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9Y +iQBCYz95OdBEsIJuQRno3eDBiFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5no +xqE= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/affirmtrustcommercialca openjdk-11-11.0.6+10/make/data/cacerts/affirmtrustcommercialca --- openjdk-11-11.0.5+10/make/data/cacerts/affirmtrustcommercialca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/affirmtrustcommercialca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,27 @@ +Owner: CN=AffirmTrust Commercial, O=AffirmTrust, C=US +Issuer: CN=AffirmTrust Commercial, O=AffirmTrust, C=US +Serial number: 7777062726a9b17c +Valid from: Fri Jan 29 14:06:06 GMT 2010 until: Tue Dec 31 14:06:06 GMT 2030 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz +dCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL +MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp +cm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP +Hx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr +ba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL +MeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1 +yHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr +VwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/ +nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ +KoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG +XUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj +vbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt +Z8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g +N53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC +nlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/affirmtrustnetworkingca openjdk-11-11.0.6+10/make/data/cacerts/affirmtrustnetworkingca --- openjdk-11-11.0.5+10/make/data/cacerts/affirmtrustnetworkingca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/affirmtrustnetworkingca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,27 @@ +Owner: CN=AffirmTrust Networking, O=AffirmTrust, C=US +Issuer: CN=AffirmTrust Networking, O=AffirmTrust, C=US +Serial number: 7c4f04391cd4992d +Valid from: Fri Jan 29 14:08:24 GMT 2010 until: Tue Dec 31 14:08:24 GMT 2030 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz +dCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL +MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp +cm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y +YJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua +kCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL +QESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp +6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG +yH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i +QLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ +KoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO +tDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu +QY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ +Lgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u +olu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48 +x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/affirmtrustpremiumca openjdk-11-11.0.6+10/make/data/cacerts/affirmtrustpremiumca --- openjdk-11-11.0.5+10/make/data/cacerts/affirmtrustpremiumca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/affirmtrustpremiumca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,38 @@ +Owner: CN=AffirmTrust Premium, O=AffirmTrust, C=US +Issuer: CN=AffirmTrust Premium, O=AffirmTrust, C=US +Serial number: 6d8c1446b1a60aee +Valid from: Fri Jan 29 14:10:36 GMT 2010 until: Mon Dec 31 14:10:36 GMT 2040 +Signature algorithm name: SHA384withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz +dCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG +A1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U +cnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf +qV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ +JG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ ++jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS +s8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5 +HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7 +70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG +V+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S +qHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S +5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia +C1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX +OwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE +FJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2 +KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg +Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B +8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ +MKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc +0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ +u4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF +u+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH +YoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8 +GKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO +RtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e +KeC2uAloGRwYQw== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/affirmtrustpremiumeccca openjdk-11-11.0.6+10/make/data/cacerts/affirmtrustpremiumeccca --- openjdk-11-11.0.5+10/make/data/cacerts/affirmtrustpremiumeccca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/affirmtrustpremiumeccca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,20 @@ +Owner: CN=AffirmTrust Premium ECC, O=AffirmTrust, C=US +Issuer: CN=AffirmTrust Premium ECC, O=AffirmTrust, C=US +Serial number: 7497258ac73f7a54 +Valid from: Fri Jan 29 14:20:24 GMT 2010 until: Mon Dec 31 14:20:24 GMT 2040 +Signature algorithm name: SHA384withECDSA +Subject Public Key Algorithm: 384-bit EC (secp384r1) key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC +VVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ +cmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ +BgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt +VHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D +0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9 +ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G +A1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G +A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs +aobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I +flc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/amazonrootca1 openjdk-11-11.0.6+10/make/data/cacerts/amazonrootca1 --- openjdk-11-11.0.5+10/make/data/cacerts/amazonrootca1 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/amazonrootca1 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,27 @@ +Owner: CN=Amazon Root CA 1, O=Amazon, C=US +Issuer: CN=Amazon Root CA 1, O=Amazon, C=US +Serial number: 66c9fcf99bf8c0a39e2f0788a43e696365bca +Valid from: Tue May 26 00:00:00 GMT 2015 until: Sun Jan 17 00:00:00 GMT 2038 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF +ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 +b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL +MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv +b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj +ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM +9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw +IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6 +VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L +93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm +jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA +A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI +U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs +N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv +o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU +5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy +rqXRfboQnoZsG4q5WTP468SQvvG5 +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/amazonrootca2 openjdk-11-11.0.6+10/make/data/cacerts/amazonrootca2 --- openjdk-11-11.0.5+10/make/data/cacerts/amazonrootca2 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/amazonrootca2 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,38 @@ +Owner: CN=Amazon Root CA 2, O=Amazon, C=US +Issuer: CN=Amazon Root CA 2, O=Amazon, C=US +Serial number: 66c9fd29635869f0a0fe58678f85b26bb8a37 +Valid from: Tue May 26 00:00:00 GMT 2015 until: Sat May 26 00:00:00 GMT 2040 +Signature algorithm name: SHA384withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwF +ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 +b24gUm9vdCBDQSAyMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTEL +MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv +b3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2Wny2cSkxK +gXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4kHbZ +W0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg +1dKmSYXpN+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K +8nu+NQWpEjTj82R0Yiw9AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r +2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvdfLC6HM783k81ds8P+HgfajZRRidhW+me +z/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAExkv8LV/SasrlX6avvDXbR +8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSSbtqDT6Zj +mUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz +7Mt0Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6 ++XUyo05f7O0oYtlNc/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI +0u1ufm8/0i2BWSlmy5A5lREedCf+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB +Af8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSwDPBMMPQFWAJI/TPlUq9LhONm +UjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oAA7CXDpO8Wqj2 +LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY ++gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kS +k5Nrp+gvU5LEYFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl +7uxMMne0nxrpS10gxdr9HIcWxkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygm +btmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQgj9sAq+uEjonljYE1x2igGOpm/Hl +urR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbWaQbLU8uz/mtBzUF+ +fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoVYh63 +n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE +76KlXIx3KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H +9jVlpNMKVv/1F2Rs76giJUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT +4PsJYGw= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/amazonrootca3 openjdk-11-11.0.6+10/make/data/cacerts/amazonrootca3 --- openjdk-11-11.0.5+10/make/data/cacerts/amazonrootca3 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/amazonrootca3 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,19 @@ +Owner: CN=Amazon Root CA 3, O=Amazon, C=US +Issuer: CN=Amazon Root CA 3, O=Amazon, C=US +Serial number: 66c9fd5749736663f3b0b9ad9e89e7603f24a +Valid from: Tue May 26 00:00:00 GMT 2015 until: Sat May 26 00:00:00 GMT 2040 +Signature algorithm name: SHA256withECDSA +Subject Public Key Algorithm: 256-bit EC key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5 +MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g +Um9vdCBDQSAzMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG +A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg +Q0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZBf8ANm+gBG1bG8lKl +ui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjrZt6j +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSr +ttvXBp43rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkr +BqWTrBqYaGFy+uGh0PsceGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteM +YyRIHN8wfdVoOw== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/amazonrootca4 openjdk-11-11.0.6+10/make/data/cacerts/amazonrootca4 --- openjdk-11-11.0.5+10/make/data/cacerts/amazonrootca4 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/amazonrootca4 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,20 @@ +Owner: CN=Amazon Root CA 4, O=Amazon, C=US +Issuer: CN=Amazon Root CA 4, O=Amazon, C=US +Serial number: 66c9fd7c1bb104c2943e5717b7b2cc81ac10e +Valid from: Tue May 26 00:00:00 GMT 2015 until: Sat May 26 00:00:00 GMT 2040 +Signature algorithm name: SHA384withECDSA +Subject Public Key Algorithm: 384-bit EC key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5 +MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g +Um9vdCBDQSA0MB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG +A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg +Q0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN/sGKe0uoe0ZLY7Bi +9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri83Bk +M6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WB +MAoGCCqGSM49BAMDA2gAMGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlw +CkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1AE47xDqUEpHJWEadIRNyp4iciuRMStuW +1KyLa2tJElMzrdfkviT8tQp21KW8EA== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/baltimorecybertrustca openjdk-11-11.0.6+10/make/data/cacerts/baltimorecybertrustca --- openjdk-11-11.0.5+10/make/data/cacerts/baltimorecybertrustca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/baltimorecybertrustca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,28 @@ +Owner: CN=Baltimore CyberTrust Root, OU=CyberTrust, O=Baltimore, C=IE +Issuer: CN=Baltimore CyberTrust Root, OU=CyberTrust, O=Baltimore, C=IE +Serial number: 20000b9 +Valid from: Fri May 12 18:46:00 GMT 2000 until: Mon May 12 23:59:00 GMT 2025 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ +RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD +VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX +DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y +ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy +VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr +mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr +IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK +mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu +XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy +dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye +jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 +BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 +DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 +9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx +jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 +Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz +ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS +R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/buypassclass2ca openjdk-11-11.0.6+10/make/data/cacerts/buypassclass2ca --- openjdk-11-11.0.5+10/make/data/cacerts/buypassclass2ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/buypassclass2ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,38 @@ +Owner: CN=Buypass Class 2 Root CA, O=Buypass AS-983163327, C=NO +Issuer: CN=Buypass Class 2 Root CA, O=Buypass AS-983163327, C=NO +Serial number: 2 +Valid from: Tue Oct 26 08:38:03 GMT 2010 until: Fri Oct 26 08:38:03 GMT 2040 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd +MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg +Q2xhc3MgMiBSb290IENBMB4XDTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1ow +TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw +HgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB +BQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1g1Lr +6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPV +L4O2fuPn9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC91 +1K2GScuVr1QGbNgGE41b/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHx +MlAQTn/0hpPshNOOvEu/XAFOBz3cFIqUCqTqc/sLUegTBxj6DvEr0VQVfTzh97QZ +QmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeffawrbD02TTqigzXsu8lkB +arcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgIzRFo1clr +Us3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLi +FRhnBkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRS +P/TizPJhk9H9Z2vXUq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN +9SG9dKpN6nIDSdvHXx1iY8f93ZHsM+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxP +AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMmAd+BikoL1Rpzz +uvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAU18h +9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s +A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3t +OluwlN5E40EIosHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo ++fsicdl9sz1Gv7SEr5AcD48Saq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7 +KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYdDnkM/crqJIByw5c/8nerQyIKx+u2 +DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWDLfJ6v9r9jv6ly0Us +H8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0oyLQ +I+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK7 +5t98biGCwWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h +3PFaTWwyI0PurKju7koSCTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPz +Y11aWOIv4x3kqdbQCtCev9eBCfHJxyYNrJgWVqA= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/buypassclass3ca openjdk-11-11.0.6+10/make/data/cacerts/buypassclass3ca --- openjdk-11-11.0.5+10/make/data/cacerts/buypassclass3ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/buypassclass3ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,38 @@ +Owner: CN=Buypass Class 3 Root CA, O=Buypass AS-983163327, C=NO +Issuer: CN=Buypass Class 3 Root CA, O=Buypass AS-983163327, C=NO +Serial number: 2 +Valid from: Tue Oct 26 08:28:58 GMT 2010 until: Fri Oct 26 08:28:58 GMT 2040 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd +MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg +Q2xhc3MgMyBSb290IENBMB4XDTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFow +TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw +HgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB +BQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRHsJ8Y +ZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3E +N3coTRiR5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9 +tznDDgFHmV0ST9tD+leh7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX +0DJq1l1sDPGzbjniazEuOQAnFN44wOwZZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c +/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH2xc519woe2v1n/MuwU8X +KhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV/afmiSTY +zIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvS +O1UQRwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D +34xFMFbG02SrZvPAXpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgP +K9Dx2hzLabjKSWJtyNBjYt1gD1iqj6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3 +AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEe4zf/lb+74suwv +Tg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAACAj +QTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV +cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXS +IGrs/CIBKM+GuIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2 +HJLw5QY33KbmkJs4j1xrG0aGQ0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsa +O5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8ZORK15FTAaggiG6cX0S5y2CBNOxv +033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2KSb12tjE8nVhz36u +dmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz6MkE +kbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg41 +3OEMXbugUZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvD +u79leNKGef9JOxqDDPDeeOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq +4/g7u9xN12TyUb7mqqta6THuBrxzvxNiCp/HuZc= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/camerfirmachambersca openjdk-11-11.0.6+10/make/data/cacerts/camerfirmachambersca --- openjdk-11-11.0.5+10/make/data/cacerts/camerfirmachambersca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/camerfirmachambersca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,49 @@ +Owner: CN=Chambers of Commerce Root - 2008, O=AC Camerfirma S.A., SERIALNUMBER=A82743287, L=Madrid (see current address at www.camerfirma.com/address), C=EU +Issuer: CN=Chambers of Commerce Root - 2008, O=AC Camerfirma S.A., SERIALNUMBER=A82743287, L=Madrid (see current address at www.camerfirma.com/address), C=EU +Serial number: a3da427ea4b1aeda +Valid from: Fri Aug 01 12:29:50 GMT 2008 until: Sat Jul 31 12:29:50 GMT 2038 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 +IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 +MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xKTAnBgNVBAMTIENoYW1iZXJz +IG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEyMjk1MFoXDTM4MDcz +MTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBj +dXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIw +EAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEp +MCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0G +CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW9 +28sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKAXuFixrYp4YFs8r/lfTJq +VKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorjh40G072Q +DuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR +5gN/ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfL +ZEFHcpOrUMPrCXZkNNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05a +Sd+pZgvMPMZ4fKecHePOjlO+Bd5gD2vlGts/4+EhySnB8esHnFIbAURRPHsl18Tl +UlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331lubKgdaX8ZSD6e2wsWsSaR6s ++12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ0wlf2eOKNcx5 +Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj +ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAx +hduub+84Mxh2EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNV +HQ4EFgQU+SSsD7K1+HnA+mCIG8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1 ++HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpN +YWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29t +L2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVy +ZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAt +IDIwMDiCCQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRV +HSAAMCowKAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20w +DQYJKoZIhvcNAQEFBQADggIBAJASryI1wqM58C7e6bXpeHxIvj99RZJe6dqxGfwW +PJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH3qLPaYRgM+gQDROpI9CF +5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbURWpGqOt1 +glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaH +FoI6M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2 +pSB7+R5KBWIBpih1YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MD +xvbxrN8y8NmBGuScvfaAFPDRLLmF9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QG +tjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcKzBIKinmwPQN/aUv0NCB9szTq +jktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvGnrDQWzilm1De +fhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg +OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZ +d0jQ +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/camerfirmachamberscommerceca openjdk-11-11.0.6+10/make/data/cacerts/camerfirmachamberscommerceca --- openjdk-11-11.0.5+10/make/data/cacerts/camerfirmachamberscommerceca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/camerfirmachamberscommerceca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,35 @@ +Owner: CN=Chambers of Commerce Root, OU=http://www.chambersign.org, O=AC Camerfirma SA CIF A82743287, C=EU +Issuer: CN=Chambers of Commerce Root, OU=http://www.chambersign.org, O=AC Camerfirma SA CIF A82743287, C=EU +Serial number: 0 +Valid from: Tue Sep 30 16:13:43 GMT 2003 until: Wed Sep 30 16:13:44 GMT 2037 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEn +MCUGA1UEChMeQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQL +ExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMg +b2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAxNjEzNDNaFw0zNzA5MzAxNjEzNDRa +MH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZpcm1hIFNBIENJRiBB +ODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3JnMSIw +IAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0B +AQEFAAOCAQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtb +unXF/KGIJPov7coISjlUxFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0d +BmpAPrMMhe5cG3nCYsS4No41XQEMIwRHNaqbYE6gZj3LJgqcQKH0XZi/caulAGgq +7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jWDA+wWFjbw2Y3npuRVDM3 +0pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFVd9oKDMyX +roDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIG +A1UdEwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5j +aGFtYmVyc2lnbi5vcmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p +26EpW1eLTXYGduHRooowDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIA +BzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hhbWJlcnNpZ24ub3JnMCcGA1Ud +EgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYDVR0gBFEwTzBN +BgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz +aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEB +AAxBl8IahsAifJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZd +p0AJPaxJRUXcLo0waLIJuvvDL8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi +1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wNUPf6s+xCX6ndbcj0dc97wXImsQEc +XCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/nADydb47kMgkdTXg0 +eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1erfu +tGWaIZDgqtCYvDi1czyL+Nw= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/camerfirmachambersignca openjdk-11-11.0.6+10/make/data/cacerts/camerfirmachambersignca --- openjdk-11-11.0.5+10/make/data/cacerts/camerfirmachambersignca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/camerfirmachambersignca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,48 @@ +Owner: CN=Global Chambersign Root - 2008, O=AC Camerfirma S.A., SERIALNUMBER=A82743287, L=Madrid (see current address at www.camerfirma.com/address), C=EU +Issuer: CN=Global Chambersign Root - 2008, O=AC Camerfirma S.A., SERIALNUMBER=A82743287, L=Madrid (see current address at www.camerfirma.com/address), C=EU +Serial number: c9cdd3e9d57d23ce +Valid from: Fri Aug 01 12:31:40 GMT 2008 until: Sat Jul 31 12:31:40 GMT 2038 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYD +VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 +IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 +MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD +aGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMxNDBaFw0zODA3MzEx +MjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3Vy +cmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAG +A1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAl +BgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZI +hvcNAQEBBQADggIPADCCAgoCggIBAMDfVtPkOpt2RbQT2//BthmLN0EYlVJH6xed +KYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXfXjaOcNFccUMd2drvXNL7 +G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0ZJJ0YPP2 +zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4 +ddPB/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyG +HoiMvvKRhI9lNNgATH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2 +Id3UwD2ln58fQ1DJu7xsepeY7s2MH/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3V +yJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfeOx2YItaswTXbo6Al/3K1dh3e +beksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSFHTynyQbehP9r +6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh +wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsog +zCtLkykPAgMBAAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQW +BBS5CcqcHtvTbDprru1U8VuTBjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDpr +ru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UEBhMCRVUxQzBBBgNVBAcTOk1hZHJp +ZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJmaXJtYS5jb20vYWRk +cmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJmaXJt +YSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiC +CQDJzdPp1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCow +KAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZI +hvcNAQEFBQADggIBAICIf3DekijZBZRG/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZ +UohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6ReAJ3spED8IXDneRRXoz +X1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/sdZ7LoR/x +fxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVz +a2Mg9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yyd +Yhz2rXzdpjEetrHHfoUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMd +SqlapskD7+3056huirRXhOukP9DuqqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9O +AP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETrP3iZ8ntxPjzxmKfFGBI/5rso +M0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVqc5iJWzouE4ge +v8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z +09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/certumca openjdk-11-11.0.6+10/make/data/cacerts/certumca --- openjdk-11-11.0.5+10/make/data/cacerts/certumca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/certumca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,26 @@ +Owner: CN=Certum CA, O=Unizeto Sp. z o.o., C=PL +Issuer: CN=Certum CA, O=Unizeto Sp. z o.o., C=PL +Serial number: 10020 +Valid from: Tue Jun 11 10:46:39 GMT 2002 until: Fri Jun 11 10:46:39 GMT 2027 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBM +MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD +QTAeFw0wMjA2MTExMDQ2MzlaFw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBM +MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD +QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6xwS7TT3zNJc4YPk/E +jG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdLkKWo +ePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GI +ULdtlkIJ89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapu +Ob7kky/ZR6By6/qmW6/KUz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUg +AKpoC6EahQGcxEZjgoi2IrHu/qpGWX7PNSzVttpd90gzFFS269lvzs2I1qsb2pY7 +HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEA +uI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+GXYkHAQa +TOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTg +xSvgGrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1q +CjqTE5s7FCMTY5w/0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5x +O/fIR/RpbxXyEV6DHpx8Uq79AtoSqFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs +6GAqm4VKQPNriiTsBhYscw== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/certumtrustednetworkca openjdk-11-11.0.6+10/make/data/cacerts/certumtrustednetworkca --- openjdk-11-11.0.5+10/make/data/cacerts/certumtrustednetworkca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/certumtrustednetworkca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,29 @@ +Owner: CN=Certum Trusted Network CA, OU=Certum Certification Authority, O=Unizeto Technologies S.A., C=PL +Issuer: CN=Certum Trusted Network CA, OU=Certum Certification Authority, O=Unizeto Technologies S.A., C=PL +Serial number: 444c0 +Valid from: Wed Oct 22 12:07:37 GMT 2008 until: Mon Dec 31 12:07:37 GMT 2029 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBM +MSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5D +ZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBU +cnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIyMTIwNzM3WhcNMjkxMjMxMTIwNzM3 +WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg +Uy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSIw +IAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rH +UV+rpDKmYYe2bg+G0jACl/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LM +TXPb865Px1bVWqeWifrzq2jUI4ZZJ88JJ7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU +BBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4fOQtf/WsX+sWn7Et0brM +kUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0cvW0QM8x +AcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNV +HQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15y +sHhE49wcrwn9I0j6vSrEuVUEtRCjjSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfL +I9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1mS1FhIrlQgnXdAIv94nYmem8 +J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5ajZt3hrvJBW8qY +VoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI +03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/chunghwaepkirootca openjdk-11-11.0.6+10/make/data/cacerts/chunghwaepkirootca --- openjdk-11-11.0.5+10/make/data/cacerts/chunghwaepkirootca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/chunghwaepkirootca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,40 @@ +Owner: OU=ePKI Root Certification Authority, O="Chunghwa Telecom Co., Ltd.", C=TW +Issuer: OU=ePKI Root Certification Authority, O="Chunghwa Telecom Co., Ltd.", C=TW +Serial number: 15c8bd65475cafb897005ee406d2bc9d +Valid from: Mon Dec 20 02:31:27 GMT 2004 until: Wed Dec 20 02:31:27 GMT 2034 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBe +MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0 +ZC4xKjAoBgNVBAsMIWVQS0kgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe +Fw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMxMjdaMF4xCzAJBgNVBAYTAlRXMSMw +IQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEqMCgGA1UECwwhZVBL +SSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAH +SyZbCUNsIZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAh +ijHyl3SJCRImHJ7K2RKilTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3X +DZoTM1PRYfl61dd4s5oz9wCGzh1NlDivqOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1 +TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX12ruOzjjK9SXDrkb5wdJ +fzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0OWQqraffA +sgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uU +WH1+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLS +nT0IFaUQAS2zMnaolQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pH +dmX2Os+PYhcZewoozRrSgx4hxyy/vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJip +NiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXiZo1jDiVN1Rmy5nk3pyKdVDEC +AwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/QkqiMAwGA1UdEwQF +MAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH +ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGB +uvl2ICO1J2B01GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6Yl +PwZpVnPDimZI+ymBV3QGypzqKOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkP +JXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdVxrsStZf0X4OFunHB2WyBEXYKCrC/ +gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEPNXubrjlpC2JgQCA2 +j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+rGNm6 +5ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUB +o2M3IUxExJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS +/jQ6fbjpKdx2qcgw+BRxgMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2z +Gp1iro2C6pSe3VkQw63d4k3jMdXH7OjysP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTE +W9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmODBCEIZ43ygknQW/2xzQ+D +hNQ+IIX3Sj0rnP0qCglN6oH4EZw= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/comodoaaaca openjdk-11-11.0.6+10/make/data/cacerts/comodoaaaca --- openjdk-11-11.0.5+10/make/data/cacerts/comodoaaaca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/comodoaaaca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,32 @@ +Owner: CN=AAA Certificate Services, O=Comodo CA Limited, L=Salford, ST=Greater Manchester, C=GB +Issuer: CN=AAA Certificate Services, O=Comodo CA Limited, L=Salford, ST=Greater Manchester, C=GB +Serial number: 1 +Valid from: Thu Jan 01 00:00:00 GMT 2004 until: Sun Dec 31 23:59:59 GMT 2028 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb +MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow +GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj +YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL +MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE +BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM +GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua +BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe +3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4 +YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR +rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm +ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU +oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF +MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v +QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t +b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF +AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q +GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz +Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2 +G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi +l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3 +smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/comodoeccca openjdk-11-11.0.6+10/make/data/cacerts/comodoeccca --- openjdk-11-11.0.5+10/make/data/cacerts/comodoeccca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/comodoeccca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,23 @@ +Owner: CN=COMODO ECC Certification Authority, O=COMODO CA Limited, L=Salford, ST=Greater Manchester, C=GB +Issuer: CN=COMODO ECC Certification Authority, O=COMODO CA Limited, L=Salford, ST=Greater Manchester, C=GB +Serial number: 1f47afaa62007050544c019e9b63992a +Valid from: Thu Mar 06 00:00:00 GMT 2008 until: Mon Jan 18 23:59:59 GMT 2038 +Signature algorithm name: SHA384withECDSA +Subject Public Key Algorithm: 384-bit EC (secp384r1) key +Version: 3 +-----BEGIN CERTIFICATE----- +MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL +MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE +BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT +IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw +MDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy +ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N +T0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR +FtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J +cfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW +BBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm +fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv +GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/comodorsaca openjdk-11-11.0.6+10/make/data/cacerts/comodorsaca --- openjdk-11-11.0.5+10/make/data/cacerts/comodorsaca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/comodorsaca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,41 @@ +Owner: CN=COMODO RSA Certification Authority, O=COMODO CA Limited, L=Salford, ST=Greater Manchester, C=GB +Issuer: CN=COMODO RSA Certification Authority, O=COMODO CA Limited, L=Salford, ST=Greater Manchester, C=GB +Serial number: 4caaf9cadb636fe01ff74ed85b03869d +Valid from: Tue Jan 19 00:00:00 GMT 2010 until: Mon Jan 18 23:59:59 GMT 2038 +Signature algorithm name: SHA384withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB +hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV +BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5 +MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT +EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR +Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR +6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X +pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC +9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV +/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf +Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z ++pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w +qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah +SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC +u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf +Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq +crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E +FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB +/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl +wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM +4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV +2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna +FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ +CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK +boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke +jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL +S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb +QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl +0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB +NVOFBkpdn627G190 +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/digicertassuredidg2 openjdk-11-11.0.6+10/make/data/cacerts/digicertassuredidg2 --- openjdk-11-11.0.5+10/make/data/cacerts/digicertassuredidg2 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/digicertassuredidg2 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,29 @@ +Owner: CN=DigiCert Assured ID Root G2, OU=www.digicert.com, O=DigiCert Inc, C=US +Issuer: CN=DigiCert Assured ID Root G2, OU=www.digicert.com, O=DigiCert Inc, C=US +Serial number: b931c3ad63967ea6723bfc3af9af44b +Valid from: Thu Aug 01 12:00:00 GMT 2013 until: Fri Jan 15 12:00:00 GMT 2038 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv +b3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl +cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA +n61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc +biJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp +EgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA +bx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu +YjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB +AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW +BBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI +QW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I +0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni +lmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9 +B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv +ON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo +IhNzbM8m9Yop5w== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/digicertassuredidg3 openjdk-11-11.0.6+10/make/data/cacerts/digicertassuredidg3 --- openjdk-11-11.0.5+10/make/data/cacerts/digicertassuredidg3 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/digicertassuredidg3 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,22 @@ +Owner: CN=DigiCert Assured ID Root G3, OU=www.digicert.com, O=DigiCert Inc, C=US +Issuer: CN=DigiCert Assured ID Root G3, OU=www.digicert.com, O=DigiCert Inc, C=US +Serial number: ba15afa1ddfa0b54944afcd24a06cec +Valid from: Thu Aug 01 12:00:00 GMT 2013 until: Fri Jan 15 12:00:00 GMT 2038 +Signature algorithm name: SHA384withECDSA +Subject Public Key Algorithm: 384-bit EC (secp384r1) key +Version: 3 +-----BEGIN CERTIFICATE----- +MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQsw +CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu +ZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg +RzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu +Y29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQBgcq +hkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJf +Zn4f5dwbRXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17Q +RSAPWXYQ1qAk8C3eNvJsKTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgFUaFNN6KDec6NHSrkhDAKBggqhkjOPQQD +AwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5FyYZ5eEJJZVrmDxxDnOOlY +JjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy1vUhZscv +6pZjamVFkpUBtA== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/digicertassuredidrootca openjdk-11-11.0.6+10/make/data/cacerts/digicertassuredidrootca --- openjdk-11-11.0.5+10/make/data/cacerts/digicertassuredidrootca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/digicertassuredidrootca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,29 @@ +Owner: CN=DigiCert Assured ID Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US +Issuer: CN=DigiCert Assured ID Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US +Serial number: ce7e0e517d846fe8fe560fc1bf03039 +Valid from: Fri Nov 10 00:00:00 GMT 2006 until: Mon Nov 10 00:00:00 GMT 2031 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv +b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl +cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c +JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP +mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+ +wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4 +VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/ +AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB +AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW +BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun +pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC +dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf +fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm +NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx +H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe ++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/digicertglobalrootca openjdk-11-11.0.6+10/make/data/cacerts/digicertglobalrootca --- openjdk-11-11.0.5+10/make/data/cacerts/digicertglobalrootca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/digicertglobalrootca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,29 @@ +Owner: CN=DigiCert Global Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US +Issuer: CN=DigiCert Global Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US +Serial number: 83be056904246b1a1756ac95991c74a +Valid from: Fri Nov 10 00:00:00 GMT 2006 until: Mon Nov 10 00:00:00 GMT 2031 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD +QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB +CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 +nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt +43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P +T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 +gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO +BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR +TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw +DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr +hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg +06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF +PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls +YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk +CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/digicertglobalrootg2 openjdk-11-11.0.6+10/make/data/cacerts/digicertglobalrootg2 --- openjdk-11-11.0.5+10/make/data/cacerts/digicertglobalrootg2 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/digicertglobalrootg2 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,29 @@ +Owner: CN=DigiCert Global Root G2, OU=www.digicert.com, O=DigiCert Inc, C=US +Issuer: CN=DigiCert Global Root G2, OU=www.digicert.com, O=DigiCert Inc, C=US +Serial number: 33af1e6a711a9a0bb2864b11d09fae5 +Valid from: Thu Aug 01 12:00:00 GMT 2013 until: Fri Jan 15 12:00:00 GMT 2038 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH +MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI +2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx +1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ +q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz +tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ +vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP +BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV +5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY +1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4 +NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG +Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91 +8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe +pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl +MrY= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/digicertglobalrootg3 openjdk-11-11.0.6+10/make/data/cacerts/digicertglobalrootg3 --- openjdk-11-11.0.5+10/make/data/cacerts/digicertglobalrootg3 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/digicertglobalrootg3 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,22 @@ +Owner: CN=DigiCert Global Root G3, OU=www.digicert.com, O=DigiCert Inc, C=US +Issuer: CN=DigiCert Global Root G3, OU=www.digicert.com, O=DigiCert Inc, C=US +Serial number: 55556bcf25ea43535c3a40fd5ab4572 +Valid from: Thu Aug 01 12:00:00 GMT 2013 until: Fri Jan 15 12:00:00 GMT 2038 +Signature algorithm name: SHA384withECDSA +Subject Public Key Algorithm: 384-bit EC (secp384r1) key +Version: 3 +-----BEGIN CERTIFICATE----- +MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw +CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu +ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe +Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw +EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x +IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF +K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG +fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO +Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd +BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx +AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/ +oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8 +sycX +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/digicerthighassuranceevrootca openjdk-11-11.0.6+10/make/data/cacerts/digicerthighassuranceevrootca --- openjdk-11-11.0.5+10/make/data/cacerts/digicerthighassuranceevrootca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/digicerthighassuranceevrootca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,30 @@ +Owner: CN=DigiCert High Assurance EV Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US +Issuer: CN=DigiCert High Assurance EV Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US +Serial number: 2ac5c266a0b409b8f0b79f2ae462577 +Valid from: Fri Nov 10 00:00:00 GMT 2006 until: Mon Nov 10 00:00:00 GMT 2031 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 +LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug +RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm ++9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW +PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM +xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB +Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 +hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg +EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA +FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec +nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z +eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF +hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 +Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep ++OkuE6N36B9K +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/digicerttrustedrootg4 openjdk-11-11.0.6+10/make/data/cacerts/digicerttrustedrootg4 --- openjdk-11-11.0.5+10/make/data/cacerts/digicerttrustedrootg4 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/digicerttrustedrootg4 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,39 @@ +Owner: CN=DigiCert Trusted Root G4, OU=www.digicert.com, O=DigiCert Inc, C=US +Issuer: CN=DigiCert Trusted Root G4, OU=www.digicert.com, O=DigiCert Inc, C=US +Serial number: 59b1b579e8e2132e23907bda777755c +Valid from: Thu Aug 01 12:00:00 GMT 2013 until: Fri Jan 15 12:00:00 GMT 2038 +Signature algorithm name: SHA384withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg +RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu +Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y +ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If +xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV +ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO +DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ +jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/ +CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi +EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM +fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY +uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK +chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t +9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD +ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2 +SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd ++SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc +fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa +sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N +cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N +0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie +4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI +r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1 +/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm +gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+ +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/dtrustclass3ca2 openjdk-11-11.0.6+10/make/data/cacerts/dtrustclass3ca2 --- openjdk-11-11.0.5+10/make/data/cacerts/dtrustclass3ca2 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/dtrustclass3ca2 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,32 @@ +Owner: CN=D-TRUST Root Class 3 CA 2 2009, O=D-Trust GmbH, C=DE +Issuer: CN=D-TRUST Root Class 3 CA 2 2009, O=D-Trust GmbH, C=DE +Serial number: 983f3 +Valid from: Thu Nov 05 08:35:58 GMT 2009 until: Mon Nov 05 08:35:58 GMT 2029 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF +MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD +bGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha +ME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM +HkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03 +UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42 +tSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R +ySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM +lFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp +/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G +A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G +A1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj +dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy +MENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl +cmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js +L2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL +BQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni +acfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 +o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K +zCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8 +PIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y +Johw1+qRzT65ysCQblrGXnRl11z+o+I= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/dtrustclass3ca2ev openjdk-11-11.0.6+10/make/data/cacerts/dtrustclass3ca2ev --- openjdk-11-11.0.5+10/make/data/cacerts/dtrustclass3ca2ev 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/dtrustclass3ca2ev 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,32 @@ +Owner: CN=D-TRUST Root Class 3 CA 2 EV 2009, O=D-Trust GmbH, C=DE +Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009, O=D-Trust GmbH, C=DE +Serial number: 983f4 +Valid from: Thu Nov 05 08:50:46 GMT 2009 until: Mon Nov 05 08:50:46 GMT 2029 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRF +MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBD +bGFzcyAzIENBIDIgRVYgMjAwOTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUw +NDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNV +BAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAwOTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfSegpn +ljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM0 +3TP1YtHhzRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6Z +qQTMFexgaDbtCHu39b+T7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lR +p75mpoo6Kr3HGrHhFPC+Oh25z1uxav60sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8 +HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure3511H3a6UCAwEAAaOCASQw +ggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyvcop9Ntea +HNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFw +Oi8vZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xh +c3MlMjAzJTIwQ0ElMjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1E +RT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MEagRKBChkBodHRwOi8vd3d3LmQt +dHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xhc3NfM19jYV8yX2V2XzIwMDku +Y3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+PPoeUSbrh/Yp +3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 +nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNF +CSuGdXzfX2lXANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7na +xpeG0ILD5EJt/rDiZE4OJudANCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqX +KVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVvw9y4AyHqnxbxLFS1 +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/entrust2048ca openjdk-11-11.0.6+10/make/data/cacerts/entrust2048ca --- openjdk-11-11.0.5+10/make/data/cacerts/entrust2048ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/entrust2048ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,32 @@ +Owner: CN=Entrust.net Certification Authority (2048), OU=(c) 1999 Entrust.net Limited, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), O=Entrust.net +Issuer: CN=Entrust.net Certification Authority (2048), OU=(c) 1999 Entrust.net Limited, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), O=Entrust.net +Serial number: 3863def8 +Valid from: Fri Dec 24 17:50:51 GMT 1999 until: Tue Jul 24 14:15:12 GMT 2029 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML +RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp +bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5 +IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3 +MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3 +LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp +YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG +A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq +K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe +sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX +MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT +XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/ +HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH +4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub +j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo +U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf +zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b +u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+ +bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er +fF6adulZkMV8gzURZVE= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/entrustevca openjdk-11-11.0.6+10/make/data/cacerts/entrustevca --- openjdk-11-11.0.5+10/make/data/cacerts/entrustevca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/entrustevca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,34 @@ +Owner: CN=Entrust Root Certification Authority, OU="(c) 2006 Entrust, Inc.", OU=www.entrust.net/CPS is incorporated by reference, O="Entrust, Inc.", C=US +Issuer: CN=Entrust Root Certification Authority, OU="(c) 2006 Entrust, Inc.", OU=www.entrust.net/CPS is incorporated by reference, O="Entrust, Inc.", C=US +Serial number: 456b5054 +Valid from: Mon Nov 27 20:23:42 GMT 2006 until: Fri Nov 27 20:53:42 GMT 2026 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0 +Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW +KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl +cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw +NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw +NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy +ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV +BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo +Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4 +4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9 +KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI +rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi +94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB +sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi +gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo +kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE +vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA +A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t +O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua +AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP +9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/ +eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m +0vdXcDazv/wor3ElhVsT/h5/WrQ8 +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/entrustrootcaec1 openjdk-11-11.0.6+10/make/data/cacerts/entrustrootcaec1 --- openjdk-11-11.0.5+10/make/data/cacerts/entrustrootcaec1 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/entrustrootcaec1 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,25 @@ +Owner: CN=Entrust Root Certification Authority - EC1, OU="(c) 2012 Entrust, Inc. - for authorized use only", OU=See www.entrust.net/legal-terms, O="Entrust, Inc.", C=US +Issuer: CN=Entrust Root Certification Authority - EC1, OU="(c) 2012 Entrust, Inc. - for authorized use only", OU=See www.entrust.net/legal-terms, O="Entrust, Inc.", C=US +Serial number: a68b79290000000050d091f9 +Valid from: Tue Dec 18 15:25:36 GMT 2012 until: Fri Dec 18 15:55:36 GMT 2037 +Signature algorithm name: SHA384withECDSA +Subject Public Key Algorithm: 384-bit EC (secp384r1) key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG +A1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3 +d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu +dHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq +RW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy +MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD +VQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0 +L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g +Zm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi +A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt +ByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH +Bz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O +BBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC +R98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX +hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/entrustrootcag2 openjdk-11-11.0.6+10/make/data/cacerts/entrustrootcag2 --- openjdk-11-11.0.5+10/make/data/cacerts/entrustrootcag2 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/entrustrootcag2 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,32 @@ +Owner: CN=Entrust Root Certification Authority - G2, OU="(c) 2009 Entrust, Inc. - for authorized use only", OU=See www.entrust.net/legal-terms, O="Entrust, Inc.", C=US +Issuer: CN=Entrust Root Certification Authority - G2, OU="(c) 2009 Entrust, Inc. - for authorized use only", OU=See www.entrust.net/legal-terms, O="Entrust, Inc.", C=US +Serial number: 4a538c28 +Valid from: Tue Jul 07 17:25:54 GMT 2009 until: Sat Dec 07 17:55:54 GMT 2030 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50 +cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs +IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz +dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy +NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu +dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt +dGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0 +aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T +RU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN +cCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW +wcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1 +U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0 +jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN +BgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/ +jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ +Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v +1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R +nAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH +VHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/geotrustglobalca openjdk-11-11.0.6+10/make/data/cacerts/geotrustglobalca --- openjdk-11-11.0.5+10/make/data/cacerts/geotrustglobalca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/geotrustglobalca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,27 @@ +Owner: CN=GeoTrust Global CA, O=GeoTrust Inc., C=US +Issuer: CN=GeoTrust Global CA, O=GeoTrust Inc., C=US +Serial number: 23456 +Valid from: Tue May 21 04:00:00 GMT 2002 until: Sat May 21 04:00:00 GMT 2022 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg +R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9 +9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq +fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv +iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU +1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+ +bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW +MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA +ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l +uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn +Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS +tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF +PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un +hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV +5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/geotrustprimaryca openjdk-11-11.0.6+10/make/data/cacerts/geotrustprimaryca --- openjdk-11-11.0.5+10/make/data/cacerts/geotrustprimaryca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/geotrustprimaryca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,28 @@ +Owner: CN=GeoTrust Primary Certification Authority, O=GeoTrust Inc., C=US +Issuer: CN=GeoTrust Primary Certification Authority, O=GeoTrust Inc., C=US +Serial number: 18acb56afd69b6153a636cafdafac4a1 +Valid from: Mon Nov 27 00:00:00 GMT 2006 until: Wed Jul 16 23:59:59 GMT 2036 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBY +MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo +R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEx +MjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK +Ew1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9 +AWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjA +ZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE0 +7e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W +kBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MI +mO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G +A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJ +KoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ1 +6CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl +4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6K +oKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8Fj +UjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG1riR/aYNKxoU +AT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/geotrustprimarycag2 openjdk-11-11.0.6+10/make/data/cacerts/geotrustprimarycag2 --- openjdk-11-11.0.5+10/make/data/cacerts/geotrustprimarycag2 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/geotrustprimarycag2 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,24 @@ +Owner: CN=GeoTrust Primary Certification Authority - G2, OU=(c) 2007 GeoTrust Inc. - For authorized use only, O=GeoTrust Inc., C=US +Issuer: CN=GeoTrust Primary Certification Authority - G2, OU=(c) 2007 GeoTrust Inc. - For authorized use only, O=GeoTrust Inc., C=US +Serial number: 3cb2f4480a00e2feeb243b5e603ec36b +Valid from: Mon Nov 05 00:00:00 GMT 2007 until: Mon Jan 18 23:59:59 GMT 2038 +Signature algorithm name: SHA384withECDSA +Subject Public Key Algorithm: 384-bit EC (secp384r1) key +Version: 3 +-----BEGIN CERTIFICATE----- +MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDEL +MAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChj +KSAyMDA3IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2 +MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1OVowgZgxCzAJBgNV +BAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykgMjAw +NyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNV +BAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH +MjB2MBAGByqGSM49AgEGBSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcL +So17VDs6bl8VAsBQps8lL33KSLjHUGMcKiEIfJo22Av+0SbFWDEwKCXzXV2juLal +tJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO +BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+EVXVMAoG +CCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGT +qQ7mndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBucz +rD6ogRLQy7rQkgu2npaqBA+K +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/geotrustprimarycag3 openjdk-11-11.0.6+10/make/data/cacerts/geotrustprimarycag3 --- openjdk-11-11.0.5+10/make/data/cacerts/geotrustprimarycag3 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/geotrustprimarycag3 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,31 @@ +Owner: CN=GeoTrust Primary Certification Authority - G3, OU=(c) 2008 GeoTrust Inc. - For authorized use only, O=GeoTrust Inc., C=US +Issuer: CN=GeoTrust Primary Certification Authority - G3, OU=(c) 2008 GeoTrust Inc. - For authorized use only, O=GeoTrust Inc., C=US +Serial number: 15ac6e9419b2794b41f627a9c3180f1f +Valid from: Wed Apr 02 00:00:00 GMT 2008 until: Tue Dec 01 23:59:59 GMT 2037 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB +mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT +MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s +eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ +BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg +MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0 +BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz ++uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm +hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn +5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/W +JmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL +DmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC +huOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw +HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB +AQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB +zU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN +kv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD +AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH +SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G +spki4cErx5z481+oghLrGREt +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/geotrustuniversalca openjdk-11-11.0.6+10/make/data/cacerts/geotrustuniversalca --- openjdk-11-11.0.5+10/make/data/cacerts/geotrustuniversalca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/geotrustuniversalca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,38 @@ +Owner: CN=GeoTrust Universal CA, O=GeoTrust Inc., C=US +Issuer: CN=GeoTrust Universal CA, O=GeoTrust Inc., C=US +Serial number: 1 +Valid from: Thu Mar 04 05:00:00 GMT 2004 until: Sun Mar 04 05:00:00 GMT 2029 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEW +MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVy +c2FsIENBMB4XDTA0MDMwNDA1MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UE +BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xHjAcBgNVBAMTFUdlb1RydXN0 +IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKYV +VaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9tJPi8 +cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTT +QjOgNB0eRXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFh +F7em6fgemdtzbvQKoiFs7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2v +c7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d8Lsrlh/eezJS/R27tQahsiFepdaVaH/w +mZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7VqnJNk22CDtucvc+081xd +VHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3CgaRr0BHdCX +teGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZ +f9hBZ3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfRe +Bi9Fi1jUIxaS5BZuKGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+ +nhutxx9z3SxPGWX9f5NAEC7S8O08ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0XG0D08DYj3rWMB8GA1UdIwQY +MBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG +9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc +aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fX +IwjhmF7DWgh2qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzyn +ANXH/KttgCJwpQzgXQQpAvvLoJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0z +uzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsKxr2EoyNB3tZ3b4XUhRxQ4K5RirqN +Pnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxFKyDuSN/n3QmOGKja +QI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2DFKW +koRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9 +ER/frslKxfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQt +DF4JbAiXfKM9fJP/P6EUp8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/Sfuvm +bJxPgWp6ZKy7PtXny3YuxadIwVyQD8vIP/rmMuGNG2+k5o7Y+SlIis5z/iw= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/globalsignca openjdk-11-11.0.6+10/make/data/cacerts/globalsignca --- openjdk-11-11.0.5+10/make/data/cacerts/globalsignca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/globalsignca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,28 @@ +Owner: CN=GlobalSign Root CA, OU=Root CA, O=GlobalSign nv-sa, C=BE +Issuer: CN=GlobalSign Root CA, OU=Root CA, O=GlobalSign nv-sa, C=BE +Serial number: 40000000001154b5ac394 +Valid from: Tue Sep 01 12:00:00 GMT 1998 until: Fri Jan 28 12:00:00 GMT 2028 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG +A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv +b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw +MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i +YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT +aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ +jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp +xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp +1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG +snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ +U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8 +9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B +AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz +yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE +38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP +AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad +DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME +HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/globalsigneccrootcar4 openjdk-11-11.0.6+10/make/data/cacerts/globalsigneccrootcar4 --- openjdk-11-11.0.5+10/make/data/cacerts/globalsigneccrootcar4 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/globalsigneccrootcar4 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,20 @@ +Owner: CN=GlobalSign, O=GlobalSign, OU=GlobalSign ECC Root CA - R4 +Issuer: CN=GlobalSign, O=GlobalSign, OU=GlobalSign ECC Root CA - R4 +Serial number: 2a38a41c960a04de42b228a50be8349802 +Valid from: Tue Nov 13 00:00:00 GMT 2012 until: Tue Jan 19 03:14:07 GMT 2038 +Signature algorithm name: SHA256withECDSA +Subject Public Key Algorithm: 256-bit EC (secp256r1) key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEk +MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpH +bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX +DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD +QSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprlOQcJ +FspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAw +DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61F +uOJAf/sKbvu+M8k8o4TVMAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGX +kPoUVy0D7O48027KqGx2vKLeuwIgJ6iFJzWbVsaj8kfSt24bAgAXqmemFZHe+pTs +ewv4n4Q= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/globalsigneccrootcar5 openjdk-11-11.0.6+10/make/data/cacerts/globalsigneccrootcar5 --- openjdk-11-11.0.5+10/make/data/cacerts/globalsigneccrootcar5 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/globalsigneccrootcar5 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,21 @@ +Owner: CN=GlobalSign, O=GlobalSign, OU=GlobalSign ECC Root CA - R5 +Issuer: CN=GlobalSign, O=GlobalSign, OU=GlobalSign ECC Root CA - R5 +Serial number: 605949e0262ebb55f90a778a71f94ad86c +Valid from: Tue Nov 13 00:00:00 GMT 2012 until: Tue Jan 19 03:14:07 GMT 2038 +Signature algorithm name: SHA384withECDSA +Subject Public Key Algorithm: 384-bit EC (secp384r1) key +Version: 3 +-----BEGIN CERTIFICATE----- +MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEk +MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpH +bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX +DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD +QSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6SFkc +8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8ke +hOvRnkmSh5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYI +KoZIzj0EAwMDaAAwZQIxAOVpEslu28YxuglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg +515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7yFz9SO8NdCKoCOJuxUnO +xwy8p2Fp8fc74SrL+SvzZpA3 +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/globalsignr2ca openjdk-11-11.0.6+10/make/data/cacerts/globalsignr2ca --- openjdk-11-11.0.5+10/make/data/cacerts/globalsignr2ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/globalsignr2ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,29 @@ +Owner: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R2 +Issuer: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R2 +Serial number: 400000000010f8626e60d +Valid from: Fri Dec 15 08:00:00 GMT 2006 until: Wed Dec 15 08:00:00 GMT 2021 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G +A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp +Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1 +MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG +A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL +v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8 +eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq +tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd +C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa +zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB +mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH +V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n +bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG +3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs +J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO +291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS +ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd +AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 +TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/globalsignr3ca openjdk-11-11.0.6+10/make/data/cacerts/globalsignr3ca --- openjdk-11-11.0.5+10/make/data/cacerts/globalsignr3ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/globalsignr3ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,28 @@ +Owner: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R3 +Issuer: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R3 +Serial number: 4000000000121585308a2 +Valid from: Wed Mar 18 10:00:00 GMT 2009 until: Sun Mar 18 10:00:00 GMT 2029 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G +A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp +Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4 +MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG +A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8 +RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT +gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm +KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd +QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ +XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw +DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o +LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU +RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp +jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK +6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX +mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs +Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH +WD9f +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/globalsignrootcar6 openjdk-11-11.0.6+10/make/data/cacerts/globalsignrootcar6 --- openjdk-11-11.0.5+10/make/data/cacerts/globalsignrootcar6 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/globalsignrootcar6 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,39 @@ +Owner: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R6 +Issuer: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R6 +Serial number: 45e6bb038333c3856548e6ff4551 +Valid from: Wed Dec 10 00:00:00 GMT 2014 until: Sun Dec 10 00:00:00 GMT 2034 +Signature algorithm name: SHA384withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEg +MB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2Jh +bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQx +MjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSNjET +MBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCAiIwDQYJ +KoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQssgrRI +xutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1k +ZguSgMpE3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxD +aNc9PIrFsmbVkJq3MQbFvuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJw +LnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqMPKq0pPbzlUoSB239jLKJz9CgYXfIWHSw +1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+azayOeSsJDa38O+2HBNX +k7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05OWgtH8wY2 +SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/h +bguyCLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4n +WUx2OVvq+aWh2IMP0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpY +rZxCRXluDocZXFSxZba/jJvcE+kNb7gu3GduyYsRtYQUigAZcIN5kZeR1Bonvzce +MgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNVHSMEGDAWgBSu +bAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN +nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGt +Ixg93eFyRJa0lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr61 +55wsTLxDKZmOMNOsIeDjHfrYBzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLj +vUYAGm0CuiVdjaExUd1URhxN25mW7xocBFymFe944Hn+Xds+qkxV/ZoVqW/hpvvf +cDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr3TsTjxKM4kEaSHpz +oHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB10jZp +nOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfs +pA9MRf/TuTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+v +JJUEeKgDu+6B5dpffItKoZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R +8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+tJDfLRVpOoERIyNiwmcUVhAn21klJwGW4 +5hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/godaddyclass2ca openjdk-11-11.0.6+10/make/data/cacerts/godaddyclass2ca --- openjdk-11-11.0.5+10/make/data/cacerts/godaddyclass2ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/godaddyclass2ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,31 @@ +Owner: OU=Go Daddy Class 2 Certification Authority, O="The Go Daddy Group, Inc.", C=US +Issuer: OU=Go Daddy Class 2 Certification Authority, O="The Go Daddy Group, Inc.", C=US +Serial number: 0 +Valid from: Tue Jun 29 17:06:20 GMT 2004 until: Thu Jun 29 17:06:20 GMT 2034 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh +MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE +YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3 +MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo +ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg +MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN +ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA +PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w +wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi +EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY +avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+ +YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE +sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h +/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5 +IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD +ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy +OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P +TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ +HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER +dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf +ReYNnyicsbkqWletNw+vHX/bvZ8= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/godaddyrootg2ca openjdk-11-11.0.6+10/make/data/cacerts/godaddyrootg2ca --- openjdk-11-11.0.5+10/make/data/cacerts/godaddyrootg2ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/godaddyrootg2ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,30 @@ +Owner: CN=Go Daddy Root Certificate Authority - G2, O="GoDaddy.com, Inc.", L=Scottsdale, ST=Arizona, C=US +Issuer: CN=Go Daddy Root Certificate Authority - G2, O="GoDaddy.com, Inc.", L=Scottsdale, ST=Arizona, C=US +Serial number: 0 +Valid from: Tue Sep 01 00:00:00 GMT 2009 until: Thu Dec 31 23:59:59 GMT 2037 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT +EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp +ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz +NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH +EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE +AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD +E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH +/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy +DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh +GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR +tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA +AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE +FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX +WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu +9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr +gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo +2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO +LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI +4uJEvlz36hz1 +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/identrustcommercial openjdk-11-11.0.6+10/make/data/cacerts/identrustcommercial --- openjdk-11-11.0.5+10/make/data/cacerts/identrustcommercial 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/identrustcommercial 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,38 @@ +Owner: CN=IdenTrust Commercial Root CA 1, O=IdenTrust, C=US +Issuer: CN=IdenTrust Commercial Root CA 1, O=IdenTrust, C=US +Serial number: a0142800000014523c844b500000002 +Valid from: Thu Jan 16 18:12:23 GMT 2014 until: Mon Jan 16 18:12:23 GMT 2034 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBK +MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVu +VHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQw +MTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScw +JQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ldhNlT +3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU ++ehcCuz/mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gp +S0l4PJNgiCL8mdo2yMKi1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1 +bVoE/c40yiTcdCMbXTMTEl3EASX2MN0CXZ/g1Ue9tOsbobtJSdifWwLziuQkkORi +T0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl3ZBWzvurpWCdxJ35UrCL +vYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzyNeVJSQjK +Vsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZK +dHzVWYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHT +c+XvvqDtMwt0viAgxGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hv +l7yTmvmcEpB4eoCHFddydJxVdHixuuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5N +iGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZIhvcNAQELBQAD +ggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH +6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwt +LRvM7Kqas6pgghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93 +nAbowacYXVKV7cndJZ5t+qntozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3 ++wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmVYjzlVYA211QC//G5Xc7UI2/YRYRK +W2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUXfeu+h1sXIFRRk0pT +AwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/rokTLq +l1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG +4iZZRHUe2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZ +mUlO+KWA2yUPHGNiiskzZ2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A +7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7RcGzM7vRX+Bi6hG6H +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/identrustdstx3 openjdk-11-11.0.6+10/make/data/cacerts/identrustdstx3 --- openjdk-11-11.0.5+10/make/data/cacerts/identrustdstx3 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/identrustdstx3 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,27 @@ +Owner: CN=DST Root CA X3, O=Digital Signature Trust Co. +Issuer: CN=DST Root CA X3, O=Digital Signature Trust Co. +Serial number: 44afb080d6a327ba893039862ef8406b +Valid from: Sat Sep 30 21:12:19 GMT 2000 until: Thu Sep 30 14:01:15 GMT 2021 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/ +MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT +DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow +PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD +Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O +rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq +OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b +xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw +7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD +aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG +SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69 +ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr +AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz +R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5 +JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo +Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/identrustpublicca openjdk-11-11.0.6+10/make/data/cacerts/identrustpublicca --- openjdk-11-11.0.5+10/make/data/cacerts/identrustpublicca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/identrustpublicca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,38 @@ +Owner: CN=IdenTrust Public Sector Root CA 1, O=IdenTrust, C=US +Issuer: CN=IdenTrust Public Sector Root CA 1, O=IdenTrust, C=US +Serial number: a0142800000014523cf467c00000002 +Valid from: Thu Jan 16 17:53:32 GMT 2014 until: Mon Jan 16 17:53:32 GMT 2034 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBN +MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVu +VHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcN +MzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0 +MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTyP4o7 +ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGy +RBb06tD6Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlS +bdsHyo+1W/CD80/HLaXIrcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF +/YTLNiCBWS2ab21ISGHKTN9T0a9SvESfqy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R +3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoSmJxZZoY+rfGwyj4GD3vw +EUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFnol57plzy +9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9V +GxyhLrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ +2fjXctscvG29ZV/viDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsV +WaFHVCkugyhfHMKiq3IXAAaOReyL4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gD +W/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMwDQYJKoZIhvcN +AQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj +t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHV +DRDtfULAj+7AmgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9 +TaDKQGXSc3z1i9kKlT/YPyNtGtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8G +lwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFtm6/n6J91eEyrRjuazr8FGF1NFTwW +mhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMxNRF4eKLg6TCMf4Df +WN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4Mhn5 ++bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJ +tshquDDIajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhA +GaQdp/lLQzfcaFpPz+vCZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv +8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ3Wl9af0AVqW3rLatt8o+Ae+c +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/keynectisrootca openjdk-11-11.0.6+10/make/data/cacerts/keynectisrootca --- openjdk-11-11.0.5+10/make/data/cacerts/keynectisrootca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/keynectisrootca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,30 @@ +Owner: CN=KEYNECTIS ROOT CA, OU=ROOT, O=KEYNECTIS, C=FR +Issuer: CN=KEYNECTIS ROOT CA, OU=ROOT, O=KEYNECTIS, C=FR +Serial number: 1121bc276c5547af584eefd4ced629b2a285 +Valid from: Tue May 26 00:00:00 GMT 2009 until: Tue May 26 00:00:00 GMT 2020 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIID5TCCAs2gAwIBAgISESG8J2xVR69YTu/UztYpsqKFMA0GCSqGSIb3DQEBCwUA +MEwxCzAJBgNVBAYTAkZSMRIwEAYDVQQKEwlLRVlORUNUSVMxDTALBgNVBAsTBFJP +T1QxGjAYBgNVBAMTEUtFWU5FQ1RJUyBST09UIENBMB4XDTA5MDUyNjAwMDAwMFoX +DTIwMDUyNjAwMDAwMFowTDELMAkGA1UEBhMCRlIxEjAQBgNVBAoTCUtFWU5FQ1RJ +UzENMAsGA1UECxMEUk9PVDEaMBgGA1UEAxMRS0VZTkVDVElTIFJPT1QgQ0EwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDG/bMXhaGtJhuVaTUhPaSI+t7b +YDZAF2nCFGP7uNnCdBU3LpzQIM1pjYQyooVMFLSb8iWzVCqDPy2+D/M7ZNH/oFDv +d087TuE/C2SFmrpYftLDYtNkJaLUspc8d11jKjOS/M2CDZtUlYf1teuMzVvRyjAv +yYhGtc0NEbQYj+7RoT5dFegoz9/DkJtszNEMRXezOuuKkB3pr2RqiXupPUN0+uRn +IqH73E3E9WLJyiW0yYBgM6nde6ACv5YlCl7JXyl7tBeBi22BGdDZg1wFj0FpGmlD +gJ+or+DpjJGLJyuiJmDND/KkowKDjhiBwheKQxX5bfMdEKRanERhIyF62PvRAgMB +AAGjgcAwgb0wEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNVHQ8BAf8EBAMCAQYwVwYD +VR0fBFAwTjBMoEqgSIZGaHR0cDovL3RydXN0Y2VudGVyLWNybC5jZXJ0aWZpY2F0 +Mi5jb20vS2V5bmVjdGlzL0tFWU5FQ1RJU19ST09UX0NBLmNybDAdBgNVHQ4EFgQU +77cjl9CokX+mz6YhwDSfzHdB4dAwHwYDVR0jBBgwFoAU77cjl9CokX+mz6YhwDSf +zHdB4dAwDQYJKoZIhvcNAQELBQADggEBABoxaZlCwuVAhaKfksNj1I8hOagZIf56 +/MNNQPMr6EusW0xZk8bcfguvfF+VhWu9x2+6wb74xjpnS5PGBWk+JC3wG5HGPj/s +QhiTbAMkim75IGcrfG2rNMkqIjMN132P7tI2ZELINZpuGWHLjWfwaKfQJAXmwxe6 +Ra58Q7WAeANNIHMF/EMQnTVpQnWUJYIrpjuQGN7Bqa/zLZW/lafPGJfhWeKirxoW +YQ33E3FTkzf9PK8AHWyLFK9Gloy2UnzMLU7N4elLCu6a/nqY5ym6G9ocutxrzQQO +JkCp63M8/lCoESdVvduOS+9PGO0V/72GmGbumiVxNGxQ8bJRy2adTSk= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/letsencryptisrgx1 openjdk-11-11.0.6+10/make/data/cacerts/letsencryptisrgx1 --- openjdk-11-11.0.5+10/make/data/cacerts/letsencryptisrgx1 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/letsencryptisrgx1 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,38 @@ +Owner: CN=ISRG Root X1, O=Internet Security Research Group, C=US +Issuer: CN=ISRG Root X1, O=Internet Security Research Group, C=US +Serial number: 8210cfb0d240e3594463e0bb63828b00 +Valid from: Thu Jun 04 11:04:38 GMT 2015 until: Mon Jun 04 11:04:38 GMT 2035 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw +TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh +cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4 +WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu +ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY +MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc +h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+ +0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U +A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW +T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH +B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC +B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv +KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn +OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn +jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw +qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI +rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq +hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL +ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ +3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK +NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5 +ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur +TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC +jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc +oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq +4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA +mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d +emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/luxtrustglobalroot2ca openjdk-11-11.0.6+10/make/data/cacerts/luxtrustglobalroot2ca --- openjdk-11-11.0.5+10/make/data/cacerts/luxtrustglobalroot2ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/luxtrustglobalroot2ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,40 @@ +Owner: CN=LuxTrust Global Root 2, O=LuxTrust S.A., C=LU +Issuer: CN=LuxTrust Global Root 2, O=LuxTrust S.A., C=LU +Serial number: a7ea6df4b449eda6a24859ee6b815d3167fbbb1 +Valid from: Thu Mar 05 13:21:57 GMT 2015 until: Mon Mar 05 13:21:57 GMT 2035 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFwzCCA6ugAwIBAgIUCn6m30tEntpqJIWe5rgV0xZ/u7EwDQYJKoZIhvcNAQEL +BQAwRjELMAkGA1UEBhMCTFUxFjAUBgNVBAoMDUx1eFRydXN0IFMuQS4xHzAdBgNV +BAMMFkx1eFRydXN0IEdsb2JhbCBSb290IDIwHhcNMTUwMzA1MTMyMTU3WhcNMzUw +MzA1MTMyMTU3WjBGMQswCQYDVQQGEwJMVTEWMBQGA1UECgwNTHV4VHJ1c3QgUy5B +LjEfMB0GA1UEAwwWTHV4VHJ1c3QgR2xvYmFsIFJvb3QgMjCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBANeFl78RmOnwYoNMPIf5U2o3C/IPPIfOb9wmKb3F +ibrJgz337spbxm1Jc7TJRqMbNBM/wYlFV/TZsfs2ZUv7COJIcRHIbjuend+JZTem +hfY7RBi2xjcwYkSSl2l9QjAk5A0MiWtj3sXh306pFGxT4GHO9hcvHTy95iJMHZP1 +EMShduxq3sVs35a0VkBCwGKSMKEtFZSg0iAGCW5qbeXrt77U8PEVfIvmTroTzEsn +Xpk8F12PgX8zPU/TPxvsXD/wPEx1bvKm1Z3aLQdjAsZy6ZS8TEmVT4hSyNvoaYL4 +zDRbIvCGp4m9SAptZoFtyMhk+wHh9OHe2Z7d21vUKpkmFRseTJIpgp7VkoGSQXAZ +96Tlk0u8d2cx3Rz9MXANF5kM+Qw5GSoXtTBxVdUPrljhPS80m8+f9niFwpN6cj5m +j5wWEWCPnolvZ77gR1o7DJpni89Gxq44o/KnvObWhWszJHAiS8sIm7vI+AIpHb4g +DEa/a4ebsypmQjVGbKq6rfmYe+lQVRQxv7HaLe2ArWgk+2mr2HETMOZns4dA/Yl+ +8kPREd8vZS9kzl8UubG/Mb2HeFpZZYiq/FkySIbWTLkpS5XTdvN3JW1CHDiDTf2j +X5t/Lax5Gw5CMZdjpPuKadUiDTSQMC6otOBttpSsvItO13D8xTiOZCXhTTmQzsmH +hFhxAgMBAAGjgagwgaUwDwYDVR0TAQH/BAUwAwEB/zBCBgNVHSAEOzA5MDcGByuB +KwEBAQowLDAqBggrBgEFBQcCARYeaHR0cHM6Ly9yZXBvc2l0b3J5Lmx1eHRydXN0 +Lmx1MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBT/GCh2+UgFLKGu8SsbK7JT ++Et8szAdBgNVHQ4EFgQU/xgodvlIBSyhrvErGyuyU/hLfLMwDQYJKoZIhvcNAQEL +BQADggIBAGoZFO1uecEsh9QNcH7X9njJCwROxLHOk3D+sFTAMs2ZMGQXvw/l4jP9 +BzZAcg4atmpZ1gDlaCDdLnINH2pkMSCEfUmmWjfrRcmF9dTHF5kH5ptV5AzoqbTO +jFu1EVzPig4N1qx3gf4ynCSecs5U89BvolbW7MM3LGVYvlcAGvI1+ut7MV3CwRI9 +loGIlonBWVx65n9wNOeD4rHh4bhY79SV5GCc8JaXcozrhAIuZY+kt9J/Z93I055c +qqmkoCUUBpvsT34tC38ddfEz2O3OuHVtPlu5mB0xDVbYQw8wkbIEa91WvpWAVWe+ +2M2D2RjuLg+GLZKecBPs3lHJQ3gCpU3I+V/EkVhGFndadKpAvAefMLmx9xIX3eP/ +JEAdemrRTxgKqpAd60Ae36EeRJIQmvKN4dFLRp7oRUKX6kWZ8+xm1QL68qZKJKre +zrnK+T+Tb/mjuuqlPpmt/f97mfVl7vBZKGfXkJWkE4SphMHozs51k2MavDzq1WQf +LSoSOcbDWjLtR5EWDrw4wVDej8oqkDQc7kGUnF4ZLvhFSZl0kbAEb+MEWrGrKqv+ +x9CWttrhSmQGbmBNvUJO/3jaJMobtNeWOWyu8Q6qp31IiyBMz2TWuJdGsE7RKlY6 +oJO9r4Ak4Ap+58rVyuiFVdw2KuGUaJPHZnJED4AhMmwlxyOAgwrr +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/luxtrustglobalrootca openjdk-11-11.0.6+10/make/data/cacerts/luxtrustglobalrootca --- openjdk-11-11.0.5+10/make/data/cacerts/luxtrustglobalrootca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/luxtrustglobalrootca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,28 @@ +Owner: CN=LuxTrust Global Root, O=LuxTrust s.a., C=LU +Issuer: CN=LuxTrust Global Root, O=LuxTrust s.a., C=LU +Serial number: bb8 +Valid from: Thu Mar 17 09:51:37 GMT 2011 until: Wed Mar 17 09:51:37 GMT 2021 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDZDCCAkygAwIBAgICC7gwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCTFUx +FjAUBgNVBAoTDUx1eFRydXN0IHMuYS4xHTAbBgNVBAMTFEx1eFRydXN0IEdsb2Jh +bCBSb290MB4XDTExMDMxNzA5NTEzN1oXDTIxMDMxNzA5NTEzN1owRDELMAkGA1UE +BhMCTFUxFjAUBgNVBAoTDUx1eFRydXN0IHMuYS4xHTAbBgNVBAMTFEx1eFRydXN0 +IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsn+n +QPAiygz267Hxyw6VV0B1r6A/Ps7sqjJX5hmxZ0OYWmt8s7j6eJyqpoSyYBuAQc5j +zR8XCJmk9e8+EsdMsFeaXHhAePxFjdqRZ9w6Ubltc+a3OY52OrQfBfVpVfmTz3iI +Sr6qm9d7R1tGBEyCFqY19vx039a0r9jitScRdFmiwmYsaArhmIiIPIoFdRTjuK7z +CISbasE/MRivJ6VLm6T9eTHemD0OYcqHmMH4ijCc+j4z1aXEAwfh95Z0GAAnOCfR +K6qq4UFFi2/xJcLcopeVx0IUM115hCNq52XAV6DYXaljAeew5Ivo+MVjuOVsdJA9 +x3f8K7p56aTGEnin/wIDAQABo2AwXjAMBgNVHRMEBTADAQH/MA4GA1UdDwEB/wQE +AwIBBjAfBgNVHSMEGDAWgBQXFYWJCS8kh28/HRvk8pZ5g0gTzjAdBgNVHQ4EFgQU +FxWFiQkvJIdvPx0b5PKWeYNIE84wDQYJKoZIhvcNAQELBQADggEBAFrwHNDUUM9B +fua4nX3DcNBeNv9ujnov3kgR1TQuPLdFwlQlp+HBHjeDtpSutkVIA+qVvuucarQ3 +XB8u02uCgUNbCj8RVWOs+nwIAjegPDkEM/6XMshS5dklTbDG7mgfcKpzzlcD3H0K +DTPy0lrfCmw7zBFRlxqkIaKFNQLXgCLShLL4wKpov9XrqsMLq6F8K/f1O4fhVFfs +BSTveUJO84ton+Ruy4KZycwq3FPCH3CDqyEPVrRI/98HIrOM+R2mBN8tAza53W/+ +MYhm/2xtRDSvCHc+JtJy9LtHVpM8mGPhM7uZI5K1g3noHZ9nrWLWidb2/CfeMifL +hNp3hSGhEiE= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/quovadisrootca openjdk-11-11.0.6+10/make/data/cacerts/quovadisrootca --- openjdk-11-11.0.5+10/make/data/cacerts/quovadisrootca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/quovadisrootca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,41 @@ +Owner: CN=QuoVadis Root Certification Authority, OU=Root Certification Authority, O=QuoVadis Limited, C=BM +Issuer: CN=QuoVadis Root Certification Authority, OU=Root Certification Authority, O=QuoVadis Limited, C=BM +Serial number: 3ab6508b +Valid from: Mon Mar 19 18:33:33 GMT 2001 until: Wed Mar 17 18:33:33 GMT 2021 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJC +TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0 +aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0 +aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAzMTkxODMzMzNaFw0yMTAzMTcxODMz +MzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUw +IwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVR +dW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Yp +li4kVEAkOPcahdxYTMukJ0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2D +rOpm2RgbaIr1VxqYuvXtdj182d6UajtLF8HVj71lODqV0D1VNk7feVcxKh7YWWVJ +WCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeLYzcS19Dsw3sgQUSj7cug +F+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWenAScOospU +xbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCC +Ak4wPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVv +dmFkaXNvZmZzaG9yZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREw +ggENMIIBCQYJKwYBBAG+WAABMIH7MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNl +IG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBh +c3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFy +ZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh +Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYI +KwYBBQUHAgEWFmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3T +KbkGGew5Oanwl4Rqy+/fMIGuBgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rq +y+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1p +dGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYD +VQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6tlCL +MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSk +fnIYj9lofFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf8 +7C9TqnN7Az10buYWnuulLsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1R +cHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2xgI4JVrmcGmD+XcHXetwReNDWXcG31a0y +mQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi5upZIof4l/UO/erMkqQW +xFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi5nrQNiOK +SnQ2+Q== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/quovadisrootca1g3 openjdk-11-11.0.6+10/make/data/cacerts/quovadisrootca1g3 --- openjdk-11-11.0.5+10/make/data/cacerts/quovadisrootca1g3 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/quovadisrootca1g3 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,38 @@ +Owner: CN=QuoVadis Root CA 1 G3, O=QuoVadis Limited, C=BM +Issuer: CN=QuoVadis Root CA 1 G3, O=QuoVadis Limited, C=BM +Serial number: 78585f2ead2c194be3370735341328b596d46593 +Valid from: Thu Jan 12 17:27:44 GMT 2012 until: Sun Jan 12 17:27:44 GMT 2042 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00 +MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakEPBtV +wedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWe +rNrwU8lmPNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF341 +68Xfuw6cwI2H44g4hWf6Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh +4Pw5qlPafX7PGglTvF0FBM+hSo+LdoINofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXp +UhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/lg6AnhF4EwfWQvTA9xO+o +abw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV7qJZjqlc +3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/G +KubX9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSt +hfbZxbGL0eUQMk1fiyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KO +Tk0k+17kBL5yG6YnLUlamXrXXAkgt3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOt +zCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZIhvcNAQELBQAD +ggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC +MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2 +cDMT/uFPpiN3GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUN +qXsCHKnQO18LwIE6PWThv6ctTr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5 +YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP+V04ikkwj+3x6xn0dxoxGE1nVGwv +b2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh3jRJjehZrJ3ydlo2 +8hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fawx/k +NSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNj +ZgKAvQU6O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhp +q1467HxpvMc7hU6eFbm0FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFt +nh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOVhMJKzRwuJIczYOXD +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/quovadisrootca2 openjdk-11-11.0.6+10/make/data/cacerts/quovadisrootca2 --- openjdk-11-11.0.5+10/make/data/cacerts/quovadisrootca2 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/quovadisrootca2 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,40 @@ +Owner: CN=QuoVadis Root CA 2, O=QuoVadis Limited, C=BM +Issuer: CN=QuoVadis Root CA 2, O=QuoVadis Limited, C=BM +Serial number: 509 +Valid from: Fri Nov 24 18:27:00 GMT 2006 until: Mon Nov 24 18:23:33 GMT 2031 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x +GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv +b3QgQ0EgMjAeFw0wNjExMjQxODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNV +BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W +YWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCa +GMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6XJxg +Fyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J +WpzmM+Yklvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bB +rrcCaoF6qUWD4gXmuVbBlDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp ++ARz8un+XJiM9XOva7R+zdRcAitMOeGylZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1 +ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt66/3FsvbzSUr5R/7mp/i +Ucw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1JdxnwQ5hYIiz +PtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og +/zOhD7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UH +oycR7hYQe7xFSkyyBNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI +yV77zGHcizN300QyNQliBJIWENieJ0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1Ud +EwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBQahGK8SEwzJQTU7tD2 +A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGUa6FJpEcwRTEL +MAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT +ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2f +BluornFdLwUvZ+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzn +g/iN/Ae42l9NLmeyhP3ZRPx3UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2Bl +fF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodmVjB3pjd4M1IQWK4/YY7yarHvGH5K +WWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK+JDSV6IZUaUtl0Ha +B0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrWIozc +hLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPR +TUIZ3Ph1WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWD +mbA4CD/pXvk1B+TJYm5Xf6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0Z +ohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y +4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8VCLAAVBpQ570su9t+Oza +8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/quovadisrootca2g3 openjdk-11-11.0.6+10/make/data/cacerts/quovadisrootca2g3 --- openjdk-11-11.0.5+10/make/data/cacerts/quovadisrootca2g3 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/quovadisrootca2g3 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,38 @@ +Owner: CN=QuoVadis Root CA 2 G3, O=QuoVadis Limited, C=BM +Issuer: CN=QuoVadis Root CA 2 G3, O=QuoVadis Limited, C=BM +Serial number: 445734245b81899b35f2ceb82b3b5ba726f07528 +Valid from: Thu Jan 12 18:59:32 GMT 2012 until: Sun Jan 12 18:59:32 GMT 2042 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00 +MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf +qq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW +n4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym +c5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+ +O7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1 +o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j +IaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq +IcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz +8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh +vNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l +7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG +cC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD +ggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 +AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC +roijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga +W/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n +lv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE ++V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV +csaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd +dbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg +KCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM +HVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4 +WSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/quovadisrootca3 openjdk-11-11.0.6+10/make/data/cacerts/quovadisrootca3 --- openjdk-11-11.0.5+10/make/data/cacerts/quovadisrootca3 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/quovadisrootca3 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,45 @@ +Owner: CN=QuoVadis Root CA 3, O=QuoVadis Limited, C=BM +Issuer: CN=QuoVadis Root CA 3, O=QuoVadis Limited, C=BM +Serial number: 5c6 +Valid from: Fri Nov 24 19:11:23 GMT 2006 until: Mon Nov 24 19:06:44 GMT 2031 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x +GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv +b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV +BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W +YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM +V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB +4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr +H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd +8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv +vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT +mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe +btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc +T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt +WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ +c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A +4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD +VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG +CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0 +aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 +aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu +dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw +czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G +A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC +TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg +Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0 +7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem +d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd ++LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B +4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN +t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x +DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57 +k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s +zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j +Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT +mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK +4SVhM7JZG+Ju1zdXtg2pEto= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/quovadisrootca3g3 openjdk-11-11.0.6+10/make/data/cacerts/quovadisrootca3g3 --- openjdk-11-11.0.5+10/make/data/cacerts/quovadisrootca3g3 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/quovadisrootca3g3 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,38 @@ +Owner: CN=QuoVadis Root CA 3 G3, O=QuoVadis Limited, C=BM +Issuer: CN=QuoVadis Root CA 3 G3, O=QuoVadis Limited, C=BM +Serial number: 2ef59b0228a7db7affd5a3a9eebd03a0cf126a1d +Valid from: Thu Jan 12 20:26:32 GMT 2012 until: Sun Jan 12 20:26:32 GMT 2042 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00 +MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286IxSR +/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNu +FoM7pmRLMon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXR +U7Ox7sWTaYI+FrUoRqHe6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+c +ra1AdHkrAj80//ogaX3T7mH1urPnMNA3I4ZyYUUpSFlob3emLoG+B01vr87ERROR +FHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3UVDmrJqMz6nWB2i3ND0/k +A9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f75li59wzw +eyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634Ryl +sSqiMd5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBp +VzgeAVuNVejH38DMdyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0Q +A4XN8f+MFrXBsj6IbGB/kE+V9/YtrQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ +ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZIhvcNAQELBQAD +ggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px +KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnI +FUBhynLWcKzSt/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5Wvv +oxXqA/4Ti2Tk08HS6IT7SdEQTXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFg +u/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9DuDcpmvJRPpq3t/O5jrFc/ZSXPsoaP +0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGibIh6BJpsQBJFxwAYf +3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmDhPbl +8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+ +DhcI00iX0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HN +PlopNLk9hM6xZdRZkZFWdSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ +ywaZWWDYWGWVjUTR939+J399roD1B0y2PpxxVJkES/1Y+Zj0 +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/secomscrootca1 openjdk-11-11.0.6+10/make/data/cacerts/secomscrootca1 --- openjdk-11-11.0.5+10/make/data/cacerts/secomscrootca1 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/secomscrootca1 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,27 @@ +Owner: OU=Security Communication RootCA1, O=SECOM Trust.net, C=JP +Issuer: OU=Security Communication RootCA1, O=SECOM Trust.net, C=JP +Serial number: 0 +Valid from: Tue Sep 30 04:20:49 GMT 2003 until: Sat Sep 30 04:20:49 GMT 2023 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEY +MBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21t +dW5pY2F0aW9uIFJvb3RDQTEwHhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5 +WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYD +VQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw8yl8 +9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ +DKaVv0uMDPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9 +Ms+k2Y7CI9eNqPPYJayX5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/N +QV3Is00qVUarH9oe4kA92819uZKAnDfdDJZkndwi92SL32HeFZRSFaB9UslLqCHJ +xrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2JChzAgMBAAGjPzA9MB0G +A1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYwDwYDVR0T +AQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vG +kl3g0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfr +Uj94nK9NrvjVT8+amCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5 +Bw+SUEmK3TGXX8npN6o7WWWXlDLJs58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJU +JRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ6rBK+1YWc26sTfcioU+tHXot +RSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAiFL39vmwLAw== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/secomscrootca2 openjdk-11-11.0.6+10/make/data/cacerts/secomscrootca2 --- openjdk-11-11.0.5+10/make/data/cacerts/secomscrootca2 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/secomscrootca2 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,28 @@ +Owner: OU=Security Communication RootCA2, O="SECOM Trust Systems CO.,LTD.", C=JP +Issuer: OU=Security Communication RootCA2, O="SECOM Trust Systems CO.,LTD.", C=JP +Serial number: 0 +Valid from: Fri May 29 05:00:39 GMT 2009 until: Tue May 29 05:00:39 GMT 2029 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl +MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMe +U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX +DTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRy +dXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3VyaXR5IENvbW11bmlj +YXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANAV +OVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGr +zbl+dp+++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVM +VAX3NuRFg3sUZdbcDE3R3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQ +hNBqyjoGADdH5H5XTz+L62e4iKrFvlNVspHEfbmwhRkGeC7bYRr6hfVKkaHnFtWO +ojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1KEOtOghY6rCcMU/Gt1SSw +awNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8QIH4D5cs +OPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 +DQEBCwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpF +coJxDjrSzG+ntKEju/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXc +okgfGT+Ok+vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8 +t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6qtnRGEmyR7jTV7JqR50S+kDFy +1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29mvVXIwAHIRc/ +SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/securetrustca openjdk-11-11.0.6+10/make/data/cacerts/securetrustca --- openjdk-11-11.0.5+10/make/data/cacerts/securetrustca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/securetrustca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,29 @@ +Owner: CN=SecureTrust CA, O=SecureTrust Corporation, C=US +Issuer: CN=SecureTrust CA, O=SecureTrust Corporation, C=US +Serial number: cf08e5c0816a5ad427ff0eb271859d0 +Valid from: Tue Nov 07 19:31:18 GMT 2006 until: Mon Dec 31 19:40:55 GMT 2029 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI +MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x +FzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz +MTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv +cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz +Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO +0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao +wW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj +7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS +8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT +BgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg +JYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC +NxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3 +6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/ +3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm +D5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS +CPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR +3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/soneraclass2ca openjdk-11-11.0.6+10/make/data/cacerts/soneraclass2ca --- openjdk-11-11.0.5+10/make/data/cacerts/soneraclass2ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/soneraclass2ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,26 @@ +Owner: CN=Sonera Class2 CA, O=Sonera, C=FI +Issuer: CN=Sonera Class2 CA, O=Sonera, C=FI +Serial number: 1d +Valid from: Fri Apr 06 07:29:40 GMT 2001 until: Tue Apr 06 07:29:40 GMT 2021 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP +MA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAx +MDQwNjA3Mjk0MFoXDTIxMDQwNjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNV +BAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMiBDQTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3/Ei9vX+ALTU74W+o +Z6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybTdXnt +5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s +3TmVToMGf+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2Ej +vOr7nQKV0ba5cTppCD8PtOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu +8nYybieDwnPz3BjotJPqdURrBGAgcVeHnfO+oJAjPYok4doh28MCAwEAAaMzMDEw +DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITTXjwwCwYDVR0PBAQDAgEG +MA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt0jSv9zil +zqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/ +3DEIcbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvD +FNr450kkkdAdavphOe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6 +Tk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2 +ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/starfieldclass2ca openjdk-11-11.0.6+10/make/data/cacerts/starfieldclass2ca --- openjdk-11-11.0.5+10/make/data/cacerts/starfieldclass2ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/starfieldclass2ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,31 @@ +Owner: OU=Starfield Class 2 Certification Authority, O="Starfield Technologies, Inc.", C=US +Issuer: OU=Starfield Class 2 Certification Authority, O="Starfield Technologies, Inc.", C=US +Serial number: 0 +Valid from: Tue Jun 29 17:39:16 GMT 2004 until: Thu Jun 29 17:39:16 GMT 2034 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl +MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp +U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw +NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE +ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp +ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3 +DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf +8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN ++lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0 +X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa +K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA +1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G +A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR +zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0 +YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD +bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w +DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3 +L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D +eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl +xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp +VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY +WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/starfieldrootg2ca openjdk-11-11.0.6+10/make/data/cacerts/starfieldrootg2ca --- openjdk-11-11.0.5+10/make/data/cacerts/starfieldrootg2ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/starfieldrootg2ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,30 @@ +Owner: CN=Starfield Root Certificate Authority - G2, O="Starfield Technologies, Inc.", L=Scottsdale, ST=Arizona, C=US +Issuer: CN=Starfield Root Certificate Authority - G2, O="Starfield Technologies, Inc.", L=Scottsdale, ST=Arizona, C=US +Serial number: 0 +Valid from: Tue Sep 01 00:00:00 GMT 2009 until: Thu Dec 31 23:59:59 GMT 2037 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT +HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs +ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw +MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 +b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj +aG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp +Y2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg +nLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1 +HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N +Hwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN +dloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0 +HZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO +BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G +CSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU +sHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3 +4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg +8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K +pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1 +mMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/starfieldservicesrootg2ca openjdk-11-11.0.6+10/make/data/cacerts/starfieldservicesrootg2ca --- openjdk-11-11.0.5+10/make/data/cacerts/starfieldservicesrootg2ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/starfieldservicesrootg2ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,31 @@ +Owner: CN=Starfield Services Root Certificate Authority - G2, O="Starfield Technologies, Inc.", L=Scottsdale, ST=Arizona, C=US +Issuer: CN=Starfield Services Root Certificate Authority - G2, O="Starfield Technologies, Inc.", L=Scottsdale, ST=Arizona, C=US +Serial number: 0 +Valid from: Tue Sep 01 00:00:00 GMT 2009 until: Thu Dec 31 23:59:59 GMT 2037 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT +HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs +ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 +MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD +VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy +ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy +dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p +OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2 +8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K +Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe +hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk +6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw +DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q +AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI +bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB +ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z +qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd +iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn +0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN +sSi6 +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/swisssigngoldg2ca openjdk-11-11.0.6+10/make/data/cacerts/swisssigngoldg2ca --- openjdk-11-11.0.5+10/make/data/cacerts/swisssigngoldg2ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/swisssigngoldg2ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,40 @@ +Owner: CN=SwissSign Gold CA - G2, O=SwissSign AG, C=CH +Issuer: CN=SwissSign Gold CA - G2, O=SwissSign AG, C=CH +Serial number: bb401c43f55e4fb0 +Valid from: Wed Oct 25 08:30:35 GMT 2006 until: Sat Oct 25 08:30:35 GMT 2036 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV +BAYTAkNIMRUwEwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2ln +biBHb2xkIENBIC0gRzIwHhcNMDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBF +MQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dpc3NTaWduIEFHMR8wHQYDVQQDExZT +d2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC +CgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUqt2/8 +76LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+ +bbqBHH5CjCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c +6bM8K8vzARO/Ws/BtQpgvd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqE +emA8atufK+ze3gE/bk3lUIbLtK/tREDFylqM2tIrfKjuvqblCqoOpd8FUrdVxyJd +MmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvRAiTysybUa9oEVeXBCsdt +MDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuendjIj3o02y +MszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69y +FGkOpeUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPi +aG59je883WX0XaxR7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxM +gI93e2CaHt+28kgeDrpOVG2Y4OGiGqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCB +qTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUWyV7 +lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64OfPAeGZe6Drn +8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov +L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe6 +45R88a7A3hfm5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczO +UYrHUDFu4Up+GC9pWbY9ZIEr44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5 +O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOfMke6UiI0HTJ6CVanfCU2qT1L2sCC +bwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6mGu6uLftIdxf+u+yv +GPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxpmo/a +77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCC +hdiDyyJkvC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid3 +92qgQmwLOM7XdVAyksLfKzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEpp +Ld6leNcG2mqeSz53OiATIgHQv2ieY2BrNU0LbbqhPcCT4H8js1WtciVORvnSFu+w +ZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6LqjviOvrv1vA+ACOzB2+htt +Qc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/swisssignplatinumg2ca openjdk-11-11.0.6+10/make/data/cacerts/swisssignplatinumg2ca --- openjdk-11-11.0.5+10/make/data/cacerts/swisssignplatinumg2ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/swisssignplatinumg2ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,40 @@ +Owner: CN=SwissSign Platinum CA - G2, O=SwissSign AG, C=CH +Issuer: CN=SwissSign Platinum CA - G2, O=SwissSign AG, C=CH +Serial number: 4eb200670c035d4f +Valid from: Wed Oct 25 08:36:00 GMT 2006 until: Sat Oct 25 08:36:00 GMT 2036 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFwTCCA6mgAwIBAgIITrIAZwwDXU8wDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UE +BhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEjMCEGA1UEAxMaU3dpc3NTaWdu +IFBsYXRpbnVtIENBIC0gRzIwHhcNMDYxMDI1MDgzNjAwWhcNMzYxMDI1MDgzNjAw +WjBJMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dpc3NTaWduIEFHMSMwIQYDVQQD +ExpTd2lzc1NpZ24gUGxhdGludW0gQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBAMrfogLi2vj8Bxax3mCq3pZcZB/HL37PZ/pEQtZ2Y5Wu669y +IIpFR4ZieIbWIDkm9K6j/SPnpZy1IiEZtzeTIsBQnIJ71NUERFzLtMKfkr4k2Htn +IuJpX+UFeNSH2XFwMyVTtIc7KZAoNppVRDBopIOXfw0enHb/FZ1glwCNioUD7IC+ +6ixuEFGSzH7VozPY1kneWCqv9hbrS3uQMpe5up1Y8fhXSQQeol0GcN1x2/ndi5ob +jM89o03Oy3z2u5yg+gnOI2Ky6Q0f4nIoj5+saCB9bzuohTEJfwvH6GXp43gOCWcw +izSC+13gzJ2BbWLuCB4ELE6b7P6pT1/9aXjvCR+htL/68++QHkwFix7qepF6w9fl ++zC8bBsQWJj3Gl/QKTIDE0ZNYWqFTFJ0LwYfexHihJfGmfNtf9dng34TaNhxKFrY +zt3oEBSa/m0jh26OWnA81Y0JAKeqvLAxN23IhBQeW71FYyBrS3SMvds6DsHPWhaP +pZjydomyExI7C3d3rLvlPClKknLKYRorXkzig3R3+jVIeoVNjZpTxN94ypeRSCtF +KwH3HBqi7Ri6Cr2D+m+8jVeTO9TUps4e8aCxzqv9KyiaTxvXw3LbpMS/XUz13XuW +ae5ogObnmLo2t/5u7Su9IPhlGdpVCX4l3P5hYnL5fhgC72O00Puv5TtjjGePAgMB +AAGjgawwgakwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O +BBYEFFCvzAeHFUdvOMW0ZdHelarp35zMMB8GA1UdIwQYMBaAFFCvzAeHFUdvOMW0 +ZdHelarp35zMMEYGA1UdIAQ/MD0wOwYJYIV0AVkBAQEBMC4wLAYIKwYBBQUHAgEW +IGh0dHA6Ly9yZXBvc2l0b3J5LnN3aXNzc2lnbi5jb20vMA0GCSqGSIb3DQEBBQUA +A4ICAQAIhab1Fgz8RBrBY+D5VUYI/HAcQiiWjrfFwUF1TglxeeVtlspLpYhg0DB0 +uMoI3LQwnkAHFmtllXcBrqS3NQuB2nEVqXQXOHtYyvkv+8Bldo1bAbl93oI9ZLi+ +FHSjClTTLJUYFzX1UWs/j6KWYTl4a0vlpqD4U99REJNi54Av4tHgvI42Rncz7Lj7 +jposiU0xEQ8mngS7twSNC/K5/FqdOxa3L8iYq/6KUFkuozv8KV2LwUvJ4ooTHbG/ +u0IdUt1O2BReEMYxB+9xJ/cbOQncguqLs5WGXv312l0xpuAxtpTmREl0xRbl9x8D +YSjFyMsSoEJL+WuICI20MhjzdZ/EfwBPBZWcoxcCw7NTm6ogOSkrZvqdr16zktK1 +puEa+S1BaYEUtLS17Yk9zvupnTVCRLEcFHOBzyoBNZox1S2PbYTfgE1X4z/FhHXa +icYwu+uPyyIIoK6q8QNsOktNCaUOcsZWayFCTiMlFGiudgp8DAdwZPmaL/YFOSbG +DI8Zf0NebvRbFS/bYV3mZy8/CJT5YLSYMdp08YSTcU1f+2BY0fvEwW2JorsgH51x +kcsymxM9Pn2SUjWskpSi0xjCfMfqr3YFFt1nJ8J+HAciIfNAChs0B0QTwoRqjt8Z +Wr9/6x3iGjjRXK9HkmuAtTClyY3YqzGBH9/CZjfTk6mFhnll0g== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/swisssignsilverg2ca openjdk-11-11.0.6+10/make/data/cacerts/swisssignsilverg2ca --- openjdk-11-11.0.5+10/make/data/cacerts/swisssignsilverg2ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/swisssignsilverg2ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,40 @@ +Owner: CN=SwissSign Silver CA - G2, O=SwissSign AG, C=CH +Issuer: CN=SwissSign Silver CA - G2, O=SwissSign AG, C=CH +Serial number: 4f1bd42f54bb2f4b +Valid from: Wed Oct 25 08:32:46 GMT 2006 until: Sat Oct 25 08:32:46 GMT 2036 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UE +BhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWdu +IFNpbHZlciBDQSAtIEcyMB4XDTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0Nlow +RzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMY +U3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644N0Mv +Fz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7br +YT7QbNHm+/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieF +nbAVlDLaYQ1HTWBCrpJH6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH +6ATK72oxh9TAtvmUcXtnZLi2kUpCe2UuMGoM9ZDulebyzYLs2aFK7PayS+VFheZt +eJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5hqAaEuSh6XzjZG6k4sIN/ +c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5FZGkECwJ +MoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRH +HTBsROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTf +jNFusB3hB48IHpmccelM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb6 +5i/4z3GcRm25xBWNOHkDRUjvxF3XCO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOB +rDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU +F6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRBtjpbO8tFnb0c +wpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0 +cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIB +AHPGgeAn0i0P4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShp +WJHckRE1qTodvBqlYJ7YH39FkWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9 +xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L3XWgwF15kIwb4FDm3jH+mHtwX6WQ +2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx/uNncqCxv1yL5PqZ +IseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFaDGi8 +aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2X +em1ZqSqPe97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQR +dAtq/gsD/KNVV4n+SsuuWxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/ +OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJDIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+ +hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ubDgEj8Z+7fNzcbBGXJbLy +tGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/teliasonerarootcav1 openjdk-11-11.0.6+10/make/data/cacerts/teliasonerarootcav1 --- openjdk-11-11.0.5+10/make/data/cacerts/teliasonerarootcav1 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/teliasonerarootcav1 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,37 @@ +Owner: CN=TeliaSonera Root CA v1, O=TeliaSonera +Issuer: CN=TeliaSonera Root CA v1, O=TeliaSonera +Serial number: 95be16a0f72e46f17b398272fa8bcd96 +Valid from: Thu Oct 18 12:00:50 GMT 2007 until: Mon Oct 18 12:00:50 GMT 2032 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAw +NzEUMBIGA1UECgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJv +b3QgQ0EgdjEwHhcNMDcxMDE4MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYD +VQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwWVGVsaWFTb25lcmEgUm9vdCBDQSB2 +MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+6yfwIaPzaSZVfp3F +VRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA3GV1 +7CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+X +Z75Ljo1kB1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+ +/jXh7VB7qTCNGdMJjmhnXb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs +81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxHoLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkm +dtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3F0fUTPHSiXk+TT2YqGHe +Oh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJoWjiUIMu +sDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4 +pgd7gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fs +slESl1MpWtTwEhDcTwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQ +arMCpgKIv7NHfirZ1fpoeDVNAgMBAAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYD +VR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qWDNXr+nuqF+gTEjANBgkqhkiG +9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNmzqjMDfz1mgbl +dxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx +0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1Tj +TQpgcmLNkQfWpb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBed +Y2gea+zDTYa4EzAvXUYNR0PVG6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7 +Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpcc41teyWRyu5FrgZLAMzTsVlQ2jqI +OylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOTJsjrDNYmiLbAJM+7 +vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2qReW +t88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcn +HL/EVlP6Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVx +SK236thZiNSQvxaz2emsWWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/thawtepremiumserverca openjdk-11-11.0.6+10/make/data/cacerts/thawtepremiumserverca --- openjdk-11-11.0.5+10/make/data/cacerts/thawtepremiumserverca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/thawtepremiumserverca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,27 @@ +Owner: EMAILADDRESS=premium-server@thawte.com, CN=Thawte Premium Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA +Issuer: EMAILADDRESS=premium-server@thawte.com, CN=Thawte Premium Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA +Serial number: 36122296c5e338a520a1d25f4cd70954 +Valid from: Thu Aug 01 00:00:00 GMT 1996 until: Fri Jan 01 23:59:59 GMT 2021 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 1024-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDNjCCAp+gAwIBAgIQNhIilsXjOKUgodJfTNcJVDANBgkqhkiG9w0BAQUFADCB +zjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJ +Q2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UE +CxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhh +d3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNl +cnZlckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIxMDEwMTIzNTk1OVow +gc4xCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcT +CUNhcGUgVG93bjEdMBsGA1UEChMUVGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNV +BAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRo +YXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZcHJlbWl1bS1z +ZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2 +aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560 +ZXUCTe/LCaIhUdib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j ++ao6hnO2RlNYyIkFvYMRuHM/qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/ +BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQBlkKyID1bZ5jA01CbH0FDxkt5r1DmI +CSLGpmODA/eZd9iy5Ri4XWPz1HP7bJyZePFLeH0ZJMMrAoT4vCLZiiLXoPxx7JGH +IPG47LHlVYCsPVLIOQ7C8MAFT9aCdYy9X9LcdpoFEsmvcsPcJX6kTY4XpeCHf+Ga +WuFg3GQjPEIuTQ== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/thawteprimaryrootca openjdk-11-11.0.6+10/make/data/cacerts/thawteprimaryrootca --- openjdk-11-11.0.5+10/make/data/cacerts/thawteprimaryrootca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/thawteprimaryrootca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,32 @@ +Owner: CN=thawte Primary Root CA, OU="(c) 2006 thawte, Inc. - For authorized use only", OU=Certification Services Division, O="thawte, Inc.", C=US +Issuer: CN=thawte Primary Root CA, OU="(c) 2006 thawte, Inc. - For authorized use only", OU=Certification Services Division, O="thawte, Inc.", C=US +Serial number: 344ed55720d5edec49f42fce37db2b6d +Valid from: Fri Nov 17 00:00:00 GMT 2006 until: Wed Jul 16 23:59:59 GMT 2036 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB +qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV +BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw +NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j +LjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG +A1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs +W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta +3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk +6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6 +Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J +NqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP +r87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU +DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz +YJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX +xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2 +/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/ +LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7 +jVaMaA== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/thawteprimaryrootcag2 openjdk-11-11.0.6+10/make/data/cacerts/thawteprimaryrootcag2 --- openjdk-11-11.0.5+10/make/data/cacerts/thawteprimaryrootcag2 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/thawteprimaryrootcag2 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,23 @@ +Owner: CN=thawte Primary Root CA - G2, OU="(c) 2007 thawte, Inc. - For authorized use only", O="thawte, Inc.", C=US +Issuer: CN=thawte Primary Root CA - G2, OU="(c) 2007 thawte, Inc. - For authorized use only", O="thawte, Inc.", C=US +Serial number: 35fc265cd9844fc93d263d579baed756 +Valid from: Mon Nov 05 00:00:00 GMT 2007 until: Mon Jan 18 23:59:59 GMT 2038 +Signature algorithm name: SHA384withECDSA +Subject Public Key Algorithm: 384-bit EC (secp384r1) key +Version: 3 +-----BEGIN CERTIFICATE----- +MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMp +IDIwMDcgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAi +BgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMjAeFw0wNzExMDUwMDAw +MDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh +d3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBGb3Ig +YXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9v +dCBDQSAtIEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/ +BebfowJPDQfGAFG6DAJSLSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6 +papu+7qzcMBniKI11KOasf2twu8x+qi58/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmtgAMADna3+FGO6Lts6K +DPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUNG4k8VIZ3 +KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41ox +XZ3Krr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/thawteprimaryrootcag3 openjdk-11-11.0.6+10/make/data/cacerts/thawteprimaryrootcag3 --- openjdk-11-11.0.5+10/make/data/cacerts/thawteprimaryrootcag3 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/thawteprimaryrootcag3 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,32 @@ +Owner: CN=thawte Primary Root CA - G3, OU="(c) 2008 thawte, Inc. - For authorized use only", OU=Certification Services Division, O="thawte, Inc.", C=US +Issuer: CN=thawte Primary Root CA - G3, OU="(c) 2008 thawte, Inc. - For authorized use only", OU=Certification Services Division, O="thawte, Inc.", C=US +Serial number: 600197b746a7eab4b49ad64b2ff790fb +Valid from: Wed Apr 02 00:00:00 GMT 2008 until: Tue Dec 01 23:59:59 GMT 2037 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCB +rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV +BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0wODA0MDIwMDAwMDBa +Fw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3Rl +LCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u +MTgwNgYDVQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXpl +ZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEcz +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr8nLPvb2FvdeHsbnndm +gcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2AtP0LMqmsywCPLLEHd5N/8 +YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC+BsUa0Lf +b1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS9 +9irY7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2S +zhkGcuYMXDhpxwTWvGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUk +OQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV +HQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJKoZIhvcNAQELBQADggEBABpA +2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweKA3rD6z8KLFIW +oCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu +t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7c +KUGRIjxpp7sC8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fM +m7v/OeZWYdMKp8RcTGB7BXcmer/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZu +MdRAGmI0Nj81Aa6sY6A= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/ttelesecglobalrootclass2ca openjdk-11-11.0.6+10/make/data/cacerts/ttelesecglobalrootclass2ca --- openjdk-11-11.0.5+10/make/data/cacerts/ttelesecglobalrootclass2ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/ttelesecglobalrootclass2ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,30 @@ +Owner: CN=T-TeleSec GlobalRoot Class 2, OU=T-Systems Trust Center, O=T-Systems Enterprise Services GmbH, C=DE +Issuer: CN=T-TeleSec GlobalRoot Class 2, OU=T-Systems Trust Center, O=T-Systems Enterprise Services GmbH, C=DE +Serial number: 1 +Valid from: Wed Oct 01 10:40:14 GMT 2008 until: Sat Oct 01 23:59:59 GMT 2033 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx +KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd +BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl +YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1 +OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy +aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 +ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd +AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC +FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi +1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq +jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ +wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/ +WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy +NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC +uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw +IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6 +g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN +9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP +BSeOE6Fuwg== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/ttelesecglobalrootclass3ca openjdk-11-11.0.6+10/make/data/cacerts/ttelesecglobalrootclass3ca --- openjdk-11-11.0.5+10/make/data/cacerts/ttelesecglobalrootclass3ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/ttelesecglobalrootclass3ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,30 @@ +Owner: CN=T-TeleSec GlobalRoot Class 3, OU=T-Systems Trust Center, O=T-Systems Enterprise Services GmbH, C=DE +Issuer: CN=T-TeleSec GlobalRoot Class 3, OU=T-Systems Trust Center, O=T-Systems Enterprise Services GmbH, C=DE +Serial number: 1 +Valid from: Wed Oct 01 10:29:56 GMT 2008 until: Sat Oct 01 23:59:59 GMT 2033 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx +KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd +BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl +YyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgxMDAxMTAyOTU2WhcNMzMxMDAxMjM1 +OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy +aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 +ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN +8ELg63iIVl6bmlQdTQyK9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/ +RLyTPWGrTs0NvvAgJ1gORH8EGoel15YUNpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4 +hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZFiP0Zf3WHHx+xGwpzJFu5 +ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W0eDrXltM +EnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGj +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1 +A/d2O2GCahKqGFPrAyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOy +WL6ukK2YJ5f+AbGwUgC4TeQbIXQbfsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ +1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzTucpH9sry9uetuUg/vBa3wW30 +6gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7hP0HHRwA11fXT +91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml +e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4p +TpPDpFQUWw== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/usertrusteccca openjdk-11-11.0.6+10/make/data/cacerts/usertrusteccca --- openjdk-11-11.0.5+10/make/data/cacerts/usertrusteccca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/usertrusteccca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,23 @@ +Owner: CN=USERTrust ECC Certification Authority, O=The USERTRUST Network, L=Jersey City, ST=New Jersey, C=US +Issuer: CN=USERTrust ECC Certification Authority, O=The USERTRUST Network, L=Jersey City, ST=New Jersey, C=US +Serial number: 5c8b99c55a94c5d27156decd8980cc26 +Valid from: Mon Feb 01 00:00:00 GMT 2010 until: Mon Jan 18 23:59:59 GMT 2038 +Signature algorithm name: SHA384withECDSA +Subject Public Key Algorithm: 384-bit EC (secp384r1) key +Version: 3 +-----BEGIN CERTIFICATE----- +MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL +MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl +eSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT +JVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx +MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT +Ck5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg +VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm +aWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo +I+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng +o4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G +A1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB +zzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW +RNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/usertrustrsaca openjdk-11-11.0.6+10/make/data/cacerts/usertrustrsaca --- openjdk-11-11.0.5+10/make/data/cacerts/usertrustrsaca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/usertrustrsaca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,41 @@ +Owner: CN=USERTrust RSA Certification Authority, O=The USERTRUST Network, L=Jersey City, ST=New Jersey, C=US +Issuer: CN=USERTrust RSA Certification Authority, O=The USERTRUST Network, L=Jersey City, ST=New Jersey, C=US +Serial number: 1fd6d30fca3ca51a81bbc640e35032d +Valid from: Mon Feb 01 00:00:00 GMT 2010 until: Mon Jan 18 23:59:59 GMT 2038 +Signature algorithm name: SHA384withRSA +Subject Public Key Algorithm: 4096-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB +iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl +cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV +BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw +MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV +BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU +aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy +dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK +AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B +3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY +tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/ +Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2 +VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT +79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6 +c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT +Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l +c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee +UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE +Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd +BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G +A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF +Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO +VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3 +ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs +8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR +iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze +Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ +XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/ +qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB +VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB +L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG +jjxDah2nGN59PRbxYvnKkKj9 +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/utnuserfirstobjectca openjdk-11-11.0.6+10/make/data/cacerts/utnuserfirstobjectca --- openjdk-11-11.0.5+10/make/data/cacerts/utnuserfirstobjectca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/utnuserfirstobjectca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,33 @@ +Owner: CN=UTN-USERFirst-Object, OU=http://www.usertrust.com, O=The USERTRUST Network, L=Salt Lake City, ST=UT, C=US +Issuer: CN=UTN-USERFirst-Object, OU=http://www.usertrust.com, O=The USERTRUST Network, L=Salt Lake City, ST=UT, C=US +Serial number: 44be0c8b500024b411d3362de0b35f1b +Valid from: Fri Jul 09 18:31:20 GMT 1999 until: Tue Jul 09 18:40:36 GMT 2019 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIEZjCCA06gAwIBAgIQRL4Mi1AAJLQR0zYt4LNfGzANBgkqhkiG9w0BAQUFADCB +lTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug +Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho +dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHTAbBgNVBAMTFFVUTi1VU0VSRmlyc3Qt +T2JqZWN0MB4XDTk5MDcwOTE4MzEyMFoXDTE5MDcwOTE4NDAzNlowgZUxCzAJBgNV +BAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxHjAc +BgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3 +dy51c2VydHJ1c3QuY29tMR0wGwYDVQQDExRVVE4tVVNFUkZpcnN0LU9iamVjdDCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6qgT+jo2F4qjEAVZURnicP +HxzfOpuCaDDASmEd8S8O+r5596Uj71VRloTN2+O5bj4x2AogZ8f02b+U60cEPgLO +KqJdhwQJ9jCdGIqXsqoc/EHSoTbL+z2RuufZcDX65OeQw5ujm9M89RKZd7G3CeBo +5hy485RjiGpq/gt2yb70IuRnuasaXnfBhQfdDWy/7gbHd2pBnqcP1/vulBe3/IW+ +pKvEHDHd17bR5PDv3xaPslKT16HUiaEHLr/hARJCHhrh2JU022R5KP+6LhHC5ehb +kkj7RwvCbNqtMoNB86XlQXD9ZZBt+vpRxPm9lisZBCzTbafc8H9vg2XiaquHhnUC +AwEAAaOBrzCBrDALBgNVHQ8EBAMCAcYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E +FgQU2u1kdBScFDyr3ZmpvVsoTYs8ydgwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDov +L2NybC51c2VydHJ1c3QuY29tL1VUTi1VU0VSRmlyc3QtT2JqZWN0LmNybDApBgNV +HSUEIjAgBggrBgEFBQcDAwYIKwYBBQUHAwgGCisGAQQBgjcKAwQwDQYJKoZIhvcN +AQEFBQADggEBAAgfUrE3RHjb/c652pWWmKpVZIC1WkDdIaXFwfNfLEzIR1pp6ujw +NTX00CXzyKakh0q9G7FzCL3Uw8q2NbtZhncxzaeAFK4T7/yxSPlrJSUtUbYsbUXB +mMiKVl0+7kNOPmsnjtA6S4ULX9Ptaqd1y9Fahy85dRNacrACgZ++8A+EVCBibGnU +4U3GDZlDAQ0Slox4nb9QorFEqmrPF3rPbw/U+CRVX/A0FklmPlBGyWNxODFiuGK5 +81OtbLUrohKqGU8J2l7nk8aOFAj+8DCAGKCGhU3IfdeLA/5u1fedFqySLKAj5ZyR +Uh+U3xeUc8OzwcFxBSAAeL0TUh2oPs0AH8g= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/verisignclass2g2ca openjdk-11-11.0.6+10/make/data/cacerts/verisignclass2g2ca --- openjdk-11-11.0.5+10/make/data/cacerts/verisignclass2g2ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/verisignclass2g2ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,26 @@ +Owner: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 2 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US +Issuer: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 2 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US +Serial number: b92f60cc889fa17a4609b85b706c8aaf +Valid from: Mon May 18 00:00:00 GMT 1998 until: Tue Aug 01 23:59:59 GMT 2028 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 1024-bit RSA key +Version: 1 +-----BEGIN CERTIFICATE----- +MIIDAzCCAmwCEQC5L2DMiJ+hekYJuFtwbIqvMA0GCSqGSIb3DQEBBQUAMIHBMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0Ns +YXNzIDIgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH +MjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9y +aXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazAe +Fw05ODA1MTgwMDAwMDBaFw0yODA4MDEyMzU5NTlaMIHBMQswCQYDVQQGEwJVUzEX +MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGlj +IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMx +KGMpIDE5OTggVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s +eTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazCBnzANBgkqhkiG9w0B +AQEFAAOBjQAwgYkCgYEAp4gBIXQs5xoD8JjhlzwPIQjxnNuX6Zr8wgQGE75fUsjM +HiwSViy4AWkszJkfrbCWrnkE8hM5wXuYuggs6MKEEyyqaekJ9MepAqRCwiNPStjw +DqL7MWzJ5m+ZJwf15vRMeJ5t60aG+rmGyVTyssSv1EYcWskVMP8NbPUtDm3Of3cC +AwEAATANBgkqhkiG9w0BAQUFAAOBgQByLvl/0fFx+8Se9sVeUYpAmLho+Jscg9ji +nb3/7aHmZuovCfTK1+qlK5X2JGCGTUQug6XELaDTrnhpb3LabK4I8GOSN+a7xDAX +rXfMSTWqz9iP0b63GJZHc2pUIjRkLbYWm1lbtFFZOrMLFPQS32eg9K0yZF6xRnIn +jBJ7xUS0rg== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/verisignclass3ca openjdk-11-11.0.6+10/make/data/cacerts/verisignclass3ca --- openjdk-11-11.0.5+10/make/data/cacerts/verisignclass3ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/verisignclass3ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,21 @@ +Owner: OU=Class 3 Public Primary Certification Authority, O="VeriSign, Inc.", C=US +Issuer: OU=Class 3 Public Primary Certification Authority, O="VeriSign, Inc.", C=US +Serial number: 3c9131cb1ff6d01b0e9ab8d044bf12be +Valid from: Mon Jan 29 00:00:00 GMT 1996 until: Wed Aug 02 23:59:59 GMT 2028 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 1024-bit RSA key +Version: 1 +-----BEGIN CERTIFICATE----- +MIICPDCCAaUCEDyRMcsf9tAbDpq40ES/Er4wDQYJKoZIhvcNAQEFBQAwXzELMAkG +A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz +cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2 +MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV +BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt +YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN +ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE +BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is +I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G +CSqGSIb3DQEBBQUAA4GBABByUqkFFBkyCEHwxWsKzH4PIRnN5GfcX6kb5sroc50i +2JhucwNhkcV8sEVAbkSdjbCxlnRhLQ2pRdKkkirWmnWXbj9T/UWZYB2oK0z5XqcJ +2HUw19JlYD1n1khVdWk/kfVIC0dpImmClr7JyDiGSnoscxlIaU5rfGW/D/xwzoiQ +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/verisignclass3g2ca openjdk-11-11.0.6+10/make/data/cacerts/verisignclass3g2ca --- openjdk-11-11.0.5+10/make/data/cacerts/verisignclass3g2ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/verisignclass3g2ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,26 @@ +Owner: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 3 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US +Issuer: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 3 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US +Serial number: 7dd9fe07cfa81eb7107967fba78934c6 +Valid from: Mon May 18 00:00:00 GMT 1998 until: Tue Aug 01 23:59:59 GMT 2028 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 1024-bit RSA key +Version: 1 +-----BEGIN CERTIFICATE----- +MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJ +BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh +c3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy +MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp +emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X +DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw +FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMg +UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo +YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5 +MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB +AQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCOFoUgRm1HP9SFIIThbbP4 +pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71lSk8UOg0 +13gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwID +AQABMA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSk +U01UbSuvDV1Ai2TT1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7i +F6YM40AIOw7n60RzKprxaZLvcRTDOaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpY +oJ2daZH9 +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/verisignclass3g3ca openjdk-11-11.0.6+10/make/data/cacerts/verisignclass3g3ca --- openjdk-11-11.0.5+10/make/data/cacerts/verisignclass3g3ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/verisignclass3g3ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,31 @@ +Owner: CN=VeriSign Class 3 Public Primary Certification Authority - G3, OU="(c) 1999 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US +Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3, OU="(c) 1999 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US +Serial number: 9b7e0649a33e62b9d5ee90487129ef57 +Valid from: Fri Oct 01 00:00:00 GMT 1999 until: Wed Jul 16 23:59:59 GMT 2036 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 1 +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl +cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu +LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT +aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD +VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT +aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ +bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu +IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b +N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t +KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu +kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm +CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ +Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu +imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te +2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe +DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC +/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p +F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt +TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/verisignclass3g4ca openjdk-11-11.0.6+10/make/data/cacerts/verisignclass3g4ca --- openjdk-11-11.0.5+10/make/data/cacerts/verisignclass3g4ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/verisignclass3g4ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,28 @@ +Owner: CN=VeriSign Class 3 Public Primary Certification Authority - G4, OU="(c) 2007 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US +Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4, OU="(c) 2007 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US +Serial number: 2f80fe238c0e220f486712289187acb3 +Valid from: Mon Nov 05 00:00:00 GMT 2007 until: Mon Jan 18 23:59:59 GMT 2038 +Signature algorithm name: SHA384withECDSA +Subject Public Key Algorithm: 384-bit EC (secp384r1) key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW +ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp +U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y +aXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjELMAkG +A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJp +U2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwg +SW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2ln +biBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8Utpkmw4tXNherJI9/gHm +GUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGzrl0Bp3ve +fLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJ +aW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYj +aHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMW +kf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMDA2gAMGUCMGYhDBgmYFo4e1ZC +4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIxAJw9SDkjOVga +FRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/verisignclass3g5ca openjdk-11-11.0.6+10/make/data/cacerts/verisignclass3g5ca --- openjdk-11-11.0.5+10/make/data/cacerts/verisignclass3g5ca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/verisignclass3g5ca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,35 @@ +Owner: CN=VeriSign Class 3 Public Primary Certification Authority - G5, OU="(c) 2006 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US +Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5, OU="(c) 2006 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US +Serial number: 18dad19e267de8bb4a2158cdcc6b3b4a +Valid from: Wed Nov 08 00:00:00 GMT 2006 until: Wed Jul 16 23:59:59 GMT 2036 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW +ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW +ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp +U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y +aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1 +nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex +t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz +SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG +BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+ +rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/ +NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E +BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH +BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy +aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv +MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE +p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y +5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK +WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ +4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N +hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/verisigntsaca openjdk-11-11.0.6+10/make/data/cacerts/verisigntsaca --- openjdk-11-11.0.5+10/make/data/cacerts/verisigntsaca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/verisigntsaca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,24 @@ +Owner: CN=Thawte Timestamping CA, OU=Thawte Certification, O=Thawte, L=Durbanville, ST=Western Cape, C=ZA +Issuer: CN=Thawte Timestamping CA, OU=Thawte Certification, O=Thawte, L=Durbanville, ST=Western Cape, C=ZA +Serial number: 67c8e1e8e3be1cbdfc913b8ea6238749 +Valid from: Wed Jan 01 00:00:00 GMT 1997 until: Fri Jan 01 23:59:59 GMT 2021 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 1024-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIICsDCCAhmgAwIBAgIQZ8jh6OO+HL38kTuOpiOHSTANBgkqhkiG9w0BAQUFADCB +izELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTEUMBIGA1UEBxML +RHVyYmFudmlsbGUxDzANBgNVBAoTBlRoYXd0ZTEdMBsGA1UECxMUVGhhd3RlIENl +cnRpZmljYXRpb24xHzAdBgNVBAMTFlRoYXd0ZSBUaW1lc3RhbXBpbmcgQ0EwHhcN +OTcwMTAxMDAwMDAwWhcNMjEwMTAxMjM1OTU5WjCBizELMAkGA1UEBhMCWkExFTAT +BgNVBAgTDFdlc3Rlcm4gQ2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxDzANBgNV +BAoTBlRoYXd0ZTEdMBsGA1UECxMUVGhhd3RlIENlcnRpZmljYXRpb24xHzAdBgNV +BAMTFlRoYXd0ZSBUaW1lc3RhbXBpbmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0A +MIGJAoGBANYrWHhhRYZT6jR7UZztsOYuGA7+4F+oJ9O0yeB8WU4WDnNUYMF/9p8u +6TqFJBU820cEY8OexJQaWt9MevPZQx08EHp5JduQ/vBR5zDWQQD9nyjfeb6Uu522 +FOMjhdepQeBMpHmwKxqL8vg7ij5FrHGSALSQQZj7X+36ty6K+Ig3AgMBAAGjEzAR +MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAS+mqF4EF+3kKMZ/F +QfRWVKvpwuWXjhj+kckMPiZkyaFMJ2SnvQGTVXFuF0853BvcSTUQOSP/ypvIz2Y/ +3Ewa1IEGQlIf4SaxFhe65nByMUToTo1b5NP50OOPJWQx5yr4GIg2GlLFDUE1G2m3 +JvUXzMEZXkt8XOKDgJH6L/uatxY= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/verisignuniversalrootca openjdk-11-11.0.6+10/make/data/cacerts/verisignuniversalrootca --- openjdk-11-11.0.5+10/make/data/cacerts/verisignuniversalrootca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/verisignuniversalrootca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,35 @@ +Owner: CN=VeriSign Universal Root Certification Authority, OU="(c) 2008 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US +Issuer: CN=VeriSign Universal Root Certification Authority, OU="(c) 2008 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US +Serial number: 401ac46421b31321030ebbe4121ac51d +Valid from: Wed Apr 02 00:00:00 GMT 2008 until: Tue Dec 01 23:59:59 GMT 2037 +Signature algorithm name: SHA256withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCB +vTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MTgwNgYDVQQDEy9W +ZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe +Fw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJVUzEX +MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0 +IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9y +IGF1dGhvcml6ZWQgdXNlIG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNh +bCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj1mCOkdeQmIN65lgZOIzF +9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGPMiJhgsWH +H26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+H +LL729fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN +/BMReYTtXlT2NJ8IAfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPT +rJ9VAMf2CGqUuV/c4DPxhGD5WycRtPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1Ud +EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0GCCsGAQUFBwEMBGEwX6FdoFsw +WTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgs +exkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud +DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4 +sAPmLGd75JR3Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+ +seQxIcaBlVZaDrHC1LGmWazxY8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz +4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTxP/jgdFcrGJ2BtMQo2pSXpXDrrB2+ +BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+PwGZsY6rp2aQW9IHR +lRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4mJO3 +7M2CYfE45k+XmCpajQ== +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/cacerts/xrampglobalca openjdk-11-11.0.6+10/make/data/cacerts/xrampglobalca --- openjdk-11-11.0.5+10/make/data/cacerts/xrampglobalca 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/cacerts/xrampglobalca 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,32 @@ +Owner: CN=XRamp Global Certification Authority, O=XRamp Security Services Inc, OU=www.xrampsecurity.com, C=US +Issuer: CN=XRamp Global Certification Authority, O=XRamp Security Services Inc, OU=www.xrampsecurity.com, C=US +Serial number: 50946cec18ead59c4dd597ef758fa0ad +Valid from: Mon Nov 01 17:14:04 GMT 2004 until: Mon Jan 01 05:37:19 GMT 2035 +Signature algorithm name: SHA1withRSA +Subject Public Key Algorithm: 2048-bit RSA key +Version: 3 +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB +gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk +MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY +UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx +NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3 +dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy +dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6 +38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP +KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q +DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4 +qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa +JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi +PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P +BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs +jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0 +eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD +ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR +vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt +qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa +IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy +i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ +O+7ETPTsJ3xCwnR8gooJybQDJbw= +-----END CERTIFICATE----- diff -Nru openjdk-11-11.0.5+10/make/data/fontconfig/aix.fontconfig.properties openjdk-11-11.0.6+10/make/data/fontconfig/aix.fontconfig.properties --- openjdk-11-11.0.5+10/make/data/fontconfig/aix.fontconfig.properties 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/fontconfig/aix.fontconfig.properties 2019-11-26 00:55:54.000000000 +0000 @@ -1,6 +1,6 @@ # # -# Copyright (c) 2013 SAP SE. All rights reserved. +# Copyright (c) 2013, 2019 SAP SE. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -48,12 +48,12 @@ dialog.plain.japanese-x0208=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0 dialog.plain.japanese-x0201=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0 dialog.plain.japanese-udc=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp -dialog.plain.japanese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0 +dialog.plain.japanese-iso10646=-monotype-wt sans j-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialog.plain.korean=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0 -dialog.plain.korean-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0 +dialog.plain.korean-iso10646=-monotype-wt sans k-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialog.plain.chinese=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0 -dialog.plain.chinese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0 -dialog.plain.taiwanese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0 +dialog.plain.chinese-iso10646=-monotype-wt sans sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1 +dialog.plain.taiwanese-iso10646=-monotype-wt sans tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialog.bold.latin-1=-*-helvetica-bold-r-normal--*-%d-100-100-p-*-iso8859-1 dialog.bold.thai=-ibm-thaihelvetica-medium-r-normal--*-%d-75-75-p-*-ucs2.thai-0 @@ -61,12 +61,12 @@ dialog.bold.japanese-x0208=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0 dialog.bold.japanese-x0201=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0 dialog.bold.japanese-udc=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp -dialog.bold.japanese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0 +dialog.bold.japanese-iso10646=-monotype-wt sans j-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialog.bold.korean=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0 -dialog.bold.korean-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0 +dialog.bold.korean-iso10646=-monotype-wt sans k-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialog.bold.chinese=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0 -dialog.bold.chinese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0 -dialog.bold.taiwanese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0 +dialog.bold.chinese-iso10646=-monotype-wt sans sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1 +dialog.bold.taiwanese-iso10646=-monotype-wt sans tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialog.italic.latin-1=-*-helvetica-medium-o-normal--*-%d-100-100-p-*-iso8859-1 dialog.italic.thai=-ibm-thaihelvetica-medium-r-normal--*-%d-75-75-p-*-ucs2.thai-0 @@ -74,12 +74,12 @@ dialog.italic.japanese-x0208=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0 dialog.italic.japanese-x0201=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0 dialog.italic.japanese-udc=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp -dialog.italic.japanese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0 +dialog.italic.japanese-iso10646=-monotype-wt sans j-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialog.italic.korean=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0 -dialog.italic.korean-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0 +dialog.italic.korean-iso10646=-monotype-wt sans k-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialog.italic.chinese=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0 -dialog.italic.chinese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0 -dialog.italic.taiwanese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0 +dialog.italic.chinese-iso10646=-monotype-wt sans sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1 +dialog.italic.taiwanese-iso10646=-monotype-wt sans tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialog.bolditalic.latin-1=-*-helvetica-bold-o-normal--*-%d-100-100-p-*-iso8859-1 dialog.bolditalic.thai=-ibm-thaihelvetica-medium-r-normal--*-%d-75-75-p-*-ucs2.thai-0 @@ -87,12 +87,12 @@ dialog.bolditalic.japanese-x0208=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0 dialog.bolditalic.japanese-x0201=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0 dialog.bolditalic.japanese-udc=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp -dialog.bolditalic.japanese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0 +dialog.bolditalic.japanese-iso10646=-monotype-wt sans j-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialog.bolditalic.korean=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0 -dialog.bolditalic.korean-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0 +dialog.bolditalic.korean-iso10646=-monotype-wt sans k-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialog.bolditalic.chinese=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0 -dialog.bolditalic.chinese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0 -dialog.bolditalic.taiwanese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0 +dialog.bolditalic.chinese-iso10646=-monotype-wt sans sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1 +dialog.bolditalic.taiwanese-iso10646=-monotype-wt sans tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialoginput.plain.latin-1=-*-courier-medium-r-normal--*-%d-100-100-m-*-iso8859-1 dialoginput.plain.thai=-ibm-thaicourier-medium-r-normal--*-%d-75-75-m-*-ucs2.thai-0 @@ -100,12 +100,12 @@ dialoginput.plain.japanese-x0208=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0 dialoginput.plain.japanese-x0201=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0 dialoginput.plain.japanese-udc=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp -dialoginput.plain.japanese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0 +dialoginput.plain.japanese-iso10646=-monotype-wt sans duo j-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialoginput.plain.korean=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0 -dialoginput.plain.korean-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0 +dialoginput.plain.korean-iso10646=-monotype-wt sans duo k-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialoginput.plain.chinese=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0 -dialoginput.plain.chinese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0 -dialoginput.plain.taiwanese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0 +dialoginput.plain.chinese-iso10646=-monotype-wt sans duo sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1 +dialoginput.plain.taiwanese-iso10646=-monotype-wt sans duo tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialoginput.bold.latin-1=-*-courier-bold-r-normal--*-%d-100-100-m-*-iso8859-1 dialoginput.bold.thai=-ibm-thaicourier-medium-r-normal--*-%d-75-75-m-*-ucs2.thai-0 @@ -113,12 +113,12 @@ dialoginput.bold.japanese-x0208=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0 dialoginput.bold.japanese-x0201=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0 dialoginput.bold.japanese-udc=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp -dialoginput.bold.japanese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0 +dialoginput.bold.japanese-iso10646=-monotype-wt sans duo j-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialoginput.bold.korean=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0 -dialoginput.bold.korean-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0 +dialoginput.bold.korean-iso10646=-monotype-wt sans duo k-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialoginput.bold.chinese=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0 -dialoginput.bold.chinese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0 -dialoginput.bold.taiwanese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0 +dialoginput.bold.chinese-iso10646=-monotype-wt sans duo sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1 +dialoginput.bold.taiwanese-iso10646=-monotype-wt sans duo tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialoginput.italic.latin-1=-*-courier-medium-o-normal--*-%d-100-100-m-*-iso8859-1 dialoginput.italic.thai=-ibm-thaicourier-medium-r-normal--*-%d-75-75-m-*-ucs2.thai-0 @@ -126,12 +126,12 @@ dialoginput.italic.japanese-x0208=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0 dialoginput.italic.japanese-x0201=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0 dialoginput.italic.japanese-udc=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp -dialoginput.italic.japanese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0 +dialoginput.italic.japanese-iso10646=-monotype-wt sans duo j-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialoginput.italic.korean=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0 -dialoginput.italic.korean-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0 +dialoginput.italic.korean-iso10646=-monotype-wt sans duo k-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialoginput.italic.chinese=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0 -dialoginput.italic.chinese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0 -dialoginput.italic.taiwanese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0 +dialoginput.italic.chinese-iso10646=-monotype-wt sans duo sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1 +dialoginput.italic.taiwanese-iso10646=-monotype-wt sans duo tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialoginput.bolditalic.latin-1=-*-courier-bold-o-normal--*-%d-100-100-m-*-iso8859-1 dialoginput.bolditalic.thai=-ibm-thaicourier-medium-r-normal--*-%d-75-75-m-*-ucs2.thai-0 @@ -139,12 +139,12 @@ dialoginput.bolditalic.japanese-x0208=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0 dialoginput.bolditalic.japanese-x0201=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0 dialoginput.bolditalic.japanese-udc=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp -dialoginput.bolditalic.japanese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0 +dialoginput.bolditalic.japanese-iso10646=-monotype-wt sans duo j-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialoginput.bolditalic.korean=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0 -dialoginput.bolditalic.korean-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0 +dialoginput.bolditalic.korean-iso10646=-monotype-wt sans duo k-medium-r-normal--*-%d-75-75-*-*-iso10646-1 dialoginput.bolditalic.chinese=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0 -dialoginput.bolditalic.chinese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0 -dialoginput.bolditalic.taiwanese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0 +dialoginput.bolditalic.chinese-iso10646=-monotype-wt sans duo sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1 +dialoginput.bolditalic.taiwanese-iso10646=-monotype-wt sans duo tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1 sansserif.plain.latin-1=-*-helvetica-medium-r-normal--*-%d-100-100-p-*-iso8859-1 sansserif.plain.thai=-ibm-thaihelvetica-medium-r-normal--*-%d-75-75-p-*-ucs2.thai-0 @@ -152,12 +152,12 @@ sansserif.plain.japanese-x0208=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0 sansserif.plain.japanese-x0201=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0 sansserif.plain.japanese-udc=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp -sansserif.plain.japanese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0 +sansserif.plain.japanese-iso10646=-monotype-wt sans j-medium-r-normal--*-%d-75-75-*-*-iso10646-1 sansserif.plain.korean=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0 -sansserif.plain.korean-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0 +sansserif.plain.korean-iso10646=-monotype-wt sans k-medium-r-normal--*-%d-75-75-*-*-iso10646-1 sansserif.plain.chinese=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0 -sansserif.plain.chinese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0 -sansserif.plain.taiwanese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0 +sansserif.plain.chinese-iso10646=-monotype-wt sans sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1 +sansserif.plain.taiwanese-iso10646=-monotype-wt sans tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1 sansserif.bold.latin-1=-*-helvetica-bold-r-normal--*-%d-100-100-p-*-iso8859-1 sansserif.bold.thai=-ibm-thaihelvetica-medium-r-normal--*-%d-75-75-p-*-ucs2.thai-0 @@ -165,12 +165,12 @@ sansserif.bold.japanese-x0208=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0 sansserif.bold.japanese-x0201=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0 sansserif.bold.japanese-udc=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp -sansserif.bold.japanese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0 +sansserif.bold.japanese-iso10646=-monotype-wt sans j-medium-r-normal--*-%d-75-75-*-*-iso10646-1 sansserif.bold.korean=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0 -sansserif.bold.korean-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0 +sansserif.bold.korean-iso10646=-monotype-wt sans k-medium-r-normal--*-%d-75-75-*-*-iso10646-1 sansserif.bold.chinese=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0 -sansserif.bold.chinese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0 -sansserif.bold.taiwanese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0 +sansserif.bold.chinese-iso10646=-monotype-wt sans sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1 +sansserif.bold.taiwanese-iso10646=-monotype-wt sans tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1 sansserif.italic.latin-1=-*-helvetica-medium-o-normal--*-%d-100-100-p-*-iso8859-1 sansserif.italic.thai=-ibm-thaihelvetica-medium-r-normal--*-%d-75-75-p-*-ucs2.thai-0 @@ -178,12 +178,12 @@ sansserif.italic.japanese-x0208=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0 sansserif.italic.japanese-x0201=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0 sansserif.italic.japanese-udc=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp -sansserif.italic.japanese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0 +sansserif.italic.japanese-iso10646=-monotype-wt sans j-medium-r-normal--*-%d-75-75-*-*-iso10646-1 sansserif.italic.korean=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0 -sansserif.italic.korean-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0 +sansserif.italic.korean-iso10646=-monotype-wt sans k-medium-r-normal--*-%d-75-75-*-*-iso10646-1 sansserif.italic.chinese=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0 -sansserif.italic.chinese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0 -sansserif.italic.taiwanese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0 +sansserif.italic.chinese-iso10646=-monotype-wt sans sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1 +sansserif.italic.taiwanese-iso10646=-monotype-wt sans tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1 sansserif.bolditalic.latin-1=-*-helvetica-bold-o-normal--*-%d-100-100-p-*-iso8859-1 sansserif.bolditalic.thai=-ibm-thaihelvetica-medium-r-normal--*-%d-75-75-p-*-ucs2.thai-0 @@ -191,12 +191,12 @@ sansserif.bolditalic.japanese-x0208=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0 sansserif.bolditalic.japanese-x0201=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0 sansserif.bolditalic.japanese-udc=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp -sansserif.bolditalic.japanese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0 +sansserif.bolditalic.japanese-iso10646=-monotype-wt sans j-medium-r-normal--*-%d-75-75-*-*-iso10646-1 sansserif.bolditalic.korean=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0 -sansserif.bolditalic.korean-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0 +sansserif.bolditalic.korean-iso10646=-monotype-wt sans k-medium-r-normal--*-%d-75-75-*-*-iso10646-1 sansserif.bolditalic.chinese=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0 -sansserif.bolditalic.chinese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0 -sansserif.bolditalic.taiwanese-iso10646=-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0 +sansserif.bolditalic.chinese-iso10646=-monotype-wt sans sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1 +sansserif.bolditalic.taiwanese-iso10646=-monotype-wt sans tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1 serif.plain.latin-1=-*-times new roman-medium-r-normal--*-%d-100-100-p-*-iso8859-1 serif.plain.thai=-ibm-thaitimes-medium-r-normal--*-%d-75-75-p-*-ucs2.thai-0 @@ -204,12 +204,12 @@ serif.plain.japanese-x0208=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0 serif.plain.japanese-x0201=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0 serif.plain.japanese-udc=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp -serif.plain.japanese-iso10646=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0 +serif.plain.japanese-iso10646=-monotype-wt serif j-medium-r-normal--*-%d-75-75-*-*-iso10646-1 serif.plain.korean=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0 -serif.plain.korean-iso10646=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0 +serif.plain.korean-iso10646=-monotype-wt serif k-medium-r-normal--*-%d-75-75-*-*-iso10646-1 serif.plain.chinese=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0 -serif.plain.chinese-iso10646=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0 -serif.plain.taiwanese-iso10646=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0 +serif.plain.chinese-iso10646=-monotype-wt serif sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1 +serif.plain.taiwanese-iso10646=-monotype-wt serif tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1 serif.bold.latin-1=-*-times new roman-bold-r-normal--*-%d-100-100-p-*-iso8859-1 serif.bold.thai=-ibm-thaitimes-medium-r-normal--*-%d-75-75-p-*-ucs2.thai-0 @@ -217,12 +217,12 @@ serif.bold.japanese-x0208=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0 serif.bold.japanese-x0201=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0 serif.bold.japanese-udc=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp -serif.bold.japanese-iso10646=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0 +serif.bold.japanese-iso10646=-monotype-wt serif j-medium-r-normal--*-%d-75-75-*-*-iso10646-1 serif.bold.korean=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0 -serif.bold.korean-iso10646=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0 +serif.bold.korean-iso10646=-monotype-wt serif k-medium-r-normal--*-%d-75-75-*-*-iso10646-1 serif.bold.chinese=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0 -serif.bold.chinese-iso10646=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0 -serif.bold.taiwanese-iso10646=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0 +serif.bold.chinese-iso10646=-monotype-wt serif sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1 +serif.bold.taiwanese-iso10646=-monotype-wt serif tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1 serif.italic.latin-1=-*-times new roman-medium-i-normal--*-%d-100-100-p-*-iso8859-1 @@ -231,12 +231,12 @@ serif.italic.japanese-x0208=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0 serif.italic.japanese-x0201=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0 serif.italic.japanese-udc=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp -serif.italic.japanese-iso10646=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0 +serif.italic.japanese-iso10646=-monotype-wt serif j-medium-r-normal--*-%d-75-75-*-*-iso10646-1 serif.italic.korean=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0 -serif.italic.korean-iso10646=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0 +serif.italic.korean-iso10646=-monotype-wt serif k-medium-r-normal--*-%d-75-75-*-*-iso10646-1 serif.italic.chinese=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0 -serif.italic.chinese-iso10646=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0 -serif.italic.taiwanese-iso10646=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0 +serif.italic.chinese-iso10646=-monotype-wt serif sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1 +serif.italic.taiwanese-iso10646=-monotype-wt serif tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1 serif.bolditalic.latin-1=-*-times new roman-bold-i-normal--*-%d-100-100-p-*-iso8859-1 serif.bolditalic.thai=-ibm-thaitimes-medium-r-normal--*-%d-75-75-p-*-ucs2.thai-0 @@ -244,12 +244,12 @@ serif.bolditalic.japanese-x0208=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0 serif.bolditalic.japanese-x0201=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0 serif.bolditalic.japanese-udc=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp -serif.bolditalic.japanese-iso10646=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0 +serif.bolditalic.japanese-iso10646=-monotype-wt serif j-medium-r-normal--*-%d-75-75-*-*-iso10646-1 serif.bolditalic.korean=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0 -serif.bolditalic.korean-iso10646=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0 +serif.bolditalic.korean-iso10646=-monotype-wt serif k-medium-r-normal--*-%d-75-75-*-*-iso10646-1 serif.bolditalic.chinese=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0 -serif.bolditalic.chinese-iso10646=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0 -serif.bolditalic.taiwanese-iso10646=-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0 +serif.bolditalic.chinese-iso10646=-monotype-wt serif sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1 +serif.bolditalic.taiwanese-iso10646=-monotype-wt serif tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1 monospaced.plain.latin-1=-*-courier-medium-r-normal--*-%d-100-100-m-*-iso8859-1 monospaced.plain.thai=-ibm-thaicourier-medium-r-normal--*-%d-75-75-m-*-ucs2.thai-0 @@ -257,12 +257,12 @@ monospaced.plain.japanese-x0208=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0 monospaced.plain.japanese-x0201=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0 monospaced.plain.japanese-udc=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp -monospaced.plain.japanese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0 +monospaced.plain.japanese-iso10646=-monotype-wt sans duo j-medium-r-normal--*-%d-75-75-*-*-iso10646-1 monospaced.plain.korean=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0 -monospaced.plain.korean-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0 +monospaced.plain.korean-iso10646=-monotype-wt sans duo k-medium-r-normal--*-%d-75-75-*-*-iso10646-1 monospaced.plain.chinese=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0 -monospaced.plain.chinese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0 -monospaced.plain.taiwanese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0 +monospaced.plain.chinese-iso10646=-monotype-wt sans duo sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1 +monospaced.plain.taiwanese-iso10646=-monotype-wt sans duo tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1 monospaced.bold.latin-1=-*-courier-bold-r-normal--*-%d-100-100-m-*-iso8859-1 monospaced.bold.thai=-ibm-thaicourier-medium-r-normal--*-%d-75-75-m-*-ucs2.thai-0 @@ -270,12 +270,12 @@ monospaced.bold.japanese-x0208=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0 monospaced.bold.japanese-x0201=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0 monospaced.bold.japanese-udc=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp -monospaced.bold.japanese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0 +monospaced.bold.japanese-iso10646=-monotype-wt sans duo j-medium-r-normal--*-%d-75-75-*-*-iso10646-1 monospaced.bold.korean=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0 -monospaced.bold.korean-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0 +monospaced.bold.korean-iso10646=-monotype-wt sans duo k-medium-r-normal--*-%d-75-75-*-*-iso10646-1 monospaced.bold.chinese=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0 -monospaced.bold.chinese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0 -monospaced.bold.taiwanese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0 +monospaced.bold.chinese-iso10646=-monotype-wt sans duo sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1 +monospaced.bold.taiwanese-iso10646=-monotype-wt sans duo tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1 monospaced.italic.latin-1=-*-courier-medium-o-normal--*-%d-100-100-m-*-iso8859-1 monospaced.italic.thai=-ibm-thaicourier-medium-r-normal--*-%d-75-75-m-*-ucs2.thai-0 @@ -283,12 +283,12 @@ monospaced.italic.japanese-x0208=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0 monospaced.italic.japanese-x0201=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0 monospaced.italic.japanese-udc=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp -monospaced.italic.japanese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0 +monospaced.italic.japanese-iso10646=-monotype-wt sans duo j-medium-r-normal--*-%d-75-75-*-*-iso10646-1 monospaced.italic.korean=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0 -monospaced.italic.korean-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0 +monospaced.italic.korean-iso10646=-monotype-wt sans duo k-medium-r-normal--*-%d-75-75-*-*-iso10646-1 monospaced.italic.chinese=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0 -monospaced.italic.chinese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0 -monospaced.italic.taiwanese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0 +monospaced.italic.chinese-iso10646=-monotype-wt sans duo sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1 +monospaced.italic.taiwanese-iso10646=-monotype-wt sans duo tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1 monospaced.bolditalic.latin-1=-*-courier-bold-o-normal--*-%d-100-100-m-*-iso8859-1 monospaced.bolditalic.thai=-ibm-thaicourier-medium-r-normal--*-%d-75-75-m-*-ucs2.thai-0 @@ -296,12 +296,12 @@ monospaced.bolditalic.japanese-x0208=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0 monospaced.bolditalic.japanese-x0201=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0 monospaced.bolditalic.japanese-udc=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp -monospaced.bolditalic.japanese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0 +monospaced.bolditalic.japanese-iso10646=-monotype-wt sans duo j-medium-r-normal--*-%d-75-75-*-*-iso10646-1 monospaced.bolditalic.korean=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0 -monospaced.bolditalic.korean-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0 +monospaced.bolditalic.korean-iso10646=-monotype-wt sans duo k-medium-r-normal--*-%d-75-75-*-*-iso10646-1 monospaced.bolditalic.chinese=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0 -monospaced.bolditalic.chinese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0 -monospaced.bolditalic.taiwanese-iso10646=-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0 +monospaced.bolditalic.chinese-iso10646=-monotype-wt sans duo sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1 +monospaced.bolditalic.taiwanese-iso10646=-monotype-wt sans duo tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1 # Search Sequences @@ -353,33 +353,33 @@ filename.-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0=/usr/lpp/X11/lib/X11/fonts/TrueType/tnrwt_j.ttf filename.-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0=/usr/lpp/X11/lib/X11/fonts/TrueType/tnrwt_j.ttf filename.-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp=/usr/lpp/X11/lib/X11/fonts/TrueType/tnrwt_j.ttf -filename.-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0=/usr/lpp/X11/lib/X11/fonts/TrueType/tnrwt_j.ttf +filename.-monotype-wt_serif_j-medium-r-normal--*-%d-75-75-*-*-iso10646-1=/usr/lpp/X11/lib/X11/fonts/TrueType/wt__j__b.ttf filename.-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0=/usr/lpp/X11/lib/X11/fonts/TrueType/tnrwt_k.ttf -filename.-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0=/usr/lpp/X11/lib/X11/fonts/TrueType/tnrwt_k.ttf +filename.-monotype-wt_serif_k-medium-r-normal--*-%d-75-75-*-*-iso10646-1=/usr/lpp/X11/lib/X11/fonts/TrueType/wt__k__b.ttf filename.-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0=/usr/lpp/X11/lib/X11/fonts/TrueType/tnrwt_s.ttf -filename.-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0=/usr/lpp/X11/lib/X11/fonts/TrueType/tnrwt_s.ttf +filename.-monotype-wt_serif_sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1=/usr/lpp/X11/lib/X11/fonts/TrueType/wt__s__b.ttf filename.-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0=/usr/lpp/X11/lib/X11/fonts/TrueType/tnrwt_s.ttf -filename.-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0=/usr/lpp/X11/lib/X11/fonts/TrueType/tnrwt_s.ttf -filename.-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0=/usr/lpp/X11/lib/X11/fonts/TrueType/tnrwt_t.ttf +filename.-monotype-wt_serif_sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1=/usr/lpp/X11/lib/X11/fonts/TrueType/wt__s__b.ttf +filename.-monotype-wt_serif_tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1=/usr/lpp/X11/lib/X11/fonts/TrueType/wt__tt_b.ttf filename.-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0=/usr/lpp/X11/lib/X11/fonts/TrueType/mtsansdj.ttf filename.-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0=/usr/lpp/X11/lib/X11/fonts/TrueType/mtsansdj.ttf filename.-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp=/usr/lpp/X11/lib/X11/fonts/TrueType/mtsansdj.ttf -filename.-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0=/usr/lpp/X11/lib/X11/fonts/TrueType/mtsansdj.ttf +filename.-monotype-wt_sans_duo_j-medium-r-normal--*-%d-75-75-*-*-iso10646-1=/usr/lpp/X11/lib/X11/fonts/TrueType/wtsdj__b.ttf filename.-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0=/usr/lpp/X11/lib/X11/fonts/TrueType/mtsansdk.ttf -filename.-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0=/usr/lpp/X11/lib/X11/fonts/TrueType/mtsansdk.ttf +filename.-monotype-wt_sans_duo_k-medium-r-normal--*-%d-75-75-*-*-iso10646-1=/usr/lpp/X11/lib/X11/fonts/TrueType/wtsdk__b.ttf filename.-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0=/usr/lpp/X11/lib/X11/fonts/TrueType/mtsansds.ttf -filename.-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0=/usr/lpp/X11/lib/X11/fonts/TrueType/mtsansds.ttf -filename.-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0=/usr/lpp/X11/lib/X11/fonts/TrueType/mtsansdt.ttf +filename.-monotype-wt_sans_duo_sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1=/usr/lpp/X11/lib/X11/fonts/TrueType/wtsds__b.ttf +filename.-monotype-wt_sans_duo_tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1=/usr/lpp/X11/lib/X11/fonts/TrueType/wtsdtt_b.ttf filename.-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-jisx0208.1983-0=/usr/lpp/X11/lib/X11/fonts/TrueType/mtsans_j.ttf filename.-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-jisx0201.1976-0=/usr/lpp/X11/lib/X11/fonts/TrueType/mtsans_j.ttf filename.-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ibm-udcjp=/usr/lpp/X11/lib/X11/fonts/TrueType/mtsans_j.ttf -filename.-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_japan-0=/usr/lpp/X11/lib/X11/fonts/TrueType/mtsans_j.ttf +filename.-monotype-wt_sans_j-medium-r-normal--*-%d-75-75-*-*-iso10646-1=/usr/lpp/X11/lib/X11/fonts/TrueType/wts_j__b.ttf filename.-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ksc5601.1987-0=/usr/lpp/X11/lib/X11/fonts/TrueType/mtsans_k.ttf -filename.-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_korea-0=/usr/lpp/X11/lib/X11/fonts/TrueType/mtsans_k.ttf +filename.-monotype-wt_sans_k-medium-r-normal--*-%d-75-75-*-*-iso10646-1=/usr/lpp/X11/lib/X11/fonts/TrueType/wts_k__b.ttf filename.-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-gb2312.1980-0=/usr/lpp/X11/lib/X11/fonts/TrueType/mtsans_s.ttf -filename.-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_china-0=/usr/lpp/X11/lib/X11/fonts/TrueType/mtsans_s.ttf -filename.-monotype-sanswt-medium-r-normal--*-%d-75-75-*-*-ucs2.cjk_taiwan-0=/usr/lpp/X11/lib/X11/fonts/TrueType/mtsans_t.ttf +filename.-monotype-wt_sans_sc-medium-r-normal--*-%d-75-75-*-*-iso10646-1=/usr/lpp/X11/lib/X11/fonts/TrueType/wts_s__b.ttf +filename.-monotype-wt_sans_tw-medium-r-normal--*-%d-75-75-*-*-iso10646-1=/usr/lpp/X11/lib/X11/fonts/TrueType/wts_tt_b.ttf filename.-monotype-timesnewromanwt-medium-r-normal--*-%d-75-75-*-*-iso8859-15=/usr/lpp/X11/lib/X11/fonts/TrueType/tnrwt_j.ttf filename.-monotype-sansmonowt-medium-r-normal--*-%d-75-75-*-*-iso8859-15=/usr/lpp/X11/lib/X11/fonts/TrueType/mtsansdj.ttf diff -Nru openjdk-11-11.0.5+10/make/data/fontconfig/windows.fontconfig.properties openjdk-11-11.0.6+10/make/data/fontconfig/windows.fontconfig.properties --- openjdk-11-11.0.5+10/make/data/fontconfig/windows.fontconfig.properties 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/fontconfig/windows.fontconfig.properties 2019-11-26 00:55:54.000000000 +0000 @@ -37,7 +37,17 @@ allfonts.chinese-hkscs=MingLiU_HKSCS allfonts.chinese-ms950-extb=MingLiU-ExtB allfonts.devanagari=Mangal +allfonts.bengali=Vrinda +allfonts.gujarati=Shruti +allfonts.gurmukhi=Raavi allfonts.kannada=Tunga +allfonts.malayalam=Kartika +allfonts.oriya=Kalinga +allfonts.sinhala=Iskoola Pota +allfonts.tamil=Latha +allfonts.telugu=Gautami +allfonts.khmer=Khmer UI +allfonts.mongolian=Mongolian Baiti allfonts.dingbats=Wingdings allfonts.symbol=Symbol allfonts.symbols=Segoe UI Symbol @@ -219,7 +229,7 @@ sequence.dialoginput.x-MS950-HKSCS-XP=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb sequence.allfonts.UTF-8.hi=alphabetic/1252,devanagari,dingbats,symbol -sequence.allfonts.UTF-8.ja=alphabetic,japanese,devanagari,dingbats,symbol +sequence.allfonts.UTF-8.ja=alphabetic,japanese,dingbats,symbol sequence.allfonts.windows-1255=hebrew,alphabetic/1252,dingbats,symbol @@ -239,7 +249,9 @@ sequence.fallback=symbols,\ chinese-ms950,chinese-hkscs,chinese-ms936,chinese-gb18030,\ - japanese,korean,chinese-ms950-extb,chinese-ms936-extb,georgian,kannada + japanese,korean,chinese-ms950-extb,chinese-ms936-extb,\ + georgian,devanagari,bengali,gujarati,gurmukhi,kannada,\ + malayalam,oriya,sinhala,tamil,telugu,thai,khmer,mongolian # Exclusion Ranges @@ -293,9 +305,19 @@ filename.Batang=batang.TTC filename.GulimChe=gulim.TTC -filename.DokChampa=dokchamp.ttf +filename.Gautami=gautami.ttf +filename.Iskoola_Pota=iskpota.ttf +filename.Kalinga=kalinga.ttf +filename.Kartika=kartika.ttf +filename.Latha=latha.ttf filename.Mangal=MANGAL.TTF +filename.Raavi=raavi.ttf +filename.Shruti=shruti.ttf filename.Tunga=TUNGA.TTF +filename.Vrinda=vrinda.ttf +filename.DokChampa=dokchamp.ttf +filename.Khmer_UI=KhmerUI.ttf +filename.Mongolian_Baiti=monbaiti.ttf filename.Symbol=SYMBOL.TTF filename.Wingdings=WINGDING.TTF diff -Nru openjdk-11-11.0.5+10/make/data/macosxsigning/entitlements.plist openjdk-11-11.0.6+10/make/data/macosxsigning/entitlements.plist --- openjdk-11-11.0.5+10/make/data/macosxsigning/entitlements.plist 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/macosxsigning/entitlements.plist 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,16 @@ + + + + + com.apple.security.cs.allow-jit + + com.apple.security.cs.allow-unsigned-executable-memory + + com.apple.security.cs.disable-library-validation + + com.apple.security.cs.allow-dyld-environment-variables + + com.apple.security.cs.debugger + + + diff -Nru openjdk-11-11.0.5+10/make/data/tzdata/VERSION openjdk-11-11.0.6+10/make/data/tzdata/VERSION --- openjdk-11-11.0.5+10/make/data/tzdata/VERSION 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/tzdata/VERSION 2019-11-26 00:55:54.000000000 +0000 @@ -21,4 +21,4 @@ # or visit www.oracle.com if you need additional information or have any # questions. # -tzdata2019b +tzdata2019c diff -Nru openjdk-11-11.0.5+10/make/data/tzdata/asia openjdk-11-11.0.6+10/make/data/tzdata/asia --- openjdk-11-11.0.5+10/make/data/tzdata/asia 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/tzdata/asia 2019-11-26 00:55:54.000000000 +0000 @@ -31,7 +31,7 @@ # tz@iana.org for general use in the future). For more, please see # the file CONTRIBUTING in the tz distribution. -# From Paul Eggert (2018-06-19): +# From Paul Eggert (2019-07-11): # # Unless otherwise specified, the source for data through 1990 is: # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), @@ -70,13 +70,13 @@ # 7:00 WIB west Indonesia (Waktu Indonesia Barat) # 8:00 WITA central Indonesia (Waktu Indonesia Tengah) # 8:00 CST China -# 8:00 PST PDT* Philippine Standard Time +# 8:00 HKT HKST Hong Kong (HKWT* for Winter Time in late 1941) +# 8:00 PST PDT* Philippines # 8:30 KST KDT Korea when at +0830 # 9:00 WIT east Indonesia (Waktu Indonesia Timur) # 9:00 JST JDT Japan # 9:00 KST KDT Korea when at +09 -# 9:30 ACST Australian Central Standard Time -# *I invented the abbreviation PDT; see "Philippines" below. +# *I invented the abbreviations HKWT and PDT; see below. # Otherwise, these tables typically use numeric abbreviations like +03 # and +0330 for integer hour and minute UT offsets. Although earlier # editions invented alphabetic time zone abbreviations for every @@ -676,6 +676,15 @@ # * 1941-09-30, Hong Kong Daily Press, Winter Time Warning. # https://i.imgur.com/dge4kFJ.png +# From Paul Eggert (2019-07-11): +# "Hong Kong winter time" is considered to be daylight saving. +# "Hong Kong had adopted daylight saving on June 15 as a wartime measure, +# clocks moving forward one hour until October 1, when they would be put back +# by just half an hour for 'Hong Kong Winter time', so that daylight saving +# operated year round." -- Low Z. The longest day: when wartime Hong Kong +# introduced daylight saving. South China Morning Post. 2019-06-28. +# https://www.scmp.com/magazines/post-magazine/short-reads/article/3016281/longest-day-when-wartime-hong-kong-introduced + # From P Chan (2018-12-31): # * According to the Hong Kong Daylight-Saving Regulations, 1941, the # 1941 spring-forward transition was at 03:00. @@ -777,7 +786,7 @@ Zone Asia/Hong_Kong 7:36:42 - LMT 1904 Oct 30 0:36:42 8:00 - HKT 1941 Jun 15 3:00 8:00 1:00 HKST 1941 Oct 1 4:00 - 8:30 - HKT 1941 Dec 25 + 8:00 0:30 HKWT 1941 Dec 25 9:00 - JST 1945 Nov 18 2:00 8:00 HK HK%sT @@ -2442,7 +2451,7 @@ Zone Asia/Seoul 8:27:52 - LMT 1908 Apr 1 8:30 - KST 1912 Jan 1 9:00 - JST 1945 Sep 8 - 9:00 - KST 1954 Mar 21 + 9:00 ROK K%sT 1954 Mar 21 8:30 ROK K%sT 1961 Aug 10 9:00 ROK K%sT Zone Asia/Pyongyang 8:23:00 - LMT 1908 Apr 1 @@ -3627,7 +3636,7 @@ # and in South Vietnam in particular (after 1954): # To 07:00 on 1911-05-01. # To 08:00 on 1942-12-31 at 23:00. -# To 09:00 in 1945-03-14 at 23:00. +# To 09:00 on 1945-03-14 at 23:00. # To 07:00 on 1945-09-02 in Vietnam. # To 08:00 on 1947-04-01 in French-controlled Indochina. # To 07:00 on 1955-07-01 in South Vietnam. diff -Nru openjdk-11-11.0.5+10/make/data/tzdata/australasia openjdk-11-11.0.6+10/make/data/tzdata/australasia --- openjdk-11-11.0.5+10/make/data/tzdata/australasia 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/tzdata/australasia 2019-11-26 00:55:54.000000000 +0000 @@ -390,13 +390,18 @@ # From Raymond Kumar (2018-07-13): # http://www.fijitimes.com/government-approves-2018-daylight-saving/ # ... The daylight saving period will end at 3am on Sunday January 13, 2019. -# -# From Paul Eggert (2018-07-15): -# For now, guess DST from 02:00 the first Sunday in November to 03:00 -# the first Sunday on or after January 13. January transitions reportedly + +# From Paul Eggert (2019-08-06): +# Today Raymond Kumar reported the Government of Fiji Gazette Supplement No. 27 +# (2019-08-02) said that Fiji observes DST "commencing at 2.00 am on +# Sunday, 10 November 2019 and ending at 3.00 am on Sunday, 12 January 2020." +# For now, guess DST from 02:00 the second Sunday in November to 03:00 +# the first Sunday on or after January 12. January transitions reportedly # depend on when school terms start. Although the guess is ad hoc, it matches -# transitions since late 2014 and seems more likely to match future -# practice than guessing no DST. +# transitions planned this year and seems more likely to match future practice +# than guessing no DST. +# From Michael Deckers (2019-08-06): +# https://www.laws.gov.fj/LawsAsMade/downloadfile/848 # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Fiji 1998 1999 - Nov Sun>=1 2:00 1:00 - @@ -407,8 +412,9 @@ Rule Fiji 2011 only - Mar Sun>=1 3:00 0 - Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 - Rule Fiji 2014 only - Jan Sun>=18 2:00 0 - -Rule Fiji 2014 max - Nov Sun>=1 2:00 1:00 - -Rule Fiji 2015 max - Jan Sun>=13 3:00 0 - +Rule Fiji 2014 2018 - Nov Sun>=1 2:00 1:00 - +Rule Fiji 2015 max - Jan Sun>=12 3:00 0 - +Rule Fiji 2019 max - Nov Sun>=8 2:00 1:00 - # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva 12:00 Fiji +12/+13 @@ -627,10 +633,11 @@ # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Pacific/Norfolk 11:11:52 - LMT 1901 # Kingston 11:12 - +1112 1951 - 11:30 - +1130 1974 Oct 27 02:00 - 11:30 1:00 +1230 1975 Mar 2 02:00 - 11:30 - +1130 2015 Oct 4 02:00 - 11:00 - +11 + 11:30 - +1130 1974 Oct 27 02:00s + 11:30 1:00 +1230 1975 Mar 2 02:00s + 11:30 - +1130 2015 Oct 4 02:00s + 11:00 - +11 2019 Jul + 11:00 AN +11/+12 # Palau (Belau) # Zone NAME STDOFF RULES FORMAT [UNTIL] @@ -1898,12 +1905,21 @@ # ... at 12.30 am (by legal time in New South Wales) on 4 October 2015. # http://www.norfolkisland.gov.nf/nia/MediaRelease/Media%20Release%20Norfolk%20Island%20Standard%20Time%20Change.pdf -# From Paul Eggert (2015-09-23): +# From Paul Eggert (2019-08-28): # Transitions before 2015 are from timeanddate.com, which consulted # the Norfolk Island Museum and the Australian Bureau of Meteorology's # Norfolk Island station, and found no record of Norfolk observing DST # other than in 1974/5. See: # https://www.timeanddate.com/time/australia/norfolk-island.html +# However, disagree with timeanddate about the 1975-03-02 transition; +# timeanddate has 02:00 but 02:00s corresponds to what the NSW law said +# (thanks to Michael Deckers). + +# Norfolk started observing Australian DST in spring 2019. +# From Kyle Czech (2019-08-13): +# https://www.legislation.gov.au/Details/F2018L01702 +# From Michael Deckers (2019-08-14): +# https://www.legislation.gov.au/Details/F2019C00010 # Palau # See commentary for Micronesia. diff -Nru openjdk-11-11.0.5+10/make/data/tzdata/europe openjdk-11-11.0.6+10/make/data/tzdata/europe --- openjdk-11-11.0.5+10/make/data/tzdata/europe 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/tzdata/europe 2019-11-26 00:55:54.000000000 +0000 @@ -844,11 +844,16 @@ # Shanks & Pottenger give 02:00, the BEV 00:00. Go with the BEV, # and guess 02:00 for 1945-04-12. +# From Alois Triendl (2019-07-22): +# In 1946 the end of DST was on Monday, 7 October 1946, at 3:00 am. +# Shanks had this right. Source: Die Weltpresse, 5. Oktober 1946, page 5. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Austria 1920 only - Apr 5 2:00s 1:00 S Rule Austria 1920 only - Sep 13 2:00s 0 - Rule Austria 1946 only - Apr 14 2:00s 1:00 S -Rule Austria 1946 1948 - Oct Sun>=1 2:00s 0 - +Rule Austria 1946 only - Oct 7 2:00s 0 - +Rule Austria 1947 1948 - Oct Sun>=1 2:00s 0 - Rule Austria 1947 only - Apr 6 2:00s 1:00 S Rule Austria 1948 only - Apr 18 2:00s 1:00 S Rule Austria 1980 only - Apr 6 0:00 1:00 S @@ -898,15 +903,35 @@ # Belgium # -# From Paul Eggert (1997-07-02): +# From Michael Deckers (2019-08-25): +# The exposition in the web page +# https://www.bestor.be/wiki/index.php/Voyager_dans_le_temps._L%E2%80%99introduction_de_la_norme_de_Greenwich_en_Belgique +# gives several contemporary sources from which one can conclude that +# the switch in Europe/Brussels on 1892-05-01 was from 00:17:30 to 00:00:00. +# +# From Paul Eggert (2019-08-28): +# This quote helps explain the late-1914 situation: +# In early November 1914, the Germans imposed the time zone used in central +# Europe and forced the inhabitants to set their watches and public clocks +# sixty minutes ahead. Many were reluctant to accept "German time" and +# continued to use "Belgian time" among themselves. Reflecting the spirit of +# resistance that arose in the population, a song made fun of this change.... +# The song ended: +# Putting your clock forward +# Will but hasten the happy hour +# When we kick out the Boches! +# See: Pluvinage G. Brussels on German time. Cahiers Bruxellois - +# Brusselse Cahiers. 2014;XLVI(1E):15-38. +# https://www.cairn.info/revue-cahiers-bruxellois-2014-1E-page-15.htm +# +# Entries from 1914 through 1917 are taken from "De tijd in België" +# . # Entries from 1918 through 1991 are taken from: # Annuaire de L'Observatoire Royal de Belgique, # Avenue Circulaire, 3, B-1180 BRUXELLES, CLVIIe année, 1991 # (Imprimerie HAYEZ, s.p.r.l., Rue Fin, 4, 1080 BRUXELLES, MCMXC), # pp 8-9. -# LMT before 1892 was 0:17:30, according to the official journal of Belgium: -# Moniteur Belge, Samedi 30 Avril 1892, N.121. -# Thanks to Pascal Delmoitie for these references. +# Thanks to Pascal Delmoitie for the 1918/1991 references. # The 1918 rules are listed for completeness; they apply to unoccupied Belgium. # Assume Brussels switched to WET in 1918 when the armistice took effect. # @@ -951,7 +976,7 @@ Rule Belgium 1946 only - Oct 7 2:00s 0 - # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Europe/Brussels 0:17:30 - LMT 1880 - 0:17:30 - BMT 1892 May 1 12:00 # Brussels MT + 0:17:30 - BMT 1892 May 1 00:17:30 0:00 - WET 1914 Nov 8 1:00 - CET 1916 May 1 0:00 1:00 C-Eur CE%sT 1918 Nov 11 11:00u @@ -1650,6 +1675,13 @@ # advanced to sixty minutes later starting at hour two on 1944-04-02; ... # Starting at hour three on the date 1944-09-17 standard time will be resumed. # +# From Alois Triendl (2019-07-02): +# I spent 6 Euros to buy two archive copies of Il Messaggero, a Roman paper, +# for 1 and 2 April 1944. The edition of 2 April has this note: "Tonight at 2 +# am, put forward the clock by one hour. Remember that in the night between +# today and Monday the 'ora legale' will come in force again." That makes it +# clear that in Rome the change was on Monday, 3 April 1944 at 2 am. +# # From Paul Eggert (2016-10-27): # Go with INRiM for DST rules, except as corrected by Inglis for 1944 # for the Kingdom of Italy. This is consistent with Renzo Baldini. @@ -1797,15 +1829,10 @@ # From Paul Eggert (2013-09-09): # Shanks & Pottenger say Vaduz is like Zurich. -# From Alois Treindl (2013-09-18): -# http://www.eliechtensteinensia.li/LIJ/1978/1938-1978/1941.pdf -# ... confirms on p. 6 that Liechtenstein followed Switzerland in 1941 and 1942. -# I ... translate only the last two paragraphs: -# ... during second world war, in the years 1941 and 1942, Liechtenstein -# introduced daylight saving time, adapting to Switzerland. From 1943 on -# central European time was in force throughout the year. -# From a report of the duke's government to the high council, -# regarding the introduction of a time law, of 31 May 1977. +# From Alois Treindl (2019-07-04): +# I was able to access the online archive of the Vaduz paper Vaterland ... +# I could confirm from the paper that Liechtenstein did in fact follow +# the same DST in 1941 and 1942 as Switzerland did. Link Europe/Zurich Europe/Vaduz @@ -2513,6 +2540,12 @@ # Europe/Kaliningrad covers... # 39 RU-KGD Kaliningrad Oblast +# From Paul Eggert (2019-07-25): +# Although Shanks lists 1945-01-01 as the date for transition from +# +01/+02 to +02/+03, more likely this is a placeholder. Guess that +# the transition occurred at 1945-04-10 00:00, which is about when +# Königsberg surrendered to Soviet troops. (Thanks to Alois Triendl.) + # From Paul Eggert (2016-03-18): # The 1989 transition is from USSR act No. 227 (1989-03-14). @@ -2529,8 +2562,8 @@ # Moscow on 1991-11-03, switched to Moscow-1 on 1992-01-19. Zone Europe/Kaliningrad 1:22:00 - LMT 1893 Apr - 1:00 C-Eur CE%sT 1945 - 2:00 Poland CE%sT 1946 + 1:00 C-Eur CE%sT 1945 Apr 10 + 2:00 Poland EE%sT 1946 Apr 7 3:00 Russia MSK/MSD 1989 Mar 26 2:00s 2:00 Russia EE%sT 2011 Mar 27 2:00s 3:00 - +03 2014 Oct 26 2:00s @@ -3673,20 +3706,75 @@ # Turkey +# From Alois Treindl (2019-08-12): +# http://www.astrolojidergisi.com/yazsaati.htm has researched the time zone +# history of Turkey, based on newspaper archives and official documents. +# From Paul Eggert (2019-08-28): +# That source (Oya VulaÅŸ, "Türkiye'de Yaz Saati Uygulamaları") +# is used for 1940/1972, where it seems more reliable than our other +# sources. + +# From Kıvanç Yazan (2019-08-12): +# http://www.resmigazete.gov.tr/arsiv/14539.pdf#page=24 +# 1973-06-03 01:00 -> 02:00, 1973-11-04 02:00 -> 01:00 +# +# http://www.resmigazete.gov.tr/arsiv/14829.pdf#page=1 +# 1974-03-31 02:00 -> 03:00, 1974-11-03 02:00 -> 01:00 +# +# http://www.resmigazete.gov.tr/arsiv/15161.pdf#page=1 +# 1975-03-22 02:00 -> 03:00, 1975-11-02 02:00 -> 01:00 +# +# http://www.resmigazete.gov.tr/arsiv/15535_1.pdf#page=1 +# 1976-03-21 02:00 -> 03:00, 1976-10-31 02:00 -> 01:00 +# +# http://www.resmigazete.gov.tr/arsiv/15778.pdf#page=5 +# 1977-04-03 02:00 -> 03:00, 1977-10-16 02:00 -> 01:00, +# 1978-04-02 02:00 -> 03:00 (not applied, see below) +# 1978-10-15 02:00 -> 01:00 (not applied, see below) +# 1979-04-01 02:00 -> 03:00 (not applied, see below) +# 1979-10-14 02:00 -> 01:00 (not applied, see below) +# +# http://www.resmigazete.gov.tr/arsiv/16245.pdf#page=17 +# This cancels the previous decision, and repeats it only for 1978. +# 1978-04-02 02:00 -> 03:00, 1978-10-15 02:00 -> 01:00 +# (not applied due to standard TZ change below) +# +# http://www.resmigazete.gov.tr/arsiv/16331.pdf#page=3 +# This decision changes the default longitude for Turkish time zone from 30 +# degrees East to 45 degrees East. This means a standard TZ change, from +2 +# to +3. This is published & applied on 1978-06-29. At that time, Turkey was +# already on summer time (already on 45E). Hence, this new law just meant an +# "continuous summer time". Note that this was reversed in a few years. +# +# http://www.resmigazete.gov.tr/arsiv/18119_1.pdf#page=1 +# 1983-07-31 02:00 -> 03:00 (note that this jumps TZ to +4) +# 1983-10-02 02:00 -> 01:00 (back to +3) +# +# http://www.resmigazete.gov.tr/arsiv/18561.pdf (page 1 and 34) +# At this time, Turkey is still on +3 with no spring-forward on early +# 1984. This decision is published on 10/31/1984. Page 1 declares +# the decision of reverting the "default longitude change". So the +# standard time should go back to +3 (30E). And page 34 explains when +# that will happen: 1984-11-01 02:00 -> 01:00. You can think of this +# as "end of continuous summer time, change of standard time zone". +# +# http://www.resmigazete.gov.tr/arsiv/18713.pdf#page=1 +# 1985-04-20 01:00 -> 02:00, 1985-09-28 02:00 -> 01:00 + # From Kıvanç Yazan (2016-09-25): # 1) For 1986-2006, DST started at 01:00 local and ended at 02:00 local, with # no exceptions. # 2) 1994's lastSun was overridden with Mar 20 ... # Here are official papers: -# http://www.resmigazete.gov.tr/arsiv/19032.pdf - page 2 for 1986 -# http://www.resmigazete.gov.tr/arsiv/19400.pdf - page 4 for 1987 -# http://www.resmigazete.gov.tr/arsiv/19752.pdf - page 15 for 1988 -# http://www.resmigazete.gov.tr/arsiv/20102.pdf - page 6 for 1989 -# http://www.resmigazete.gov.tr/arsiv/20464.pdf - page 1 for 1990 - 1992 -# http://www.resmigazete.gov.tr/arsiv/21531.pdf - page 15 for 1993 - 1995 -# http://www.resmigazete.gov.tr/arsiv/21879.pdf - page 1 for overriding 1994 -# http://www.resmigazete.gov.tr/arsiv/22588.pdf - page 1 for 1996, 1997 -# http://www.resmigazete.gov.tr/arsiv/23286.pdf - page 10 for 1998 - 2000 +# http://www.resmigazete.gov.tr/arsiv/19032.pdf#page=2 for 1986 +# http://www.resmigazete.gov.tr/arsiv/19400.pdf#page=4 for 1987 +# http://www.resmigazete.gov.tr/arsiv/19752.pdf#page=15 for 1988 +# http://www.resmigazete.gov.tr/arsiv/20102.pdf#page=6 for 1989 +# http://www.resmigazete.gov.tr/arsiv/20464.pdf#page=1 for 1990 - 1992 +# http://www.resmigazete.gov.tr/arsiv/21531.pdf#page=15 for 1993 - 1995 +# http://www.resmigazete.gov.tr/arsiv/21879.pdf#page=1 for overriding 1994 +# http://www.resmigazete.gov.tr/arsiv/22588.pdf#page=1 for 1996, 1997 +# http://www.resmigazete.gov.tr/arsiv/23286.pdf#page=10 for 1998 - 2000 # http://www.resmigazete.gov.tr/eskiler/2001/03/20010324.htm#2 - for 2001 # http://www.resmigazete.gov.tr/eskiler/2002/03/20020316.htm#2 - for 2002-2006 # From Paul Eggert (2016-09-25): @@ -3770,46 +3858,36 @@ Rule Turkey 1924 only - May 13 0:00 1:00 S Rule Turkey 1924 1925 - Oct 1 0:00 0 - Rule Turkey 1925 only - May 1 0:00 1:00 S -Rule Turkey 1940 only - Jun 30 0:00 1:00 S -Rule Turkey 1940 only - Oct 5 0:00 0 - +Rule Turkey 1940 only - Jul 1 0:00 1:00 S +Rule Turkey 1940 only - Oct 6 0:00 0 - Rule Turkey 1940 only - Dec 1 0:00 1:00 S Rule Turkey 1941 only - Sep 21 0:00 0 - Rule Turkey 1942 only - Apr 1 0:00 1:00 S -# Whitman omits the next two transition and gives 1945 Oct 1; -# go with Shanks & Pottenger. -Rule Turkey 1942 only - Nov 1 0:00 0 - -Rule Turkey 1945 only - Apr 2 0:00 1:00 S Rule Turkey 1945 only - Oct 8 0:00 0 - Rule Turkey 1946 only - Jun 1 0:00 1:00 S Rule Turkey 1946 only - Oct 1 0:00 0 - Rule Turkey 1947 1948 - Apr Sun>=16 0:00 1:00 S -Rule Turkey 1947 1950 - Oct Sun>=2 0:00 0 - +Rule Turkey 1947 1951 - Oct Sun>=2 0:00 0 - Rule Turkey 1949 only - Apr 10 0:00 1:00 S -Rule Turkey 1950 only - Apr 19 0:00 1:00 S +Rule Turkey 1950 only - Apr 16 0:00 1:00 S Rule Turkey 1951 only - Apr 22 0:00 1:00 S -Rule Turkey 1951 only - Oct 8 0:00 0 - +# DST for 15 months; unusual but we'll let it pass. Rule Turkey 1962 only - Jul 15 0:00 1:00 S -Rule Turkey 1962 only - Oct 8 0:00 0 - +Rule Turkey 1963 only - Oct 30 0:00 0 - Rule Turkey 1964 only - May 15 0:00 1:00 S Rule Turkey 1964 only - Oct 1 0:00 0 - -Rule Turkey 1970 1972 - May Sun>=2 0:00 1:00 S -Rule Turkey 1970 1972 - Oct Sun>=2 0:00 0 - Rule Turkey 1973 only - Jun 3 1:00 1:00 S -Rule Turkey 1973 only - Nov 4 3:00 0 - +Rule Turkey 1973 1976 - Oct Sun>=31 2:00 0 - Rule Turkey 1974 only - Mar 31 2:00 1:00 S -Rule Turkey 1974 only - Nov 3 5:00 0 - -Rule Turkey 1975 only - Mar 30 0:00 1:00 S -Rule Turkey 1975 1976 - Oct lastSun 0:00 0 - -Rule Turkey 1976 only - Jun 1 0:00 1:00 S -Rule Turkey 1977 1978 - Apr Sun>=1 0:00 1:00 S -Rule Turkey 1977 only - Oct 16 0:00 0 - -Rule Turkey 1979 1980 - Apr Sun>=1 3:00 1:00 S -Rule Turkey 1979 1982 - Oct Mon>=11 0:00 0 - -Rule Turkey 1981 1982 - Mar lastSun 3:00 1:00 S -Rule Turkey 1983 only - Jul 31 0:00 1:00 S -Rule Turkey 1983 only - Oct 2 0:00 0 - -Rule Turkey 1985 only - Apr 20 0:00 1:00 S -Rule Turkey 1985 only - Sep 28 0:00 0 - +Rule Turkey 1975 only - Mar 22 2:00 1:00 S +Rule Turkey 1976 only - Mar 21 2:00 1:00 S +Rule Turkey 1977 1978 - Apr Sun>=1 2:00 1:00 S +Rule Turkey 1977 1978 - Oct Sun>=15 2:00 0 - +Rule Turkey 1978 only - Jun 29 0:00 0 - +Rule Turkey 1983 only - Jul 31 2:00 1:00 S +Rule Turkey 1983 only - Oct 2 2:00 0 - +Rule Turkey 1985 only - Apr 20 1:00s 1:00 S +Rule Turkey 1985 only - Sep 28 1:00s 0 - Rule Turkey 1986 1993 - Mar lastSun 1:00s 1:00 S Rule Turkey 1986 1995 - Sep lastSun 1:00s 0 - Rule Turkey 1994 only - Mar 20 1:00s 1:00 S @@ -3818,8 +3896,8 @@ # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Europe/Istanbul 1:55:52 - LMT 1880 1:56:56 - IMT 1910 Oct # Istanbul Mean Time? - 2:00 Turkey EE%sT 1978 Oct 15 - 3:00 Turkey +03/+04 1985 Apr 20 + 2:00 Turkey EE%sT 1978 Jun 29 + 3:00 Turkey +03/+04 1984 Nov 1 2:00 2:00 Turkey EE%sT 2007 2:00 EU EE%sT 2011 Mar 27 1:00u 2:00 - EET 2011 Mar 28 1:00u diff -Nru openjdk-11-11.0.5+10/make/data/tzdata/leapseconds openjdk-11-11.0.6+10/make/data/tzdata/leapseconds --- openjdk-11-11.0.5+10/make/data/tzdata/leapseconds 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/tzdata/leapseconds 2019-11-26 00:55:54.000000000 +0000 @@ -26,36 +26,39 @@ # This file is in the public domain. # This file is generated automatically from the data in the public-domain -# leap-seconds.list file, which can be copied from +# NIST format leap-seconds.list file, which can be copied from # -# or -# or . +# or . # For more about leap-seconds.list, please see # The NTP Timescale and Leap Seconds # . -# The International Earth Rotation and Reference Systems Service +# The rules for leap seconds are specified in Annex 1 (Time scales) of: +# Standard-frequency and time-signal emissions. +# International Telecommunication Union - Radiocommunication Sector +# (ITU-R) Recommendation TF.460-6 (02/2002) +# . +# The International Earth Rotation and Reference Systems Service (IERS) # periodically uses leap seconds to keep UTC to within 0.9 s of UT1 -# (which measures the true angular orientation of the earth in space) +# (a proxy for Earth's angle in space as measured by astronomers) # and publishes leap second data in a copyrighted file # . # See: Levine J. Coordinated Universal Time and the leap second. # URSI Radio Sci Bull. 2016;89(4):30-6. doi:10.23919/URSIRSB.2016.7909995 # . -# There were no leap seconds before 1972, because the official mechanism -# accounting for the discrepancy between atomic time and the earth's rotation -# did not exist. The first ("1 Jan 1972") data line in leap-seconds.list +# There were no leap seconds before 1972, as no official mechanism +# accounted for the discrepancy between atomic time (TAI) and the earth's +# rotation. The first ("1 Jan 1972") data line in leap-seconds.list # does not denote a leap second; it denotes the start of the current definition # of UTC. -# The correction (+ or -) is made at the given time, so lines -# will typically look like: -# Leap YEAR MON DAY 23:59:60 + R/S -# or -# Leap YEAR MON DAY 23:59:59 - R/S - -# If the leap second is Rolling (R) the given time is local time (unused here). +# All leap-seconds are Stationary (S) at the given UTC time. +# The correction (+ or -) is made at the given time, so in the unlikely +# event of a negative leap second, a line would look like this: +# Leap YEAR MON DAY 23:59:59 - S +# Typical lines look like this: +# Leap YEAR MON DAY 23:59:60 + S Leap 1972 Jun 30 23:59:60 + S Leap 1972 Dec 31 23:59:60 + S Leap 1973 Dec 31 23:59:60 + S @@ -85,8 +88,8 @@ Leap 2016 Dec 31 23:59:60 + S # POSIX timestamps for the data in this file: -#updated 1467936000 -#expires 1577491200 +#updated 1467936000 (2016-07-08 00:00:00 UTC) +#expires 1593302400 (2020-06-28 00:00:00 UTC) -# Updated through IERS Bulletin C57 -# File expires on: 28 December 2019 +# Updated through IERS Bulletin C58 +# File expires on: 28 June 2020 diff -Nru openjdk-11-11.0.5+10/make/data/tzdata/northamerica openjdk-11-11.0.6+10/make/data/tzdata/northamerica --- openjdk-11-11.0.5+10/make/data/tzdata/northamerica 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/tzdata/northamerica 2019-11-26 00:55:54.000000000 +0000 @@ -429,6 +429,31 @@ # From Paul Eggert (2015-12-25): # Assume this practice predates 1970, so Fort Pierre can use America/Chicago. +# From Paul Eggert (2015-04-06): +# In 1950s Nashville a public clock had dueling faces, one for conservatives +# and the other for liberals; the two sides didn't agree about the time of day. +# I haven't found a photo of this clock, nor have I tracked down the TIME +# magazine report cited below, but here's the story as told by the late +# American journalist John Seigenthaler, who was there: +# +# "The two [newspaper] owners held strongly contrasting political and +# ideological views. Evans was a New South liberal, Stahlman an Old South +# conservative, and their two papers frequently clashed editorially, often on +# the same day.... In the 1950s as the state legislature was grappling with +# the question of whether to approve daylight saving time for the entire state, +# TIME magazine reported: +# +# "'The Nashville Banner and The Nashville Tennessean rarely agree on anything +# but the time of day - and last week they couldn't agree on that.' +# +# "It was all too true. The clock on the front of the building had two faces - +# The Tennessean side of the building facing west, the other, east. When it +# was high noon Banner time, it was 11 a.m. Tennessean time." +# +# Seigenthaler J. For 100 years, Tennessean had it covered. +# The Tennessean 2007-05-11, republished 2015-04-06. +# https://www.tennessean.com/story/insider/extras/2015/04/06/archives-seigenthaler-for-100-years-the-tennessean-had-it-covered/25348545/ + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER Rule Chicago 1920 only - Jun 13 2:00 1:00 D Rule Chicago 1920 1921 - Oct lastSun 2:00 0 S @@ -968,21 +993,21 @@ -5:00 US E%sT # # Perry County, Indiana, switched from eastern to central time in April 2006. +# From Alois Triendl (2019-07-09): +# The Indianapolis News, Friday 27 October 1967 states that Perry County +# returned to CST. It went again to EST on 27 April 1969, as documented by the +# Indianapolis star of Saturday 26 April. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER -Rule Perry 1946 only - Apr lastSun 2:00 1:00 D -Rule Perry 1946 only - Sep lastSun 2:00 0 S -Rule Perry 1953 1954 - Apr lastSun 2:00 1:00 D -Rule Perry 1953 1959 - Sep lastSun 2:00 0 S Rule Perry 1955 only - May 1 0:00 1:00 D +Rule Perry 1955 1960 - Sep lastSun 2:00 0 S Rule Perry 1956 1963 - Apr lastSun 2:00 1:00 D -Rule Perry 1960 only - Oct lastSun 2:00 0 S -Rule Perry 1961 only - Sep lastSun 2:00 0 S -Rule Perry 1962 1963 - Oct lastSun 2:00 0 S +Rule Perry 1961 1963 - Oct lastSun 2:00 0 S # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone America/Indiana/Tell_City -5:47:03 - LMT 1883 Nov 18 12:12:57 -6:00 US C%sT 1946 -6:00 Perry C%sT 1964 Apr 26 2:00 - -5:00 - EST 1969 + -5:00 - EST 1967 Oct 29 2:00 + -6:00 US C%sT 1969 Apr 27 2:00 -5:00 US E%sT 1971 -5:00 - EST 2006 Apr 2 2:00 -6:00 US C%sT @@ -1058,16 +1083,27 @@ # clear how this matched civil time in Louisville, so for now continue # to assume Louisville switched at noon new local time, like New York. # +# From Michael Deckers (2019-08-06): +# From the contemporary source given by Alois Treindl, +# the switch in Louisville on 1946-04-28 was on 00:01 +# From Paul Eggert (2019-08-26): +# That source was the Louisville Courier-Journal, 1946-04-27, p 4. +# Shanks gives 02:00 for all 20th-century transition times in Louisville. +# Evidently this is wrong for spring 1946. Although also likely wrong +# for other dates, we have no data. +# # Part of Kentucky left its clocks alone in 1974. # This also includes Clark, Floyd, and Harrison counties in Indiana. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER Rule Louisville 1921 only - May 1 2:00 1:00 D Rule Louisville 1921 only - Sep 1 2:00 0 S -Rule Louisville 1941 1961 - Apr lastSun 2:00 1:00 D +Rule Louisville 1941 only - Apr lastSun 2:00 1:00 D Rule Louisville 1941 only - Sep lastSun 2:00 0 S +Rule Louisville 1946 only - Apr lastSun 0:01 1:00 D Rule Louisville 1946 only - Jun 2 2:00 0 S +Rule Louisville 1950 1961 - Apr lastSun 2:00 1:00 D Rule Louisville 1950 1955 - Sep lastSun 2:00 0 S -Rule Louisville 1956 1960 - Oct lastSun 2:00 0 S +Rule Louisville 1956 1961 - Oct lastSun 2:00 0 S # Zone NAME STDOFF RULES FORMAT [UNTIL] Zone America/Kentucky/Louisville -5:43:02 - LMT 1883 Nov 18 12:16:58 -6:00 US C%sT 1921 @@ -1157,18 +1193,19 @@ # one hour in 1914." This change is not in Shanks. We have no more # info, so omit this for now. # -# From Paul Eggert (2017-07-26): -# Although Shanks says Detroit observed DST in 1967 from 06-14 00:01 -# until 10-29 00:01, I now see multiple reports that this is incorrect. -# For example, according to a 50-year anniversary report about the 1967 -# Detroit riots and a major-league doubleheader on 1967-07-23, "By the time -# the last fly ball of the doubleheader settled into the glove of leftfielder -# Lenny Green, it was after 7 p.m. Detroit did not observe daylight saving -# time, so light was already starting to fail. Twilight was made even deeper -# by billowing columns of smoke that ascended in an unbroken wall north of the -# ballpark." See: Dow B. Detroit '67: As violence unfolded, Tigers played two -# at home vs. Yankees. Detroit Free Press 2017-07-23. -# https://www.freep.com/story/sports/mlb/tigers/2017/07/23/detroit-tigers-1967-riot-new-york-yankees/499951001/ +# From Paul Eggert (2019-07-06): +# Due to a complicated set of legal maneuvers, in 1967 Michigan did +# not start daylight saving time when the rest of the US did. +# Instead, it began DST on Jun 14 at 00:01. This was big news: +# the Detroit Free Press reported it at the top of Page 1 on +# 1967-06-14, in an article "State Adjusting to Switch to Fast Time" +# by Gary Blonston, above an article about Thurgood Marshall's +# confirmation to the US Supreme Court. Although Shanks says Detroit +# observed DST until 1967-10-29 00:01, that time of day seems to be +# incorrect, as the Free Press later said DST ended in Michigan at the +# same time as the rest of the US. Also, although Shanks reports no DST in +# Detroit in 1968, it did observe DST that year; in the November 1968 +# election Michigan voters narrowly repealed DST, effective 1969. # # Most of Michigan observed DST from 1973 on, but was a bit late in 1975. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER @@ -1179,7 +1216,9 @@ -6:00 - CST 1915 May 15 2:00 -5:00 - EST 1942 -5:00 US E%sT 1946 - -5:00 Detroit E%sT 1973 + -5:00 Detroit E%sT 1967 Jun 14 0:01 + -5:00 US E%sT 1969 + -5:00 - EST 1973 -5:00 US E%sT 1975 -5:00 - EST 1975 Apr 27 2:00 -5:00 US E%sT @@ -1228,6 +1267,12 @@ # # Other sources occasionally used include: # +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +# . +# +# Pearce C. The Great Daylight Saving Time Controversy. +# Australian Ebook Publisher. 2017. ISBN 978-1-925516-96-8. +# # Edward W. Whitman, World Time Differences, # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), # which I found in the UCLA library. @@ -1236,9 +1281,6 @@ # # [PDF] (1914-03) # -# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 -# . -# # See the 'europe' file for Greenland. # Canada @@ -1880,9 +1922,8 @@ # Willett (1914-03) notes that DST "has been in operation ... in the # City of Moose Jaw, Saskatchewan, for one year." -# From Paul Eggert (2019-04-26): -# Chris Pearce's book "The Great Daylight Saving Time Controversy" (2017) -# says that Regina observed DST in 1914-1917. No dates and times, +# From Paul Eggert (2019-07-25): +# Pearce's book says Regina observed DST in 1914-1917. No dates and times, # unfortunately. It also says that in 1914 Saskatoon observed DST # from 1 June to 6 July, and that DST was also tried out in Davidson, # Melfort, and Prince Albert. @@ -1962,6 +2003,19 @@ # Alberta +# From Alois Triendl (2019-07-19): +# There was no DST in Alberta in 1967... Calgary Herald, 29 April 1967. +# 1969, no DST, from Edmonton Journal 18 April 1969 +# +# From Paul Eggert (2019-07-25): +# Pearce's book says that Alberta's 1948 Daylight Saving Act required +# Mountain Standard Time without DST, and that "anyone who broke that law +# could be fined up to $25 and costs". There seems to be no record of +# anybody paying the fine. The law was not changed until an August 1971 +# plebiscite reinstituted DST in 1972. This story is also mentioned in: +# Boyer JP. Forcing Choice: The Risky Reward of Referendums. Dundum. 2017. +# ISBN 978-1459739123. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Edm 1918 1919 - Apr Sun>=8 2:00 1:00 D Rule Edm 1918 only - Oct 27 2:00 0 S @@ -1974,10 +2028,6 @@ Rule Edm 1945 only - Sep lastSun 2:00 0 S Rule Edm 1947 only - Apr lastSun 2:00 1:00 D Rule Edm 1947 only - Sep lastSun 2:00 0 S -Rule Edm 1967 only - Apr lastSun 2:00 1:00 D -Rule Edm 1967 only - Oct lastSun 2:00 0 S -Rule Edm 1969 only - Apr lastSun 2:00 1:00 D -Rule Edm 1969 only - Oct lastSun 2:00 0 S Rule Edm 1972 1986 - Apr lastSun 2:00 1:00 D Rule Edm 1972 2006 - Oct lastSun 2:00 0 S # Zone NAME STDOFF RULES FORMAT [UNTIL] @@ -2060,8 +2110,20 @@ # been on MST (-0700) like Dawson Creek since it advanced its clocks on # 2015-03-08. # -# From Paul Eggert (2015-09-23): +# From Paul Eggert (2019-07-25): # Shanks says Fort Nelson did not observe DST in 1946, unlike Vancouver. +# Alois Triendl confirmed this on 07-22, citing the 1946-04-27 Vancouver Daily +# Province. He also cited the 1946-09-28 Victoria Daily Times, which said +# that Vancouver, Victoria, etc. "change at midnight Saturday"; for now, +# guess they meant 02:00 Sunday since 02:00 was common practice in Vancouver. +# +# Early Vancouver, Volume Four, by Major J.S. Matthews, V.D., 2011 edition +# says that a 1922 plebiscite adopted DST, but a 1923 plebiscite rejected it. +# http://former.vancouver.ca/ctyclerk/archives/digitized/EarlyVan/SearchEarlyVan/Vol4pdf/MatthewsEarlyVancouverVol4_DaylightSavings.pdf +# A catalog entry for a newspaper clipping seems to indicate that Vancouver +# observed DST in 1941 from 07-07 through 09-27; see +# https://searcharchives.vancouver.ca/daylight-saving-1918-starts-again-july-7-1941-start-d-s-sept-27-end-of-d-s-1941 +# We have no further details, so omit them for now. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Vanc 1918 only - Apr 14 2:00 1:00 D @@ -2070,7 +2132,7 @@ Rule Vanc 1945 only - Aug 14 23:00u 1:00 P # Peace Rule Vanc 1945 only - Sep 30 2:00 0 S Rule Vanc 1946 1986 - Apr lastSun 2:00 1:00 D -Rule Vanc 1946 only - Oct 13 2:00 0 S +Rule Vanc 1946 only - Sep 29 2:00 0 S Rule Vanc 1947 1961 - Sep lastSun 2:00 0 S Rule Vanc 1962 2006 - Oct lastSun 2:00 0 S # Zone NAME STDOFF RULES FORMAT [UNTIL] diff -Nru openjdk-11-11.0.5+10/make/data/tzdata/southamerica openjdk-11-11.0.6+10/make/data/tzdata/southamerica --- openjdk-11-11.0.5+10/make/data/tzdata/southamerica 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/data/tzdata/southamerica 2019-11-26 00:55:54.000000000 +0000 @@ -1253,14 +1253,8 @@ # From Juan Correa (2016-12-04): # Magallanes region ... will keep DST (UTC -3) all year round.... # http://www.soychile.cl/Santiago/Sociedad/2016/12/04/433428/Bachelet-firmo-el-decreto-para-establecer-un-horario-unico-para-la-Region-de-Magallanes.aspx -# # From Deborah Goldsmith (2017-01-19): # http://www.diariooficial.interior.gob.cl/publicaciones/2017/01/17/41660/01/1169626.pdf -# From Paul Eggert (2017-01-19): -# The above says the Magallanes change expires 2019-05-11 at 24:00, -# so in theory, they will revert to -04/-03 after that, which means -# they will switch from -03 to -04 one hour after Santiago does that day. -# For now, assume that they will not revert. # From Juan Correa (2018-08-13): # As of moments ago, the Ministry of Energy in Chile has announced the new @@ -1281,6 +1275,11 @@ # So we extend the new rules on Saturdays at 24:00 mainland time indefinitely. # From Juan Correa (2019-02-04): # http://www.diariooficial.interior.gob.cl/publicaciones/2018/11/23/42212/01/1498738.pdf +# From Paul Eggert (2019-09-01): +# The above says the Magallanes exception expires 2022-04-02 at 24:00, +# so in theory, they will revert to -04/-03 after that. +# For now, assume that they will not revert, +# since they have extended the expiration date once already. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Chile 1927 1931 - Sep 1 0:00 1:00 - diff -Nru openjdk-11-11.0.5+10/make/gendata/Gendata-java.base.gmk openjdk-11-11.0.6+10/make/gendata/Gendata-java.base.gmk --- openjdk-11-11.0.5+10/make/gendata/Gendata-java.base.gmk 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/gendata/Gendata-java.base.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. # 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,6 +63,20 @@ ################################################################################ +GENDATA_CACERTS_SRC := $(TOPDIR)/make/data/cacerts/ +GENDATA_CACERTS := $(SUPPORT_OUTPUTDIR)/modules_libs/java.base/security/cacerts + +$(GENDATA_CACERTS): $(BUILD_TOOLS_JDK) $(wildcard $(GENDATA_CACERTS_SRC)/*) + $(call LogInfo, Generating cacerts) + $(call MakeTargetDir) + $(TOOL_GENERATECACERTS) $(GENDATA_CACERTS_SRC) $@ + +ifeq ($(CACERTS_FILE), ) + TARGETS += $(GENDATA_CACERTS) +endif + +################################################################################ + GENDATA_JAVA_SECURITY_SRC := $(TOPDIR)/src/java.base/share/conf/security/java.security GENDATA_JAVA_SECURITY := $(SUPPORT_OUTPUTDIR)/modules_conf/java.base/security/java.security @@ -74,9 +88,9 @@ # RESTRICTED_PKGS_SRC is optionally set in custom extension for this makefile -$(GENDATA_JAVA_SECURITY): $(BUILD_TOOLS) $(GENDATA_JAVA_SECURITY_SRC) $(RESTRICTED_PKGS_SRC) +$(GENDATA_JAVA_SECURITY): $(BUILD_TOOLS_JDK) $(GENDATA_JAVA_SECURITY_SRC) $(RESTRICTED_PKGS_SRC) $(call LogInfo, Generating java.security) - $(call MakeDir, $(@D)) + $(call MakeTargetDir) $(TOOL_MAKEJAVASECURITY) $(GENDATA_JAVA_SECURITY_SRC) $@ $(OPENJDK_TARGET_OS) \ $(OPENJDK_TARGET_CPU_ARCH) $(CRYPTO.POLICY) $(RESTRICTED_PKGS_SRC) diff -Nru openjdk-11-11.0.5+10/make/gendata/GendataBlacklistedCerts.gmk openjdk-11-11.0.6+10/make/gendata/GendataBlacklistedCerts.gmk --- openjdk-11-11.0.5+10/make/gendata/GendataBlacklistedCerts.gmk 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/gendata/GendataBlacklistedCerts.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -28,7 +28,7 @@ GENDATA_BLACKLISTED_CERTS_SRC += $(TOPDIR)/make/data/blacklistedcertsconverter/blacklisted.certs.pem GENDATA_BLACKLISTED_CERTS := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE)/security/blacklisted.certs -$(GENDATA_BLACKLISTED_CERTS): $(BUILD_TOOLS) $(GENDATA_BLACKLISTED_CERTS_SRC) +$(GENDATA_BLACKLISTED_CERTS): $(BUILD_TOOLS_JDK) $(GENDATA_BLACKLISTED_CERTS_SRC) $(call LogInfo, Generating blacklisted certs) $(call MakeDir, $(@D)) ($(CAT) $(GENDATA_BLACKLISTED_CERTS_SRC) | $(TOOL_BLACKLISTED_CERTS) > $@) || exit 1 diff -Nru openjdk-11-11.0.5+10/make/gendata/GendataBreakIterator.gmk openjdk-11-11.0.6+10/make/gendata/GendataBreakIterator.gmk --- openjdk-11-11.0.5+10/make/gendata/GendataBreakIterator.gmk 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/gendata/GendataBreakIterator.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -84,7 +84,7 @@ $(BIFILES): $(BASE_DATA_PKG_DIR)/_the.bifiles $(BASE_DATA_PKG_DIR)/_the.bifiles: JAVA_FLAGS += $(BREAK_ITERATOR_BOOTCLASSPATH) -$(BASE_DATA_PKG_DIR)/_the.bifiles: $(BUILD_TOOLS) $(UNICODEDATA) \ +$(BASE_DATA_PKG_DIR)/_the.bifiles: $(BUILD_TOOLS_JDK) $(UNICODEDATA) \ $(BUILD_BREAKITERATOR_BASE) $(BUILD_BREAKITERATOR_LD) $(call LogInfo, Generating BreakIteratorData) $(call MakeDir, $(@D)) @@ -96,7 +96,7 @@ $(BIFILES_TH): $(LD_DATA_PKG_DIR)/_the.bifiles_th $(LD_DATA_PKG_DIR)/_the.bifiles_th: JAVA_FLAGS += $(BREAK_ITERATOR_BOOTCLASSPATH) -$(LD_DATA_PKG_DIR)/_the.bifiles_th: $(BUILD_TOOLS) $(UNICODEDATA) \ +$(LD_DATA_PKG_DIR)/_the.bifiles_th: $(BUILD_TOOLS_JDK) $(UNICODEDATA) \ $(BUILD_BREAKITERATOR_BASE) $(BUILD_BREAKITERATOR_LD) $(call LogInfo, Generating BreakIteratorData_th) $(RM) $(BIFILES_TH) diff -Nru openjdk-11-11.0.5+10/make/gendata/GendataPublicSuffixList.gmk openjdk-11-11.0.6+10/make/gendata/GendataPublicSuffixList.gmk --- openjdk-11-11.0.5+10/make/gendata/GendataPublicSuffixList.gmk 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/gendata/GendataPublicSuffixList.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -28,7 +28,7 @@ GENDATA_PUBLICSUFFIXLIST_SRC += $(TOPDIR)/make/data/publicsuffixlist/public_suffix_list.dat GENDATA_PUBLICSUFFIXLIST := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE)/security/public_suffix_list.dat -$(GENDATA_PUBLICSUFFIXLIST): $(GENDATA_PUBLICSUFFIXLIST_SRC) $(BUILD_TOOLS) +$(GENDATA_PUBLICSUFFIXLIST): $(GENDATA_PUBLICSUFFIXLIST_SRC) $(BUILD_TOOLS_JDK) $(call LogInfo, Generating public suffix list) $(call MakeDir, $(@D)) $(RM) $@ diff -Nru openjdk-11-11.0.5+10/make/hotspot/gensrc/GensrcDtrace.gmk openjdk-11-11.0.6+10/make/hotspot/gensrc/GensrcDtrace.gmk --- openjdk-11-11.0.5+10/make/hotspot/gensrc/GensrcDtrace.gmk 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/hotspot/gensrc/GensrcDtrace.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -64,8 +64,9 @@ include lib/JvmFeatures.gmk include lib/JvmFlags.gmk - # We cannot compile until the JVMTI gensrc has finished + # We cannot compile until the JVMTI and JFR gensrc has finished JVMTI_H := $(JVM_VARIANT_OUTPUTDIR)/gensrc/jvmtifiles/jvmti.h + JFR_FILES := $(JVM_VARIANT_OUTPUTDIR)/gensrc/jfrfiles/jfrEventClasses.hpp $(eval $(call SetupNativeCompilation, BUILD_DTRACE_GEN_OFFSETS, \ NAME := dtraceGenOffsets, \ @@ -74,7 +75,7 @@ TOOLCHAIN := $(TOOLCHAIN_BUILD), \ LDFLAGS := -m64, \ CFLAGS := -m64 $(JVM_CFLAGS), \ - EXTRA_DEPS := $(JVMTI_H), \ + EXTRA_DEPS := $(JVMTI_H) $(JFR_FILES), \ OBJECT_DIR := $(JVM_VARIANT_OUTPUTDIR)/tools/dtrace-gen-offsets/objs, \ OUTPUT_DIR := $(JVM_VARIANT_OUTPUTDIR)/tools/dtrace-gen-offsets, \ )) diff -Nru openjdk-11-11.0.5+10/make/hotspot/lib/CompileJvm.gmk openjdk-11-11.0.6+10/make/hotspot/lib/CompileJvm.gmk --- openjdk-11-11.0.5+10/make/hotspot/lib/CompileJvm.gmk 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/hotspot/lib/CompileJvm.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -47,6 +47,8 @@ $(EXTRA_LDFLAGS) \ # +JVM_ASFLAGS += $(EXTRA_ASFLAGS) + JVM_LIBS += \ $(JVM_LIBS_FEATURES) \ # diff -Nru openjdk-11-11.0.5+10/make/jdk/src/classes/build/tools/generatecacerts/GenerateCacerts.java openjdk-11-11.0.6+10/make/jdk/src/classes/build/tools/generatecacerts/GenerateCacerts.java --- openjdk-11-11.0.5+10/make/jdk/src/classes/build/tools/generatecacerts/GenerateCacerts.java 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/jdk/src/classes/build/tools/generatecacerts/GenerateCacerts.java 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,148 @@ +/* + * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package build.tools.generatecacerts; + +import java.io.DataOutputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.UnsupportedEncodingException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.security.DigestOutputStream; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.cert.CertificateException; +import java.security.cert.CertificateFactory; +import java.security.cert.X509Certificate; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +/** + * Generate cacerts + * args[0]: Full path string to the directory that contains CA certs + * args[1]: Full path string to the generated cacerts + */ +public class GenerateCacerts { + public static void main(String[] args) throws Exception { + try (FileOutputStream fos = new FileOutputStream(args[1])) { + store(args[0], fos, "changeit".toCharArray()); + } + } + + // The following code are copied from JavaKeyStore.java. + + private static final int MAGIC = 0xfeedfeed; + private static final int VERSION_2 = 0x02; + + // This method is a simplified version of JavaKeyStore::engineStore. + // A new "dir" argument is added. All cert names in "dir" is collected into + // a sorted array. Each cert is stored with a creation date set to its + // notBefore value. Thus the output is determined as long as the certs + // are the same. + public static void store(String dir, OutputStream stream, char[] password) + throws IOException, NoSuchAlgorithmException, CertificateException + { + byte[] encoded; // the certificate encoding + CertificateFactory cf = CertificateFactory.getInstance("X509"); + + MessageDigest md = getPreKeyedHash(password); + DataOutputStream dos + = new DataOutputStream(new DigestOutputStream(stream, md)); + + dos.writeInt(MAGIC); + // always write the latest version + dos.writeInt(VERSION_2); + + // All file names in dir sorted. + // README is excluded. Name starting with "." excluded. + List entries = Files.list(Paths.get(dir)) + .map(p -> p.getFileName().toString()) + .filter(s -> !s.equals("README") && !s.startsWith(".")) + .collect(Collectors.toList()); + + entries.sort(String::compareTo); + + dos.writeInt(entries.size()); + + for (String entry : entries) { + + String alias = entry + " [jdk]"; + X509Certificate cert; + try (InputStream fis = Files.newInputStream(Paths.get(dir, entry))) { + cert = (X509Certificate) cf.generateCertificate(fis); + } + + dos.writeInt(2); + + // Write the alias + dos.writeUTF(alias); + + // Write the (entry creation) date, which is notBefore of the cert + dos.writeLong(cert.getNotBefore().getTime()); + + // Write the trusted certificate + encoded = cert.getEncoded(); + dos.writeUTF(cert.getType()); + dos.writeInt(encoded.length); + dos.write(encoded); + } + + /* + * Write the keyed hash which is used to detect tampering with + * the keystore (such as deleting or modifying key or + * certificate entries). + */ + byte[] digest = md.digest(); + + dos.write(digest); + dos.flush(); + } + + private static MessageDigest getPreKeyedHash(char[] password) + throws NoSuchAlgorithmException, UnsupportedEncodingException + { + + MessageDigest md = MessageDigest.getInstance("SHA"); + byte[] passwdBytes = convertToBytes(password); + md.update(passwdBytes); + Arrays.fill(passwdBytes, (byte) 0x00); + md.update("Mighty Aphrodite".getBytes("UTF8")); + return md; + } + + private static byte[] convertToBytes(char[] password) { + int i, j; + byte[] passwdBytes = new byte[password.length * 2]; + for (i=0, j=0; i> 8); + passwdBytes[j++] = (byte)password[i]; + } + return passwdBytes; + } +} diff -Nru openjdk-11-11.0.5+10/make/launcher/Launcher-jdk.aot.gmk openjdk-11-11.0.6+10/make/launcher/Launcher-jdk.aot.gmk --- openjdk-11-11.0.5+10/make/launcher/Launcher-jdk.aot.gmk 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/launcher/Launcher-jdk.aot.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -46,7 +46,7 @@ --add-exports=jdk.internal.vm.ci/jdk.vm.ci.meta=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \ --add-exports=jdk.internal.vm.ci/jdk.vm.ci.runtime=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \ --add-exports=jdk.internal.vm.ci/jdk.vm.ci.sparc=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \ - -XX:+UseAOT \ + -XX:+UnlockExperimentalVMOptions -XX:+UseAOT \ -XX:+CalculateClassFingerprint \ -Djvmci.UseProfilingInformation=false \ -Dgraal.UseExceptionProbability=false \ diff -Nru openjdk-11-11.0.5+10/make/launcher/Launcher-jdk.hotspot.agent.gmk openjdk-11-11.0.6+10/make/launcher/Launcher-jdk.hotspot.agent.gmk --- openjdk-11-11.0.5+10/make/launcher/Launcher-jdk.hotspot.agent.gmk 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/launcher/Launcher-jdk.hotspot.agent.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. # 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,5 +27,5 @@ $(eval $(call SetupBuildLauncher, jhsdb, \ MAIN_CLASS := sun.jvm.hotspot.SALauncher, \ - MACOSX_SIGNED := true, \ + MACOSX_PRIVILEGED := true, \ )) diff -Nru openjdk-11-11.0.5+10/make/launcher/Launcher-jdk.jcmd.gmk openjdk-11-11.0.6+10/make/launcher/Launcher-jdk.jcmd.gmk --- openjdk-11-11.0.5+10/make/launcher/Launcher-jdk.jcmd.gmk 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/launcher/Launcher-jdk.jcmd.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. # 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,7 +30,7 @@ JAVA_ARGS := \ -Dsun.jvm.hotspot.debugger.useProcDebugger \ -Dsun.jvm.hotspot.debugger.useWindbgDebugger, \ - MACOSX_SIGNED := true, \ + MACOSX_PRIVILEGED := true, \ )) $(eval $(call SetupBuildLauncher, jmap, \ @@ -38,7 +38,7 @@ JAVA_ARGS := \ -Dsun.jvm.hotspot.debugger.useProcDebugger \ -Dsun.jvm.hotspot.debugger.useWindbgDebugger, \ - MACOSX_SIGNED := true, \ + MACOSX_PRIVILEGED := true, \ )) $(eval $(call SetupBuildLauncher, jps, \ @@ -50,7 +50,7 @@ JAVA_ARGS := \ -Dsun.jvm.hotspot.debugger.useProcDebugger \ -Dsun.jvm.hotspot.debugger.useWindbgDebugger, \ - MACOSX_SIGNED := true, \ + MACOSX_PRIVILEGED := true, \ )) $(eval $(call SetupBuildLauncher, jstat, \ diff -Nru openjdk-11-11.0.5+10/make/launcher/Launcher-jdk.jfr.gmk openjdk-11-11.0.6+10/make/launcher/Launcher-jdk.jfr.gmk --- openjdk-11-11.0.5+10/make/launcher/Launcher-jdk.jfr.gmk 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/make/launcher/Launcher-jdk.jfr.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,31 @@ +# +# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +include LauncherCommon.gmk + +$(eval $(call SetupBuildLauncher, jfr, \ + MAIN_CLASS := jdk.jfr.internal.tool.Main, \ + CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \ +)) diff -Nru openjdk-11-11.0.5+10/make/launcher/LauncherCommon.gmk openjdk-11-11.0.6+10/make/launcher/LauncherCommon.gmk --- openjdk-11-11.0.5+10/make/launcher/LauncherCommon.gmk 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/launcher/LauncherCommon.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -86,7 +86,7 @@ # LIBS_windows Additional LIBS_windows # LDFLAGS_solaris Additional LDFLAGS_solaris # RC_FLAGS Additional RC_FLAGS -# MACOSX_SIGNED On macosx, sign this binary +# MACOSX_PRIVILEGED On macosx, allow to access other processes # OPTIMIZATION Override default optimization level (LOW) # OUTPUT_DIR Override default output directory # VERSION_INFO_RESOURCE Override default Windows resource file @@ -117,9 +117,8 @@ $1_LIBS := ifeq ($(OPENJDK_TARGET_OS), macosx) - ifeq ($$($1_MACOSX_SIGNED), true) + ifeq ($$($1_MACOSX_PRIVILEGED), true) $1_PLIST_FILE := Info-privileged.plist - $1_CODESIGN := true else $1_PLIST_FILE := Info-cmdline.plist endif @@ -190,7 +189,6 @@ EXTRA_RC_FLAGS := $$($1_EXTRA_RC_FLAGS), \ MANIFEST := $(JAVA_MANIFEST), \ MANIFEST_VERSION := $(VERSION_NUMBER_FOUR_POSITIONS), \ - CODESIGN := $$($1_CODESIGN), \ )) $1 += $$(BUILD_LAUNCHER_$1) diff -Nru openjdk-11-11.0.5+10/make/lib/Lib-jdk.jdwp.agent.gmk openjdk-11-11.0.6+10/make/lib/Lib-jdk.jdwp.agent.gmk --- openjdk-11-11.0.5+10/make/lib/Lib-jdk.jdwp.agent.gmk 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/make/lib/Lib-jdk.jdwp.agent.gmk 2019-11-26 00:55:54.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -64,6 +64,7 @@ LIBS_solaris := $(LIBDL), \ LIBS_macosx := -liconv, \ LIBS_aix := -liconv, \ + LIBS_windows := $(WIN_JAVA_LIB), \ )) $(BUILD_LIBJDWP): $(call FindLib, java.base, java) diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/aarch64/aarch64.ad openjdk-11-11.0.6+10/src/hotspot/cpu/aarch64/aarch64.ad --- openjdk-11-11.0.5+10/src/hotspot/cpu/aarch64/aarch64.ad 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/aarch64/aarch64.ad 2019-11-26 00:55:54.000000000 +0000 @@ -1036,7 +1036,7 @@ } }; - bool is_CAS(int opcode); + bool is_CAS(int opcode, bool maybe_volatile); // predicates controlling emit of ldr/ldar and associated dmb @@ -1259,12 +1259,12 @@ // relevant dmb instructions. // - // is_CAS(int opcode) + // is_CAS(int opcode, bool maybe_volatile) // // return true if opcode is one of the possible CompareAndSwapX // values otherwise false. - bool is_CAS(int opcode) + bool is_CAS(int opcode, bool maybe_volatile) { switch(opcode) { // We handle these @@ -1272,23 +1272,28 @@ case Op_CompareAndSwapL: case Op_CompareAndSwapP: case Op_CompareAndSwapN: - // case Op_CompareAndSwapB: - // case Op_CompareAndSwapS: + case Op_CompareAndSwapB: + case Op_CompareAndSwapS: + case Op_GetAndSetI: + case Op_GetAndSetL: + case Op_GetAndSetP: + case Op_GetAndSetN: + case Op_GetAndAddI: + case Op_GetAndAddL: return true; - // These are TBD + case Op_CompareAndExchangeI: + case Op_CompareAndExchangeN: + case Op_CompareAndExchangeB: + case Op_CompareAndExchangeS: + case Op_CompareAndExchangeL: + case Op_CompareAndExchangeP: case Op_WeakCompareAndSwapB: case Op_WeakCompareAndSwapS: case Op_WeakCompareAndSwapI: case Op_WeakCompareAndSwapL: case Op_WeakCompareAndSwapP: case Op_WeakCompareAndSwapN: - case Op_CompareAndExchangeB: - case Op_CompareAndExchangeS: - case Op_CompareAndExchangeI: - case Op_CompareAndExchangeL: - case Op_CompareAndExchangeP: - case Op_CompareAndExchangeN: - return false; + return maybe_volatile; default: return false; } @@ -1318,7 +1323,7 @@ if (mb->trailing_load_store()) { Node* load_store = mb->in(MemBarNode::Precedent); assert(load_store->is_LoadStore(), "unexpected graph shape"); - return is_CAS(load_store->Opcode()); + return is_CAS(load_store->Opcode(), true); } return false; @@ -1365,7 +1370,7 @@ } else { assert(mem->is_LoadStore(), ""); assert(trailing_mb->Opcode() == Op_MemBarAcquire, ""); - return is_CAS(mem->Opcode()); + return is_CAS(mem->Opcode(), true); } } return false; @@ -1416,13 +1421,17 @@ bool needs_acquiring_load_exclusive(const Node *n) { - assert(is_CAS(n->Opcode()), "expecting a compare and swap"); + assert(is_CAS(n->Opcode(), true), "expecting a compare and swap"); if (UseBarriersForVolatile) { return false; } LoadStoreNode* ldst = n->as_LoadStore(); - assert(ldst->trailing_membar() != NULL, "expected trailing membar"); + if (is_CAS(n->Opcode(), false)) { + assert(ldst->trailing_membar() != NULL, "expected trailing membar"); + } else { + return ldst->trailing_membar() != NULL; + } // so we can just return true here return true; @@ -2899,6 +2908,21 @@ /*weak*/ false, noreg); %} + enc_class aarch64_enc_cmpxchgs_acq(memory mem, iRegINoSp oldval, iRegINoSp newval) %{ + MacroAssembler _masm(&cbuf); + guarantee($mem$$index == -1 && $mem$$disp == 0, "impossible encoding"); + __ cmpxchg($mem$$base$$Register, $oldval$$Register, $newval$$Register, + Assembler::halfword, /*acquire*/ true, /*release*/ true, + /*weak*/ false, noreg); + %} + + enc_class aarch64_enc_cmpxchgb_acq(memory mem, iRegINoSp oldval, iRegINoSp newval) %{ + MacroAssembler _masm(&cbuf); + guarantee($mem$$index == -1 && $mem$$disp == 0, "impossible encoding"); + __ cmpxchg($mem$$base$$Register, $oldval$$Register, $newval$$Register, + Assembler::byte, /*acquire*/ true, /*release*/ true, + /*weak*/ false, noreg); + %} // auxiliary used for CompareAndSwapX to set result register enc_class aarch64_enc_cset_eq(iRegINoSp res) %{ @@ -7892,6 +7916,17 @@ ins_pipe(pipe_class_empty); %} +instruct castLL(iRegL dst) +%{ + match(Set dst (CastLL dst)); + + size(0); + format %{ "# castLL of $dst" %} + ins_encode(/* empty encoding */); + ins_cost(0); + ins_pipe(pipe_class_empty); +%} + // ============================================================================ // Atomic operation instructions // @@ -8114,6 +8149,44 @@ // alternative CompareAndSwapX when we are eliding barriers +instruct compareAndSwapBAcq(iRegINoSp res, indirect mem, iRegINoSp oldval, iRegINoSp newval, rFlagsReg cr) %{ + + predicate(needs_acquiring_load_exclusive(n)); + match(Set res (CompareAndSwapB mem (Binary oldval newval))); + ins_cost(VOLATILE_REF_COST); + + effect(KILL cr); + + format %{ + "cmpxchgb_acq $mem, $oldval, $newval\t# (int) if $mem == $oldval then $mem <-- $newval" + "cset $res, EQ\t# $res <-- (EQ ? 1 : 0)" + %} + + ins_encode(aarch64_enc_cmpxchgb_acq(mem, oldval, newval), + aarch64_enc_cset_eq(res)); + + ins_pipe(pipe_slow); +%} + +instruct compareAndSwapSAcq(iRegINoSp res, indirect mem, iRegINoSp oldval, iRegINoSp newval, rFlagsReg cr) %{ + + predicate(needs_acquiring_load_exclusive(n)); + match(Set res (CompareAndSwapS mem (Binary oldval newval))); + ins_cost(VOLATILE_REF_COST); + + effect(KILL cr); + + format %{ + "cmpxchgs_acq $mem, $oldval, $newval\t# (int) if $mem == $oldval then $mem <-- $newval" + "cset $res, EQ\t# $res <-- (EQ ? 1 : 0)" + %} + + ins_encode(aarch64_enc_cmpxchgs_acq(mem, oldval, newval), + aarch64_enc_cset_eq(res)); + + ins_pipe(pipe_slow); +%} + instruct compareAndSwapIAcq(iRegINoSp res, indirect mem, iRegINoSp oldval, iRegINoSp newval, rFlagsReg cr) %{ predicate(needs_acquiring_load_exclusive(n)); @@ -8212,7 +8285,7 @@ ins_cost(2 * VOLATILE_REF_COST); effect(TEMP_DEF res, KILL cr); format %{ - "cmpxchg $res = $mem, $oldval, $newval\t# (byte, weak) if $mem == $oldval then $mem <-- $newval" + "cmpxchgb $res = $mem, $oldval, $newval\t# (byte, weak) if $mem == $oldval then $mem <-- $newval" %} ins_encode %{ __ cmpxchg($mem$$Register, $oldval$$Register, $newval$$Register, @@ -8228,7 +8301,7 @@ ins_cost(2 * VOLATILE_REF_COST); effect(TEMP_DEF res, KILL cr); format %{ - "cmpxchg $res = $mem, $oldval, $newval\t# (short, weak) if $mem == $oldval then $mem <-- $newval" + "cmpxchgs $res = $mem, $oldval, $newval\t# (short, weak) if $mem == $oldval then $mem <-- $newval" %} ins_encode %{ __ cmpxchg($mem$$Register, $oldval$$Register, $newval$$Register, @@ -8244,7 +8317,7 @@ ins_cost(2 * VOLATILE_REF_COST); effect(TEMP_DEF res, KILL cr); format %{ - "cmpxchg $res = $mem, $oldval, $newval\t# (int, weak) if $mem == $oldval then $mem <-- $newval" + "cmpxchgw $res = $mem, $oldval, $newval\t# (int, weak) if $mem == $oldval then $mem <-- $newval" %} ins_encode %{ __ cmpxchg($mem$$Register, $oldval$$Register, $newval$$Register, @@ -8274,7 +8347,7 @@ ins_cost(2 * VOLATILE_REF_COST); effect(TEMP_DEF res, KILL cr); format %{ - "cmpxchg $res = $mem, $oldval, $newval\t# (narrow oop, weak) if $mem == $oldval then $mem <-- $newval" + "cmpxchgw $res = $mem, $oldval, $newval\t# (narrow oop, weak) if $mem == $oldval then $mem <-- $newval" %} ins_encode %{ __ cmpxchg($mem$$Register, $oldval$$Register, $newval$$Register, @@ -8299,12 +8372,112 @@ ins_pipe(pipe_slow); %} +instruct compareAndExchangeBAcq(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{ + predicate(needs_acquiring_load_exclusive(n)); + match(Set res (CompareAndExchangeB mem (Binary oldval newval))); + ins_cost(VOLATILE_REF_COST); + effect(TEMP_DEF res, KILL cr); + format %{ + "cmpxchgb_acq $res = $mem, $oldval, $newval\t# (byte, weak) if $mem == $oldval then $mem <-- $newval" + %} + ins_encode %{ + __ cmpxchg($mem$$Register, $oldval$$Register, $newval$$Register, + Assembler::byte, /*acquire*/ true, /*release*/ true, + /*weak*/ false, $res$$Register); + __ sxtbw($res$$Register, $res$$Register); + %} + ins_pipe(pipe_slow); +%} + +instruct compareAndExchangeSAcq(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{ + predicate(needs_acquiring_load_exclusive(n)); + match(Set res (CompareAndExchangeS mem (Binary oldval newval))); + ins_cost(VOLATILE_REF_COST); + effect(TEMP_DEF res, KILL cr); + format %{ + "cmpxchgs_acq $res = $mem, $oldval, $newval\t# (short, weak) if $mem == $oldval then $mem <-- $newval" + %} + ins_encode %{ + __ cmpxchg($mem$$Register, $oldval$$Register, $newval$$Register, + Assembler::halfword, /*acquire*/ true, /*release*/ true, + /*weak*/ false, $res$$Register); + __ sxthw($res$$Register, $res$$Register); + %} + ins_pipe(pipe_slow); +%} + + +instruct compareAndExchangeIAcq(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{ + predicate(needs_acquiring_load_exclusive(n)); + match(Set res (CompareAndExchangeI mem (Binary oldval newval))); + ins_cost(VOLATILE_REF_COST); + effect(TEMP_DEF res, KILL cr); + format %{ + "cmpxchgw_acq $res = $mem, $oldval, $newval\t# (int, weak) if $mem == $oldval then $mem <-- $newval" + %} + ins_encode %{ + __ cmpxchg($mem$$Register, $oldval$$Register, $newval$$Register, + Assembler::word, /*acquire*/ true, /*release*/ true, + /*weak*/ false, $res$$Register); + %} + ins_pipe(pipe_slow); +%} + +instruct compareAndExchangeLAcq(iRegLNoSp res, indirect mem, iRegL oldval, iRegL newval, rFlagsReg cr) %{ + predicate(needs_acquiring_load_exclusive(n)); + match(Set res (CompareAndExchangeL mem (Binary oldval newval))); + ins_cost(VOLATILE_REF_COST); + effect(TEMP_DEF res, KILL cr); + format %{ + "cmpxchg_acq $res = $mem, $oldval, $newval\t# (long, weak) if $mem == $oldval then $mem <-- $newval" + %} + ins_encode %{ + __ cmpxchg($mem$$Register, $oldval$$Register, $newval$$Register, + Assembler::xword, /*acquire*/ true, /*release*/ true, + /*weak*/ false, $res$$Register); + %} + ins_pipe(pipe_slow); +%} + + +instruct compareAndExchangeNAcq(iRegNNoSp res, indirect mem, iRegN oldval, iRegN newval, rFlagsReg cr) %{ + predicate(needs_acquiring_load_exclusive(n)); + match(Set res (CompareAndExchangeN mem (Binary oldval newval))); + ins_cost(VOLATILE_REF_COST); + effect(TEMP_DEF res, KILL cr); + format %{ + "cmpxchgw_acq $res = $mem, $oldval, $newval\t# (narrow oop, weak) if $mem == $oldval then $mem <-- $newval" + %} + ins_encode %{ + __ cmpxchg($mem$$Register, $oldval$$Register, $newval$$Register, + Assembler::word, /*acquire*/ true, /*release*/ true, + /*weak*/ false, $res$$Register); + %} + ins_pipe(pipe_slow); +%} + +instruct compareAndExchangePAcq(iRegPNoSp res, indirect mem, iRegP oldval, iRegP newval, rFlagsReg cr) %{ + predicate(needs_acquiring_load_exclusive(n)); + match(Set res (CompareAndExchangeP mem (Binary oldval newval))); + ins_cost(VOLATILE_REF_COST); + effect(TEMP_DEF res, KILL cr); + format %{ + "cmpxchg_acq $res = $mem, $oldval, $newval\t# (ptr, weak) if $mem == $oldval then $mem <-- $newval" + %} + ins_encode %{ + __ cmpxchg($mem$$Register, $oldval$$Register, $newval$$Register, + Assembler::xword, /*acquire*/ true, /*release*/ true, + /*weak*/ false, $res$$Register); + %} + ins_pipe(pipe_slow); +%} + instruct weakCompareAndSwapB(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{ match(Set res (WeakCompareAndSwapB mem (Binary oldval newval))); ins_cost(2 * VOLATILE_REF_COST); effect(KILL cr); format %{ - "cmpxchg $res = $mem, $oldval, $newval\t# (byte, weak) if $mem == $oldval then $mem <-- $newval" + "cmpxchgb $res = $mem, $oldval, $newval\t# (byte, weak) if $mem == $oldval then $mem <-- $newval" "csetw $res, EQ\t# $res <-- (EQ ? 1 : 0)" %} ins_encode %{ @@ -8321,7 +8494,7 @@ ins_cost(2 * VOLATILE_REF_COST); effect(KILL cr); format %{ - "cmpxchg $res = $mem, $oldval, $newval\t# (short, weak) if $mem == $oldval then $mem <-- $newval" + "cmpxchgs $res = $mem, $oldval, $newval\t# (short, weak) if $mem == $oldval then $mem <-- $newval" "csetw $res, EQ\t# $res <-- (EQ ? 1 : 0)" %} ins_encode %{ @@ -8338,7 +8511,7 @@ ins_cost(2 * VOLATILE_REF_COST); effect(KILL cr); format %{ - "cmpxchg $res = $mem, $oldval, $newval\t# (int, weak) if $mem == $oldval then $mem <-- $newval" + "cmpxchgw $res = $mem, $oldval, $newval\t# (int, weak) if $mem == $oldval then $mem <-- $newval" "csetw $res, EQ\t# $res <-- (EQ ? 1 : 0)" %} ins_encode %{ @@ -8372,7 +8545,7 @@ ins_cost(2 * VOLATILE_REF_COST); effect(KILL cr); format %{ - "cmpxchg $res = $mem, $oldval, $newval\t# (narrow oop, weak) if $mem == $oldval then $mem <-- $newval" + "cmpxchgw $res = $mem, $oldval, $newval\t# (narrow oop, weak) if $mem == $oldval then $mem <-- $newval" "csetw $res, EQ\t# $res <-- (EQ ? 1 : 0)" %} ins_encode %{ @@ -8401,11 +8574,120 @@ ins_pipe(pipe_slow); %} +instruct weakCompareAndSwapBAcq(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{ + predicate(needs_acquiring_load_exclusive(n)); + match(Set res (WeakCompareAndSwapB mem (Binary oldval newval))); + ins_cost(VOLATILE_REF_COST); + effect(KILL cr); + format %{ + "cmpxchgb_acq $res = $mem, $oldval, $newval\t# (byte, weak) if $mem == $oldval then $mem <-- $newval" + "csetw $res, EQ\t# $res <-- (EQ ? 1 : 0)" + %} + ins_encode %{ + __ cmpxchg($mem$$Register, $oldval$$Register, $newval$$Register, + Assembler::byte, /*acquire*/ true, /*release*/ true, + /*weak*/ true, noreg); + __ csetw($res$$Register, Assembler::EQ); + %} + ins_pipe(pipe_slow); +%} + +instruct weakCompareAndSwapSAcq(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{ + predicate(needs_acquiring_load_exclusive(n)); + match(Set res (WeakCompareAndSwapS mem (Binary oldval newval))); + ins_cost(VOLATILE_REF_COST); + effect(KILL cr); + format %{ + "cmpxchgs_acq $res = $mem, $oldval, $newval\t# (short, weak) if $mem == $oldval then $mem <-- $newval" + "csetw $res, EQ\t# $res <-- (EQ ? 1 : 0)" + %} + ins_encode %{ + __ cmpxchg($mem$$Register, $oldval$$Register, $newval$$Register, + Assembler::halfword, /*acquire*/ true, /*release*/ true, + /*weak*/ true, noreg); + __ csetw($res$$Register, Assembler::EQ); + %} + ins_pipe(pipe_slow); +%} + +instruct weakCompareAndSwapIAcq(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{ + predicate(needs_acquiring_load_exclusive(n)); + match(Set res (WeakCompareAndSwapI mem (Binary oldval newval))); + ins_cost(VOLATILE_REF_COST); + effect(KILL cr); + format %{ + "cmpxchgw_acq $res = $mem, $oldval, $newval\t# (int, weak) if $mem == $oldval then $mem <-- $newval" + "csetw $res, EQ\t# $res <-- (EQ ? 1 : 0)" + %} + ins_encode %{ + __ cmpxchg($mem$$Register, $oldval$$Register, $newval$$Register, + Assembler::word, /*acquire*/ true, /*release*/ true, + /*weak*/ true, noreg); + __ csetw($res$$Register, Assembler::EQ); + %} + ins_pipe(pipe_slow); +%} + +instruct weakCompareAndSwapLAcq(iRegINoSp res, indirect mem, iRegL oldval, iRegL newval, rFlagsReg cr) %{ + predicate(needs_acquiring_load_exclusive(n)); + match(Set res (WeakCompareAndSwapL mem (Binary oldval newval))); + ins_cost(VOLATILE_REF_COST); + effect(KILL cr); + format %{ + "cmpxchg_acq $res = $mem, $oldval, $newval\t# (long, weak) if $mem == $oldval then $mem <-- $newval" + "csetw $res, EQ\t# $res <-- (EQ ? 1 : 0)" + %} + ins_encode %{ + __ cmpxchg($mem$$Register, $oldval$$Register, $newval$$Register, + Assembler::xword, /*acquire*/ true, /*release*/ true, + /*weak*/ true, noreg); + __ csetw($res$$Register, Assembler::EQ); + %} + ins_pipe(pipe_slow); +%} + +instruct weakCompareAndSwapNAcq(iRegINoSp res, indirect mem, iRegN oldval, iRegN newval, rFlagsReg cr) %{ + predicate(needs_acquiring_load_exclusive(n)); + match(Set res (WeakCompareAndSwapN mem (Binary oldval newval))); + ins_cost(VOLATILE_REF_COST); + effect(KILL cr); + format %{ + "cmpxchgw_acq $res = $mem, $oldval, $newval\t# (narrow oop, weak) if $mem == $oldval then $mem <-- $newval" + "csetw $res, EQ\t# $res <-- (EQ ? 1 : 0)" + %} + ins_encode %{ + __ cmpxchg($mem$$Register, $oldval$$Register, $newval$$Register, + Assembler::word, /*acquire*/ true, /*release*/ true, + /*weak*/ true, noreg); + __ csetw($res$$Register, Assembler::EQ); + %} + ins_pipe(pipe_slow); +%} + +instruct weakCompareAndSwapPAcq(iRegINoSp res, indirect mem, iRegP oldval, iRegP newval, rFlagsReg cr) %{ + predicate(needs_acquiring_load_exclusive(n)); + match(Set res (WeakCompareAndSwapP mem (Binary oldval newval))); + ins_cost(VOLATILE_REF_COST); + effect(KILL cr); + format %{ + "cmpxchg_acq $res = $mem, $oldval, $newval\t# (ptr, weak) if $mem == $oldval then $mem <-- $newval" + "csetw $res, EQ\t# $res <-- (EQ ? 1 : 0)" + %} + ins_encode %{ + __ cmpxchg($mem$$Register, $oldval$$Register, $newval$$Register, + Assembler::xword, /*acquire*/ true, /*release*/ true, + /*weak*/ true, noreg); + __ csetw($res$$Register, Assembler::EQ); + %} + ins_pipe(pipe_slow); +%} + // END This section of the file is automatically generated. Do not edit -------------- // --------------------------------------------------------------------- instruct get_and_setI(indirect mem, iRegI newv, iRegINoSp prev) %{ match(Set prev (GetAndSetI mem newv)); + ins_cost(2 * VOLATILE_REF_COST); format %{ "atomic_xchgw $prev, $newv, [$mem]" %} ins_encode %{ __ atomic_xchgw($prev$$Register, $newv$$Register, as_Register($mem$$base)); @@ -8415,6 +8697,7 @@ instruct get_and_setL(indirect mem, iRegL newv, iRegLNoSp prev) %{ match(Set prev (GetAndSetL mem newv)); + ins_cost(2 * VOLATILE_REF_COST); format %{ "atomic_xchg $prev, $newv, [$mem]" %} ins_encode %{ __ atomic_xchg($prev$$Register, $newv$$Register, as_Register($mem$$base)); @@ -8424,6 +8707,7 @@ instruct get_and_setN(indirect mem, iRegN newv, iRegINoSp prev) %{ match(Set prev (GetAndSetN mem newv)); + ins_cost(2 * VOLATILE_REF_COST); format %{ "atomic_xchgw $prev, $newv, [$mem]" %} ins_encode %{ __ atomic_xchgw($prev$$Register, $newv$$Register, as_Register($mem$$base)); @@ -8433,6 +8717,7 @@ instruct get_and_setP(indirect mem, iRegP newv, iRegPNoSp prev) %{ match(Set prev (GetAndSetP mem newv)); + ins_cost(2 * VOLATILE_REF_COST); format %{ "atomic_xchg $prev, $newv, [$mem]" %} ins_encode %{ __ atomic_xchg($prev$$Register, $newv$$Register, as_Register($mem$$base)); @@ -8440,10 +8725,54 @@ ins_pipe(pipe_serial); %} +instruct get_and_setIAcq(indirect mem, iRegI newv, iRegINoSp prev) %{ + predicate(needs_acquiring_load_exclusive(n)); + match(Set prev (GetAndSetI mem newv)); + ins_cost(VOLATILE_REF_COST); + format %{ "atomic_xchgw_acq $prev, $newv, [$mem]" %} + ins_encode %{ + __ atomic_xchgalw($prev$$Register, $newv$$Register, as_Register($mem$$base)); + %} + ins_pipe(pipe_serial); +%} + +instruct get_and_setLAcq(indirect mem, iRegL newv, iRegLNoSp prev) %{ + predicate(needs_acquiring_load_exclusive(n)); + match(Set prev (GetAndSetL mem newv)); + ins_cost(VOLATILE_REF_COST); + format %{ "atomic_xchg_acq $prev, $newv, [$mem]" %} + ins_encode %{ + __ atomic_xchgal($prev$$Register, $newv$$Register, as_Register($mem$$base)); + %} + ins_pipe(pipe_serial); +%} + +instruct get_and_setNAcq(indirect mem, iRegN newv, iRegINoSp prev) %{ + predicate(needs_acquiring_load_exclusive(n)); + match(Set prev (GetAndSetN mem newv)); + ins_cost(VOLATILE_REF_COST); + format %{ "atomic_xchgw_acq $prev, $newv, [$mem]" %} + ins_encode %{ + __ atomic_xchgalw($prev$$Register, $newv$$Register, as_Register($mem$$base)); + %} + ins_pipe(pipe_serial); +%} + +instruct get_and_setPAcq(indirect mem, iRegP newv, iRegPNoSp prev) %{ + predicate(needs_acquiring_load_exclusive(n)); + match(Set prev (GetAndSetP mem newv)); + ins_cost(VOLATILE_REF_COST); + format %{ "atomic_xchg_acq $prev, $newv, [$mem]" %} + ins_encode %{ + __ atomic_xchgal($prev$$Register, $newv$$Register, as_Register($mem$$base)); + %} + ins_pipe(pipe_serial); +%} + instruct get_and_addL(indirect mem, iRegLNoSp newval, iRegL incr) %{ match(Set newval (GetAndAddL mem incr)); - ins_cost(INSN_COST * 10); + ins_cost(2 * VOLATILE_REF_COST + 1); format %{ "get_and_addL $newval, [$mem], $incr" %} ins_encode %{ __ atomic_add($newval$$Register, $incr$$Register, as_Register($mem$$base)); @@ -8454,7 +8783,7 @@ instruct get_and_addL_no_res(indirect mem, Universe dummy, iRegL incr) %{ predicate(n->as_LoadStore()->result_not_used()); match(Set dummy (GetAndAddL mem incr)); - ins_cost(INSN_COST * 9); + ins_cost(2 * VOLATILE_REF_COST); format %{ "get_and_addL [$mem], $incr" %} ins_encode %{ __ atomic_add(noreg, $incr$$Register, as_Register($mem$$base)); @@ -8464,7 +8793,7 @@ instruct get_and_addLi(indirect mem, iRegLNoSp newval, immLAddSub incr) %{ match(Set newval (GetAndAddL mem incr)); - ins_cost(INSN_COST * 10); + ins_cost(2 * VOLATILE_REF_COST + 1); format %{ "get_and_addL $newval, [$mem], $incr" %} ins_encode %{ __ atomic_add($newval$$Register, $incr$$constant, as_Register($mem$$base)); @@ -8475,7 +8804,7 @@ instruct get_and_addLi_no_res(indirect mem, Universe dummy, immLAddSub incr) %{ predicate(n->as_LoadStore()->result_not_used()); match(Set dummy (GetAndAddL mem incr)); - ins_cost(INSN_COST * 9); + ins_cost(2 * VOLATILE_REF_COST); format %{ "get_and_addL [$mem], $incr" %} ins_encode %{ __ atomic_add(noreg, $incr$$constant, as_Register($mem$$base)); @@ -8485,7 +8814,7 @@ instruct get_and_addI(indirect mem, iRegINoSp newval, iRegIorL2I incr) %{ match(Set newval (GetAndAddI mem incr)); - ins_cost(INSN_COST * 10); + ins_cost(2 * VOLATILE_REF_COST + 1); format %{ "get_and_addI $newval, [$mem], $incr" %} ins_encode %{ __ atomic_addw($newval$$Register, $incr$$Register, as_Register($mem$$base)); @@ -8496,7 +8825,7 @@ instruct get_and_addI_no_res(indirect mem, Universe dummy, iRegIorL2I incr) %{ predicate(n->as_LoadStore()->result_not_used()); match(Set dummy (GetAndAddI mem incr)); - ins_cost(INSN_COST * 9); + ins_cost(2 * VOLATILE_REF_COST); format %{ "get_and_addI [$mem], $incr" %} ins_encode %{ __ atomic_addw(noreg, $incr$$Register, as_Register($mem$$base)); @@ -8506,7 +8835,7 @@ instruct get_and_addIi(indirect mem, iRegINoSp newval, immIAddSub incr) %{ match(Set newval (GetAndAddI mem incr)); - ins_cost(INSN_COST * 10); + ins_cost(2 * VOLATILE_REF_COST + 1); format %{ "get_and_addI $newval, [$mem], $incr" %} ins_encode %{ __ atomic_addw($newval$$Register, $incr$$constant, as_Register($mem$$base)); @@ -8517,13 +8846,101 @@ instruct get_and_addIi_no_res(indirect mem, Universe dummy, immIAddSub incr) %{ predicate(n->as_LoadStore()->result_not_used()); match(Set dummy (GetAndAddI mem incr)); - ins_cost(INSN_COST * 9); + ins_cost(2 * VOLATILE_REF_COST); format %{ "get_and_addI [$mem], $incr" %} ins_encode %{ __ atomic_addw(noreg, $incr$$constant, as_Register($mem$$base)); %} ins_pipe(pipe_serial); %} + +instruct get_and_addLAcq(indirect mem, iRegLNoSp newval, iRegL incr) %{ + predicate(needs_acquiring_load_exclusive(n)); + match(Set newval (GetAndAddL mem incr)); + ins_cost(VOLATILE_REF_COST + 1); + format %{ "get_and_addL_acq $newval, [$mem], $incr" %} + ins_encode %{ + __ atomic_addal($newval$$Register, $incr$$Register, as_Register($mem$$base)); + %} + ins_pipe(pipe_serial); +%} + +instruct get_and_addL_no_resAcq(indirect mem, Universe dummy, iRegL incr) %{ + predicate(n->as_LoadStore()->result_not_used() && needs_acquiring_load_exclusive(n)); + match(Set dummy (GetAndAddL mem incr)); + ins_cost(VOLATILE_REF_COST); + format %{ "get_and_addL_acq [$mem], $incr" %} + ins_encode %{ + __ atomic_addal(noreg, $incr$$Register, as_Register($mem$$base)); + %} + ins_pipe(pipe_serial); +%} + +instruct get_and_addLiAcq(indirect mem, iRegLNoSp newval, immLAddSub incr) %{ + predicate(needs_acquiring_load_exclusive(n)); + match(Set newval (GetAndAddL mem incr)); + ins_cost(VOLATILE_REF_COST + 1); + format %{ "get_and_addL_acq $newval, [$mem], $incr" %} + ins_encode %{ + __ atomic_addal($newval$$Register, $incr$$constant, as_Register($mem$$base)); + %} + ins_pipe(pipe_serial); +%} + +instruct get_and_addLi_no_resAcq(indirect mem, Universe dummy, immLAddSub incr) %{ + predicate(n->as_LoadStore()->result_not_used() && needs_acquiring_load_exclusive(n)); + match(Set dummy (GetAndAddL mem incr)); + ins_cost(VOLATILE_REF_COST); + format %{ "get_and_addL_acq [$mem], $incr" %} + ins_encode %{ + __ atomic_addal(noreg, $incr$$constant, as_Register($mem$$base)); + %} + ins_pipe(pipe_serial); +%} + +instruct get_and_addIAcq(indirect mem, iRegINoSp newval, iRegIorL2I incr) %{ + predicate(needs_acquiring_load_exclusive(n)); + match(Set newval (GetAndAddI mem incr)); + ins_cost(VOLATILE_REF_COST + 1); + format %{ "get_and_addI_acq $newval, [$mem], $incr" %} + ins_encode %{ + __ atomic_addalw($newval$$Register, $incr$$Register, as_Register($mem$$base)); + %} + ins_pipe(pipe_serial); +%} + +instruct get_and_addI_no_resAcq(indirect mem, Universe dummy, iRegIorL2I incr) %{ + predicate(n->as_LoadStore()->result_not_used() && needs_acquiring_load_exclusive(n)); + match(Set dummy (GetAndAddI mem incr)); + ins_cost(VOLATILE_REF_COST); + format %{ "get_and_addI_acq [$mem], $incr" %} + ins_encode %{ + __ atomic_addalw(noreg, $incr$$Register, as_Register($mem$$base)); + %} + ins_pipe(pipe_serial); +%} + +instruct get_and_addIiAcq(indirect mem, iRegINoSp newval, immIAddSub incr) %{ + predicate(needs_acquiring_load_exclusive(n)); + match(Set newval (GetAndAddI mem incr)); + ins_cost(VOLATILE_REF_COST + 1); + format %{ "get_and_addI_acq $newval, [$mem], $incr" %} + ins_encode %{ + __ atomic_addalw($newval$$Register, $incr$$constant, as_Register($mem$$base)); + %} + ins_pipe(pipe_serial); +%} + +instruct get_and_addIi_no_resAcq(indirect mem, Universe dummy, immIAddSub incr) %{ + predicate(n->as_LoadStore()->result_not_used() && needs_acquiring_load_exclusive(n)); + match(Set dummy (GetAndAddI mem incr)); + ins_cost(VOLATILE_REF_COST); + format %{ "get_and_addI_acq [$mem], $incr" %} + ins_encode %{ + __ atomic_addalw(noreg, $incr$$constant, as_Register($mem$$base)); + %} + ins_pipe(pipe_serial); +%} // Manifest a CmpL result in an integer register. // (src1 < src2) ? -1 : ((src1 > src2) ? 1 : 0) diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp openjdk-11-11.0.6+10/src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -839,6 +839,7 @@ __ sub(arr_size, arr_size, t1); // body length __ add(t1, t1, obj); // body start __ initialize_body(t1, arr_size, 0, t2); + __ membar(Assembler::StoreStore); __ verify_oop(obj); __ ret(lr); diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/aarch64/frame_aarch64.cpp openjdk-11-11.0.6+10/src/hotspot/cpu/aarch64/frame_aarch64.cpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/aarch64/frame_aarch64.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/aarch64/frame_aarch64.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -559,7 +559,7 @@ // validate constantPoolCache* ConstantPoolCache* cp = *interpreter_frame_cache_addr(); - if (cp == NULL || !cp->is_metaspace_object()) return false; + if (MetaspaceObj::is_valid(cp) == false) return false; // validate locals diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp openjdk-11-11.0.6+10/src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -285,8 +285,6 @@ //------------------------------------------------------------------- -address NativeMovRegMem::instruction_address() const { return addr_at(instruction_offset); } - int NativeMovRegMem::offset() const { address pc = instruction_address(); unsigned insn = *(unsigned*)pc; diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp openjdk-11-11.0.6+10/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -379,11 +379,11 @@ public: // helper - int instruction_start() const; + int instruction_start() const { return instruction_offset; } - address instruction_address() const; + address instruction_address() const { return addr_at(instruction_offset); } - address next_instruction_address() const; + int num_bytes_to_end_of_patch() const { return instruction_offset + instruction_size; } int offset() const; diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/arm/arm.ad openjdk-11-11.0.6+10/src/hotspot/cpu/arm/arm.ad --- openjdk-11-11.0.5+10/src/hotspot/cpu/arm/arm.ad 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/arm/arm.ad 2019-11-26 00:55:54.000000000 +0000 @@ -6901,6 +6901,14 @@ ins_pipe(empty); %} +instruct castLL( iRegL dst ) %{ + match(Set dst (CastLL dst)); + format %{ "! castLL of $dst" %} + ins_encode( /*empty encoding*/ ); + ins_cost(0); + ins_pipe(empty); +%} + //----------Arithmetic Instructions-------------------------------------------- // Addition Instructions // Register Addition diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp openjdk-11-11.0.6+10/src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -716,6 +716,7 @@ base_reg = Rtemp; __ str(from_lo, Address(Rtemp)); if (patch != NULL) { + __ nop(); // see comment before patching_epilog for 2nd str patching_epilog(patch, lir_patch_low, base_reg, info); patch = new PatchingStub(_masm, PatchingStub::access_field_id); patch_code = lir_patch_high; @@ -724,6 +725,7 @@ } else if (base_reg == from_lo) { __ str(from_hi, as_Address_hi(to_addr)); if (patch != NULL) { + __ nop(); // see comment before patching_epilog for 2nd str patching_epilog(patch, lir_patch_high, base_reg, info); patch = new PatchingStub(_masm, PatchingStub::access_field_id); patch_code = lir_patch_low; @@ -732,6 +734,7 @@ } else { __ str(from_lo, as_Address_lo(to_addr)); if (patch != NULL) { + __ nop(); // see comment before patching_epilog for 2nd str patching_epilog(patch, lir_patch_low, base_reg, info); patch = new PatchingStub(_masm, PatchingStub::access_field_id); patch_code = lir_patch_high; @@ -776,7 +779,7 @@ } if (patch != NULL) { - // Offset embeedded into LDR/STR instruction may appear not enough + // Offset embedded into LDR/STR instruction may appear not enough // to address a field. So, provide a space for one more instruction // that will deal with larger offsets. __ nop(); @@ -958,6 +961,7 @@ base_reg = Rtemp; __ ldr(to_lo, Address(Rtemp)); if (patch != NULL) { + __ nop(); // see comment before patching_epilog for 2nd ldr patching_epilog(patch, lir_patch_low, base_reg, info); patch = new PatchingStub(_masm, PatchingStub::access_field_id); patch_code = lir_patch_high; @@ -966,6 +970,7 @@ } else if (base_reg == to_lo) { __ ldr(to_hi, as_Address_hi(addr)); if (patch != NULL) { + __ nop(); // see comment before patching_epilog for 2nd ldr patching_epilog(patch, lir_patch_high, base_reg, info); patch = new PatchingStub(_masm, PatchingStub::access_field_id); patch_code = lir_patch_low; @@ -974,6 +979,7 @@ } else { __ ldr(to_lo, as_Address_lo(addr)); if (patch != NULL) { + __ nop(); // see comment before patching_epilog for 2nd ldr patching_epilog(patch, lir_patch_low, base_reg, info); patch = new PatchingStub(_masm, PatchingStub::access_field_id); patch_code = lir_patch_high; @@ -1014,7 +1020,7 @@ } if (patch != NULL) { - // Offset embeedded into LDR/STR instruction may appear not enough + // Offset embedded into LDR/STR instruction may appear not enough // to address a field. So, provide a space for one more instruction // that will deal with larger offsets. __ nop(); diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/arm/frame_arm.cpp openjdk-11-11.0.6+10/src/hotspot/cpu/arm/frame_arm.cpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/arm/frame_arm.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/arm/frame_arm.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -517,7 +517,7 @@ // validate ConstantPoolCache* ConstantPoolCache* cp = *interpreter_frame_cache_addr(); - if (cp == NULL || !cp->is_metaspace_object()) return false; + if (MetaspaceObj::is_valid(cp) == false) return false; // validate locals diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/arm/nativeInst_arm_32.hpp openjdk-11-11.0.6+10/src/hotspot/cpu/arm/nativeInst_arm_32.hpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/arm/nativeInst_arm_32.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/arm/nativeInst_arm_32.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -348,6 +348,11 @@ // (field access patching is handled differently in that case) class NativeMovRegMem: public NativeInstruction { public: + enum arm_specific_constants { + instruction_size = 8 + }; + + int num_bytes_to_end_of_patch() const { return instruction_size; } int offset() const; void set_offset(int x); diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/ppc/c2_globals_ppc.hpp openjdk-11-11.0.6+10/src/hotspot/cpu/ppc/c2_globals_ppc.hpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/ppc/c2_globals_ppc.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/ppc/c2_globals_ppc.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -82,9 +82,9 @@ define_pd_global(bool, IdealizeClearArrayNode, true); define_pd_global(uintx, InitialCodeCacheSize, 2048*K); // Integral multiple of CodeCacheExpansionSize -define_pd_global(uintx, ReservedCodeCacheSize, 256*M); -define_pd_global(uintx, NonProfiledCodeHeapSize, 125*M); -define_pd_global(uintx, ProfiledCodeHeapSize, 126*M); +define_pd_global(uintx, ReservedCodeCacheSize, 48*M); +define_pd_global(uintx, NonProfiledCodeHeapSize, 21*M); +define_pd_global(uintx, ProfiledCodeHeapSize, 22*M); define_pd_global(uintx, NonNMethodCodeHeapSize, 5*M ); define_pd_global(uintx, CodeCacheExpansionSize, 64*K); diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/ppc/nativeInst_ppc.hpp openjdk-11-11.0.6+10/src/hotspot/cpu/ppc/nativeInst_ppc.hpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/ppc/nativeInst_ppc.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/ppc/nativeInst_ppc.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -468,6 +468,8 @@ address instruction_address() const { return addr_at(0); } + int num_bytes_to_end_of_patch() const { return instruction_size; } + intptr_t offset() const { #ifdef VM_LITTLE_ENDIAN short *hi_ptr = (short*)(addr_at(0)); diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/ppc/ppc.ad openjdk-11-11.0.6+10/src/hotspot/cpu/ppc/ppc.ad --- openjdk-11-11.0.5+10/src/hotspot/cpu/ppc/ppc.ad 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/ppc/ppc.ad 2019-11-26 00:55:54.000000000 +0000 @@ -10821,6 +10821,14 @@ ins_pipe(pipe_class_default); %} +instruct castLL(iRegLdst dst) %{ + match(Set dst (CastLL dst)); + format %{ " -- \t// castLL of $dst" %} + size(0); + ins_encode( /*empty*/ ); + ins_pipe(pipe_class_default); +%} + instruct checkCastPP(iRegPdst dst) %{ match(Set dst (CheckCastPP dst)); format %{ " -- \t// checkcastPP of $dst" %} diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp openjdk-11-11.0.6+10/src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -592,10 +592,10 @@ __ load_const_optimized(R4_ARG2, (address) name, R11_scratch1); if (pass_oop) { __ mr(R5_ARG3, Rexception); - __ call_VM(Rexception, CAST_FROM_FN_PTR(address, InterpreterRuntime::create_klass_exception), false); + __ call_VM(Rexception, CAST_FROM_FN_PTR(address, InterpreterRuntime::create_klass_exception)); } else { __ load_const_optimized(R5_ARG3, (address) message, R11_scratch1); - __ call_VM(Rexception, CAST_FROM_FN_PTR(address, InterpreterRuntime::create_exception), false); + __ call_VM(Rexception, CAST_FROM_FN_PTR(address, InterpreterRuntime::create_exception)); } // Throw exception. @@ -2114,7 +2114,7 @@ // The member name argument must be restored if _invokestatic is re-executed after a PopFrame call. // Detect such a case in the InterpreterRuntime function and return the member name argument, or NULL. __ ld(R4_ARG2, 0, R18_locals); - __ MacroAssembler::call_VM(R4_ARG2, CAST_FROM_FN_PTR(address, InterpreterRuntime::member_name_arg_or_null), R4_ARG2, R19_method, R14_bcp, false); + __ call_VM(R4_ARG2, CAST_FROM_FN_PTR(address, InterpreterRuntime::member_name_arg_or_null), R4_ARG2, R19_method, R14_bcp); __ restore_interpreter_state(R11_scratch1, /*bcp_and_mdx_only*/ true); __ cmpdi(CCR0, R4_ARG2, 0); __ beq(CCR0, L_done); diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/ppc/vm_version_ppc.cpp openjdk-11-11.0.6+10/src/hotspot/cpu/ppc/vm_version_ppc.cpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/ppc/vm_version_ppc.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/ppc/vm_version_ppc.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1,6 +1,6 @@ /* - * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2018, SAP SE. All rights reserved. + * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2019 SAP SE. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -382,6 +382,50 @@ if (FLAG_IS_DEFAULT(UseUnalignedAccesses)) { FLAG_SET_DEFAULT(UseUnalignedAccesses, true); } + + check_virtualizations(); +} + +void VM_Version::check_virtualizations() { +#if defined(_AIX) + int rc = 0; + perfstat_partition_total_t pinfo; + rc = perfstat_partition_total(NULL, &pinfo, sizeof(perfstat_partition_total_t), 1); + if (rc == 1) { + Abstract_VM_Version::_detected_virtualization = PowerVM; + } +#else + const char* info_file = "/proc/ppc64/lparcfg"; + // system_type=...qemu indicates PowerKVM + // e.g. system_type=IBM pSeries (emulated by qemu) + char line[500]; + FILE* fp = fopen(info_file, "r"); + if (fp == NULL) { + return; + } + const char* system_type="system_type="; // in case this line contains qemu, it is KVM + const char* num_lpars="NumLpars="; // in case of non-KVM : if this line is found it is PowerVM + bool num_lpars_found = false; + + while (fgets(line, sizeof(line), fp) != NULL) { + if (strncmp(line, system_type, strlen(system_type)) == 0) { + if (strstr(line, "qemu") != 0) { + Abstract_VM_Version::_detected_virtualization = PowerKVM; + fclose(fp); + return; + } + } + if (strncmp(line, num_lpars, strlen(num_lpars)) == 0) { + num_lpars_found = true; + } + } + if (num_lpars_found) { + Abstract_VM_Version::_detected_virtualization = PowerVM; + } else { + Abstract_VM_Version::_detected_virtualization = PowerFullPartitionMode; + } + fclose(fp); +#endif } void VM_Version::print_platform_virtualization_info(outputStream* st) { diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/ppc/vm_version_ppc.hpp openjdk-11-11.0.6+10/src/hotspot/cpu/ppc/vm_version_ppc.hpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/ppc/vm_version_ppc.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/ppc/vm_version_ppc.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -1,6 +1,6 @@ /* * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012, 2018 SAP SE. All rights reserved. + * Copyright (c) 2012, 2019 SAP SE. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -87,6 +87,7 @@ public: // Initialization static void initialize(); + static void check_virtualizations(); // Override Abstract_VM_Version implementation static void print_platform_virtualization_info(outputStream*); diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp openjdk-11-11.0.6+10/src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/s390/c1_LIRAssembler_s390.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1,6 +1,6 @@ /* - * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2016, 2017, SAP SE. All rights reserved. + * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2019, SAP SE. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -1969,7 +1969,6 @@ return; } - Label done; // Save outgoing arguments in callee saved registers (C convention) in case // a call to System.arraycopy is needed. Register callee_saved_src = Z_R10; @@ -2141,7 +2140,7 @@ store_parameter(src_klass, 0); // sub store_parameter(dst_klass, 1); // super emit_call_c(Runtime1::entry_for (Runtime1::slow_subtype_check_id)); - CHECK_BAILOUT(); + CHECK_BAILOUT2(cont, slow); // Sets condition code 0 for match (2 otherwise). __ branch_optimized(Assembler::bcondEqual, cont); @@ -2200,7 +2199,7 @@ __ z_lg(Z_ARG5, Address(Z_ARG5, ObjArrayKlass::element_klass_offset())); __ z_lg(Z_ARG4, Address(Z_ARG5, Klass::super_check_offset_offset())); emit_call_c(copyfunc_addr); - CHECK_BAILOUT(); + CHECK_BAILOUT2(cont, slow); #ifndef PRODUCT if (PrintC1Statistics) { @@ -2555,7 +2554,7 @@ store_parameter(klass_RInfo, 0); // sub store_parameter(k_RInfo, 1); // super emit_call_c(a); // Sets condition code 0 for match (2 otherwise). - CHECK_BAILOUT(); + CHECK_BAILOUT2(profile_cast_failure, profile_cast_success); __ branch_optimized(Assembler::bcondNotEqual, *failure_target); // Fall through to success case. } @@ -2638,7 +2637,7 @@ store_parameter(klass_RInfo, 0); // sub store_parameter(k_RInfo, 1); // super emit_call_c(a); // Sets condition code 0 for match (2 otherwise). - CHECK_BAILOUT(); + CHECK_BAILOUT3(profile_cast_success, profile_cast_failure, done); __ branch_optimized(Assembler::bcondNotEqual, *failure_target); // Fall through to success case. diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/s390/interp_masm_s390.cpp openjdk-11-11.0.6+10/src/hotspot/cpu/s390/interp_masm_s390.cpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/s390/interp_masm_s390.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/s390/interp_masm_s390.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1059,8 +1059,7 @@ void InterpreterMacroAssembler::unlock_object(Register monitor, Register object) { if (UseHeavyMonitors) { - call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::monitorexit), - monitor, /*check_for_exceptions=*/ true); + call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::monitorexit), monitor); return; } @@ -1134,8 +1133,7 @@ // The lock has been converted into a heavy lock and hence // we need to get into the slow case. z_stg(object, obj_entry); // Restore object entry, has been cleared above. - call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::monitorexit), - monitor, /*check_for_exceptions=*/false); + call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::monitorexit), monitor); // } @@ -2082,7 +2080,7 @@ Label jvmti_post_done; MacroAssembler::load_and_test_int(Z_R0, Address(Z_thread, JavaThread::interp_only_mode_offset())); z_bre(jvmti_post_done); - call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_method_entry), /*check_exceptions=*/false); + call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_method_entry)); bind(jvmti_post_done); } } @@ -2116,7 +2114,7 @@ MacroAssembler::load_and_test_int(Z_R0, Address(Z_thread, JavaThread::interp_only_mode_offset())); z_bre(jvmti_post_done); if (!native_method) push(state); // see frame::interpreter_frame_result() - call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_method_exit), /*check_exceptions=*/false); + call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_method_exit)); if (!native_method) pop(state); bind(jvmti_post_done); } diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/s390/nativeInst_s390.hpp openjdk-11-11.0.6+10/src/hotspot/cpu/s390/nativeInst_s390.hpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/s390/nativeInst_s390.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/s390/nativeInst_s390.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -541,6 +541,12 @@ inline NativeMovRegMem* nativeMovRegMem_at (address address); class NativeMovRegMem: public NativeInstruction { public: + enum z_specific_constants { + instruction_size = 12 // load_const used with access_field_id + }; + + int num_bytes_to_end_of_patch() const { return instruction_size; } + intptr_t offset() const { return nativeMovConstReg_at(addr_at(0))->data(); } diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/s390/s390.ad openjdk-11-11.0.6+10/src/hotspot/cpu/s390/s390.ad --- openjdk-11-11.0.5+10/src/hotspot/cpu/s390/s390.ad 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/s390/s390.ad 2019-11-26 00:55:54.000000000 +0000 @@ -5371,6 +5371,14 @@ ins_pipe(pipe_class_dummy); %} +instruct castLL(iRegL dst) %{ + match(Set dst (CastLL dst)); + size(0); + format %{ "# castLL of $dst" %} + ins_encode(/*empty*/); + ins_pipe(pipe_class_dummy); +%} + //----------Conditional_store-------------------------------------------------- // Conditional-store of the updated heap-top. diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/sparc/frame_sparc.cpp openjdk-11-11.0.6+10/src/hotspot/cpu/sparc/frame_sparc.cpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/sparc/frame_sparc.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/sparc/frame_sparc.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -665,7 +665,7 @@ // validate ConstantPoolCache* ConstantPoolCache* cp = *interpreter_frame_cache_addr(); - if (cp == NULL || !cp->is_metaspace_object()) return false; + if (MetaspaceObj::is_valid(cp) == false) return false; // validate locals diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/sparc/nativeInst_sparc.cpp openjdk-11-11.0.6+10/src/hotspot/cpu/sparc/nativeInst_sparc.cpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/sparc/nativeInst_sparc.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/sparc/nativeInst_sparc.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -572,15 +572,6 @@ //------------------------------------------------------------------- -void NativeMovRegMem::copy_instruction_to(address new_instruction_address) { - Untested("copy_instruction_to"); - int instruction_size = next_instruction_address() - instruction_address(); - for (int i = 0; i < instruction_size; i += BytesPerInstWord) { - *(int*)(new_instruction_address + i) = *(int*)(address(this) + i); - } -} - - void NativeMovRegMem::verify() { NativeInstruction::verify(); // make sure code pattern is actually a "ld" or "st" of some sort. diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/sparc/nativeInst_sparc.hpp openjdk-11-11.0.6+10/src/hotspot/cpu/sparc/nativeInst_sparc.hpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/sparc/nativeInst_sparc.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/sparc/nativeInst_sparc.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -574,7 +574,8 @@ // sethi and the add. The nop is required to be in the delay slot of the call instruction // which overwrites the sethi during patching. class NativeMovConstRegPatching; -inline NativeMovConstRegPatching* nativeMovConstRegPatching_at(address address);class NativeMovConstRegPatching: public NativeInstruction { +inline NativeMovConstRegPatching* nativeMovConstRegPatching_at(address address); +class NativeMovConstRegPatching: public NativeInstruction { public: enum Sparc_specific_constants { sethi_offset = 0, @@ -662,10 +663,13 @@ return (is_op(i0, Assembler::ldst_op)); } - address instruction_address() const { return addr_at(0); } - address next_instruction_address() const { - return addr_at(is_immediate() ? 4 : (7 * BytesPerInstWord)); + address instruction_address() const { return addr_at(0); } + + int num_bytes_to_end_of_patch() const { + return is_immediate()? BytesPerInstWord : + NativeMovConstReg::instruction_size; } + intptr_t offset() const { return is_immediate()? inv_simm(long_at(0), offset_width) : nativeMovConstReg_at(addr_at(0))->data(); @@ -682,8 +686,6 @@ set_offset (offset() + radd_offset); } - void copy_instruction_to(address new_instruction_address); - void verify(); void print (); diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/sparc/sparc.ad openjdk-11-11.0.6+10/src/hotspot/cpu/sparc/sparc.ad --- openjdk-11-11.0.5+10/src/hotspot/cpu/sparc/sparc.ad 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/sparc/sparc.ad 2019-11-26 00:55:54.000000000 +0000 @@ -6812,6 +6812,14 @@ ins_pipe(empty); %} +instruct castLL( iRegL dst ) %{ + match(Set dst (CastLL dst)); + format %{ "# castLL of $dst" %} + ins_encode( /*empty encoding*/ ); + ins_cost(0); + ins_pipe(empty); +%} + //----------Arithmetic Instructions-------------------------------------------- // Addition Instructions // Register Addition diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/x86/frame_x86.cpp openjdk-11-11.0.6+10/src/hotspot/cpu/x86/frame_x86.cpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/x86/frame_x86.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/x86/frame_x86.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -546,7 +546,7 @@ // validate ConstantPoolCache* ConstantPoolCache* cp = *interpreter_frame_cache_addr(); - if (cp == NULL || !cp->is_metaspace_object()) return false; + if (MetaspaceObj::is_valid(cp) == false) return false; // validate locals diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/x86/globals_x86.hpp openjdk-11-11.0.6+10/src/hotspot/cpu/x86/globals_x86.hpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/x86/globals_x86.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/x86/globals_x86.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -216,5 +216,15 @@ "Use BMI2 instructions") \ \ diagnostic(bool, UseLibmIntrinsic, true, \ - "Use Libm Intrinsics") + "Use Libm Intrinsics") \ + \ + /* Minimum array size in bytes to use AVX512 intrinsics */ \ + /* for copy, inflate and fill which don't bail out early based on any */ \ + /* condition. When this value is set to zero compare operations like */ \ + /* compare, vectorizedMismatch, compress can also use AVX512 intrinsics.*/\ + diagnostic(int, AVX3Threshold, 4096, \ + "Minimum array size in bytes to use AVX512 intrinsics" \ + "for copy, inflate and fill. When this value is set as zero" \ + "compare operations can also use AVX512 intrinsics.") \ + range(0, max_jint) #endif // CPU_X86_VM_GLOBALS_X86_HPP diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/x86/macroAssembler_x86.cpp openjdk-11-11.0.6+10/src/hotspot/cpu/x86/macroAssembler_x86.cpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/x86/macroAssembler_x86.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/x86/macroAssembler_x86.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -6594,7 +6594,7 @@ bind(COMPARE_WIDE_VECTORS_LOOP); #ifdef _LP64 - if (VM_Version::supports_avx512vlbw()) { // trying 64 bytes fast loop + if ((AVX3Threshold == 0) && VM_Version::supports_avx512vlbw()) { // trying 64 bytes fast loop cmpl(cnt2, stride2x2); jccb(Assembler::below, COMPARE_WIDE_VECTORS_LOOP_AVX2); testl(cnt2, stride2x2-1); // cnt2 holds the vector count @@ -6854,7 +6854,7 @@ testl(len, len); jcc(Assembler::zero, FALSE_LABEL); - if ((UseAVX > 2) && // AVX512 + if ((AVX3Threshold == 0) && (UseAVX > 2) && // AVX512 VM_Version::supports_avx512vlbw() && VM_Version::supports_bmi2()) { @@ -6927,7 +6927,7 @@ } else { movl(result, len); // copy - if (UseAVX == 2 && UseSSE >= 2) { + if (UseAVX >= 2 && UseSSE >= 2) { // With AVX2, use 32-byte vector compare Label COMPARE_WIDE_VECTORS, COMPARE_TAIL; @@ -7100,14 +7100,12 @@ lea(ary2, Address(ary2, limit, Address::times_1)); negptr(limit); - bind(COMPARE_WIDE_VECTORS); - #ifdef _LP64 - if (VM_Version::supports_avx512vlbw()) { // trying 64 bytes fast loop + if ((AVX3Threshold == 0) && VM_Version::supports_avx512vlbw()) { // trying 64 bytes fast loop Label COMPARE_WIDE_VECTORS_LOOP_AVX2, COMPARE_WIDE_VECTORS_LOOP_AVX3; cmpl(limit, -64); - jccb(Assembler::greater, COMPARE_WIDE_VECTORS_LOOP_AVX2); + jcc(Assembler::greater, COMPARE_WIDE_VECTORS_LOOP_AVX2); bind(COMPARE_WIDE_VECTORS_LOOP_AVX3); // the hottest loop @@ -7140,7 +7138,7 @@ }//if (VM_Version::supports_avx512vlbw()) #endif //_LP64 - + bind(COMPARE_WIDE_VECTORS); vmovdqu(vec1, Address(ary1, limit, Address::times_1)); vmovdqu(vec2, Address(ary2, limit, Address::times_1)); vpxor(vec1, vec2); @@ -7364,32 +7362,33 @@ assert( UseSSE >= 2, "supported cpu only" ); Label L_fill_32_bytes_loop, L_check_fill_8_bytes, L_fill_8_bytes_loop, L_fill_8_bytes; movdl(xtmp, value); - if (UseAVX > 2 && UseUnalignedLoadStores) { - // Fill 64-byte chunks - Label L_fill_64_bytes_loop, L_check_fill_32_bytes; - vpbroadcastd(xtmp, xtmp, Assembler::AVX_512bit); - - subl(count, 16 << shift); - jcc(Assembler::less, L_check_fill_32_bytes); - align(16); - - BIND(L_fill_64_bytes_loop); - evmovdqul(Address(to, 0), xtmp, Assembler::AVX_512bit); - addptr(to, 64); - subl(count, 16 << shift); - jcc(Assembler::greaterEqual, L_fill_64_bytes_loop); + if (UseAVX >= 2 && UseUnalignedLoadStores) { + Label L_check_fill_32_bytes; + if (UseAVX > 2) { + // Fill 64-byte chunks + Label L_fill_64_bytes_loop_avx3, L_check_fill_64_bytes_avx2; + + // If number of bytes to fill < AVX3Threshold, perform fill using AVX2 + cmpl(count, AVX3Threshold); + jccb(Assembler::below, L_check_fill_64_bytes_avx2); + + vpbroadcastd(xtmp, xtmp, Assembler::AVX_512bit); + + subl(count, 16 << shift); + jccb(Assembler::less, L_check_fill_32_bytes); + align(16); + + BIND(L_fill_64_bytes_loop_avx3); + evmovdqul(Address(to, 0), xtmp, Assembler::AVX_512bit); + addptr(to, 64); + subl(count, 16 << shift); + jcc(Assembler::greaterEqual, L_fill_64_bytes_loop_avx3); + jmpb(L_check_fill_32_bytes); - BIND(L_check_fill_32_bytes); - addl(count, 8 << shift); - jccb(Assembler::less, L_check_fill_8_bytes); - vmovdqu(Address(to, 0), xtmp); - addptr(to, 32); - subl(count, 8 << shift); - - BIND(L_check_fill_8_bytes); - } else if (UseAVX == 2 && UseUnalignedLoadStores) { + BIND(L_check_fill_64_bytes_avx2); + } // Fill 64-byte chunks - Label L_fill_64_bytes_loop, L_check_fill_32_bytes; + Label L_fill_64_bytes_loop; vpbroadcastd(xtmp, xtmp, Assembler::AVX_256bit); subl(count, 16 << shift); @@ -8103,10 +8102,11 @@ shlq(length); xorq(result, result); - if ((UseAVX > 2) && + if ((AVX3Threshold == 0) && (UseAVX > 2) && VM_Version::supports_avx512vlbw()) { cmpq(length, 64); jcc(Assembler::less, VECTOR32_TAIL); + movq(tmp1, length); andq(tmp1, 0x3F); // tail count andq(length, ~(0x3F)); //vector count @@ -9562,7 +9562,7 @@ // save length for return push(len); - if ((UseAVX > 2) && // AVX512 + if ((AVX3Threshold == 0) && (UseAVX > 2) && // AVX512 VM_Version::supports_avx512vlbw() && VM_Version::supports_bmi2()) { @@ -9754,7 +9754,7 @@ // } void MacroAssembler::byte_array_inflate(Register src, Register dst, Register len, XMMRegister tmp1, Register tmp2) { - Label copy_chars_loop, done, below_threshold; + Label copy_chars_loop, done, below_threshold, avx3_threshold; // rsi: src // rdi: dst // rdx: len @@ -9764,7 +9764,7 @@ // rdi holds start addr of destination char[] // rdx holds length assert_different_registers(src, dst, len, tmp2); - + movl(tmp2, len); if ((UseAVX > 2) && // AVX512 VM_Version::supports_avx512vlbw() && VM_Version::supports_bmi2()) { @@ -9776,9 +9776,11 @@ testl(len, -16); jcc(Assembler::zero, below_threshold); + testl(len, -1 * AVX3Threshold); + jcc(Assembler::zero, avx3_threshold); + // In order to use only one arithmetic operation for the main loop we use // this pre-calculation - movl(tmp2, len); andl(tmp2, (32 - 1)); // tail count (in chars), 32 element wide loop andl(len, -32); // vector count jccb(Assembler::zero, copy_tail); @@ -9809,12 +9811,11 @@ evmovdquw(Address(dst, 0), k2, tmp1, Assembler::AVX_512bit); jmp(done); + bind(avx3_threshold); } if (UseSSE42Intrinsics) { Label copy_16_loop, copy_8_loop, copy_bytes, copy_new_tail, copy_tail; - movl(tmp2, len); - if (UseAVX > 1) { andl(tmp2, (16 - 1)); andl(len, -16); @@ -9839,13 +9840,7 @@ bind(below_threshold); bind(copy_new_tail); - if ((UseAVX > 2) && - VM_Version::supports_avx512vlbw() && - VM_Version::supports_bmi2()) { - movl(tmp2, len); - } else { - movl(len, tmp2); - } + movl(len, tmp2); andl(tmp2, 0x00000007); andl(len, 0xFFFFFFF8); jccb(Assembler::zero, copy_tail); diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/x86/nativeInst_x86.cpp openjdk-11-11.0.6+10/src/hotspot/cpu/x86/nativeInst_x86.cpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/x86/nativeInst_x86.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/x86/nativeInst_x86.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -409,72 +409,7 @@ return off; } -address NativeMovRegMem::instruction_address() const { - return addr_at(instruction_start()); -} - -address NativeMovRegMem::next_instruction_address() const { - address ret = instruction_address() + instruction_size; - u_char instr_0 = *(u_char*) instruction_address(); - switch (instr_0) { - case instruction_operandsize_prefix: - - fatal("should have skipped instruction_operandsize_prefix"); - break; - - case instruction_extended_prefix: - fatal("should have skipped instruction_extended_prefix"); - break; - - case instruction_code_mem2reg_movslq: // 0x63 - case instruction_code_mem2reg_movzxb: // 0xB6 - case instruction_code_mem2reg_movsxb: // 0xBE - case instruction_code_mem2reg_movzxw: // 0xB7 - case instruction_code_mem2reg_movsxw: // 0xBF - case instruction_code_reg2mem: // 0x89 (q/l) - case instruction_code_mem2reg: // 0x8B (q/l) - case instruction_code_reg2memb: // 0x88 - case instruction_code_mem2regb: // 0x8a - - case instruction_code_lea: // 0x8d - - case instruction_code_float_s: // 0xd9 fld_s a - case instruction_code_float_d: // 0xdd fld_d a - - case instruction_code_xmm_load: // 0x10 - case instruction_code_xmm_store: // 0x11 - case instruction_code_xmm_lpd: // 0x12 - { - // If there is an SIB then instruction is longer than expected - u_char mod_rm = *(u_char*)(instruction_address() + 1); - if ((mod_rm & 7) == 0x4) { - ret++; - } - } - case instruction_code_xor: - fatal("should have skipped xor lead in"); - break; - - default: - fatal("not a NativeMovRegMem"); - } - return ret; - -} - -int NativeMovRegMem::offset() const{ - int off = data_offset + instruction_start(); - u_char mod_rm = *(u_char*)(instruction_address() + 1); - // nnnn(r12|rsp) isn't coded as simple mod/rm since that is - // the encoding to use an SIB byte. Which will have the nnnn - // field off by one byte - if ((mod_rm & 7) == 0x4) { - off++; - } - return int_at(off); -} - -void NativeMovRegMem::set_offset(int x) { +int NativeMovRegMem::patch_offset() const { int off = data_offset + instruction_start(); u_char mod_rm = *(u_char*)(instruction_address() + 1); // nnnn(r12|rsp) isn't coded as simple mod/rm since that is @@ -483,7 +418,7 @@ if ((mod_rm & 7) == 0x4) { off++; } - set_int_at(off, x); + return off; } void NativeMovRegMem::verify() { diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/x86/nativeInst_x86.hpp openjdk-11-11.0.6+10/src/hotspot/cpu/x86/nativeInst_x86.hpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/x86/nativeInst_x86.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/x86/nativeInst_x86.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -360,7 +360,6 @@ instruction_VEX_prefix_3bytes = Assembler::VEX_3bytes, instruction_EVEX_prefix_4bytes = Assembler::EVEX_4bytes, - instruction_size = 4, instruction_offset = 0, data_offset = 2, next_instruction_offset = 4 @@ -369,15 +368,26 @@ // helper int instruction_start() const; - address instruction_address() const; - - address next_instruction_address() const; - - int offset() const; - - void set_offset(int x); - - void add_offset_in_bytes(int add_offset) { set_offset ( ( offset() + add_offset ) ); } + address instruction_address() const { + return addr_at(instruction_start()); + } + + int num_bytes_to_end_of_patch() const { + return patch_offset() + sizeof(jint); + } + + int offset() const { + return int_at(patch_offset()); + } + + void set_offset(int x) { + set_int_at(patch_offset(), x); + } + + void add_offset_in_bytes(int add_offset) { + int patch_off = patch_offset(); + set_int_at(patch_off, int_at(patch_off) + add_offset); + } void verify(); void print (); @@ -386,6 +396,7 @@ static void test() {} private: + int patch_offset() const; inline friend NativeMovRegMem* nativeMovRegMem_at (address address); }; diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/x86/stubGenerator_x86_64.cpp openjdk-11-11.0.6+10/src/hotspot/cpu/x86/stubGenerator_x86_64.cpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/x86/stubGenerator_x86_64.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/x86/stubGenerator_x86_64.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1219,30 +1219,58 @@ if (UseUnalignedLoadStores) { Label L_end; // Copy 64-bytes per iteration - __ BIND(L_loop); if (UseAVX > 2) { + Label L_loop_avx512, L_loop_avx2, L_32_byte_head, L_above_threshold, L_below_threshold; + + __ BIND(L_copy_bytes); + __ cmpptr(qword_count, (-1 * AVX3Threshold / 8)); + __ jccb(Assembler::less, L_above_threshold); + __ jmpb(L_below_threshold); + + __ bind(L_loop_avx512); __ evmovdqul(xmm0, Address(end_from, qword_count, Address::times_8, -56), Assembler::AVX_512bit); __ evmovdqul(Address(end_to, qword_count, Address::times_8, -56), xmm0, Assembler::AVX_512bit); - } else if (UseAVX == 2) { + __ bind(L_above_threshold); + __ addptr(qword_count, 8); + __ jcc(Assembler::lessEqual, L_loop_avx512); + __ jmpb(L_32_byte_head); + + __ bind(L_loop_avx2); __ vmovdqu(xmm0, Address(end_from, qword_count, Address::times_8, -56)); __ vmovdqu(Address(end_to, qword_count, Address::times_8, -56), xmm0); __ vmovdqu(xmm1, Address(end_from, qword_count, Address::times_8, -24)); __ vmovdqu(Address(end_to, qword_count, Address::times_8, -24), xmm1); + __ bind(L_below_threshold); + __ addptr(qword_count, 8); + __ jcc(Assembler::lessEqual, L_loop_avx2); + + __ bind(L_32_byte_head); + __ subptr(qword_count, 4); // sub(8) and add(4) + __ jccb(Assembler::greater, L_end); } else { - __ movdqu(xmm0, Address(end_from, qword_count, Address::times_8, -56)); - __ movdqu(Address(end_to, qword_count, Address::times_8, -56), xmm0); - __ movdqu(xmm1, Address(end_from, qword_count, Address::times_8, -40)); - __ movdqu(Address(end_to, qword_count, Address::times_8, -40), xmm1); - __ movdqu(xmm2, Address(end_from, qword_count, Address::times_8, -24)); - __ movdqu(Address(end_to, qword_count, Address::times_8, -24), xmm2); - __ movdqu(xmm3, Address(end_from, qword_count, Address::times_8, - 8)); - __ movdqu(Address(end_to, qword_count, Address::times_8, - 8), xmm3); + __ BIND(L_loop); + if (UseAVX == 2) { + __ vmovdqu(xmm0, Address(end_from, qword_count, Address::times_8, -56)); + __ vmovdqu(Address(end_to, qword_count, Address::times_8, -56), xmm0); + __ vmovdqu(xmm1, Address(end_from, qword_count, Address::times_8, -24)); + __ vmovdqu(Address(end_to, qword_count, Address::times_8, -24), xmm1); + } else { + __ movdqu(xmm0, Address(end_from, qword_count, Address::times_8, -56)); + __ movdqu(Address(end_to, qword_count, Address::times_8, -56), xmm0); + __ movdqu(xmm1, Address(end_from, qword_count, Address::times_8, -40)); + __ movdqu(Address(end_to, qword_count, Address::times_8, -40), xmm1); + __ movdqu(xmm2, Address(end_from, qword_count, Address::times_8, -24)); + __ movdqu(Address(end_to, qword_count, Address::times_8, -24), xmm2); + __ movdqu(xmm3, Address(end_from, qword_count, Address::times_8, - 8)); + __ movdqu(Address(end_to, qword_count, Address::times_8, - 8), xmm3); + } + + __ BIND(L_copy_bytes); + __ addptr(qword_count, 8); + __ jcc(Assembler::lessEqual, L_loop); + __ subptr(qword_count, 4); // sub(8) and add(4) + __ jccb(Assembler::greater, L_end); } - __ BIND(L_copy_bytes); - __ addptr(qword_count, 8); - __ jcc(Assembler::lessEqual, L_loop); - __ subptr(qword_count, 4); // sub(8) and add(4) - __ jccb(Assembler::greater, L_end); // Copy trailing 32 bytes if (UseAVX >= 2) { __ vmovdqu(xmm0, Address(end_from, qword_count, Address::times_8, -24)); @@ -1299,31 +1327,59 @@ if (UseUnalignedLoadStores) { Label L_end; // Copy 64-bytes per iteration - __ BIND(L_loop); if (UseAVX > 2) { + Label L_loop_avx512, L_loop_avx2, L_32_byte_head, L_above_threshold, L_below_threshold; + + __ BIND(L_copy_bytes); + __ cmpptr(qword_count, (AVX3Threshold / 8)); + __ jccb(Assembler::greater, L_above_threshold); + __ jmpb(L_below_threshold); + + __ BIND(L_loop_avx512); __ evmovdqul(xmm0, Address(from, qword_count, Address::times_8, 0), Assembler::AVX_512bit); __ evmovdqul(Address(dest, qword_count, Address::times_8, 0), xmm0, Assembler::AVX_512bit); - } else if (UseAVX == 2) { + __ bind(L_above_threshold); + __ subptr(qword_count, 8); + __ jcc(Assembler::greaterEqual, L_loop_avx512); + __ jmpb(L_32_byte_head); + + __ bind(L_loop_avx2); __ vmovdqu(xmm0, Address(from, qword_count, Address::times_8, 32)); __ vmovdqu(Address(dest, qword_count, Address::times_8, 32), xmm0); - __ vmovdqu(xmm1, Address(from, qword_count, Address::times_8, 0)); - __ vmovdqu(Address(dest, qword_count, Address::times_8, 0), xmm1); + __ vmovdqu(xmm1, Address(from, qword_count, Address::times_8, 0)); + __ vmovdqu(Address(dest, qword_count, Address::times_8, 0), xmm1); + __ bind(L_below_threshold); + __ subptr(qword_count, 8); + __ jcc(Assembler::greaterEqual, L_loop_avx2); + + __ bind(L_32_byte_head); + __ addptr(qword_count, 4); // add(8) and sub(4) + __ jccb(Assembler::less, L_end); } else { - __ movdqu(xmm0, Address(from, qword_count, Address::times_8, 48)); - __ movdqu(Address(dest, qword_count, Address::times_8, 48), xmm0); - __ movdqu(xmm1, Address(from, qword_count, Address::times_8, 32)); - __ movdqu(Address(dest, qword_count, Address::times_8, 32), xmm1); - __ movdqu(xmm2, Address(from, qword_count, Address::times_8, 16)); - __ movdqu(Address(dest, qword_count, Address::times_8, 16), xmm2); - __ movdqu(xmm3, Address(from, qword_count, Address::times_8, 0)); - __ movdqu(Address(dest, qword_count, Address::times_8, 0), xmm3); - } - __ BIND(L_copy_bytes); - __ subptr(qword_count, 8); - __ jcc(Assembler::greaterEqual, L_loop); + __ BIND(L_loop); + if (UseAVX == 2) { + __ vmovdqu(xmm0, Address(from, qword_count, Address::times_8, 32)); + __ vmovdqu(Address(dest, qword_count, Address::times_8, 32), xmm0); + __ vmovdqu(xmm1, Address(from, qword_count, Address::times_8, 0)); + __ vmovdqu(Address(dest, qword_count, Address::times_8, 0), xmm1); + } else { + __ movdqu(xmm0, Address(from, qword_count, Address::times_8, 48)); + __ movdqu(Address(dest, qword_count, Address::times_8, 48), xmm0); + __ movdqu(xmm1, Address(from, qword_count, Address::times_8, 32)); + __ movdqu(Address(dest, qword_count, Address::times_8, 32), xmm1); + __ movdqu(xmm2, Address(from, qword_count, Address::times_8, 16)); + __ movdqu(Address(dest, qword_count, Address::times_8, 16), xmm2); + __ movdqu(xmm3, Address(from, qword_count, Address::times_8, 0)); + __ movdqu(Address(dest, qword_count, Address::times_8, 0), xmm3); + } - __ addptr(qword_count, 4); // add(8) and sub(4) - __ jccb(Assembler::less, L_end); + __ BIND(L_copy_bytes); + __ subptr(qword_count, 8); + __ jcc(Assembler::greaterEqual, L_loop); + + __ addptr(qword_count, 4); // add(8) and sub(4) + __ jccb(Assembler::less, L_end); + } // Copy trailing 32 bytes if (UseAVX >= 2) { __ vmovdqu(xmm0, Address(from, qword_count, Address::times_8, 0)); diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/x86/vm_version_x86.cpp openjdk-11-11.0.6+10/src/hotspot/cpu/x86/vm_version_x86.cpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/x86/vm_version_x86.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/x86/vm_version_x86.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -380,6 +380,10 @@ __ cmpl(rax, 0xE0); __ jccb(Assembler::notEqual, legacy_setup); // jump if EVEX is not supported + __ lea(rsi, Address(rbp, in_bytes(VM_Version::std_cpuid1_offset()))); + __ movl(rax, Address(rsi, 0)); + __ cmpl(rax, 0x50654); // If it is Skylake + __ jcc(Assembler::equal, legacy_setup); // If UseAVX is unitialized or is set by the user to include EVEX if (use_evex) { // EVEX setup: run in lowest evex mode @@ -464,6 +468,11 @@ __ cmpl(rax, 0xE0); __ jcc(Assembler::notEqual, legacy_save_restore); + __ lea(rsi, Address(rbp, in_bytes(VM_Version::std_cpuid1_offset()))); + __ movl(rax, Address(rsi, 0)); + __ cmpl(rax, 0x50654); // If it is Skylake + __ jcc(Assembler::equal, legacy_save_restore); + // If UseAVX is unitialized or is set by the user to include EVEX if (use_evex) { // EVEX check: run in lowest evex mode @@ -649,6 +658,9 @@ } if (FLAG_IS_DEFAULT(UseAVX)) { FLAG_SET_DEFAULT(UseAVX, use_avx_limit); + if (is_intel_family_core() && _model == CPU_MODEL_SKYLAKE && _stepping < 5) { + FLAG_SET_DEFAULT(UseAVX, 2); //Set UseAVX=2 for Skylake + } } else if (UseAVX > use_avx_limit) { warning("UseAVX=%d is not supported on this CPU, setting it to UseAVX=%d", (int) UseAVX, use_avx_limit); FLAG_SET_DEFAULT(UseAVX, use_avx_limit); @@ -902,6 +914,13 @@ FLAG_SET_DEFAULT(UseSHA256Intrinsics, false); } + if (!FLAG_IS_DEFAULT(AVX3Threshold)) { + if (!is_power_of_2(AVX3Threshold)) { + warning("AVX3Threshold must be a power of 2"); + FLAG_SET_DEFAULT(AVX3Threshold, 4096); + } + } + #ifdef _LP64 // These are only supported on 64-bit if (UseSHA && supports_avx2() && supports_bmi2()) { diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/x86/vm_version_x86.hpp openjdk-11-11.0.6+10/src/hotspot/cpu/x86/vm_version_x86.hpp --- openjdk-11-11.0.5+10/src/hotspot/cpu/x86/vm_version_x86.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/x86/vm_version_x86.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -357,7 +357,7 @@ CPU_MODEL_HASWELL_E3 = 0x3c, CPU_MODEL_HASWELL_E7 = 0x3f, CPU_MODEL_BROADWELL = 0x3d, - CPU_MODEL_SKYLAKE = CPU_MODEL_HASWELL_E3 + CPU_MODEL_SKYLAKE = 0x55 }; // cpuid information block. All info derived from executing cpuid with diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/x86/x86.ad openjdk-11-11.0.6+10/src/hotspot/cpu/x86/x86.ad --- openjdk-11-11.0.5+10/src/hotspot/cpu/x86/x86.ad 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/x86/x86.ad 2019-11-26 00:55:54.000000000 +0000 @@ -3696,7 +3696,7 @@ %} instruct Repl2F_zero(vecD dst, immF0 zero) %{ - predicate(n->as_Vector()->length() == 2 && UseAVX < 3); + predicate(n->as_Vector()->length() == 2); match(Set dst (ReplicateF zero)); format %{ "xorps $dst,$dst\t! replicate2F zero" %} ins_encode %{ @@ -3706,7 +3706,7 @@ %} instruct Repl4F_zero(vecX dst, immF0 zero) %{ - predicate(n->as_Vector()->length() == 4 && UseAVX < 3); + predicate(n->as_Vector()->length() == 4); match(Set dst (ReplicateF zero)); format %{ "xorps $dst,$dst\t! replicate4F zero" %} ins_encode %{ @@ -3716,7 +3716,7 @@ %} instruct Repl8F_zero(vecY dst, immF0 zero) %{ - predicate(n->as_Vector()->length() == 8 && UseAVX < 3); + predicate(n->as_Vector()->length() == 8 && UseAVX > 0); match(Set dst (ReplicateF zero)); format %{ "vxorps $dst,$dst,$dst\t! replicate8F zero" %} ins_encode %{ @@ -3790,7 +3790,7 @@ // Replicate double (8 byte) scalar zero to be vector instruct Repl2D_zero(vecX dst, immD0 zero) %{ - predicate(n->as_Vector()->length() == 2 && UseAVX < 3); + predicate(n->as_Vector()->length() == 2); match(Set dst (ReplicateD zero)); format %{ "xorpd $dst,$dst\t! replicate2D zero" %} ins_encode %{ @@ -3800,7 +3800,7 @@ %} instruct Repl4D_zero(vecY dst, immD0 zero) %{ - predicate(n->as_Vector()->length() == 4 && UseAVX < 3); + predicate(n->as_Vector()->length() == 4 && UseAVX > 0); match(Set dst (ReplicateD zero)); format %{ "vxorpd $dst,$dst,$dst,vect256\t! replicate4D zero" %} ins_encode %{ @@ -4725,42 +4725,6 @@ ins_pipe( pipe_slow ); %} -instruct Repl2F_zero_evex(vecD dst, immF0 zero) %{ - predicate(n->as_Vector()->length() == 2 && UseAVX > 2); - match(Set dst (ReplicateF zero)); - format %{ "vpxor $dst k0,$dst,$dst\t! replicate2F zero" %} - ins_encode %{ - // Use vpxor in place of vxorps since EVEX has a constriant on dq for vxorps: this is a 512-bit operation - int vector_len = 2; - __ vpxor($dst$$XMMRegister,$dst$$XMMRegister, $dst$$XMMRegister, vector_len); - %} - ins_pipe( fpu_reg_reg ); -%} - -instruct Repl4F_zero_evex(vecX dst, immF0 zero) %{ - predicate(n->as_Vector()->length() == 4 && UseAVX > 2); - match(Set dst (ReplicateF zero)); - format %{ "vpxor $dst k0,$dst,$dst\t! replicate4F zero" %} - ins_encode %{ - // Use vpxor in place of vxorps since EVEX has a constriant on dq for vxorps: this is a 512-bit operation - int vector_len = 2; - __ vpxor($dst$$XMMRegister,$dst$$XMMRegister, $dst$$XMMRegister, vector_len); - %} - ins_pipe( fpu_reg_reg ); -%} - -instruct Repl8F_zero_evex(vecY dst, immF0 zero) %{ - predicate(n->as_Vector()->length() == 8 && UseAVX > 2); - match(Set dst (ReplicateF zero)); - format %{ "vpxor $dst k0,$dst,$dst\t! replicate8F zero" %} - ins_encode %{ - // Use vpxor in place of vxorps since EVEX has a constriant on dq for vxorps: this is a 512-bit operation - int vector_len = 2; - __ vpxor($dst$$XMMRegister,$dst$$XMMRegister, $dst$$XMMRegister, vector_len); - %} - ins_pipe( fpu_reg_reg ); -%} - instruct Repl16F_zero_evex(vecZ dst, immF0 zero) %{ predicate(n->as_Vector()->length() == 16 && UseAVX > 2); match(Set dst (ReplicateF zero)); @@ -4817,30 +4781,6 @@ ins_pipe( pipe_slow ); %} -instruct Repl2D_zero_evex(vecX dst, immD0 zero) %{ - predicate(n->as_Vector()->length() == 2 && UseAVX > 2); - match(Set dst (ReplicateD zero)); - format %{ "vpxor $dst k0,$dst,$dst\t! replicate2D zero" %} - ins_encode %{ - // Use vpxor in place of vxorpd since EVEX has a constriant on dq for vxorpd: this is a 512-bit operation - int vector_len = 2; - __ vpxor($dst$$XMMRegister,$dst$$XMMRegister, $dst$$XMMRegister, vector_len); - %} - ins_pipe( fpu_reg_reg ); -%} - -instruct Repl4D_zero_evex(vecY dst, immD0 zero) %{ - predicate(n->as_Vector()->length() == 4 && UseAVX > 2); - match(Set dst (ReplicateD zero)); - format %{ "vpxor $dst k0,$dst,$dst\t! replicate4D zero" %} - ins_encode %{ - // Use vpxor in place of vxorpd since EVEX has a constriant on dq for vxorpd: this is a 512-bit operation - int vector_len = 2; - __ vpxor($dst$$XMMRegister,$dst$$XMMRegister, $dst$$XMMRegister, vector_len); - %} - ins_pipe( fpu_reg_reg ); -%} - instruct Repl8D_zero_evex(vecZ dst, immD0 zero) %{ predicate(n->as_Vector()->length() == 8 && UseAVX > 2); match(Set dst (ReplicateD zero)); diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/x86/x86_32.ad openjdk-11-11.0.6+10/src/hotspot/cpu/x86/x86_32.ad --- openjdk-11-11.0.5+10/src/hotspot/cpu/x86/x86_32.ad 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/x86/x86_32.ad 2019-11-26 00:55:54.000000000 +0000 @@ -7324,6 +7324,14 @@ ins_pipe( empty ); %} +instruct castLL( eRegL dst ) %{ + match(Set dst (CastLL dst)); + format %{ "#castLL of $dst" %} + ins_encode( /*empty encoding*/ ); + ins_cost(0); + ins_pipe( empty ); +%} + // Load-locked - same as a regular pointer load when used with compare-swap instruct loadPLocked(eRegP dst, memory mem) %{ diff -Nru openjdk-11-11.0.5+10/src/hotspot/cpu/x86/x86_64.ad openjdk-11-11.0.6+10/src/hotspot/cpu/x86/x86_64.ad --- openjdk-11-11.0.5+10/src/hotspot/cpu/x86/x86_64.ad 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/cpu/x86/x86_64.ad 2019-11-26 00:55:54.000000000 +0000 @@ -7489,6 +7489,17 @@ ins_pipe(empty); %} +instruct castLL(rRegL dst) +%{ + match(Set dst (CastLL dst)); + + size(0); + format %{ "# castLL of $dst" %} + ins_encode(/* empty encoding */); + ins_cost(0); + ins_pipe(empty); +%} + // LoadP-locked same as a regular LoadP when used with compare-swap instruct loadPLocked(rRegP dst, memory mem) %{ diff -Nru openjdk-11-11.0.5+10/src/hotspot/os/aix/os_aix.cpp openjdk-11-11.0.6+10/src/hotspot/os/aix/os_aix.cpp --- openjdk-11-11.0.5+10/src/hotspot/os/aix/os_aix.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/os/aix/os_aix.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -132,18 +132,6 @@ #define ERROR_MP_VMGETINFO_CLAIMS_NO_SUPPORT_FOR_64K 103 // excerpts from systemcfg.h that might be missing on older os levels -#ifndef PV_5_Compat - #define PV_5_Compat 0x0F8000 /* Power PC 5 */ -#endif -#ifndef PV_6 - #define PV_6 0x100000 /* Power PC 6 */ -#endif -#ifndef PV_6_1 - #define PV_6_1 0x100001 /* Power PC 6 DD1.x */ -#endif -#ifndef PV_6_Compat - #define PV_6_Compat 0x108000 /* Power PC 6 */ -#endif #ifndef PV_7 #define PV_7 0x200000 /* Power PC 7 */ #endif @@ -156,6 +144,13 @@ #ifndef PV_8_Compat #define PV_8_Compat 0x308000 /* Power PC 8 */ #endif +#ifndef PV_9 + #define PV_9 0x400000 /* Power PC 9 */ +#endif +#ifndef PV_9_Compat + #define PV_9_Compat 0x408000 /* Power PC 9 */ +#endif + static address resolve_function_descriptor_to_code_pointer(address p); @@ -1021,17 +1016,15 @@ // Time since start-up in seconds to a fine granularity. // Used by VMSelfDestructTimer and the MemProfiler. double os::elapsedTime() { - return (double)(os::elapsed_counter()) * 0.000001; + return ((double)os::elapsed_counter()) / os::elapsed_frequency(); // nanosecond resolution } jlong os::elapsed_counter() { - timeval time; - int status = gettimeofday(&time, NULL); - return jlong(time.tv_sec) * 1000 * 1000 + jlong(time.tv_usec) - initial_time_count; + return javaTimeNanos() - initial_time_count; } jlong os::elapsed_frequency() { - return (1000 * 1000); + return NANOSECS_PER_SEC; // nanosecond resolution } bool os::supports_vtime() { return true; } @@ -1316,6 +1309,8 @@ // for the same architecture as Hotspot is running on. void *os::dll_load(const char *filename, char *ebuf, int ebuflen) { + log_info(os)("attempting shared library load of %s", filename); + if (ebuf && ebuflen > 0) { ebuf[0] = '\0'; ebuf[ebuflen - 1] = '\0'; @@ -1329,16 +1324,23 @@ // RTLD_LAZY is currently not implemented. The dl is loaded immediately with all its dependants. void * result= ::dlopen(filename, RTLD_LAZY); if (result != NULL) { + Events::log(NULL, "Loaded shared library %s", filename); // Reload dll cache. Don't do this in signal handling. LoadedLibraries::reload(); + log_info(os)("shared library load of %s was successful", filename); return result; } else { // error analysis when dlopen fails - const char* const error_report = ::dlerror(); - if (error_report && ebuf && ebuflen > 0) { + const char* error_report = ::dlerror(); + if (error_report == NULL) { + error_report = "dlerror returned no error description"; + } + if (ebuf != NULL && ebuflen > 0) { snprintf(ebuf, ebuflen - 1, "%s, LIBPATH=%s, LD_LIBRARY_PATH=%s : %s", filename, ::getenv("LIBPATH"), ::getenv("LD_LIBRARY_PATH"), error_report); } + Events::log(NULL, "Loading shared library %s failed, %s", filename, error_report); + log_info(os)("shared library load of %s failed, %s", filename, error_report); } return NULL; } @@ -1500,6 +1502,9 @@ void os::get_summary_cpu_info(char* buf, size_t buflen) { // read _system_configuration.version switch (_system_configuration.version) { + case PV_9: + strncpy(buf, "Power PC 9", buflen); + break; case PV_8: strncpy(buf, "Power PC 8", buflen); break; @@ -1533,6 +1538,9 @@ case PV_8_Compat: strncpy(buf, "PV_8_Compat", buflen); break; + case PV_9_Compat: + strncpy(buf, "PV_9_Compat", buflen); + break; default: strncpy(buf, "unknown", buflen); } @@ -3530,7 +3538,7 @@ // _main_thread points to the thread that created/loaded the JVM. Aix::_main_thread = pthread_self(); - initial_time_count = os::elapsed_counter(); + initial_time_count = javaTimeNanos(); os::Posix::init(); } @@ -4050,7 +4058,7 @@ void os::pause() { char filename[MAX_PATH]; if (PauseAtStartupFile && PauseAtStartupFile[0]) { - jio_snprintf(filename, MAX_PATH, PauseAtStartupFile); + jio_snprintf(filename, MAX_PATH, "%s", PauseAtStartupFile); } else { jio_snprintf(filename, MAX_PATH, "./vm.paused.%d", current_process_id()); } diff -Nru openjdk-11-11.0.5+10/src/hotspot/os/aix/perfMemory_aix.cpp openjdk-11-11.0.6+10/src/hotspot/os/aix/perfMemory_aix.cpp --- openjdk-11-11.0.5+10/src/hotspot/os/aix/perfMemory_aix.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/os/aix/perfMemory_aix.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1111,7 +1111,7 @@ if ((statbuf.st_size == 0) || ((size_t)statbuf.st_size % os::vm_page_size() != 0)) { - THROW_MSG_0(vmSymbols::java_lang_Exception(), + THROW_MSG_0(vmSymbols::java_io_IOException(), "Invalid PerfMemory size"); } diff -Nru openjdk-11-11.0.5+10/src/hotspot/os/bsd/os_bsd.cpp openjdk-11-11.0.6+10/src/hotspot/os/bsd/os_bsd.cpp --- openjdk-11-11.0.5+10/src/hotspot/os/bsd/os_bsd.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/os/bsd/os_bsd.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1279,15 +1279,27 @@ #ifdef STATIC_BUILD return os::get_default_process_handle(); #else + log_info(os)("attempting shared library load of %s", filename); + void * result= ::dlopen(filename, RTLD_LAZY); if (result != NULL) { + Events::log(NULL, "Loaded shared library %s", filename); // Successful loading + log_info(os)("shared library load of %s was successful", filename); return result; } - // Read system error message into ebuf - ::strncpy(ebuf, ::dlerror(), ebuflen-1); - ebuf[ebuflen-1]='\0'; + const char* error_report = ::dlerror(); + if (error_report == NULL) { + error_report = "dlerror returned no error description"; + } + if (ebuf != NULL && ebuflen > 0) { + // Read system error message into ebuf + ::strncpy(ebuf, error_report, ebuflen-1); + ebuf[ebuflen-1]='\0'; + } + Events::log(NULL, "Loading shared library %s failed, %s", filename, error_report); + log_info(os)("shared library load of %s failed, %s", filename, error_report); return NULL; #endif // STATIC_BUILD @@ -1297,18 +1309,29 @@ #ifdef STATIC_BUILD return os::get_default_process_handle(); #else + log_info(os)("attempting shared library load of %s", filename); void * result= ::dlopen(filename, RTLD_LAZY); if (result != NULL) { + Events::log(NULL, "Loaded shared library %s", filename); // Successful loading + log_info(os)("shared library load of %s was successful", filename); return result; } Elf32_Ehdr elf_head; - // Read system error message into ebuf - // It may or may not be overwritten below - ::strncpy(ebuf, ::dlerror(), ebuflen-1); - ebuf[ebuflen-1]='\0'; + const char* const error_report = ::dlerror(); + if (error_report == NULL) { + error_report = "dlerror returned no error description"; + } + if (ebuf != NULL && ebuflen > 0) { + // Read system error message into ebuf + ::strncpy(ebuf, error_report, ebuflen-1); + ebuf[ebuflen-1]='\0'; + } + Events::log(NULL, "Loading shared library %s failed, %s", filename, error_report); + log_info(os)("shared library load of %s failed, %s", filename, error_report); + int diag_msg_max_length=ebuflen-strlen(ebuf); char* diag_msg_buf=ebuf+strlen(ebuf); @@ -3789,7 +3812,7 @@ void os::pause() { char filename[MAX_PATH]; if (PauseAtStartupFile && PauseAtStartupFile[0]) { - jio_snprintf(filename, MAX_PATH, PauseAtStartupFile); + jio_snprintf(filename, MAX_PATH, "%s", PauseAtStartupFile); } else { jio_snprintf(filename, MAX_PATH, "./vm.paused.%d", current_process_id()); } diff -Nru openjdk-11-11.0.5+10/src/hotspot/os/bsd/perfMemory_bsd.cpp openjdk-11-11.0.6+10/src/hotspot/os/bsd/perfMemory_bsd.cpp --- openjdk-11-11.0.5+10/src/hotspot/os/bsd/perfMemory_bsd.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/os/bsd/perfMemory_bsd.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1028,7 +1028,7 @@ if ((statbuf.st_size == 0) || ((size_t)statbuf.st_size % os::vm_page_size() != 0)) { - THROW_MSG_0(vmSymbols::java_lang_Exception(), + THROW_MSG_0(vmSymbols::java_io_IOException(), "Invalid PerfMemory size"); } diff -Nru openjdk-11-11.0.5+10/src/hotspot/os/linux/os_linux.cpp openjdk-11-11.0.6+10/src/hotspot/os/linux/os_linux.cpp --- openjdk-11-11.0.5+10/src/hotspot/os/linux/os_linux.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/os/linux/os_linux.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1716,6 +1716,8 @@ void * result = NULL; bool load_attempted = false; + log_info(os)("attempting shared library load of %s", filename); + // Check whether the library to load might change execution rights // of the stack. If they are changed, the protection of the stack // guard pages will be lost. We need a safepoint to fix this. @@ -1936,8 +1938,19 @@ int ebuflen) { void * result = ::dlopen(filename, RTLD_LAZY); if (result == NULL) { - ::strncpy(ebuf, ::dlerror(), ebuflen - 1); - ebuf[ebuflen-1] = '\0'; + const char* error_report = ::dlerror(); + if (error_report == NULL) { + error_report = "dlerror returned no error description"; + } + if (ebuf != NULL && ebuflen > 0) { + ::strncpy(ebuf, error_report, ebuflen-1); + ebuf[ebuflen-1]='\0'; + } + Events::log(NULL, "Loading shared library %s failed, %s", filename, error_report); + log_info(os)("shared library load of %s failed, %s", filename, error_report); + } else { + Events::log(NULL, "Loaded shared library %s", filename); + log_info(os)("shared library load of %s was successful", filename); } return result; } diff -Nru openjdk-11-11.0.5+10/src/hotspot/os/linux/perfMemory_linux.cpp openjdk-11-11.0.6+10/src/hotspot/os/linux/perfMemory_linux.cpp --- openjdk-11-11.0.5+10/src/hotspot/os/linux/perfMemory_linux.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/os/linux/perfMemory_linux.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -661,7 +661,7 @@ if (fp) { int pid, nspid; int ret; - while (!feof(fp)) { + while (!feof(fp) && !ferror(fp)) { ret = fscanf(fp, "NSpid: %d %d", &pid, &nspid); if (ret == 1) { break; @@ -1107,7 +1107,7 @@ if ((statbuf.st_size == 0) || ((size_t)statbuf.st_size % os::vm_page_size() != 0)) { - THROW_MSG_0(vmSymbols::java_lang_Exception(), + THROW_MSG_0(vmSymbols::java_io_IOException(), "Invalid PerfMemory size"); } diff -Nru openjdk-11-11.0.5+10/src/hotspot/os/solaris/os_solaris.cpp openjdk-11-11.0.6+10/src/hotspot/os/solaris/os_solaris.cpp --- openjdk-11-11.0.5+10/src/hotspot/os/solaris/os_solaris.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/os/solaris/os_solaris.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1531,18 +1531,29 @@ // same architecture as Hotspot is running on void * os::dll_load(const char *filename, char *ebuf, int ebuflen) { + log_info(os)("attempting shared library load of %s", filename); + void * result= ::dlopen(filename, RTLD_LAZY); if (result != NULL) { // Successful loading + Events::log(NULL, "Loaded shared library %s", filename); + log_info(os)("shared library load of %s was successful", filename); return result; } Elf32_Ehdr elf_head; + const char* error_report = ::dlerror(); + if (error_report == NULL) { + error_report = "dlerror returned no error description"; + } + if (ebuf != NULL && ebuflen > 0) { + ::strncpy(ebuf, error_report, ebuflen-1); + ebuf[ebuflen-1]='\0'; + } + + Events::log(NULL, "Loading shared library %s failed, %s", filename, error_report); + log_info(os)("shared library load of %s failed, %s", filename, error_report); - // Read system error message into ebuf - // It may or may not be overwritten below - ::strncpy(ebuf, ::dlerror(), ebuflen-1); - ebuf[ebuflen-1]='\0'; int diag_msg_max_length=ebuflen-strlen(ebuf); char* diag_msg_buf=ebuf+strlen(ebuf); @@ -4556,7 +4567,7 @@ void os::pause() { char filename[MAX_PATH]; if (PauseAtStartupFile && PauseAtStartupFile[0]) { - jio_snprintf(filename, MAX_PATH, PauseAtStartupFile); + jio_snprintf(filename, MAX_PATH, "%s", PauseAtStartupFile); } else { jio_snprintf(filename, MAX_PATH, "./vm.paused.%d", current_process_id()); } diff -Nru openjdk-11-11.0.5+10/src/hotspot/os/solaris/perfMemory_solaris.cpp openjdk-11-11.0.6+10/src/hotspot/os/solaris/perfMemory_solaris.cpp --- openjdk-11-11.0.5+10/src/hotspot/os/solaris/perfMemory_solaris.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/os/solaris/perfMemory_solaris.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1055,7 +1055,7 @@ if ((statbuf.st_size == 0) || ((size_t)statbuf.st_size % os::vm_page_size() != 0)) { - THROW_MSG_0(vmSymbols::java_lang_Exception(), + THROW_MSG_0(vmSymbols::java_io_IOException(), "Invalid PerfMemory size"); } diff -Nru openjdk-11-11.0.5+10/src/hotspot/os/windows/include/jvm_md.h openjdk-11-11.0.6+10/src/hotspot/os/windows/include/jvm_md.h --- openjdk-11-11.0.5+10/src/hotspot/os/windows/include/jvm_md.h 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/os/windows/include/jvm_md.h 2019-11-26 00:55:54.000000000 +0000 @@ -63,7 +63,7 @@ #include /* For uintptr_t */ #include -#define JVM_MAXPATHLEN _MAX_PATH +#define JVM_MAXPATHLEN 1024 #define JVM_R_OK 4 #define JVM_W_OK 2 diff -Nru openjdk-11-11.0.5+10/src/hotspot/os/windows/os_windows.cpp openjdk-11-11.0.6+10/src/hotspot/os/windows/os_windows.cpp --- openjdk-11-11.0.5+10/src/hotspot/os/windows/os_windows.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/os/windows/os_windows.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1358,14 +1358,24 @@ // in case of error it checks if .dll/.so was built for the // same architecture as Hotspot is running on void * os::dll_load(const char *name, char *ebuf, int ebuflen) { + log_info(os)("attempting shared library load of %s", name); + void * result = LoadLibrary(name); if (result != NULL) { + Events::log(NULL, "Loaded shared library %s", name); // Recalculate pdb search path if a DLL was loaded successfully. SymbolEngine::recalc_search_path(); + log_info(os)("shared library load of %s was successful", name); return result; } - DWORD errcode = GetLastError(); + // Read system error message into ebuf + // It may or may not be overwritten below (in the for loop and just above) + lasterror(ebuf, (size_t) ebuflen); + ebuf[ebuflen - 1] = '\0'; + Events::log(NULL, "Loading shared library %s failed, error code %lu", name, errcode); + log_info(os)("shared library load of %s failed, error code %lu", name, errcode); + if (errcode == ERROR_MOD_NOT_FOUND) { strncpy(ebuf, "Can't find dependent libraries", ebuflen - 1); ebuf[ebuflen - 1] = '\0'; @@ -1377,11 +1387,6 @@ // for an architecture other than Hotspot is running in // - then print to buffer "DLL was built for a different architecture" // else call os::lasterror to obtain system error message - - // Read system error message into ebuf - // It may or may not be overwritten below (in the for loop and just above) - lasterror(ebuf, (size_t) ebuflen); - ebuf[ebuflen - 1] = '\0'; int fd = ::open(name, O_RDONLY | O_BINARY, 0); if (fd < 0) { return NULL; @@ -4236,94 +4241,121 @@ } } -// The following function is adapted from java.base/windows/native/libjava/canonicalize_md.c -// Creates an UNC path from a single byte path. Return buffer is -// allocated in C heap and needs to be freed by the caller. -// Returns NULL on error. -static wchar_t* create_unc_path(const char* path, errno_t &err) { - wchar_t* wpath = NULL; - size_t converted_chars = 0; - size_t path_len = strlen(path) + 1; // includes the terminating NULL - if (path[0] == '\\' && path[1] == '\\') { - if (path[2] == '?' && path[3] == '\\'){ - // if it already has a \\?\ don't do the prefix - wpath = (wchar_t*)os::malloc(path_len * sizeof(wchar_t), mtInternal); - if (wpath != NULL) { - err = ::mbstowcs_s(&converted_chars, wpath, path_len, path, path_len); +// Returns the given path as an absolute wide path in unc format. The returned path is NULL +// on error (with err being set accordingly) and should be freed via os::free() otherwise. +// additional_space is the number of additionally allocated wchars after the terminating L'\0'. +// This is based on pathToNTPath() in io_util_md.cpp, but omits the optimizations for +// short paths. +static wchar_t* wide_abs_unc_path(char const* path, errno_t & err, int additional_space = 0) { + if ((path == NULL) || (path[0] == '\0')) { + err = ENOENT; + return NULL; + } + + size_t path_len = strlen(path); + // Need to allocate at least room for 3 characters, since os::native_path transforms C: to C:. + char* buf = (char*) os::malloc(1 + MAX2((size_t) 3, path_len), mtInternal); + wchar_t* result = NULL; + + if (buf == NULL) { + err = ENOMEM; + } else { + memcpy(buf, path, path_len + 1); + os::native_path(buf); + + wchar_t* prefix; + int prefix_off = 0; + bool is_abs = true; + bool needs_fullpath = true; + + if (::isalpha(buf[0]) && !::IsDBCSLeadByte(buf[0]) && buf[1] == ':' && buf[2] == '\\') { + prefix = L"\\\\?\\"; + } else if (buf[0] == '\\' && buf[1] == '\\') { + if (buf[2] == '?' && buf[3] == '\\') { + prefix = L""; + needs_fullpath = false; } else { - err = ENOMEM; + prefix = L"\\\\?\\UNC"; + prefix_off = 1; // Overwrite the first char with the prefix, so \\share\path becomes \\?\UNC\share\path } } else { - // only UNC pathname includes double slashes here - wpath = (wchar_t*)os::malloc((path_len + 7) * sizeof(wchar_t), mtInternal); - if (wpath != NULL) { - ::wcscpy(wpath, L"\\\\?\\UNC\0"); - err = ::mbstowcs_s(&converted_chars, &wpath[7], path_len, path, path_len); - } else { - err = ENOMEM; - } + is_abs = false; + prefix = L"\\\\?\\"; } - } else { - wpath = (wchar_t*)os::malloc((path_len + 4) * sizeof(wchar_t), mtInternal); - if (wpath != NULL) { - ::wcscpy(wpath, L"\\\\?\\\0"); - err = ::mbstowcs_s(&converted_chars, &wpath[4], path_len, path, path_len); - } else { + + size_t buf_len = strlen(buf); + size_t prefix_len = wcslen(prefix); + size_t full_path_size = is_abs ? 1 + buf_len : JVM_MAXPATHLEN; + size_t result_size = prefix_len + full_path_size - prefix_off; + result = (wchar_t*) os::malloc(sizeof(wchar_t) * (additional_space + result_size), mtInternal); + + if (result == NULL) { err = ENOMEM; + } else { + size_t converted_chars; + wchar_t* path_start = result + prefix_len - prefix_off; + err = ::mbstowcs_s(&converted_chars, path_start, buf_len + 1, buf, buf_len); + + if ((err == ERROR_SUCCESS) && needs_fullpath) { + wchar_t* tmp = (wchar_t*) os::malloc(sizeof(wchar_t) * full_path_size, mtInternal); + + if (tmp == NULL) { + err = ENOMEM; + } else { + if (!_wfullpath(tmp, path_start, full_path_size)) { + err = ENOENT; + } else { + ::memcpy(path_start, tmp, (1 + wcslen(tmp)) * sizeof(wchar_t)); + } + + os::free(tmp); + } + } + + memcpy(result, prefix, sizeof(wchar_t) * prefix_len); + + // Remove trailing pathsep (not for \\?\:\, since it would make it relative) + size_t result_len = wcslen(result); + + if (result[result_len - 1] == L'\\') { + if (!(::iswalpha(result[4]) && result[5] == L':' && result_len == 7)) { + result[result_len - 1] = L'\0'; + } + } } } - return wpath; -} -static void destroy_unc_path(wchar_t* wpath) { - os::free(wpath); + os::free(buf); + + if (err != ERROR_SUCCESS) { + os::free(result); + result = NULL; + } + + return result; } int os::stat(const char *path, struct stat *sbuf) { - char* pathbuf = (char*)os::strdup(path, mtInternal); - if (pathbuf == NULL) { - errno = ENOMEM; + errno_t err; + wchar_t* wide_path = wide_abs_unc_path(path, err); + + if (wide_path == NULL) { + errno = err; return -1; } - os::native_path(pathbuf); - int ret; - WIN32_FILE_ATTRIBUTE_DATA file_data; - // Not using stat() to avoid the problem described in JDK-6539723 - if (strlen(path) < MAX_PATH) { - BOOL bret = ::GetFileAttributesExA(pathbuf, GetFileExInfoStandard, &file_data); - if (!bret) { - errno = ::GetLastError(); - ret = -1; - } - else { - file_attribute_data_to_stat(sbuf, file_data); - ret = 0; - } - } else { - errno_t err = ERROR_SUCCESS; - wchar_t* wpath = create_unc_path(pathbuf, err); - if (err != ERROR_SUCCESS) { - if (wpath != NULL) { - destroy_unc_path(wpath); - } - os::free(pathbuf); - errno = err; - return -1; - } - BOOL bret = ::GetFileAttributesExW(wpath, GetFileExInfoStandard, &file_data); - if (!bret) { - errno = ::GetLastError(); - ret = -1; - } else { - file_attribute_data_to_stat(sbuf, file_data); - ret = 0; - } - destroy_unc_path(wpath); + + WIN32_FILE_ATTRIBUTE_DATA file_data;; + BOOL bret = ::GetFileAttributesExW(wide_path, GetFileExInfoStandard, &file_data); + os::free(wide_path); + + if (!bret) { + errno = ::GetLastError(); + return -1; } - os::free(pathbuf); - return ret; -} + file_attribute_data_to_stat(sbuf, file_data); + return 0; +} #define FT2INT64(ft) \ ((jlong)((jlong)(ft).dwHighDateTime << 32 | (julong)(ft).dwLowDateTime)) @@ -4429,38 +4461,22 @@ return DontYieldALot; } -// This method is a slightly reworked copy of JDK's sysOpen -// from src/windows/hpi/src/sys_api_md.c - int os::open(const char *path, int oflag, int mode) { - char* pathbuf = (char*)os::strdup(path, mtInternal); - if (pathbuf == NULL) { - errno = ENOMEM; + errno_t err; + wchar_t* wide_path = wide_abs_unc_path(path, err); + + if (wide_path == NULL) { + errno = err; return -1; } - os::native_path(pathbuf); - int ret; - if (strlen(path) < MAX_PATH) { - ret = ::open(pathbuf, oflag | O_BINARY | O_NOINHERIT, mode); - } else { - errno_t err = ERROR_SUCCESS; - wchar_t* wpath = create_unc_path(pathbuf, err); - if (err != ERROR_SUCCESS) { - if (wpath != NULL) { - destroy_unc_path(wpath); - } - os::free(pathbuf); - errno = err; - return -1; - } - ret = ::_wopen(wpath, oflag | O_BINARY | O_NOINHERIT, mode); - if (ret == -1) { - errno = ::GetLastError(); - } - destroy_unc_path(wpath); + int fd = ::_wopen(wide_path, oflag | O_BINARY | O_NOINHERIT, mode); + os::free(wide_path); + + if (fd == -1) { + errno = ::GetLastError(); } - os::free(pathbuf); - return ret; + + return fd; } FILE* os::open(int fd, const char* mode) { @@ -4469,37 +4485,26 @@ // Is a (classpath) directory empty? bool os::dir_is_empty(const char* path) { - char* search_path = (char*)os::malloc(strlen(path) + 3, mtInternal); - if (search_path == NULL) { - errno = ENOMEM; - return false; - } - strcpy(search_path, path); - os::native_path(search_path); - // Append "*", or possibly "\\*", to path - if (search_path[1] == ':' && - (search_path[2] == '\0' || - (search_path[2] == '\\' && search_path[3] == '\0'))) { - // No '\\' needed for cases like "Z:" or "Z:\" - strcat(search_path, "*"); - } - else { - strcat(search_path, "\\*"); - } - errno_t err = ERROR_SUCCESS; - wchar_t* wpath = create_unc_path(search_path, err); - if (err != ERROR_SUCCESS) { - if (wpath != NULL) { - destroy_unc_path(wpath); - } - os::free(search_path); + errno_t err; + wchar_t* wide_path = wide_abs_unc_path(path, err, 2); + + if (wide_path == NULL) { errno = err; return false; } + + // Make sure we end with "\\*" + if (wide_path[wcslen(wide_path) - 1] == L'\\') { + wcscat(wide_path, L"*"); + } else { + wcscat(wide_path, L"\\*"); + } + WIN32_FIND_DATAW fd; - HANDLE f = ::FindFirstFileW(wpath, &fd); - destroy_unc_path(wpath); + HANDLE f = ::FindFirstFileW(wide_path, &fd); + os::free(wide_path); bool is_empty = true; + if (f != INVALID_HANDLE_VALUE) { while (is_empty && ::FindNextFileW(f, &fd)) { // An empty directory contains only the current directory file @@ -4510,8 +4515,10 @@ } } FindClose(f); + } else { + errno = ::GetLastError(); } - os::free(search_path); + return is_empty; } @@ -4707,9 +4714,6 @@ static int nonSeekAvailable(int, long *); static int stdinAvailable(int, long *); -#define S_ISCHR(mode) (((mode) & _S_IFCHR) == _S_IFCHR) -#define S_ISFIFO(mode) (((mode) & _S_IFIFO) == _S_IFIFO) - // This code is a copy of JDK's sysAvailable // from src/windows/hpi/src/sys_api_md.c @@ -4996,7 +5000,7 @@ void os::pause() { char filename[MAX_PATH]; if (PauseAtStartupFile && PauseAtStartupFile[0]) { - jio_snprintf(filename, MAX_PATH, PauseAtStartupFile); + jio_snprintf(filename, MAX_PATH, "%s", PauseAtStartupFile); } else { jio_snprintf(filename, MAX_PATH, "./vm.paused.%d", current_process_id()); } diff -Nru openjdk-11-11.0.5+10/src/hotspot/os/windows/os_windows.hpp openjdk-11-11.0.6+10/src/hotspot/os/windows/os_windows.hpp --- openjdk-11-11.0.5+10/src/hotspot/os/windows/os_windows.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/os/windows/os_windows.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -26,6 +26,12 @@ #define OS_WINDOWS_VM_OS_WINDOWS_HPP // Win32_OS defines the interface to windows operating systems +#define S_ISCHR(mode) (((mode) & _S_IFCHR) == _S_IFCHR) +#define S_ISFIFO(mode) (((mode) & _S_IFIFO) == _S_IFIFO) + +// strtok_s is the Windows thread-safe equivalent of POSIX strtok_r +#define strtok_r strtok_s + // Information about the protection of the page at address '0' on this os. static bool zero_page_read_protected() { return true; } diff -Nru openjdk-11-11.0.5+10/src/hotspot/os/windows/perfMemory_windows.cpp openjdk-11-11.0.6+10/src/hotspot/os/windows/perfMemory_windows.cpp --- openjdk-11-11.0.5+10/src/hotspot/os/windows/perfMemory_windows.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/os/windows/perfMemory_windows.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1561,7 +1561,7 @@ warning("unexpected file size: size = " SIZE_FORMAT "\n", statbuf.st_size); } - THROW_MSG_0(vmSymbols::java_lang_Exception(), + THROW_MSG_0(vmSymbols::java_io_IOException(), "Invalid PerfMemory size"); } diff -Nru openjdk-11-11.0.5+10/src/hotspot/os_cpu/linux_ppc/thread_linux_ppc.cpp openjdk-11-11.0.6+10/src/hotspot/os_cpu/linux_ppc/thread_linux_ppc.cpp --- openjdk-11-11.0.5+10/src/hotspot/os_cpu/linux_ppc/thread_linux_ppc.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/os_cpu/linux_ppc/thread_linux_ppc.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -65,21 +65,22 @@ } if (ret_frame.is_interpreted_frame()) { - frame::ijava_state* istate = ret_frame.get_ijava_state(); - if (!((Method*)(istate->method))->is_metaspace_object()) { - return false; - } - uint64_t reg_bcp = uc->uc_mcontext.regs->gpr[14/*R14_bcp*/]; - uint64_t istate_bcp = istate->bcp; - uint64_t code_start = (uint64_t)(((Method*)(istate->method))->code_base()); - uint64_t code_end = (uint64_t)(((Method*)istate->method)->code_base() + ((Method*)istate->method)->code_size()); - if (istate_bcp >= code_start && istate_bcp < code_end) { - // we have a valid bcp, don't touch it, do nothing - } else if (reg_bcp >= code_start && reg_bcp < code_end) { - istate->bcp = reg_bcp; + frame::ijava_state *istate = ret_frame.get_ijava_state(); + const Method *m = (const Method*)(istate->method); + if (m == NULL || !m->is_valid_method()) return false; + if (!Metaspace::contains((const void*)m->constMethod())) return false; + + uint64_t reg_bcp = uc->uc_mcontext.regs->gpr[14/*R14_bcp*/]; + uint64_t istate_bcp = istate->bcp; + uint64_t code_start = (uint64_t)(m->code_base()); + uint64_t code_end = (uint64_t)(m->code_base() + m->code_size()); + if (istate_bcp >= code_start && istate_bcp < code_end) { + // we have a valid bcp, don't touch it, do nothing + } else if (reg_bcp >= code_start && reg_bcp < code_end) { + istate->bcp = reg_bcp; } else { - return false; - } + return false; + } } if (!ret_frame.safe_for_sender(this)) { // nothing else to try if the frame isn't good diff -Nru openjdk-11-11.0.5+10/src/hotspot/os_cpu/linux_s390/thread_linux_s390.cpp openjdk-11-11.0.6+10/src/hotspot/os_cpu/linux_s390/thread_linux_s390.cpp --- openjdk-11-11.0.5+10/src/hotspot/os_cpu/linux_s390/thread_linux_s390.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/os_cpu/linux_s390/thread_linux_s390.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -63,20 +63,24 @@ if (ret_frame.is_interpreted_frame()) { frame::z_ijava_state* istate = ret_frame.ijava_state_unchecked(); - if ((stack_base() >= (address)istate && (address)istate > stack_end()) || !((Method*)(istate->method))->is_metaspace_object()) { - return false; - } - uint64_t reg_bcp = uc->uc_mcontext.gregs[13/*Z_BCP*/]; - uint64_t istate_bcp = istate->bcp; - uint64_t code_start = (uint64_t)(((Method*)(istate->method))->code_base()); - uint64_t code_end = (uint64_t)(((Method*)istate->method)->code_base() + ((Method*)istate->method)->code_size()); - if (istate_bcp >= code_start && istate_bcp < code_end) { - // we have a valid bcp, don't touch it, do nothing - } else if (reg_bcp >= code_start && reg_bcp < code_end) { - istate->bcp = reg_bcp; - } else { - return false; - } + if (stack_base() >= (address)istate && (address)istate > stack_end()) { + return false; + } + const Method *m = (const Method*)(istate->method); + if (m == NULL || !m->is_valid_method()) return false; + if (!Metaspace::contains((const void*)m->constMethod())) return false; + + uint64_t reg_bcp = uc->uc_mcontext.gregs[13/*Z_BCP*/]; + uint64_t istate_bcp = istate->bcp; + uint64_t code_start = (uint64_t)(m->code_base()); + uint64_t code_end = (uint64_t)(m->code_base() + m->code_size()); + if (istate_bcp >= code_start && istate_bcp < code_end) { + // we have a valid bcp, don't touch it, do nothing + } else if (reg_bcp >= code_start && reg_bcp < code_end) { + istate->bcp = reg_bcp; + } else { + return false; + } } if (!ret_frame.safe_for_sender(this)) { // nothing else to try if the frame isn't good diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/adlc/formssel.cpp openjdk-11-11.0.6+10/src/hotspot/share/adlc/formssel.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/adlc/formssel.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/adlc/formssel.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -641,22 +641,6 @@ } -bool InstructForm::is_wide_memory_kill(FormDict &globals) const { - if( _matrule == NULL ) return false; - if( !_matrule->_opType ) return false; - - if( strcmp(_matrule->_opType,"MemBarRelease") == 0 ) return true; - if( strcmp(_matrule->_opType,"MemBarAcquire") == 0 ) return true; - if( strcmp(_matrule->_opType,"MemBarReleaseLock") == 0 ) return true; - if( strcmp(_matrule->_opType,"MemBarAcquireLock") == 0 ) return true; - if( strcmp(_matrule->_opType,"MemBarStoreStore") == 0 ) return true; - if( strcmp(_matrule->_opType,"MemBarVolatile") == 0 ) return true; - if( strcmp(_matrule->_opType,"StoreFence") == 0 ) return true; - if( strcmp(_matrule->_opType,"LoadFence") == 0 ) return true; - - return false; -} - int InstructForm::memory_operand(FormDict &globals) const { // Machine independent loads must be checked for anti-dependences // Check if instruction has a USE of a memory operand class, or a def. @@ -790,6 +774,10 @@ !strcmp(_matrule->_rChild->_opType,"CheckCastPP") || !strcmp(_matrule->_rChild->_opType,"GetAndSetP") || !strcmp(_matrule->_rChild->_opType,"GetAndSetN") || +#if INCLUDE_ZGC + !strcmp(_matrule->_rChild->_opType,"LoadBarrierSlowReg") || + !strcmp(_matrule->_rChild->_opType,"LoadBarrierWeakSlowReg") || +#endif !strcmp(_matrule->_rChild->_opType,"CompareAndExchangeP") || !strcmp(_matrule->_rChild->_opType,"CompareAndExchangeN"))) return true; else if ( is_ideal_load() == Form::idealP ) return true; @@ -1173,6 +1161,9 @@ else if (is_ideal_nop()) { return "MachNopNode"; } + else if( is_ideal_membar()) { + return "MachMemBarNode"; + } else if (is_ideal_jump()) { return "MachJumpNode"; } @@ -4119,7 +4110,8 @@ !strcmp(_opType,"StoreFence") || !strcmp(_opType,"MemBarVolatile") || !strcmp(_opType,"MemBarCPUOrder") || - !strcmp(_opType,"MemBarStoreStore"); + !strcmp(_opType,"MemBarStoreStore") || + !strcmp(_opType,"OnSpinWait"); } bool MatchRule::is_ideal_loadPC() const { diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/adlc/formssel.hpp openjdk-11-11.0.6+10/src/hotspot/share/adlc/formssel.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/adlc/formssel.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/adlc/formssel.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -191,7 +191,6 @@ // loads from memory, so must check for anti-dependence virtual bool needs_anti_dependence_check(FormDict &globals) const; virtual int memory_operand(FormDict &globals) const; - bool is_wide_memory_kill(FormDict &globals) const; enum memory_operand_type { NO_MEMORY_OPERAND = -1, diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/adlc/output_c.cpp openjdk-11-11.0.6+10/src/hotspot/share/adlc/output_c.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/adlc/output_c.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/adlc/output_c.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -3263,10 +3263,6 @@ // Analyze machine instructions that either USE or DEF memory. int memory_operand = instr->memory_operand(_globalNames); - // Some guys kill all of memory - if ( instr->is_wide_memory_kill(_globalNames) ) { - memory_operand = InstructForm::MANY_MEMORY_OPERANDS; - } if ( memory_operand != InstructForm::NO_MEMORY_OPERAND ) { if( memory_operand == InstructForm::MANY_MEMORY_OPERANDS ) { diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/adlc/output_h.cpp openjdk-11-11.0.6+10/src/hotspot/share/adlc/output_h.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/adlc/output_h.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/adlc/output_h.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -2002,10 +2002,6 @@ // Analyze machine instructions that either USE or DEF memory. int memory_operand = instr->memory_operand(_globalNames); - // Some guys kill all of memory - if ( instr->is_wide_memory_kill(_globalNames) ) { - memory_operand = InstructForm::MANY_MEMORY_OPERANDS; - } if ( memory_operand != InstructForm::NO_MEMORY_OPERAND ) { if( memory_operand == InstructForm::MANY_MEMORY_OPERANDS ) { fprintf(fp," virtual const TypePtr *adr_type() const;\n"); diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/aot/aotLoader.cpp openjdk-11-11.0.6+10/src/hotspot/share/aot/aotLoader.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/aot/aotLoader.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/aot/aotLoader.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -148,6 +148,12 @@ return; } +#ifdef _WINDOWS + const char pathSep = ';'; +#else + const char pathSep = ':'; +#endif + // Scan the AOTLibrary option. if (AOTLibrary != NULL) { const int len = (int)strlen(AOTLibrary); @@ -158,7 +164,7 @@ char* end = cp + len; while (cp < end) { const char* name = cp; - while ((*cp) != '\0' && (*cp) != '\n' && (*cp) != ',' && (*cp) != ':' && (*cp) != ';') cp++; + while ((*cp) != '\0' && (*cp) != '\n' && (*cp) != ',' && (*cp) != pathSep) cp++; cp[0] = '\0'; // Terminate name cp++; load_library(name, true); diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/c1/c1_CodeStubs.hpp openjdk-11-11.0.6+10/src/hotspot/share/c1/c1_CodeStubs.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/c1/c1_CodeStubs.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/c1/c1_CodeStubs.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -411,7 +411,7 @@ if (_id == PatchingStub::access_field_id) { // embed a fixed offset to handle long patches which need to be offset by a word. // the patching code will just add the field offset field to this offset so - // that we can refernce either the high or low word of a double word field. + // that we can reference either the high or low word of a double word field. int field_offset = 0; switch (patch_code) { case lir_patch_low: field_offset = lo_word_offset_in_bytes; break; @@ -421,6 +421,8 @@ } NativeMovRegMem* n_move = nativeMovRegMem_at(pc_start()); n_move->set_offset(field_offset); + // Copy will never get executed, so only copy the part which is required for patching. + _bytes_to_copy = MAX2(n_move->num_bytes_to_end_of_patch(), (int)NativeGeneralJump::instruction_size); } else if (_id == load_klass_id || _id == load_mirror_id || _id == load_appendix_id) { assert(_obj != noreg, "must have register object for load_klass/load_mirror"); #ifdef ASSERT diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/c1/c1_Compilation.hpp openjdk-11-11.0.6+10/src/hotspot/share/c1/c1_Compilation.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/c1/c1_Compilation.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/c1/c1_Compilation.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -296,6 +296,11 @@ #define CHECK_BAILOUT() { if (bailed_out()) return; } #define CHECK_BAILOUT_(res) { if (bailed_out()) return res; } +// BAILOUT check with reset of bound labels +#define CHECK_BAILOUT1(l1) { if (bailed_out()) { l1.reset(); return; } } +#define CHECK_BAILOUT2(l1, l2) { if (bailed_out()) { l1.reset(); l2.reset(); return; } } +#define CHECK_BAILOUT3(l1, l2, l3) { if (bailed_out()) { l1.reset(); l2.reset(); l3.reset(); return; } } + class InstructionMark: public StackObj { private: diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/c1/c1_GraphBuilder.cpp openjdk-11-11.0.6+10/src/hotspot/share/c1/c1_GraphBuilder.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/c1/c1_GraphBuilder.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/c1/c1_GraphBuilder.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -2597,7 +2597,7 @@ #ifdef ASSERT for_each_phi_fun(b, phi, - assert(phi->operand_count() != 1 || phi->subst() != phi, "missed trivial simplification"); + assert(phi->operand_count() != 1 || phi->subst() != phi || phi->is_illegal(), "missed trivial simplification"); ); ValueStack* state = b->state()->caller_state(); diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/c1/c1_LIRGenerator.cpp openjdk-11-11.0.6+10/src/hotspot/share/c1/c1_LIRGenerator.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/c1/c1_LIRGenerator.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/c1/c1_LIRGenerator.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1285,9 +1285,10 @@ // FIXME T_ADDRESS should actually be T_METADATA but it can't because the // meaning of these two is mixed up (see JDK-8026837). __ move(new LIR_Address(rcvr.result(), oopDesc::klass_offset_in_bytes(), T_ADDRESS), temp, info); - __ move_wide(new LIR_Address(temp, in_bytes(Klass::java_mirror_offset()), T_ADDRESS), result); + __ move_wide(new LIR_Address(temp, in_bytes(Klass::java_mirror_offset()), T_ADDRESS), temp); // mirror = ((OopHandle)mirror)->resolve(); - __ move_wide(new LIR_Address(result, T_OBJECT), result); + access_load(IN_NATIVE, T_OBJECT, + LIR_OprFact::address(new LIR_Address(temp, T_OBJECT)), result); } // java.lang.Class::isPrimitive() @@ -1623,6 +1624,18 @@ } } +void LIRGenerator::access_load(DecoratorSet decorators, BasicType type, + LIR_Opr addr, LIR_Opr result) { + decorators |= C1_READ_ACCESS; + LIRAccess access(this, decorators, LIR_OprFact::illegalOpr, LIR_OprFact::illegalOpr, type); + access.set_resolved_addr(addr); + if (access.is_raw()) { + _barrier_set->BarrierSetC1::load(access, result); + } else { + _barrier_set->load(access, result); + } +} + void LIRGenerator::access_store_at(DecoratorSet decorators, BasicType type, LIRItem& base, LIR_Opr offset, LIR_Opr value, CodeEmitInfo* patch_info, CodeEmitInfo* store_emit_info) { @@ -2956,7 +2969,10 @@ __ move_wide(jobj_addr, result); __ cmp(lir_cond_equal, result, LIR_OprFact::oopConst(NULL)); __ branch(lir_cond_equal, T_OBJECT, L_end->label()); - __ move_wide(new LIR_Address(result, T_OBJECT), result); + + LIR_Opr jobj = new_register(T_OBJECT); + __ move(result, jobj); + access_load(IN_NATIVE, T_OBJECT, LIR_OprFact::address(new LIR_Address(jobj, T_OBJECT)), result); __ branch_destination(L_end->label()); } diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/c1/c1_LIRGenerator.hpp openjdk-11-11.0.6+10/src/hotspot/share/c1/c1_LIRGenerator.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/c1/c1_LIRGenerator.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/c1/c1_LIRGenerator.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -288,6 +288,9 @@ LIRItem& base, LIR_Opr offset, LIR_Opr result, CodeEmitInfo* patch_info = NULL, CodeEmitInfo* load_emit_info = NULL); + void access_load(DecoratorSet decorators, BasicType type, + LIR_Opr addr, LIR_Opr result); + LIR_Opr access_atomic_cmpxchg_at(DecoratorSet decorators, BasicType type, LIRItem& base, LIRItem& offset, LIRItem& cmp_value, LIRItem& new_value); diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/c1/c1_Optimizer.cpp openjdk-11-11.0.6+10/src/hotspot/share/c1/c1_Optimizer.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/c1/c1_Optimizer.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/c1/c1_Optimizer.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -366,6 +366,8 @@ assert(sux_value == end_state->stack_at(index), "stack not equal"); } for_each_local_value(sux_state, index, sux_value) { + Phi* sux_phi = sux_value->as_Phi(); + if (sux_phi != NULL && sux_phi->is_illegal()) continue; assert(sux_value == end_state->local_at(index), "locals not equal"); } assert(sux_state->caller_state() == end_state->caller_state(), "caller not equal"); diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/c1/c1_Runtime1.cpp openjdk-11-11.0.6+10/src/hotspot/share/c1/c1_Runtime1.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/c1/c1_Runtime1.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/c1/c1_Runtime1.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -55,8 +55,9 @@ #include "runtime/atomic.hpp" #include "runtime/biasedLocking.hpp" #include "runtime/compilationPolicy.hpp" -#include "runtime/interfaceSupport.inline.hpp" +#include "runtime/fieldDescriptor.inline.hpp" #include "runtime/frame.inline.hpp" +#include "runtime/interfaceSupport.inline.hpp" #include "runtime/javaCalls.hpp" #include "runtime/sharedRuntime.hpp" #include "runtime/threadCritical.hpp" diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/ci/ciField.cpp openjdk-11-11.0.6+10/src/hotspot/share/ci/ciField.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/ci/ciField.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/ci/ciField.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -31,7 +31,7 @@ #include "interpreter/linkResolver.hpp" #include "memory/universe.hpp" #include "oops/oop.inline.hpp" -#include "runtime/fieldDescriptor.hpp" +#include "runtime/fieldDescriptor.inline.hpp" #include "runtime/handles.inline.hpp" // ciField diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/ci/ciInstanceKlass.cpp openjdk-11-11.0.6+10/src/hotspot/share/ci/ciInstanceKlass.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/ci/ciInstanceKlass.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/ci/ciInstanceKlass.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -33,7 +33,7 @@ #include "memory/resourceArea.hpp" #include "oops/oop.inline.hpp" #include "oops/fieldStreams.hpp" -#include "runtime/fieldDescriptor.hpp" +#include "runtime/fieldDescriptor.inline.hpp" #include "runtime/handles.inline.hpp" #include "runtime/jniHandles.inline.hpp" diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/ci/ciReplay.cpp openjdk-11-11.0.6+10/src/hotspot/share/ci/ciReplay.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/ci/ciReplay.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/ci/ciReplay.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -35,6 +35,7 @@ #include "memory/resourceArea.hpp" #include "oops/method.inline.hpp" #include "oops/oop.inline.hpp" +#include "runtime/fieldDescriptor.inline.hpp" #include "utilities/copy.hpp" #include "utilities/macros.hpp" diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/classfile/classLoaderData.cpp openjdk-11-11.0.6+10/src/hotspot/share/classfile/classLoaderData.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/classfile/classLoaderData.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/classfile/classLoaderData.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -765,6 +765,14 @@ if (_deallocate_list != NULL) { delete _deallocate_list; } + + // Decrement refcounts of Symbols if created. + if (_name != NULL) { + _name->decrement_refcount(); + } + if (_name_and_id != NULL) { + _name_and_id->decrement_refcount(); + } } // Returns true if this class loader data is for the app class loader diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/classfile/javaClasses.cpp openjdk-11-11.0.6+10/src/hotspot/share/classfile/javaClasses.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/classfile/javaClasses.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/classfile/javaClasses.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -50,7 +50,7 @@ #include "oops/symbol.hpp" #include "oops/typeArrayOop.inline.hpp" #include "prims/resolvedMethodTable.hpp" -#include "runtime/fieldDescriptor.hpp" +#include "runtime/fieldDescriptor.inline.hpp" #include "runtime/frame.inline.hpp" #include "runtime/handles.inline.hpp" #include "runtime/interfaceSupport.inline.hpp" @@ -209,7 +209,7 @@ } #if INCLUDE_CDS -void java_lang_String::serialize(SerializeClosure* f) { +void java_lang_String::serialize_offsets(SerializeClosure* f) { STRING_FIELDS_DO(FIELD_SERIALIZE_OFFSET); f->do_u4((u4*)&initialized); } @@ -1555,7 +1555,7 @@ } #if INCLUDE_CDS -void java_lang_Class::serialize(SerializeClosure* f) { +void java_lang_Class::serialize_offsets(SerializeClosure* f) { f->do_u4((u4*)&offsets_computed); f->do_u4((u4*)&_init_lock_offset); @@ -1629,7 +1629,7 @@ } #if INCLUDE_CDS -void java_lang_Thread::serialize(SerializeClosure* f) { +void java_lang_Thread::serialize_offsets(SerializeClosure* f) { THREAD_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -1881,7 +1881,7 @@ } #if INCLUDE_CDS -void java_lang_ThreadGroup::serialize(SerializeClosure* f) { +void java_lang_ThreadGroup::serialize_offsets(SerializeClosure* f) { THREADGROUP_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -1899,7 +1899,7 @@ } #if INCLUDE_CDS -void java_lang_Throwable::serialize(SerializeClosure* f) { +void java_lang_Throwable::serialize_offsets(SerializeClosure* f) { THROWABLE_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -2635,10 +2635,6 @@ source_file = NULL; java_lang_Class::set_source_file(java_class(), source_file); } - if (ShowHiddenFrames) { - source = vmSymbols::unknown_class_name(); - source_file = StringTable::intern(source, CHECK); - } } java_lang_StackTraceElement::set_fileName(element(), source_file); @@ -2677,14 +2673,14 @@ Method* method = java_lang_StackFrameInfo::get_method(stackFrame, holder, CHECK); short version = stackFrame->short_field(_version_offset); - short bci = stackFrame->short_field(_bci_offset); + int bci = stackFrame->int_field(_bci_offset); Symbol* name = method->name(); java_lang_StackTraceElement::fill_in(stack_trace_element, holder, method, version, bci, name, CHECK); } #define STACKFRAMEINFO_FIELDS_DO(macro) \ macro(_memberName_offset, k, "memberName", object_signature, false); \ - macro(_bci_offset, k, "bci", short_signature, false) + macro(_bci_offset, k, "bci", int_signature, false) void java_lang_StackFrameInfo::compute_offsets() { InstanceKlass* k = SystemDictionary::StackFrameInfo_klass(); @@ -2693,7 +2689,7 @@ } #if INCLUDE_CDS -void java_lang_StackFrameInfo::serialize(SerializeClosure* f) { +void java_lang_StackFrameInfo::serialize_offsets(SerializeClosure* f) { STACKFRAMEINFO_FIELDS_DO(FIELD_SERIALIZE_OFFSET); STACKFRAMEINFO_INJECTED_FIELDS(INJECTED_FIELD_SERIALIZE_OFFSET); } @@ -2711,7 +2707,7 @@ } #if INCLUDE_CDS -void java_lang_LiveStackFrameInfo::serialize(SerializeClosure* f) { +void java_lang_LiveStackFrameInfo::serialize_offsets(SerializeClosure* f) { LIVESTACKFRAMEINFO_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -2725,7 +2721,7 @@ } #if INCLUDE_CDS -void java_lang_reflect_AccessibleObject::serialize(SerializeClosure* f) { +void java_lang_reflect_AccessibleObject::serialize_offsets(SerializeClosure* f) { ACCESSIBLEOBJECT_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -2766,7 +2762,7 @@ } #if INCLUDE_CDS -void java_lang_reflect_Method::serialize(SerializeClosure* f) { +void java_lang_reflect_Method::serialize_offsets(SerializeClosure* f) { METHOD_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -2953,7 +2949,7 @@ } #if INCLUDE_CDS -void java_lang_reflect_Constructor::serialize(SerializeClosure* f) { +void java_lang_reflect_Constructor::serialize_offsets(SerializeClosure* f) { CONSTRUCTOR_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -3102,7 +3098,7 @@ } #if INCLUDE_CDS -void java_lang_reflect_Field::serialize(SerializeClosure* f) { +void java_lang_reflect_Field::serialize_offsets(SerializeClosure* f) { FIELD_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -3225,7 +3221,7 @@ } #if INCLUDE_CDS -void reflect_ConstantPool::serialize(SerializeClosure* f) { +void reflect_ConstantPool::serialize_offsets(SerializeClosure* f) { CONSTANTPOOL_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -3242,7 +3238,7 @@ } #if INCLUDE_CDS -void java_lang_reflect_Parameter::serialize(SerializeClosure* f) { +void java_lang_reflect_Parameter::serialize_offsets(SerializeClosure* f) { PARAMETER_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -3320,7 +3316,7 @@ } #if INCLUDE_CDS -void java_lang_Module::serialize(SerializeClosure* f) { +void java_lang_Module::serialize_offsets(SerializeClosure* f) { MODULE_FIELDS_DO(FIELD_SERIALIZE_OFFSET); MODULE_INJECTED_FIELDS(INJECTED_FIELD_SERIALIZE_OFFSET); } @@ -3410,7 +3406,7 @@ } #if INCLUDE_CDS -void reflect_UnsafeStaticFieldAccessorImpl::serialize(SerializeClosure* f) { +void reflect_UnsafeStaticFieldAccessorImpl::serialize_offsets(SerializeClosure* f) { UNSAFESTATICFIELDACCESSORIMPL_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -3582,7 +3578,7 @@ } #if INCLUDE_CDS -void java_lang_ref_SoftReference::serialize(SerializeClosure* f) { +void java_lang_ref_SoftReference::serialize_offsets(SerializeClosure* f) { SOFTREFERENCE_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -3623,7 +3619,7 @@ } #if INCLUDE_CDS -void java_lang_invoke_DirectMethodHandle::serialize(SerializeClosure* f) { +void java_lang_invoke_DirectMethodHandle::serialize_offsets(SerializeClosure* f) { DIRECTMETHODHANDLE_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -3655,7 +3651,7 @@ } #if INCLUDE_CDS -void java_lang_invoke_MethodHandle::serialize(SerializeClosure* f) { +void java_lang_invoke_MethodHandle::serialize_offsets(SerializeClosure* f) { METHODHANDLE_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -3674,7 +3670,7 @@ } #if INCLUDE_CDS -void java_lang_invoke_MemberName::serialize(SerializeClosure* f) { +void java_lang_invoke_MemberName::serialize_offsets(SerializeClosure* f) { MEMBERNAME_FIELDS_DO(FIELD_SERIALIZE_OFFSET); MEMBERNAME_INJECTED_FIELDS(INJECTED_FIELD_SERIALIZE_OFFSET); } @@ -3687,7 +3683,7 @@ } #if INCLUDE_CDS -void java_lang_invoke_ResolvedMethodName::serialize(SerializeClosure* f) { +void java_lang_invoke_ResolvedMethodName::serialize_offsets(SerializeClosure* f) { RESOLVEDMETHOD_INJECTED_FIELDS(INJECTED_FIELD_SERIALIZE_OFFSET); } #endif @@ -3702,7 +3698,7 @@ } #if INCLUDE_CDS -void java_lang_invoke_LambdaForm::serialize(SerializeClosure* f) { +void java_lang_invoke_LambdaForm::serialize_offsets(SerializeClosure* f) { LAMBDAFORM_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -3854,7 +3850,7 @@ } #if INCLUDE_CDS -void java_lang_invoke_MethodType::serialize(SerializeClosure* f) { +void java_lang_invoke_MethodType::serialize_offsets(SerializeClosure* f) { METHODTYPE_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -3948,7 +3944,7 @@ } #if INCLUDE_CDS -void java_lang_invoke_CallSite::serialize(SerializeClosure* f) { +void java_lang_invoke_CallSite::serialize_offsets(SerializeClosure* f) { CALLSITE_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -3970,7 +3966,7 @@ } #if INCLUDE_CDS -void java_lang_invoke_MethodHandleNatives_CallSiteContext::serialize(SerializeClosure* f) { +void java_lang_invoke_MethodHandleNatives_CallSiteContext::serialize_offsets(SerializeClosure* f) { CALLSITECONTEXT_INJECTED_FIELDS(INJECTED_FIELD_SERIALIZE_OFFSET); } #endif @@ -4002,7 +3998,7 @@ } #if INCLUDE_CDS -void java_security_AccessControlContext::serialize(SerializeClosure* f) { +void java_security_AccessControlContext::serialize_offsets(SerializeClosure* f) { ACCESSCONTROLCONTEXT_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -4068,7 +4064,7 @@ } #if INCLUDE_CDS -void java_lang_ClassLoader::serialize(SerializeClosure* f) { +void java_lang_ClassLoader::serialize_offsets(SerializeClosure* f) { CLASSLOADER_FIELDS_DO(FIELD_SERIALIZE_OFFSET); CLASSLOADER_INJECTED_FIELDS(INJECTED_FIELD_SERIALIZE_OFFSET); } @@ -4182,7 +4178,7 @@ } #if INCLUDE_CDS -void java_lang_System::serialize(SerializeClosure* f) { +void java_lang_System::serialize_offsets(SerializeClosure* f) { SYSTEM_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -4288,9 +4284,7 @@ int java_util_concurrent_locks_AbstractOwnableSynchronizer::_owner_offset; int reflect_ConstantPool::_oop_offset; int reflect_UnsafeStaticFieldAccessorImpl::_base_offset; -int jdk_internal_module_ArchivedModuleGraph::_archivedSystemModules_offset; -int jdk_internal_module_ArchivedModuleGraph::_archivedModuleFinder_offset; -int jdk_internal_module_ArchivedModuleGraph::_archivedMainModule_offset; + #define STACKTRACEELEMENT_FIELDS_DO(macro) \ macro(declaringClassObject_offset, k, "declaringClassObject", class_signature, false); \ @@ -4309,7 +4303,7 @@ } #if INCLUDE_CDS -void java_lang_StackTraceElement::serialize(SerializeClosure* f) { +void java_lang_StackTraceElement::serialize_offsets(SerializeClosure* f) { STACKTRACEELEMENT_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -4351,6 +4345,7 @@ } void java_lang_StackFrameInfo::set_bci(oop element, int value) { + assert(value >= 0 && value < max_jushort, "must be a valid bci value"); element->int_field_put(_bci_offset, value); } @@ -4384,7 +4379,7 @@ } #if INCLUDE_CDS -void java_lang_AssertionStatusDirectives::serialize(SerializeClosure* f) { +void java_lang_AssertionStatusDirectives::serialize_offsets(SerializeClosure* f) { ASSERTIONSTATUSDIRECTIVES_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -4425,7 +4420,7 @@ } #if INCLUDE_CDS -void java_nio_Buffer::serialize(SerializeClosure* f) { +void java_nio_Buffer::serialize_offsets(SerializeClosure* f) { BUFFER_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -4444,7 +4439,7 @@ } #if INCLUDE_CDS -void java_util_concurrent_locks_AbstractOwnableSynchronizer::serialize(SerializeClosure* f) { +void java_util_concurrent_locks_AbstractOwnableSynchronizer::serialize_offsets(SerializeClosure* f) { AOS_FIELDS_DO(FIELD_SERIALIZE_OFFSET); } #endif @@ -4453,23 +4448,6 @@ return (hardcoded_offset * heapOopSize) + instanceOopDesc::base_offset_in_bytes(); } -#define MODULEBOOTSTRAP_FIELDS_DO(macro) \ - macro(_archivedSystemModules_offset, k, "archivedSystemModules", systemModules_signature, true); \ - macro(_archivedModuleFinder_offset, k, "archivedModuleFinder", moduleFinder_signature, true); \ - macro(_archivedMainModule_offset, k, "archivedMainModule", string_signature, true) - -void jdk_internal_module_ArchivedModuleGraph::compute_offsets() { - InstanceKlass* k = SystemDictionary::ArchivedModuleGraph_klass(); - assert(k != NULL, "must be loaded"); - MODULEBOOTSTRAP_FIELDS_DO(FIELD_COMPUTE_OFFSET); -} - -#if INCLUDE_CDS -void jdk_internal_module_ArchivedModuleGraph::serialize(SerializeClosure* f) { - MODULEBOOTSTRAP_FIELDS_DO(FIELD_SERIALIZE_OFFSET); -} -#endif - // Compute hard-coded offsets // Invoked before SystemDictionary::initialize, so pre-loaded classes // are not available to determine the offset_of_static_fields. @@ -4486,6 +4464,7 @@ java_lang_ref_Reference::discovered_offset = member_offset(java_lang_ref_Reference::hc_discovered_offset); } +#define DO_COMPUTE_OFFSETS(k) k::compute_offsets(); // Compute non-hard-coded field offsets of all the classes in this file void JavaClasses::compute_offsets() { @@ -4493,47 +4472,24 @@ return; // field offsets are loaded from archive } - // java_lang_Class::compute_offsets was called earlier in bootstrap - java_lang_System::compute_offsets(); - java_lang_ClassLoader::compute_offsets(); - java_lang_Throwable::compute_offsets(); - java_lang_Thread::compute_offsets(); - java_lang_ThreadGroup::compute_offsets(); - java_lang_AssertionStatusDirectives::compute_offsets(); - java_lang_ref_SoftReference::compute_offsets(); - java_lang_invoke_MethodHandle::compute_offsets(); - java_lang_invoke_DirectMethodHandle::compute_offsets(); - java_lang_invoke_MemberName::compute_offsets(); - java_lang_invoke_ResolvedMethodName::compute_offsets(); - java_lang_invoke_LambdaForm::compute_offsets(); - java_lang_invoke_MethodType::compute_offsets(); - java_lang_invoke_CallSite::compute_offsets(); - java_lang_invoke_MethodHandleNatives_CallSiteContext::compute_offsets(); - java_security_AccessControlContext::compute_offsets(); - // Initialize reflection classes. The layouts of these classes - // changed with the new reflection implementation in JDK 1.4, and - // since the Universe doesn't know what JDK version it is until this - // point we defer computation of these offsets until now. - java_lang_reflect_AccessibleObject::compute_offsets(); - java_lang_reflect_Method::compute_offsets(); - java_lang_reflect_Constructor::compute_offsets(); - java_lang_reflect_Field::compute_offsets(); - java_nio_Buffer::compute_offsets(); - reflect_ConstantPool::compute_offsets(); - reflect_UnsafeStaticFieldAccessorImpl::compute_offsets(); - java_lang_reflect_Parameter::compute_offsets(); - java_lang_Module::compute_offsets(); - java_lang_StackTraceElement::compute_offsets(); - java_lang_StackFrameInfo::compute_offsets(); - java_lang_LiveStackFrameInfo::compute_offsets(); - java_util_concurrent_locks_AbstractOwnableSynchronizer::compute_offsets(); - - jdk_internal_module_ArchivedModuleGraph::compute_offsets(); + // We have already called the compute_offsets() of the + // BASIC_JAVA_CLASSES_DO_PART1 classes (java_lang_String and java_lang_Class) + // earlier inside SystemDictionary::resolve_preloaded_classes() + BASIC_JAVA_CLASSES_DO_PART2(DO_COMPUTE_OFFSETS); // generated interpreter code wants to know about the offsets we just computed: AbstractAssembler::update_delayed_values(); } +#if INCLUDE_CDS +#define DO_SERIALIZE_OFFSETS(k) k::serialize_offsets(soc); + +void JavaClasses::serialize_offsets(SerializeClosure* soc) { + BASIC_JAVA_CLASSES_DO(DO_SERIALIZE_OFFSETS); +} +#endif + + #ifndef PRODUCT // These functions exist to assert the validity of hard-coded field offsets to guard diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/classfile/javaClasses.hpp openjdk-11-11.0.6+10/src/hotspot/share/classfile/javaClasses.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/classfile/javaClasses.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/classfile/javaClasses.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -47,6 +47,46 @@ // correspondingly. The names in the enums must be identical to the actual field // names in order for the verification code to work. +#define BASIC_JAVA_CLASSES_DO_PART1(f) \ + f(java_lang_Class) \ + f(java_lang_String) \ + //end + +#define BASIC_JAVA_CLASSES_DO_PART2(f) \ + f(java_lang_System) \ + f(java_lang_ClassLoader) \ + f(java_lang_Throwable) \ + f(java_lang_Thread) \ + f(java_lang_ThreadGroup) \ + f(java_lang_AssertionStatusDirectives) \ + f(java_lang_ref_SoftReference) \ + f(java_lang_invoke_MethodHandle) \ + f(java_lang_invoke_DirectMethodHandle) \ + f(java_lang_invoke_MemberName) \ + f(java_lang_invoke_ResolvedMethodName) \ + f(java_lang_invoke_LambdaForm) \ + f(java_lang_invoke_MethodType) \ + f(java_lang_invoke_CallSite) \ + f(java_lang_invoke_MethodHandleNatives_CallSiteContext) \ + f(java_security_AccessControlContext) \ + f(java_lang_reflect_AccessibleObject) \ + f(java_lang_reflect_Method) \ + f(java_lang_reflect_Constructor) \ + f(java_lang_reflect_Field) \ + f(java_nio_Buffer) \ + f(reflect_ConstantPool) \ + f(reflect_UnsafeStaticFieldAccessorImpl) \ + f(java_lang_reflect_Parameter) \ + f(java_lang_Module) \ + f(java_lang_StackTraceElement) \ + f(java_lang_StackFrameInfo) \ + f(java_lang_LiveStackFrameInfo) \ + f(java_util_concurrent_locks_AbstractOwnableSynchronizer) \ + //end + +#define BASIC_JAVA_CLASSES_DO(f) \ + BASIC_JAVA_CLASSES_DO_PART1(f) \ + BASIC_JAVA_CLASSES_DO_PART2(f) // Interface to java.lang.String objects @@ -71,7 +111,7 @@ }; static void compute_offsets(); - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Instance creation static Handle create_from_unicode(jchar* unicode, int len, TRAPS); @@ -227,7 +267,7 @@ static oop create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS); // Archiving - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; static void archive_basic_type_mirrors(TRAPS) NOT_CDS_JAVA_HEAP_RETURN; static oop archive_mirror(Klass* k, TRAPS) NOT_CDS_JAVA_HEAP_RETURN_(NULL); static oop process_archived_mirror(Klass* k, oop mirror, oop archived_mirror, Thread *THREAD) @@ -325,7 +365,7 @@ static void compute_offsets(); public: - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Instance creation static oop create(); @@ -427,7 +467,7 @@ static void compute_offsets(); public: - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // parent ThreadGroup static oop parent(oop java_thread_group); @@ -508,7 +548,7 @@ static void print_stack_usage(Handle stream); static void compute_offsets(); - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Allocate space for backtrace (created but stack trace not filled in) static void allocate_backtrace(Handle throwable, TRAPS); @@ -539,7 +579,7 @@ static void compute_offsets(); public: - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Accessors static jboolean override(oop reflect); @@ -572,7 +612,7 @@ static void compute_offsets(); public: - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Allocation static Handle create(TRAPS); @@ -643,7 +683,7 @@ static void compute_offsets(); public: - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Allocation static Handle create(TRAPS); @@ -703,7 +743,7 @@ static void compute_offsets(); public: - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Allocation static Handle create(TRAPS); @@ -760,7 +800,7 @@ static void compute_offsets(); public: - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Allocation static Handle create(TRAPS); @@ -792,7 +832,7 @@ static void compute_offsets(); public: - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Allocation static Handle create(Handle loader, Handle module_name, TRAPS); @@ -823,7 +863,7 @@ static void compute_offsets(); public: - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Allocation static Handle create(TRAPS); @@ -847,7 +887,7 @@ static void compute_offsets(); public: - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; static int base_offset() { return _base_offset; @@ -952,7 +992,7 @@ static void set_clock(jlong value); static void compute_offsets(); - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; }; // Interface to java.lang.invoke.MethodHandle objects @@ -969,7 +1009,7 @@ static void compute_offsets(); public: - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Accessors static oop type(oop mh); @@ -1000,7 +1040,7 @@ static void compute_offsets(); public: - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Accessors static oop member(oop mh); @@ -1027,7 +1067,7 @@ static void compute_offsets(); public: - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Accessors static oop vmentry(oop lform); @@ -1060,7 +1100,7 @@ static void compute_offsets(); public: - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; static int vmtarget_offset_in_bytes() { return _vmtarget_offset; } @@ -1099,7 +1139,7 @@ static void compute_offsets(); public: - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Accessors static oop clazz(oop mname); static void set_clazz(oop mname, oop clazz); @@ -1164,7 +1204,7 @@ static void compute_offsets(); public: - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Accessors static oop rtype(oop mt); static objArrayOop ptypes(oop mt); @@ -1200,7 +1240,7 @@ static void compute_offsets(); public: - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Accessors static oop target( oop site); static void set_target( oop site, oop target); @@ -1234,7 +1274,7 @@ static void compute_offsets(); public: - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Accessors static DependencyContext vmdependencies(oop context); @@ -1258,7 +1298,7 @@ static void compute_offsets(); public: - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; static oop create(objArrayHandle context, bool isPrivileged, Handle privileged_context, TRAPS); static bool is_authorized(Handle context); @@ -1285,7 +1325,7 @@ public: static void compute_offsets(); - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; static ClassLoaderData* loader_data(oop loader); static ClassLoaderData* cmpxchg_loader_data(ClassLoaderData* new_data, oop loader, ClassLoaderData* expected_data); @@ -1338,7 +1378,7 @@ static bool has_security_manager(); static void compute_offsets(); - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Debugging friend class JavaClasses; @@ -1376,7 +1416,7 @@ int version, int bci, Symbol* name, TRAPS); static void compute_offsets(); - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Debugging friend class JavaClasses; @@ -1420,7 +1460,7 @@ static void set_version(oop info, short value); static void compute_offsets(); - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; static void to_stack_trace_element(Handle stackFrame, Handle stack_trace_element, TRAPS); @@ -1442,7 +1482,7 @@ static void set_mode(oop info, int value); static void compute_offsets(); - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Debugging friend class JavaClasses; @@ -1467,7 +1507,7 @@ static void set_deflt(oop obj, bool val); static void compute_offsets(); - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; // Debugging friend class JavaClasses; @@ -1481,7 +1521,7 @@ public: static int limit_offset(); static void compute_offsets(); - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; }; class java_util_concurrent_locks_AbstractOwnableSynchronizer : AllStatic { @@ -1490,20 +1530,7 @@ public: static void compute_offsets(); static oop get_owner_threadObj(oop obj); - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; -}; - -class jdk_internal_module_ArchivedModuleGraph: AllStatic { - private: - static int _archivedSystemModules_offset; - static int _archivedModuleFinder_offset; - static int _archivedMainModule_offset; - public: - static int archivedSystemModules_offset() { return _archivedSystemModules_offset; } - static int archivedModuleFinder_offset() { return _archivedModuleFinder_offset; } - static int archivedMainModule_offset() { return _archivedMainModule_offset; } - static void compute_offsets(); - static void serialize(SerializeClosure* f) NOT_CDS_RETURN; + static void serialize_offsets(SerializeClosure* f) NOT_CDS_RETURN; }; // Use to declare fields that need to be injected into Java classes @@ -1566,7 +1593,7 @@ static void compute_hard_coded_offsets(); static void compute_offsets(); static void check_offsets() PRODUCT_RETURN; - + static void serialize_offsets(SerializeClosure* soc) NOT_CDS_RETURN; static InjectedField* get_injected(Symbol* class_name, int* field_count); }; diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/classfile/javaClasses.inline.hpp openjdk-11-11.0.6+10/src/hotspot/share/classfile/javaClasses.inline.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/classfile/javaClasses.inline.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/classfile/javaClasses.inline.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -219,9 +219,6 @@ } else { // Returns -1 if no LineNumberTable, and otherwise actual line number line_number = method->line_number_from_bci(bci); - if (line_number == -1 && ShowHiddenFrames) { - line_number = bci + 1000000; - } } return line_number; } diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/classfile/systemDictionary.hpp openjdk-11-11.0.6+10/src/hotspot/share/classfile/systemDictionary.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/classfile/systemDictionary.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/classfile/systemDictionary.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -187,7 +187,6 @@ do_klass(jdk_internal_loader_ClassLoaders_AppClassLoader_klass, jdk_internal_loader_ClassLoaders_AppClassLoader, Pre ) \ do_klass(jdk_internal_loader_ClassLoaders_PlatformClassLoader_klass, jdk_internal_loader_ClassLoaders_PlatformClassLoader, Pre ) \ do_klass(CodeSource_klass, java_security_CodeSource, Pre ) \ - do_klass(ArchivedModuleGraph_klass, jdk_internal_module_ArchivedModuleGraph, Pre ) \ \ do_klass(StackTraceElement_klass, java_lang_StackTraceElement, Opt ) \ \ diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/classfile/vmSymbols.cpp openjdk-11-11.0.6+10/src/hotspot/share/classfile/vmSymbols.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/classfile/vmSymbols.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/classfile/vmSymbols.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -477,15 +477,16 @@ // Note, DirectiveSet may not be created at this point yet since this code // is called from initial stub geenration code. char* local_list = (char*)DirectiveSet::canonicalize_disableintrinsic(DisableIntrinsic); - + char* save_ptr; bool found = false; - char* token = strtok(local_list, ","); + + char* token = strtok_r(local_list, ",", &save_ptr); while (token != NULL) { if (strcmp(token, vmIntrinsics::name_at(id)) == 0) { found = true; break; } else { - token = strtok(NULL, ","); + token = strtok_r(NULL, ",", &save_ptr); } } diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/classfile/vmSymbols.hpp openjdk-11-11.0.6+10/src/hotspot/share/classfile/vmSymbols.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/classfile/vmSymbols.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/classfile/vmSymbols.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -125,7 +125,6 @@ template(getBootClassPathEntryForClass_name, "getBootClassPathEntryForClass") \ template(jdk_internal_vm_PostVMInitHook, "jdk/internal/vm/PostVMInitHook") \ template(sun_net_www_ParseUtil, "sun/net/www/ParseUtil") \ - template(jdk_internal_module_ArchivedModuleGraph, "jdk/internal/module/ArchivedModuleGraph") \ \ template(jdk_internal_loader_ClassLoaders_AppClassLoader, "jdk/internal/loader/ClassLoaders$AppClassLoader") \ template(jdk_internal_loader_ClassLoaders_PlatformClassLoader, "jdk/internal/loader/ClassLoaders$PlatformClassLoader") \ @@ -440,6 +439,7 @@ template(fileToEncodedURL_signature, "(Ljava/io/File;)Ljava/net/URL;") \ template(getProtectionDomain_name, "getProtectionDomain") \ template(getProtectionDomain_signature, "(Ljava/security/CodeSource;)Ljava/security/ProtectionDomain;") \ + template(java_lang_Integer_array_signature, "[Ljava/lang/Integer;") \ template(url_code_signer_array_void_signature, "(Ljava/net/URL;[Ljava/security/CodeSigner;)V") \ template(module_entry_name, "module_entry") \ template(resolved_references_name, "") \ @@ -651,12 +651,9 @@ \ /* cds */ \ template(jdk_internal_loader_ClassLoaders, "jdk/internal/loader/ClassLoaders") \ - template(jdk_vm_cds_SharedClassInfo, "jdk/vm/cds/SharedClassInfo") \ - template(url_void_signature, "(Ljava/net/URL;)V") \ template(toFileURL_name, "toFileURL") \ template(toFileURL_signature, "(Ljava/lang/String;)Ljava/net/URL;") \ - template(moduleFinder_signature, "Ljava/lang/module/ModuleFinder;") \ - template(systemModules_signature, "Ljdk/internal/module/SystemModules;") \ + template(url_void_signature, "(Ljava/net/URL;)V") \ \ /*end*/ diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/code/nmethod.cpp openjdk-11-11.0.6+10/src/hotspot/share/code/nmethod.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/code/nmethod.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/code/nmethod.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1065,7 +1065,6 @@ if (_method->code() == this) { _method->clear_code(); // Break a cycle } - _method = NULL; // Clear the method of this dead nmethod } // Make the class unloaded - i.e., change state and notify sweeper @@ -1082,6 +1081,9 @@ _state = unloaded; + // Clear the method of this dead nmethod + set_method(NULL); + // Log the unloading. log_state_change(); diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/compiler/compileBroker.cpp openjdk-11-11.0.6+10/src/hotspot/share/compiler/compileBroker.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/compiler/compileBroker.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/compiler/compileBroker.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -562,8 +562,14 @@ } void CompileQueue::print_tty() { - ttyLocker ttyl; - print(tty); + ResourceMark rm; + stringStream ss; + // Dump the compile queue into a buffer before locking the tty + print(&ss); + { + ttyLocker ttyl; + tty->print("%s", ss.as_string()); + } } CompilerCounters::CompilerCounters() { @@ -742,12 +748,11 @@ } -JavaThread* CompileBroker::make_thread(jobject thread_handle, CompileQueue* queue, - AbstractCompiler* comp, bool compiler_thread, TRAPS) { +JavaThread* CompileBroker::make_thread(jobject thread_handle, CompileQueue* queue, AbstractCompiler* comp, TRAPS) { JavaThread* thread = NULL; { MutexLocker mu(Threads_lock, THREAD); - if (compiler_thread) { + if (comp != NULL) { if (!InjectCompilerCreationFailure || comp->num_compiler_threads() == 0) { CompilerCounters* counters = new CompilerCounters(); thread = new CompilerThread(queue, counters); @@ -796,7 +801,7 @@ java_lang_Thread::set_daemon(JNIHandles::resolve_non_null(thread_handle)); thread->set_threadObj(JNIHandles::resolve_non_null(thread_handle)); - if (compiler_thread) { + if (comp != NULL) { thread->as_CompilerThread()->set_compiler(comp); } Threads::add(thread); @@ -806,7 +811,7 @@ // First release lock before aborting VM. if (thread == NULL || thread->osthread() == NULL) { - if (UseDynamicNumberOfCompilerThreads && comp->num_compiler_threads() > 0) { + if (UseDynamicNumberOfCompilerThreads && comp != NULL && comp->num_compiler_threads() > 0) { if (thread != NULL) { thread->smr_delete(); } @@ -846,12 +851,13 @@ for (int i = 0; i < _c2_count; i++) { // Create a name for our thread. sprintf(name_buffer, "%s CompilerThread%d", _compilers[1]->name(), i); - jobject thread_handle = JNIHandles::make_global(create_thread_oop(name_buffer, THREAD)); + Handle thread_oop = create_thread_oop(name_buffer, CHECK); + jobject thread_handle = JNIHandles::make_global(thread_oop); _compiler2_objects[i] = thread_handle; _compiler2_logs[i] = NULL; if (!UseDynamicNumberOfCompilerThreads || i == 0) { - JavaThread *ct = make_thread(thread_handle, _c2_compile_queue, _compilers[1], /* compiler_thread */ true, CHECK); + JavaThread *ct = make_thread(thread_handle, _c2_compile_queue, _compilers[1], CHECK); assert(ct != NULL, "should have been handled for initial thread"); _compilers[1]->set_num_compiler_threads(i + 1); if (TraceCompilerThreads) { @@ -865,12 +871,13 @@ for (int i = 0; i < _c1_count; i++) { // Create a name for our thread. sprintf(name_buffer, "C1 CompilerThread%d", i); - jobject thread_handle = JNIHandles::make_global(create_thread_oop(name_buffer, THREAD)); + Handle thread_oop = create_thread_oop(name_buffer, CHECK); + jobject thread_handle = JNIHandles::make_global(thread_oop); _compiler1_objects[i] = thread_handle; _compiler1_logs[i] = NULL; if (!UseDynamicNumberOfCompilerThreads || i == 0) { - JavaThread *ct = make_thread(thread_handle, _c1_compile_queue, _compilers[0], /* compiler_thread */ true, CHECK); + JavaThread *ct = make_thread(thread_handle, _c1_compile_queue, _compilers[0], CHECK); assert(ct != NULL, "should have been handled for initial thread"); _compilers[0]->set_num_compiler_threads(i + 1); if (TraceCompilerThreads) { @@ -887,8 +894,9 @@ if (MethodFlushing) { // Initialize the sweeper thread - jobject thread_handle = JNIHandles::make_local(THREAD, create_thread_oop("Sweeper thread", THREAD)()); - make_thread(thread_handle, NULL, NULL, /* compiler_thread */ false, CHECK); + Handle thread_oop = create_thread_oop("Sweeper thread", CHECK); + jobject thread_handle = JNIHandles::make_local(THREAD, thread_oop()); + make_thread(thread_handle, NULL, NULL, CHECK); } } @@ -911,7 +919,7 @@ (int)(available_cc_np / (128*K))); for (int i = old_c2_count; i < new_c2_count; i++) { - JavaThread *ct = make_thread(compiler2_object(i), _c2_compile_queue, _compilers[1], true, CHECK); + JavaThread *ct = make_thread(compiler2_object(i), _c2_compile_queue, _compilers[1], CHECK); if (ct == NULL) break; _compilers[1]->set_num_compiler_threads(i + 1); if (TraceCompilerThreads) { @@ -931,7 +939,7 @@ (int)(available_cc_p / (128*K))); for (int i = old_c1_count; i < new_c1_count; i++) { - JavaThread *ct = make_thread(compiler1_object(i), _c1_compile_queue, _compilers[0], true, CHECK); + JavaThread *ct = make_thread(compiler1_object(i), _c1_compile_queue, _compilers[0], CHECK); if (ct == NULL) break; _compilers[0]->set_num_compiler_threads(i + 1); if (TraceCompilerThreads) { diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/compiler/compileBroker.hpp openjdk-11-11.0.6+10/src/hotspot/share/compiler/compileBroker.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/compiler/compileBroker.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/compiler/compileBroker.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -230,8 +230,7 @@ static volatile int _print_compilation_warning; static Handle create_thread_oop(const char* name, TRAPS); - static JavaThread* make_thread(jobject thread_oop, CompileQueue* queue, - AbstractCompiler* comp, bool compiler_thread, TRAPS); + static JavaThread* make_thread(jobject thread_oop, CompileQueue* queue, AbstractCompiler* comp, TRAPS); static void init_compiler_sweeper_threads(); static void possibly_add_compiler_threads(); static bool compilation_is_prohibited(const methodHandle& method, int osr_bci, int comp_level, bool excluded); diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/compiler/compilerDirectives.cpp openjdk-11-11.0.6+10/src/hotspot/share/compiler/compilerDirectives.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/compiler/compilerDirectives.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/compiler/compilerDirectives.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -398,13 +398,14 @@ size_t length = strlen(DisableIntrinsicOption); char* local_list = NEW_RESOURCE_ARRAY(char, length + 1); strncpy(local_list, DisableIntrinsicOption, length + 1); + char* save_ptr; - char* token = strtok(local_list, ","); + char* token = strtok_r(local_list, ",", &save_ptr); while (token != NULL) { if (strcmp(token, vmIntrinsics::name_at(id)) == 0) { return true; } else { - token = strtok(NULL, ","); + token = strtok_r(NULL, ",", &save_ptr); } } diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/cms/cmsHeap.cpp openjdk-11-11.0.6+10/src/hotspot/share/gc/cms/cmsHeap.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/cms/cmsHeap.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/cms/cmsHeap.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -61,7 +61,7 @@ } size_t used_in_bytes() { - return _space->used(); + return _space->used_stable(); } }; diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/cms/compactibleFreeListSpace.cpp openjdk-11-11.0.6+10/src/hotspot/share/gc/cms/compactibleFreeListSpace.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/cms/compactibleFreeListSpace.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/cms/compactibleFreeListSpace.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -372,6 +372,8 @@ ) } _dictionary->set_par_lock(&_parDictionaryAllocLock); + + _used_stable = 0; } // Like CompactibleSpace forward() but always calls cross_threshold() to @@ -577,6 +579,14 @@ return capacity() - free(); } +size_t CompactibleFreeListSpace::used_stable() const { + return _used_stable; +} + +void CompactibleFreeListSpace::recalculate_used_stable() { + _used_stable = used(); +} + size_t CompactibleFreeListSpace::free() const { // "MT-safe, but not MT-precise"(TM), if you will: i.e. // if you do this while the structures are in flux you @@ -1374,6 +1384,13 @@ debug_only(fc->mangleAllocated(size)); } + // During GC we do not need to recalculate the stable used value for + // every allocation in old gen. It is done once at the end of GC instead + // for performance reasons. + if (!CMSHeap::heap()->is_gc_active()) { + recalculate_used_stable(); + } + return res; } diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/cms/compactibleFreeListSpace.hpp openjdk-11-11.0.6+10/src/hotspot/share/gc/cms/compactibleFreeListSpace.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/cms/compactibleFreeListSpace.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/cms/compactibleFreeListSpace.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -192,6 +192,9 @@ // Used to keep track of limit of sweep for the space HeapWord* _sweep_limit; + // Stable value of used(). + size_t _used_stable; + // Used to make the young collector update the mod union table MemRegionClosure* _preconsumptionDirtyCardClosure; @@ -412,6 +415,17 @@ // which overestimates the region by returning the entire // committed region (this is safe, but inefficient). + // Returns monotonically increasing stable used space bytes for CMS. + // This is required for jstat and other memory monitoring tools + // that might otherwise see inconsistent used space values during a garbage + // collection, promotion or allocation into compactibleFreeListSpace. + // The value returned by this function might be smaller than the + // actual value. + size_t used_stable() const; + // Recalculate and cache the current stable used() value. Only to be called + // in places where we can be sure that the result is stable. + void recalculate_used_stable(); + // Returns a subregion of the space containing all the objects in // the space. MemRegion used_region() const { diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp openjdk-11-11.0.6+10/src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -689,6 +689,10 @@ return _cmsSpace->max_alloc_in_words() * HeapWordSize; } +size_t ConcurrentMarkSweepGeneration::used_stable() const { + return cmsSpace()->used_stable(); +} + size_t ConcurrentMarkSweepGeneration::max_available() const { return free() + _virtual_space.uncommitted_size(); } @@ -1521,6 +1525,8 @@ FreelistLocker z(this); MetaspaceGC::compute_new_size(); _cmsGen->compute_new_size_free_list(); + // recalculate CMS used space after CMS collection + _cmsGen->cmsSpace()->recalculate_used_stable(); } // A work method used by the foreground collector to do @@ -2050,6 +2056,7 @@ _capacity_at_prologue = capacity(); _used_at_prologue = used(); + _cmsSpace->recalculate_used_stable(); // We enable promotion tracking so that card-scanning can recognize // which objects have been promoted during this GC and skip them. @@ -2122,6 +2129,7 @@ _eden_chunk_index = 0; size_t cms_used = _cmsGen->cmsSpace()->used(); + _cmsGen->cmsSpace()->recalculate_used_stable(); // update performance counters - this uses a special version of // update_counters() that allows the utilization to be passed as a @@ -2817,6 +2825,8 @@ rp->enable_discovery(); _collectorState = Marking; } + + _cmsGen->cmsSpace()->recalculate_used_stable(); } void CMSCollector::checkpointRootsInitialWork() { @@ -4121,6 +4131,7 @@ MutexLockerEx y(bitMapLock(), Mutex::_no_safepoint_check_flag); checkpointRootsFinalWork(); + _cmsGen->cmsSpace()->recalculate_used_stable(); } verify_work_stacks_empty(); verify_overflow_empty(); @@ -5297,9 +5308,14 @@ // further below. { CMSTokenSyncWithLocks ts(true, _cmsGen->freelistLock()); + // Update heap occupancy information which is used as // input to soft ref clearing policy at the next gc. Universe::update_heap_info_at_gc(); + + // recalculate CMS used space after CMS collection + _cmsGen->cmsSpace()->recalculate_used_stable(); + _collectorState = Resizing; } } @@ -5388,6 +5404,7 @@ // Gather statistics on the young generation collection. collector()->stats().record_gc0_end(used()); } + _cmsSpace->recalculate_used_stable(); } void CMSCollector::sweepWork(ConcurrentMarkSweepGeneration* old_gen) { diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.hpp openjdk-11-11.0.6+10/src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -1116,6 +1116,7 @@ double occupancy() const { return ((double)used())/((double)capacity()); } size_t contiguous_available() const; size_t unsafe_max_alloc_nogc() const; + size_t used_stable() const; // over-rides MemRegion used_region_at_save_marks() const; diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/cms/gSpaceCounters.hpp openjdk-11-11.0.6+10/src/hotspot/share/gc/cms/gSpaceCounters.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/cms/gSpaceCounters.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/cms/gSpaceCounters.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -59,7 +59,7 @@ } inline void update_used() { - _used->set_value(_gen->used()); + _used->set_value(_gen->used_stable()); } // special version of update_used() to allow the used value to be @@ -103,7 +103,7 @@ GenerationUsedHelper(Generation* g) : _gen(g) { } inline jlong take_sample() { - return _gen->used(); + return _gen->used_stable(); } }; diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/epsilon/epsilonArguments.cpp openjdk-11-11.0.6+10/src/hotspot/share/gc/epsilon/epsilonArguments.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/epsilon/epsilonArguments.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/epsilon/epsilonArguments.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -46,13 +46,25 @@ FLAG_SET_DEFAULT(ExitOnOutOfMemoryError, true); } + // Warn users that non-resizable heap might be better for some configurations. + // We are not adjusting the heap size by ourselves, because it affects startup time. + if (InitialHeapSize != MaxHeapSize) { + log_warning(gc)("Consider setting -Xms equal to -Xmx to avoid resizing hiccups"); + } + + // Warn users that AlwaysPreTouch might be better for some configurations. + // We are not turning this on by ourselves, because it affects startup time. + if (FLAG_IS_DEFAULT(AlwaysPreTouch) && !AlwaysPreTouch) { + log_warning(gc)("Consider enabling -XX:+AlwaysPreTouch to avoid memory commit hiccups"); + } + if (EpsilonMaxTLABSize < MinTLABSize) { - warning("EpsilonMaxTLABSize < MinTLABSize, adjusting it to " SIZE_FORMAT, MinTLABSize); + log_warning(gc)("EpsilonMaxTLABSize < MinTLABSize, adjusting it to " SIZE_FORMAT, MinTLABSize); EpsilonMaxTLABSize = MinTLABSize; } if (!EpsilonElasticTLAB && EpsilonElasticTLABDecay) { - warning("Disabling EpsilonElasticTLABDecay because EpsilonElasticTLAB is disabled"); + log_warning(gc)("Disabling EpsilonElasticTLABDecay because EpsilonElasticTLAB is disabled"); FLAG_SET_DEFAULT(EpsilonElasticTLABDecay, false); } diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/epsilon/epsilonHeap.cpp openjdk-11-11.0.6+10/src/hotspot/share/gc/epsilon/epsilonHeap.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/epsilon/epsilonHeap.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/epsilon/epsilonHeap.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -106,8 +106,8 @@ size_t EpsilonHeap::unsafe_max_tlab_alloc(Thread* thr) const { // Return max allocatable TLAB size, and let allocation path figure out - // the actual TLAB allocation size. - return _max_tlab_size; + // the actual allocation size. Note: result should be in bytes. + return _max_tlab_size * HeapWordSize; } EpsilonHeap* EpsilonHeap::heap() { diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/g1/g1Arguments.cpp openjdk-11-11.0.6+10/src/hotspot/share/gc/g1/g1Arguments.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/g1/g1Arguments.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/g1/g1Arguments.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -44,10 +44,12 @@ size_t length = strlen(VerifyGCType); char* type_list = NEW_C_HEAP_ARRAY(char, length + 1, mtInternal); strncpy(type_list, VerifyGCType, length + 1); - char* token = strtok(type_list, delimiter); + char* save_ptr; + + char* token = strtok_r(type_list, delimiter, &save_ptr); while (token != NULL) { parse_verification_type(token); - token = strtok(NULL, delimiter); + token = strtok_r(NULL, delimiter, &save_ptr); } FREE_C_HEAP_ARRAY(char, type_list); } diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/g1/g1CollectedHeap.cpp openjdk-11-11.0.6+10/src/hotspot/share/gc/g1/g1CollectedHeap.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/g1/g1CollectedHeap.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/g1/g1CollectedHeap.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -2040,6 +2040,12 @@ } } } + } else if (GCLocker::should_discard(cause, gc_count_before)) { + // Return false to be consistent with VMOp failure due to + // another collection slipping in after our gc_count but before + // our request is processed. _gc_locker collections upgraded by + // GCLockerInvokesConcurrent are handled above and never discarded. + return; } else { if (cause == GCCause::_gc_locker || cause == GCCause::_wb_young_gc DEBUG_ONLY(|| cause == GCCause::_scavenge_alot)) { diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp openjdk-11-11.0.6+10/src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -510,6 +510,10 @@ full_gc_count = total_full_collections(); } + if (GCLocker::should_discard(cause, gc_count)) { + return; + } + VM_ParallelGCSystemGC op(gc_count, full_gc_count, cause); VMThread::execute(&op); } diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/parallel/vmPSOperations.cpp openjdk-11-11.0.6+10/src/hotspot/share/gc/parallel/vmPSOperations.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/parallel/vmPSOperations.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/parallel/vmPSOperations.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -49,11 +49,16 @@ } } +static bool is_cause_full(GCCause::Cause cause) { + return (cause != GCCause::_gc_locker) && (cause != GCCause::_wb_young_gc) + DEBUG_ONLY(&& (cause != GCCause::_scavenge_alot)); +} + // Only used for System.gc() calls VM_ParallelGCSystemGC::VM_ParallelGCSystemGC(uint gc_count, uint full_gc_count, GCCause::Cause gc_cause) : - VM_GC_Operation(gc_count, gc_cause, full_gc_count, true /* full */) + VM_GC_Operation(gc_count, gc_cause, full_gc_count, is_cause_full(gc_cause)) { } @@ -63,8 +68,7 @@ ParallelScavengeHeap* heap = ParallelScavengeHeap::heap(); GCCauseSetter gccs(heap, _gc_cause); - if (_gc_cause == GCCause::_gc_locker || _gc_cause == GCCause::_wb_young_gc - DEBUG_ONLY(|| _gc_cause == GCCause::_scavenge_alot)) { + if (!_full) { // If (and only if) the scavenge fails, this will invoke a full gc. heap->invoke_scavenge(); } else { diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/c1/barrierSetC1.cpp openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/c1/barrierSetC1.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/c1/barrierSetC1.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/c1/barrierSetC1.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -90,6 +90,13 @@ load_at_resolved(access, result); } +void BarrierSetC1::load(LIRAccess& access, LIR_Opr result) { + DecoratorSet decorators = access.decorators(); + bool in_heap = (decorators & IN_HEAP) != 0; + assert(!in_heap, "consider using load_at"); + load_at_resolved(access, result); +} + LIR_Opr BarrierSetC1::atomic_cmpxchg_at(LIRAccess& access, LIRItem& cmp_value, LIRItem& new_value) { DecoratorSet decorators = access.decorators(); bool in_heap = (decorators & IN_HEAP) != 0; @@ -159,13 +166,16 @@ bool is_volatile = (((decorators & MO_SEQ_CST) != 0) || AlwaysAtomicAccesses) && os::is_MP(); bool needs_patching = (decorators & C1_NEEDS_PATCHING) != 0; bool mask_boolean = (decorators & C1_MASK_BOOLEAN) != 0; + bool in_native = (decorators & IN_NATIVE) != 0; if (support_IRIW_for_not_multiple_copy_atomic_cpu && is_volatile) { __ membar(); } LIR_PatchCode patch_code = needs_patching ? lir_patch_normal : lir_patch_none; - if (is_volatile && !needs_patching) { + if (in_native) { + __ move_wide(access.resolved_addr()->as_address_ptr(), result); + } else if (is_volatile && !needs_patching) { gen->volatile_field_load(access.resolved_addr()->as_address_ptr(), result, access.access_emit_info()); } else { __ load(access.resolved_addr()->as_address_ptr(), result, access.access_emit_info(), patch_code); diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/c1/barrierSetC1.hpp openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/c1/barrierSetC1.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/c1/barrierSetC1.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/c1/barrierSetC1.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -127,6 +127,7 @@ public: virtual void store_at(LIRAccess& access, LIR_Opr value); virtual void load_at(LIRAccess& access, LIR_Opr result); + virtual void load(LIRAccess& access, LIR_Opr result); virtual LIR_Opr atomic_cmpxchg_at(LIRAccess& access, LIRItem& cmp_value, LIRItem& new_value); diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/c2/barrierSetC2.cpp openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/c2/barrierSetC2.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/c2/barrierSetC2.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/c2/barrierSetC2.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -27,7 +27,9 @@ #include "opto/arraycopynode.hpp" #include "opto/graphKit.hpp" #include "opto/idealKit.hpp" +#include "opto/macro.hpp" #include "opto/narrowptrnode.hpp" +#include "opto/runtime.hpp" #include "utilities/macros.hpp" // By default this is a no-op. @@ -106,14 +108,19 @@ bool unsafe = (decorators & C2_UNSAFE_ACCESS) != 0; bool in_native = (decorators & IN_NATIVE) != 0; - assert(!in_native, "not supported yet"); MemNode::MemOrd mo = access.mem_node_mo(); LoadNode::ControlDependency dep = pinned ? LoadNode::Pinned : LoadNode::DependsOnlyOnTest; Node* control = control_dependent ? kit->control() : NULL; - Node* load = kit->make_load(control, adr, val_type, access.type(), adr_type, mo, - dep, requires_atomic_access, unaligned, mismatched, unsafe); + Node* load; + if (in_native) { + load = kit->make_load(control, adr, val_type, access.type(), mo); + } else { + load = kit->make_load(control, adr, val_type, access.type(), adr_type, mo, + dep, requires_atomic_access, unaligned, mismatched, unsafe); + } + access.set_raw_access(load); return load; @@ -599,3 +606,30 @@ kit->set_all_memory(n); } } + +#define XTOP LP64_ONLY(COMMA phase->top()) + +void BarrierSetC2::clone_at_expansion(PhaseMacroExpand* phase, ArrayCopyNode* ac) const { + Node* ctrl = ac->in(TypeFunc::Control); + Node* mem = ac->in(TypeFunc::Memory); + Node* src = ac->in(ArrayCopyNode::Src); + Node* src_offset = ac->in(ArrayCopyNode::SrcPos); + Node* dest = ac->in(ArrayCopyNode::Dest); + Node* dest_offset = ac->in(ArrayCopyNode::DestPos); + Node* length = ac->in(ArrayCopyNode::Length); + + assert (src_offset == NULL && dest_offset == NULL, "for clone offsets should be null"); + + const char* copyfunc_name = "arraycopy"; + address copyfunc_addr = + phase->basictype2arraycopy(T_LONG, NULL, NULL, + true, copyfunc_name, true); + + const TypePtr* raw_adr_type = TypeRawPtr::BOTTOM; + const TypeFunc* call_type = OptoRuntime::fast_arraycopy_Type(); + + Node* call = phase->make_leaf_call(ctrl, mem, call_type, copyfunc_addr, copyfunc_name, raw_adr_type, src, dest, length XTOP); + phase->transform_later(call); + + phase->igvn().replace_node(ac, call); +} diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/c2/barrierSetC2.hpp openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/c2/barrierSetC2.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/c2/barrierSetC2.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/c2/barrierSetC2.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -190,10 +190,15 @@ virtual void clone(GraphKit* kit, Node* src, Node* dst, Node* size, bool is_array) const; + virtual Node* ideal_node(PhaseGVN* phase, Node* n, bool can_reshape) const { return NULL; } + virtual Node* identity_node(PhaseGVN* phase, Node* n) const { return n; } + // These are general helper methods used by C2 virtual bool array_copy_requires_gc_barriers(BasicType type) const { return false; } + virtual void clone_at_expansion(PhaseMacroExpand* phase, ArrayCopyNode* ac) const; // Support for GC barriers emitted during parsing + virtual bool has_load_barriers() const { return false; } virtual bool is_gc_barrier_node(Node* node) const { return false; } virtual Node* step_over_gc_barrier(Node* c) const { return c; } diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/gcLocker.cpp openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/gcLocker.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/gcLocker.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/gcLocker.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -35,6 +35,7 @@ volatile jint GCLocker::_jni_lock_count = 0; volatile bool GCLocker::_needs_gc = false; volatile bool GCLocker::_doing_gc = false; +unsigned int GCLocker::_total_collections = 0; #ifdef ASSERT volatile jint GCLocker::_debug_jni_lock_count = 0; @@ -114,6 +115,11 @@ } } +bool GCLocker::should_discard(GCCause::Cause cause, uint total_collections) { + return (cause == GCCause::_gc_locker) && + (_total_collections != total_collections); +} + void GCLocker::jni_lock(JavaThread* thread) { assert(!thread->in_critical(), "shouldn't currently be in a critical region"); MutexLocker mu(JNICritical_lock); @@ -137,7 +143,13 @@ decrement_debug_jni_lock_count(); thread->exit_critical(); if (needs_gc() && !is_active_internal()) { - // We're the last thread out. Cause a GC to occur. + // We're the last thread out. Request a GC. + // Capture the current total collections, to allow detection of + // other collections that make this one unnecessary. The value of + // total_collections() is only changed at a safepoint, so there + // must not be a safepoint between the lock becoming inactive and + // getting the count, else there may be unnecessary GCLocker GCs. + _total_collections = Universe::heap()->total_collections(); _doing_gc = true; { // Must give up the lock while at a safepoint diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/gcLocker.hpp openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/gcLocker.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/gcLocker.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/gcLocker.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -25,6 +25,7 @@ #ifndef SHARE_VM_GC_SHARED_GCLOCKER_HPP #define SHARE_VM_GC_SHARED_GCLOCKER_HPP +#include "gc/shared/gcCause.hpp" #include "memory/allocation.hpp" #include "utilities/globalDefinitions.hpp" #include "utilities/macros.hpp" @@ -45,6 +46,7 @@ static volatile bool _needs_gc; // heap is filling, we need a GC // note: bool is typedef'd as jint static volatile bool _doing_gc; // unlock_critical() is doing a GC + static uint _total_collections; // value for _gc_locker collection #ifdef ASSERT // This lock count is updated for all operations and is used to @@ -98,6 +100,12 @@ // Sets _needs_gc if is_active() is true. Returns is_active(). static bool check_active_before_gc(); + // Return true if the designated collection is a GCLocker request + // that should be discarded. Returns true if cause == GCCause::_gc_locker + // and the given total collection value indicates a collection has been + // done since the GCLocker request was made. + static bool should_discard(GCCause::Cause cause, uint total_collections); + // Stalls the caller (who should not be in a jni critical section) // until needs_gc() clears. Note however that needs_gc() may be // set at a subsequent safepoint and/or cleared under the diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/genCollectedHeap.cpp openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/genCollectedHeap.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/genCollectedHeap.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/genCollectedHeap.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -936,8 +936,9 @@ // public collection interfaces void GenCollectedHeap::collect(GCCause::Cause cause) { - if (cause == GCCause::_wb_young_gc) { - // Young collection for the WhiteBox API. + if ((cause == GCCause::_wb_young_gc) || + (cause == GCCause::_gc_locker)) { + // Young collection for WhiteBox or GCLocker. collect(cause, YoungGen); } else { #ifdef ASSERT @@ -975,6 +976,11 @@ // Read the GC count while holding the Heap_lock unsigned int gc_count_before = total_collections(); unsigned int full_gc_count_before = total_full_collections(); + + if (GCLocker::should_discard(cause, gc_count_before)) { + return; + } + { MutexUnlocker mu(Heap_lock); // give up heap lock, execute gets it back VM_GenCollectFull op(gc_count_before, full_gc_count_before, @@ -989,24 +995,15 @@ void GenCollectedHeap::do_full_collection(bool clear_all_soft_refs, GenerationType last_generation) { - GenerationType local_last_generation; - if (!incremental_collection_will_fail(false /* don't consult_young */) && - gc_cause() == GCCause::_gc_locker) { - local_last_generation = YoungGen; - } else { - local_last_generation = last_generation; - } - do_collection(true, // full clear_all_soft_refs, // clear_all_soft_refs 0, // size false, // is_tlab - local_last_generation); // last_generation + last_generation); // last_generation // Hack XXX FIX ME !!! // A scavenge may not have been attempted, or may have // been attempted and failed, because the old gen was too full - if (local_last_generation == YoungGen && gc_cause() == GCCause::_gc_locker && - incremental_collection_will_fail(false /* don't consult_young */)) { + if (gc_cause() == GCCause::_gc_locker && incremental_collection_failed()) { log_debug(gc, jni)("GC locker: Trying a full collection because scavenge failed"); // This time allow the old gen to be collected as well do_collection(true, // full diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/generation.cpp openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/generation.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/generation.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/generation.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -67,6 +67,12 @@ return gch->old_gen_spec()->init_size(); } +// This is for CMS. It returns stable monotonic used space size. +// Remove this when CMS is removed. +size_t Generation::used_stable() const { + return used(); +} + size_t Generation::max_capacity() const { return reserved().byte_size(); } diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/generation.hpp openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/generation.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/generation.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/generation.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -157,6 +157,7 @@ virtual size_t capacity() const = 0; // The maximum number of object bytes the // generation can currently hold. virtual size_t used() const = 0; // The number of used bytes in the gen. + virtual size_t used_stable() const; // The number of used bytes for memory monitoring tools. virtual size_t free() const = 0; // The number of free bytes in the gen. // Support for java.lang.Runtime.maxMemory(); see CollectedHeap. diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/taskqueue.inline.hpp openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/taskqueue.inline.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/taskqueue.inline.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/taskqueue.inline.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -184,6 +184,11 @@ } else { // Otherwise, the queue contained exactly one element; we take the slow // path. + + // The barrier is required to prevent reordering the two reads of _age: + // one is the _age.get() below, and the other is _age.top() above the if-stmt. + // The algorithm may fail if _age.get() reads an older value than _age.top(). + OrderAccess::loadload(); return pop_local_slow(localBot, _age.get()); } } diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/vmGCOperations.hpp openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/vmGCOperations.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/vmGCOperations.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/vmGCOperations.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -194,7 +194,8 @@ uint full_gc_count_before, GCCause::Cause gc_cause, GenCollectedHeap::GenerationType max_generation) - : VM_GC_Operation(gc_count_before, gc_cause, full_gc_count_before, true /* full */), + : VM_GC_Operation(gc_count_before, gc_cause, full_gc_count_before, + max_generation != GenCollectedHeap::YoungGen /* full */), _max_generation(max_generation) { } ~VM_GenCollectFull() {} virtual VMOp_Type type() const { return VMOp_GenCollectFull; } diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/workgroup.cpp openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/workgroup.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/shared/workgroup.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/shared/workgroup.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -433,7 +433,6 @@ if (old == 0) { old = Atomic::cmpxchg(1u, &_tasks[t], 0u); } - assert(_tasks[t] == 1, "What else?"); bool res = old != 0; #ifdef ASSERT if (!res) { diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp openjdk-11-11.0.6+10/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -69,7 +69,26 @@ } bool ZBarrierSetC2::is_gc_barrier_node(Node* node) const { - return node->is_LoadBarrier(); + // 1. This step follows potential oop projections of a load barrier before expansion + if (node->is_Proj()) { + node = node->in(0); + } + + // 2. This step checks for unexpanded load barriers + if (node->is_LoadBarrier()) { + return true; + } + + // 3. This step checks for the phi corresponding to an optimized load barrier expansion + if (node->is_Phi()) { + PhiNode* phi = node->as_Phi(); + Node* n = phi->in(1); + if (n != NULL && (n->is_LoadBarrierSlowReg() || n->is_LoadBarrierWeakSlowReg())) { + return true; + } + } + + return false; } void ZBarrierSetC2::register_potential_barrier_node(Node* node) const { @@ -170,6 +189,15 @@ bs->register_potential_barrier_node(this); } +uint LoadBarrierNode::size_of() const { + return sizeof(*this); +} + +uint LoadBarrierNode::cmp(const Node& n) const { + ShouldNotReachHere(); + return 0; +} + const Type *LoadBarrierNode::bottom_type() const { const Type** floadbarrier = (const Type **)(Compile::current()->type_arena()->Amalloc_4((Number_of_Outputs)*sizeof(Type*))); Node* in_oop = in(Oop); @@ -179,6 +207,11 @@ return TypeTuple::make(Number_of_Outputs, floadbarrier); } +const TypePtr* LoadBarrierNode::adr_type() const { + ShouldNotReachHere(); + return NULL; +} + const Type *LoadBarrierNode::Value(PhaseGVN *phase) const { const Type** floadbarrier = (const Type **)(phase->C->type_arena()->Amalloc_4((Number_of_Outputs)*sizeof(Type*))); const Type* val_t = phase->type(in(Oop)); @@ -422,6 +455,11 @@ return NULL; } +uint LoadBarrierNode::match_edge(uint idx) const { + ShouldNotReachHere(); + return 0; +} + void LoadBarrierNode::fix_similar_in_uses(PhaseIterGVN* igvn) { Node* out_res = proj_out_or_null(Oop); if (out_res == NULL) { @@ -638,7 +676,10 @@ if (barrier == transformed_barrier) { kit->set_control(gvn.transform(new ProjNode(barrier, LoadBarrierNode::Control))); } - return gvn.transform(new ProjNode(transformed_barrier, LoadBarrierNode::Oop)); + Node* result = gvn.transform(new ProjNode(transformed_barrier, LoadBarrierNode::Oop)); + assert(is_gc_barrier_node(result), "sanity"); + assert(step_over_gc_barrier(result) == val, "sanity"); + return result; } else { return val; } @@ -964,6 +1005,9 @@ traverse(preceding_barrier_node, result_region, result_phi, -1); #endif + assert(is_gc_barrier_node(result_phi), "sanity"); + assert(step_over_gc_barrier(result_phi) == in_val, "sanity"); + return; } @@ -1126,7 +1170,7 @@ if (lb->in(LoadBarrierNode::Oop)->is_Phi()) { Node* oop_phi = lb->in(LoadBarrierNode::Oop); - if (oop_phi->in(2) == oop_phi) { + if ((oop_phi->req() != 3) || (oop_phi->in(2) == oop_phi)) { // Ignore phis with only one input return false; } @@ -1283,10 +1327,9 @@ Node* other_ctrl = u->in(LoadBarrierNode::Control); Node* lca = phase->dom_lca(this_ctrl, other_ctrl); - bool ok = true; - Node* proj1 = NULL; Node* proj2 = NULL; + bool ok = (lb->in(LoadBarrierNode::Address) == u->in(LoadBarrierNode::Address)); while (this_ctrl != lca && ok) { if (this_ctrl->in(0) != NULL && @@ -1377,6 +1420,32 @@ } } +Node* ZBarrierSetC2::step_over_gc_barrier(Node* c) const { + Node* node = c; + + // 1. This step follows potential oop projections of a load barrier before expansion + if (node->is_Proj()) { + node = node->in(0); + } + + // 2. This step checks for unexpanded load barriers + if (node->is_LoadBarrier()) { + return node->in(LoadBarrierNode::Oop); + } + + // 3. This step checks for the phi corresponding to an optimized load barrier expansion + if (node->is_Phi()) { + PhiNode* phi = node->as_Phi(); + Node* n = phi->in(1); + if (n != NULL && (n->is_LoadBarrierSlowReg() || n->is_LoadBarrierWeakSlowReg())) { + assert(c == node, "projections from step 1 should only be seen before macro expansion"); + return phi->in(2); + } + } + + return c; +} + // == Verification == #ifdef ASSERT diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp openjdk-11-11.0.6+10/src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -62,10 +62,14 @@ bool oop_reload_allowed); virtual int Opcode() const; + virtual uint size_of() const; + virtual uint cmp(const Node& n) const; virtual const Type *bottom_type() const; + virtual const TypePtr* adr_type() const; virtual const Type *Value(PhaseGVN *phase) const; virtual Node *Identity(PhaseGVN *phase); virtual Node *Ideal(PhaseGVN *phase, bool can_reshape); + virtual uint match_edge(uint idx) const; LoadBarrierNode* has_dominating_barrier(PhaseIdealLoop* phase, bool linear_only, @@ -101,7 +105,9 @@ const TypePtr* t, MemOrd mo, ControlDependency control_dependency = DependsOnlyOnTest) - : LoadPNode(c, mem, adr, at, t, mo, control_dependency) {} + : LoadPNode(c, mem, adr, at, t, mo, control_dependency) { + init_class_id(Class_LoadBarrierSlowReg); + } virtual const char * name() { return "LoadBarrierSlowRegNode"; @@ -123,7 +129,9 @@ const TypePtr* t, MemOrd mo, ControlDependency control_dependency = DependsOnlyOnTest) - : LoadPNode(c, mem, adr, at, t, mo, control_dependency) {} + : LoadPNode(c, mem, adr, at, t, mo, control_dependency) { + init_class_id(Class_LoadBarrierWeakSlowReg); + } virtual const char * name() { return "LoadBarrierWeakSlowRegNode"; @@ -182,6 +190,7 @@ bool oop_reload_allowed = true) const; virtual void* create_barrier_state(Arena* comp_arena) const; + virtual bool has_load_barriers() const { return true; } virtual bool is_gc_barrier_node(Node* node) const; virtual void eliminate_gc_barrier(PhaseMacroExpand* macro, Node* node) const { } virtual void eliminate_useless_gc_barriers(Unique_Node_List &useful) const; @@ -190,7 +199,7 @@ virtual void register_potential_barrier_node(Node* node) const; virtual void unregister_potential_barrier_node(Node* node) const; virtual bool array_copy_requires_gc_barriers(BasicType type) const { return true; } - virtual Node* step_over_gc_barrier(Node* c) const { return c; } + virtual Node* step_over_gc_barrier(Node* c) const; // If the BarrierSetC2 state has kept macro nodes in its compilation unit state to be // expanded later, then now is the time to do so. virtual bool expand_macro_nodes(PhaseMacroExpand* macro) const; diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/interpreter/abstractInterpreter.cpp openjdk-11-11.0.6+10/src/hotspot/share/interpreter/abstractInterpreter.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/interpreter/abstractInterpreter.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/interpreter/abstractInterpreter.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -219,6 +219,7 @@ CodeBuffer buffer(trampoline, (int)(SharedRuntime::trampoline_size())); MacroAssembler _masm(&buffer); SharedRuntime::generate_trampoline(&_masm, _entry_table[kind]); + _masm.flush(); if (PrintInterpreter) { Disassembler::decode(buffer.insts_begin(), buffer.insts_end()); diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/interpreter/interpreterRuntime.cpp openjdk-11-11.0.6+10/src/hotspot/share/interpreter/interpreterRuntime.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/interpreter/interpreterRuntime.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/interpreter/interpreterRuntime.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -52,7 +52,7 @@ #include "runtime/biasedLocking.hpp" #include "runtime/compilationPolicy.hpp" #include "runtime/deoptimization.hpp" -#include "runtime/fieldDescriptor.hpp" +#include "runtime/fieldDescriptor.inline.hpp" #include "runtime/frame.inline.hpp" #include "runtime/handles.inline.hpp" #include "runtime/icache.hpp" diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/interpreter/linkResolver.cpp openjdk-11-11.0.6+10/src/hotspot/share/interpreter/linkResolver.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/interpreter/linkResolver.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/interpreter/linkResolver.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -48,7 +48,7 @@ #include "prims/methodHandles.hpp" #include "prims/nativeLookup.hpp" #include "runtime/compilationPolicy.hpp" -#include "runtime/fieldDescriptor.hpp" +#include "runtime/fieldDescriptor.inline.hpp" #include "runtime/frame.inline.hpp" #include "runtime/handles.inline.hpp" #include "runtime/reflection.hpp" diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/interpreter/rewriter.cpp openjdk-11-11.0.6+10/src/hotspot/share/interpreter/rewriter.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/interpreter/rewriter.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/interpreter/rewriter.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -30,6 +30,7 @@ #include "memory/resourceArea.hpp" #include "oops/generateOopMap.hpp" #include "prims/methodHandles.hpp" +#include "runtime/fieldDescriptor.inline.hpp" #include "runtime/handles.inline.hpp" // Computes a CPC map (new_index -> original_index) for constant pool entries diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/interpreter/templateInterpreter.cpp openjdk-11-11.0.6+10/src/hotspot/share/interpreter/templateInterpreter.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/interpreter/templateInterpreter.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/interpreter/templateInterpreter.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -31,7 +31,9 @@ #include "interpreter/templateTable.hpp" #include "logging/log.hpp" #include "memory/resourceArea.hpp" +#include "runtime/safepoint.hpp" #include "runtime/timerTrace.hpp" +#include "utilities/copy.hpp" #ifndef CC_INTERP @@ -275,11 +277,17 @@ //------------------------------------------------------------------------------------------------------------------------ -// Safepoint suppport +// Safepoint support static inline void copy_table(address* from, address* to, int size) { - // Copy non-overlapping tables. The copy has to occur word wise for MT safety. - while (size-- > 0) *to++ = *from++; + // Copy non-overlapping tables. + if (SafepointSynchronize::is_at_safepoint()) { + // Nothing is using the table at a safepoint so skip atomic word copy. + Copy::disjoint_words((HeapWord*)from, (HeapWord*)to, (size_t)size); + } else { + // Use atomic word copy when not at a safepoint for safety. + Copy::disjoint_words_atomic((HeapWord*)from, (HeapWord*)to, (size_t)size); + } } void TemplateInterpreter::notice_safepoints() { diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/dcmd/jfrDcmds.cpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/dcmd/jfrDcmds.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/dcmd/jfrDcmds.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/dcmd/jfrDcmds.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -438,7 +438,13 @@ jobjectArray settings = NULL; if (_settings.is_set()) { - const int length = _settings.value()->array()->length(); + int length = _settings.value()->array()->length(); + if (length == 1) { + const char* c_str = _settings.value()->array()->at(0); + if (strcmp(c_str, "none") == 0) { + length = 0; + } + } settings = JfrJavaSupport::new_string_array(length, CHECK); assert(settings != NULL, "invariant"); for (int i = 0; i < length; ++i) { diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/jni/jfrJavaCall.cpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/jni/jfrJavaCall.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/jni/jfrJavaCall.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/jni/jfrJavaCall.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -184,7 +184,7 @@ } } -JfrJavaArguments::JfrJavaArguments(JavaValue* result) : _result(result), _klass(NULL), _name(NULL), _signature(NULL), _array_length(0) { +JfrJavaArguments::JfrJavaArguments(JavaValue* result) : _result(result), _klass(NULL), _name(NULL), _signature(NULL), _array_length(-1) { assert(result != NULL, "invariant"); } @@ -193,7 +193,7 @@ _klass(NULL), _name(NULL), _signature(NULL), - _array_length(0) { + _array_length(-1) { assert(result != NULL, "invariant"); if (klass_name != NULL) { set_klass(klass_name, CHECK); @@ -210,7 +210,7 @@ _klass(NULL), _name(NULL), _signature(NULL), - _array_length(0) { + _array_length(-1) { assert(result != NULL, "invariant"); if (klass != NULL) { set_klass(klass); diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/jni/jfrJavaSupport.cpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/jni/jfrJavaSupport.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/jni/jfrJavaSupport.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/jni/jfrJavaSupport.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -39,7 +39,7 @@ #include "oops/objArrayKlass.hpp" #include "oops/objArrayOop.inline.hpp" #include "runtime/handles.inline.hpp" -#include "runtime/fieldDescriptor.hpp" +#include "runtime/fieldDescriptor.inline.hpp" #include "runtime/java.hpp" #include "runtime/jniHandles.inline.hpp" #include "runtime/synchronizer.hpp" @@ -168,7 +168,7 @@ const int array_length = args->array_length(); - if (array_length > 0) { + if (array_length >= 0) { array_construction(args, result, klass, array_length, CHECK); } else { object_construction(args, result, klass, THREAD); diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.cpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -99,7 +99,6 @@ } void BFSClosure::process() { - process_root_set(); process_queue(); } @@ -138,7 +137,6 @@ // if we are processinig initial root set, don't add to queue if (_current_parent != NULL) { - assert(_current_parent->distance_to_root() == _current_frontier_level, "invariant"); _edge_queue->add(_current_parent, reference); } @@ -151,20 +149,8 @@ void BFSClosure::add_chain(const oop* reference, const oop pointee) { assert(pointee != NULL, "invariant"); assert(NULL == pointee->mark(), "invariant"); - - const size_t length = _current_parent == NULL ? 1 : _current_parent->distance_to_root() + 2; - ResourceMark rm; - Edge* const chain = NEW_RESOURCE_ARRAY(Edge, length); - size_t idx = 0; - chain[idx++] = Edge(NULL, reference); - // aggregate from breadth-first search - const Edge* current = _current_parent; - while (current != NULL) { - chain[idx++] = Edge(NULL, current->reference()); - current = current->parent(); - } - assert(length == idx, "invariant"); - _edge_store->add_chain(chain, length); + Edge leak_edge(_current_parent, reference); + _edge_store->put_chain(&leak_edge, _current_parent == NULL ? 1 : _current_frontier_level + 2); } void BFSClosure::dfs_fallback() { @@ -241,3 +227,10 @@ closure_impl(UnifiedOop::encode(ref), pointee); } } + +void BFSClosure::do_root(const oop* ref) { + assert(ref != NULL, "invariant"); + if (!_edge_queue->is_full()) { + _edge_queue->add(NULL, ref); + } +} diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.hpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/bfsClosure.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -26,7 +26,6 @@ #define SHARE_VM_JFR_LEAKPROFILER_CHAINS_BFSCLOSURE_HPP #include "memory/iterator.hpp" -#include "oops/oop.hpp" class BitSet; class Edge; @@ -65,6 +64,7 @@ public: BFSClosure(EdgeQueue* edge_queue, EdgeStore* edge_store, BitSet* mark_bits); void process(); + void do_root(const oop* ref); virtual void do_oop(oop* ref); virtual void do_oop(narrowOop* ref); diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/bitset.hpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/bitset.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/bitset.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/bitset.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -47,7 +47,7 @@ BitMap::idx_t mark_obj(const HeapWord* addr) { const BitMap::idx_t bit = addr_to_bit(addr); - _bits.par_set_bit(bit); + _bits.set_bit(bit); return bit; } diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/dfsClosure.cpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/dfsClosure.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/dfsClosure.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/dfsClosure.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. * 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,14 +23,14 @@ */ #include "precompiled.hpp" +#include "jfr/leakprofiler/chains/bitset.hpp" #include "jfr/leakprofiler/chains/dfsClosure.hpp" #include "jfr/leakprofiler/chains/edge.hpp" #include "jfr/leakprofiler/chains/edgeStore.hpp" +#include "jfr/leakprofiler/chains/rootSetClosure.hpp" #include "jfr/leakprofiler/utilities/granularTimer.hpp" -#include "jfr/leakprofiler/chains/bitset.hpp" -#include "jfr/leakprofiler/utilities/unifiedOop.hpp" #include "jfr/leakprofiler/utilities/rootType.hpp" -#include "jfr/leakprofiler/chains/rootSetClosure.hpp" +#include "jfr/leakprofiler/utilities/unifiedOop.hpp" #include "memory/iterator.inline.hpp" #include "memory/resourceArea.hpp" #include "oops/access.inline.hpp" @@ -88,15 +88,15 @@ // Mark root set, to avoid going sideways _max_depth = 1; _ignore_root_set = false; - DFSClosure dfs1; - RootSetClosure::process_roots(&dfs1); + DFSClosure dfs; + RootSetClosure rs(&dfs); + rs.process(); // Depth-first search _max_depth = max_dfs_depth; _ignore_root_set = true; assert(_start_edge == NULL, "invariant"); - DFSClosure dfs2; - RootSetClosure::process_roots(&dfs2); + rs.process(); } void DFSClosure::closure_impl(const oop* reference, const oop pointee) { @@ -133,30 +133,29 @@ } void DFSClosure::add_chain() { - const size_t length = _start_edge == NULL ? _depth + 1 : - _start_edge->distance_to_root() + 1 + _depth + 1; + const size_t array_length = _depth + 2; ResourceMark rm; - Edge* const chain = NEW_RESOURCE_ARRAY(Edge, length); + Edge* const chain = NEW_RESOURCE_ARRAY(Edge, array_length); size_t idx = 0; // aggregate from depth-first search const DFSClosure* c = this; while (c != NULL) { - chain[idx++] = Edge(NULL, c->reference()); + const size_t next = idx + 1; + chain[idx++] = Edge(&chain[next], c->reference()); c = c->parent(); } - - assert(idx == _depth + 1, "invariant"); + assert(_depth + 1 == idx, "invariant"); + assert(array_length == idx + 1, "invariant"); // aggregate from breadth-first search - const Edge* current = _start_edge; - while (current != NULL) { - chain[idx++] = Edge(NULL, current->reference()); - current = current->parent(); + if (_start_edge != NULL) { + chain[idx++] = *_start_edge; + } else { + chain[idx - 1] = Edge(NULL, chain[idx - 1].reference()); } - assert(idx == length, "invariant"); - _edge_store->add_chain(chain, length); + _edge_store->put_chain(chain, idx + (_start_edge != NULL ? _start_edge->distance_to_root() : 0)); } void DFSClosure::do_oop(oop* ref) { @@ -176,3 +175,10 @@ closure_impl(UnifiedOop::encode(ref), pointee); } } + +void DFSClosure::do_root(const oop* ref) { + assert(ref != NULL, "invariant"); + const oop pointee = UnifiedOop::dereference(ref); + assert(pointee != NULL, "invariant"); + closure_impl(ref, pointee); +} diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/dfsClosure.hpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/dfsClosure.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/dfsClosure.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/dfsClosure.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -26,7 +26,6 @@ #define SHARE_VM_JFR_LEAKPROFILER_CHAINS_DFSCLOSURE_HPP #include "memory/iterator.hpp" -#include "oops/oop.hpp" class BitSet; class Edge; @@ -34,7 +33,7 @@ class EdgeQueue; // Class responsible for iterating the heap depth-first -class DFSClosure: public BasicOopIterateClosure { +class DFSClosure : public BasicOopIterateClosure { private: static EdgeStore* _edge_store; static BitSet* _mark_bits; @@ -57,6 +56,7 @@ public: static void find_leaks_from_edge(EdgeStore* edge_store, BitSet* mark_bits, const Edge* start_edge); static void find_leaks_from_root_set(EdgeStore* edge_store, BitSet* mark_bits); + void do_root(const oop* ref); virtual void do_oop(oop* ref); virtual void do_oop(narrowOop* ref); diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/edge.hpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/edge.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/edge.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/edge.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -29,7 +29,7 @@ #include "oops/oopsHierarchy.hpp" class Edge { - private: + protected: const Edge* _parent; const oop* _reference; public: diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/edgeStore.cpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/edgeStore.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/edgeStore.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/edgeStore.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. * 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,37 +27,17 @@ #include "jfr/leakprofiler/chains/edgeUtils.hpp" #include "oops/oop.inline.hpp" -RoutableEdge::RoutableEdge() : Edge() {} -RoutableEdge::RoutableEdge(const Edge* parent, const oop* reference) : Edge(parent, reference), - _skip_edge(NULL), - _skip_length(0), - _processed(false) {} - -RoutableEdge::RoutableEdge(const Edge& edge) : Edge(edge), - _skip_edge(NULL), - _skip_length(0), - _processed(false) {} - -RoutableEdge::RoutableEdge(const RoutableEdge& edge) : Edge(edge), - _skip_edge(edge._skip_edge), - _skip_length(edge._skip_length), - _processed(edge._processed) {} +StoredEdge::StoredEdge() : Edge() {} +StoredEdge::StoredEdge(const Edge* parent, const oop* reference) : Edge(parent, reference), _gc_root_id(0), _skip_length(0) {} -void RoutableEdge::operator=(const RoutableEdge& edge) { +StoredEdge::StoredEdge(const Edge& edge) : Edge(edge), _gc_root_id(0), _skip_length(0) {} + +StoredEdge::StoredEdge(const StoredEdge& edge) : Edge(edge), _gc_root_id(edge._gc_root_id), _skip_length(edge._skip_length) {} + +void StoredEdge::operator=(const StoredEdge& edge) { Edge::operator=(edge); - _skip_edge = edge._skip_edge; + _gc_root_id = edge._gc_root_id; _skip_length = edge._skip_length; - _processed = edge._processed; -} - -size_t RoutableEdge::logical_distance_to_root() const { - size_t depth = 0; - const RoutableEdge* current = logical_parent(); - while (current != NULL) { - depth++; - current = current->logical_parent(); - } - return depth; } traceid EdgeStore::_edge_id_counter = 0; @@ -69,20 +49,42 @@ EdgeStore::~EdgeStore() { assert(_edges != NULL, "invariant"); delete _edges; - _edges = NULL; } -const Edge* EdgeStore::get_edge(const Edge* edge) const { - assert(edge != NULL, "invariant"); - EdgeEntry* const entry = _edges->lookup_only(*edge, (uintptr_t)edge->reference()); +bool EdgeStore::is_empty() const { + return !_edges->has_entries(); +} + +void EdgeStore::assign_id(EdgeEntry* entry) { + assert(entry != NULL, "invariant"); + assert(entry->id() == 0, "invariant"); + entry->set_id(++_edge_id_counter); +} + +bool EdgeStore::equals(const Edge& query, uintptr_t hash, const EdgeEntry* entry) { + assert(entry != NULL, "invariant"); + assert(entry->hash() == hash, "invariant"); + return true; +} + +#ifdef ASSERT +bool EdgeStore::contains(const oop* reference) const { + return get(reference) != NULL; +} +#endif + +StoredEdge* EdgeStore::get(const oop* reference) const { + assert(reference != NULL, "invariant"); + const StoredEdge e(NULL, reference); + EdgeEntry* const entry = _edges->lookup_only(e, (uintptr_t)reference); return entry != NULL ? entry->literal_addr() : NULL; } -const Edge* EdgeStore::put(const Edge* edge) { - assert(edge != NULL, "invariant"); - const RoutableEdge e = *edge; - assert(NULL == _edges->lookup_only(e, (uintptr_t)e.reference()), "invariant"); - EdgeEntry& entry = _edges->put(e, (uintptr_t)e.reference()); +StoredEdge* EdgeStore::put(const oop* reference) { + assert(reference != NULL, "invariant"); + const StoredEdge e(NULL, reference); + assert(NULL == _edges->lookup_only(e, (uintptr_t)reference), "invariant"); + EdgeEntry& entry = _edges->put(e, (uintptr_t)reference); return entry.literal_addr(); } @@ -93,63 +95,225 @@ return entry->id(); } -traceid EdgeStore::get_root_id(const Edge* edge) const { +traceid EdgeStore::gc_root_id(const Edge* edge) const { + assert(edge != NULL, "invariant"); + const traceid gc_root_id = static_cast(edge)->gc_root_id(); + if (gc_root_id != 0) { + return gc_root_id; + } + // not cached assert(edge != NULL, "invariant"); - const Edge* root = EdgeUtils::root(*edge); + const Edge* const root = EdgeUtils::root(*edge); assert(root != NULL, "invariant"); + assert(root->parent() == NULL, "invariant"); return get_id(root); } -void EdgeStore::add_chain(const Edge* chain, size_t length) { - assert(chain != NULL, "invariant"); - assert(length > 0, "invariant"); +static const Edge* get_skip_ancestor(const Edge** current, size_t distance_to_root, size_t* skip_length) { + assert(distance_to_root >= EdgeUtils::root_context, "invariant"); + assert(*skip_length == 0, "invariant"); + *skip_length = distance_to_root - (EdgeUtils::root_context - 1); + const Edge* const target = EdgeUtils::ancestor(**current, *skip_length); + assert(target != NULL, "invariant"); + assert(target->distance_to_root() + 1 == EdgeUtils::root_context, "invariant"); + return target; +} + +bool EdgeStore::put_skip_edge(StoredEdge** previous, const Edge** current, size_t distance_to_root) { + assert(*previous != NULL, "invariant"); + assert((*previous)->parent() == NULL, "invariant"); + assert(*current != NULL, "invariant"); + assert((*current)->distance_to_root() == distance_to_root, "invariant"); + + if (distance_to_root < EdgeUtils::root_context) { + // nothing to skip + return false; + } - size_t bottom_index = length - 1; - const size_t top_index = 0; + size_t skip_length = 0; + const Edge* const skip_ancestor = get_skip_ancestor(current, distance_to_root, &skip_length); + assert(skip_ancestor != NULL, "invariant"); + (*previous)->set_skip_length(skip_length); + + // lookup target + StoredEdge* stored_target = get(skip_ancestor->reference()); + if (stored_target != NULL) { + (*previous)->set_parent(stored_target); + // linked to existing, complete + return true; + } - const Edge* stored_parent_edge = NULL; + assert(stored_target == NULL, "invariant"); + stored_target = put(skip_ancestor->reference()); + assert(stored_target != NULL, "invariant"); + (*previous)->set_parent(stored_target); + *previous = stored_target; + *current = skip_ancestor->parent(); + return false; +} + +static void link_edge(const StoredEdge* current_stored, StoredEdge** previous) { + assert(current_stored != NULL, "invariant"); + assert(*previous != NULL, "invariant"); + assert((*previous)->parent() == NULL, "invariant"); + (*previous)->set_parent(current_stored); +} - // determine level of shared ancestry - for (; bottom_index > top_index; --bottom_index) { - const Edge* stored_edge = get_edge(&chain[bottom_index]); - if (stored_edge != NULL) { - stored_parent_edge = stored_edge; - continue; - } - break; +static const StoredEdge* find_closest_skip_edge(const StoredEdge* edge, size_t* distance) { + assert(edge != NULL, "invariant"); + assert(distance != NULL, "invariant"); + const StoredEdge* current = edge; + *distance = 1; + while (current != NULL && !current->is_skip_edge()) { + ++(*distance); + current = current->parent(); } + return current; +} - // insertion of new Edges - for (int i = (int)bottom_index; i >= (int)top_index; --i) { - Edge edge(stored_parent_edge, chain[i].reference()); - stored_parent_edge = put(&edge); +void EdgeStore::link_with_existing_chain(const StoredEdge* current_stored, StoredEdge** previous, size_t previous_length) { + assert(current_stored != NULL, "invariant"); + assert((*previous)->parent() == NULL, "invariant"); + size_t distance_to_skip_edge; // including the skip edge itself + const StoredEdge* const closest_skip_edge = find_closest_skip_edge(current_stored, &distance_to_skip_edge); + if (closest_skip_edge == NULL) { + // no found skip edge implies root + if (distance_to_skip_edge + previous_length <= EdgeUtils::max_ref_chain_depth) { + link_edge(current_stored, previous); + return; + } + assert(current_stored->distance_to_root() == distance_to_skip_edge - 2, "invariant"); + put_skip_edge(previous, reinterpret_cast(¤t_stored), distance_to_skip_edge - 2); + return; + } + assert(closest_skip_edge->is_skip_edge(), "invariant"); + if (distance_to_skip_edge + previous_length <= EdgeUtils::leak_context) { + link_edge(current_stored, previous); + return; + } + // create a new skip edge with derived information from closest skip edge + (*previous)->set_skip_length(distance_to_skip_edge + closest_skip_edge->skip_length()); + (*previous)->set_parent(closest_skip_edge->parent()); +} + +StoredEdge* EdgeStore::link_new_edge(StoredEdge** previous, const Edge** current) { + assert(*previous != NULL, "invariant"); + assert((*previous)->parent() == NULL, "invariant"); + assert(*current != NULL, "invariant"); + assert(!contains((*current)->reference()), "invariant"); + StoredEdge* const stored_edge = put((*current)->reference()); + assert(stored_edge != NULL, "invariant"); + link_edge(stored_edge, previous); + return stored_edge; +} + +bool EdgeStore::put_edges(StoredEdge** previous, const Edge** current, size_t limit) { + assert(*previous != NULL, "invariant"); + assert(*current != NULL, "invariant"); + size_t depth = 1; + while (*current != NULL && depth < limit) { + StoredEdge* stored_edge = get((*current)->reference()); + if (stored_edge != NULL) { + link_with_existing_chain(stored_edge, previous, depth); + return true; + } + stored_edge = link_new_edge(previous, current); + assert((*previous)->parent() != NULL, "invariant"); + *previous = stored_edge; + *current = (*current)->parent(); + ++depth; } + return NULL == *current; +} - const oop sample_object = stored_parent_edge->pointee(); +// Install the immediate edge into the mark word of the leak candidate object +StoredEdge* EdgeStore::associate_leak_context_with_candidate(const Edge* edge) { + assert(edge != NULL, "invariant"); + assert(!contains(edge->reference()), "invariant"); + StoredEdge* const leak_context_edge = put(edge->reference()); + oop sample_object = edge->pointee(); assert(sample_object != NULL, "invariant"); assert(NULL == sample_object->mark(), "invariant"); - - // Install the "top" edge of the chain into the sample object mark oop. - // This associates the sample object with its navigable reference chain. - sample_object->set_mark(markOop(stored_parent_edge)); + sample_object->set_mark(markOop(leak_context_edge)); + return leak_context_edge; } -bool EdgeStore::is_empty() const { - return !_edges->has_entries(); -} +/* + * The purpose of put_chain() is to reify the edge sequence + * discovered during heap traversal with a normalized logical copy. + * This copy consist of two sub-sequences and a connecting link (skip edge). + * + * "current" can be thought of as the cursor (search) edge, it is not in the edge store. + * "previous" is always an edge in the edge store. + * The leak context edge is the edge adjacent to the leak candidate object, always an edge in the edge store. + */ +void EdgeStore::put_chain(const Edge* chain, size_t length) { + assert(chain != NULL, "invariant"); + assert(chain->distance_to_root() + 1 == length, "invariant"); + StoredEdge* const leak_context_edge = associate_leak_context_with_candidate(chain); + assert(leak_context_edge != NULL, "invariant"); + assert(leak_context_edge->parent() == NULL, "invariant"); + + if (1 == length) { + return; + } -size_t EdgeStore::number_of_entries() const { - return _edges->cardinality(); + const Edge* current = chain->parent(); + assert(current != NULL, "invariant"); + StoredEdge* previous = leak_context_edge; + + // a leak context is the sequence of (limited) edges reachable from the leak candidate + if (put_edges(&previous, ¤t, EdgeUtils::leak_context)) { + // complete + assert(previous != NULL, "invariant"); + put_chain_epilogue(leak_context_edge, EdgeUtils::root(*previous)); + return; + } + + const size_t distance_to_root = length > EdgeUtils::leak_context ? length - 1 - EdgeUtils::leak_context : length - 1; + assert(current->distance_to_root() == distance_to_root, "invariant"); + + // a skip edge is the logical link + // connecting the leak context sequence with the root context sequence + if (put_skip_edge(&previous, ¤t, distance_to_root)) { + // complete + assert(previous != NULL, "invariant"); + assert(previous->is_skip_edge(), "invariant"); + assert(previous->parent() != NULL, "invariant"); + put_chain_epilogue(leak_context_edge, EdgeUtils::root(*previous->parent())); + return; + } + + assert(current->distance_to_root() < EdgeUtils::root_context, "invariant"); + + // a root context is the sequence of (limited) edges reachable from the root + put_edges(&previous, ¤t, EdgeUtils::root_context); + assert(previous != NULL, "invariant"); + put_chain_epilogue(leak_context_edge, EdgeUtils::root(*previous)); } -void EdgeStore::assign_id(EdgeEntry* entry) { - assert(entry != NULL, "invariant"); - assert(entry->id() == 0, "invariant"); - entry->set_id(++_edge_id_counter); +void EdgeStore::put_chain_epilogue(StoredEdge* leak_context_edge, const Edge* root) const { + assert(leak_context_edge != NULL, "invariant"); + assert(root != NULL, "invariant"); + store_gc_root_id_in_leak_context_edge(leak_context_edge, root); + assert(leak_context_edge->distance_to_root() + 1 <= EdgeUtils::max_ref_chain_depth, "invariant"); } -bool EdgeStore::equals(const Edge& query, uintptr_t hash, const EdgeEntry* entry) { - assert(entry != NULL, "invariant"); - assert(entry->hash() == hash, "invariant"); - return true; +// To avoid another traversal to resolve the root edge id later, +// cache it in the immediate leak context edge for fast retrieval. +void EdgeStore::store_gc_root_id_in_leak_context_edge(StoredEdge* leak_context_edge, const Edge* root) const { + assert(leak_context_edge != NULL, "invariant"); + assert(leak_context_edge->gc_root_id() == 0, "invariant"); + assert(root != NULL, "invariant"); + assert(root->parent() == NULL, "invariant"); + assert(root->distance_to_root() == 0, "invariant"); + const StoredEdge* const stored_root = static_cast(root); + traceid root_id = stored_root->gc_root_id(); + if (root_id == 0) { + root_id = get_id(root); + stored_root->set_gc_root_id(root_id); + } + assert(root_id != 0, "invariant"); + leak_context_edge->set_gc_root_id(root_id); + assert(leak_context_edge->gc_root_id() == stored_root->gc_root_id(), "invariant"); } diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/edgeStore.hpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/edgeStore.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/edgeStore.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/edgeStore.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -25,64 +25,40 @@ #ifndef SHARE_VM_LEAKPROFILER_CHAINS_EDGESTORE_HPP #define SHARE_VM_LEAKPROFILER_CHAINS_EDGESTORE_HPP -#include "jfr/utilities/jfrHashtable.hpp" #include "jfr/leakprofiler/chains/edge.hpp" +#include "jfr/utilities/jfrHashtable.hpp" #include "memory/allocation.hpp" typedef u8 traceid; -class RoutableEdge : public Edge { +class StoredEdge : public Edge { private: - mutable const RoutableEdge* _skip_edge; - mutable size_t _skip_length; - mutable bool _processed; + mutable traceid _gc_root_id; + size_t _skip_length; public: - RoutableEdge(); - RoutableEdge(const Edge* parent, const oop* reference); - RoutableEdge(const Edge& edge); - RoutableEdge(const RoutableEdge& edge); - void operator=(const RoutableEdge& edge); - - const RoutableEdge* skip_edge() const { return _skip_edge; } - size_t skip_length() const { return _skip_length; } - - bool is_skip_edge() const { return _skip_edge != NULL; } - bool processed() const { return _processed; } - bool is_sentinel() const { - return _skip_edge == NULL && _skip_length == 1; - } + StoredEdge(); + StoredEdge(const Edge* parent, const oop* reference); + StoredEdge(const Edge& edge); + StoredEdge(const StoredEdge& edge); + void operator=(const StoredEdge& edge); - void set_skip_edge(const RoutableEdge* edge) const { - assert(!is_skip_edge(), "invariant"); - assert(edge != this, "invariant"); - _skip_edge = edge; - } + traceid gc_root_id() const { return _gc_root_id; } + void set_gc_root_id(traceid root_id) const { _gc_root_id = root_id; } - void set_skip_length(size_t length) const { - _skip_length = length; - } - - void set_processed() const { - assert(!_processed, "invariant"); - _processed = true; - } + bool is_skip_edge() const { return _skip_length != 0; } + size_t skip_length() const { return _skip_length; } + void set_skip_length(size_t length) { _skip_length = length; } - // true navigation according to physical tree representation - const RoutableEdge* physical_parent() const { - return static_cast(parent()); - } + void set_parent(const Edge* edge) { this->_parent = edge; } - // logical navigation taking skip levels into account - const RoutableEdge* logical_parent() const { - return is_skip_edge() ? skip_edge() : physical_parent(); + StoredEdge* parent() const { + return const_cast(static_cast(Edge::parent())); } - - size_t logical_distance_to_root() const; }; class EdgeStore : public CHeapObj { - typedef HashTableHost EdgeHashTable; + typedef HashTableHost EdgeHashTable; typedef EdgeHashTable::HashEntry EdgeEntry; template friend class HashTableHost; + friend class EventEmitter; + friend class ObjectSampleWriter; + friend class ObjectSampleCheckpoint; private: static traceid _edge_id_counter; EdgeHashTable* _edges; @@ -98,22 +77,31 @@ void assign_id(EdgeEntry* entry); bool equals(const Edge& query, uintptr_t hash, const EdgeEntry* entry); - const Edge* get_edge(const Edge* edge) const; - const Edge* put(const Edge* edge); + StoredEdge* get(const oop* reference) const; + StoredEdge* put(const oop* reference); + traceid gc_root_id(const Edge* edge) const; + + bool put_edges(StoredEdge** previous, const Edge** current, size_t length); + bool put_skip_edge(StoredEdge** previous, const Edge** current, size_t distance_to_root); + void put_chain_epilogue(StoredEdge* leak_context_edge, const Edge* root) const; + + StoredEdge* associate_leak_context_with_candidate(const Edge* edge); + void store_gc_root_id_in_leak_context_edge(StoredEdge* leak_context_edge, const Edge* root) const; + StoredEdge* link_new_edge(StoredEdge** previous, const Edge** current); + void link_with_existing_chain(const StoredEdge* current_stored, StoredEdge** previous, size_t previous_length); + + template + void iterate(T& functor) const { _edges->iterate_value(functor); } + + DEBUG_ONLY(bool contains(const oop* reference) const;) public: EdgeStore(); ~EdgeStore(); - void add_chain(const Edge* chain, size_t length); bool is_empty() const; - size_t number_of_entries() const; - traceid get_id(const Edge* edge) const; - traceid get_root_id(const Edge* edge) const; - - template - void iterate_edges(T& functor) const { _edges->iterate_value(functor); } + void put_chain(const Edge* chain, size_t length); }; #endif // SHARE_VM_LEAKPROFILER_CHAINS_EDGESTORE_HPP diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.cpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -38,11 +38,7 @@ return (const Edge*)edge.pointee()->mark() == &edge; } -bool EdgeUtils::is_root(const Edge& edge) { - return edge.is_root(); -} - -static int field_offset(const Edge& edge) { +static int field_offset(const StoredEdge& edge) { assert(!edge.is_root(), "invariant"); const oop ref_owner = edge.reference_owner(); assert(ref_owner != NULL, "invariant"); @@ -56,7 +52,7 @@ return offset; } -static const InstanceKlass* field_type(const Edge& edge) { +static const InstanceKlass* field_type(const StoredEdge& edge) { assert(!edge.is_root() || !EdgeUtils::is_array_element(edge), "invariant"); return (const InstanceKlass*)edge.reference_owner_klass(); } @@ -138,175 +134,18 @@ current = parent; parent = current->parent(); } + assert(current != NULL, "invariant"); return current; } -// The number of references associated with the leak node; -// can be viewed as the leak node "context". -// Used to provide leak context for a "capped/skipped" reference chain. -static const size_t leak_context = 100; - -// The number of references associated with the root node; -// can be viewed as the root node "context". -// Used to provide root context for a "capped/skipped" reference chain. -static const size_t root_context = 100; - -// A limit on the reference chain depth to be serialized, -static const size_t max_ref_chain_depth = leak_context + root_context; - -const RoutableEdge* skip_to(const RoutableEdge& edge, size_t skip_length) { - const RoutableEdge* current = &edge; - const RoutableEdge* parent = current->physical_parent(); +const Edge* EdgeUtils::ancestor(const Edge& edge, size_t distance) { + const Edge* current = &edge; + const Edge* parent = current->parent(); size_t seek = 0; - while (parent != NULL && seek != skip_length) { + while (parent != NULL && seek != distance) { seek++; current = parent; - parent = parent->physical_parent(); + parent = parent->parent(); } return current; } - -#ifdef ASSERT -static void validate_skip_target(const RoutableEdge* skip_target) { - assert(skip_target != NULL, "invariant"); - assert(skip_target->distance_to_root() + 1 == root_context, "invariant"); - assert(skip_target->is_sentinel(), "invariant"); -} - -static void validate_new_skip_edge(const RoutableEdge* new_skip_edge, const RoutableEdge* last_skip_edge, size_t adjustment) { - assert(new_skip_edge != NULL, "invariant"); - assert(new_skip_edge->is_skip_edge(), "invariant"); - if (last_skip_edge != NULL) { - const RoutableEdge* const target = skip_to(*new_skip_edge->logical_parent(), adjustment); - validate_skip_target(target->logical_parent()); - return; - } - assert(last_skip_edge == NULL, "invariant"); - // only one level of logical indirection - validate_skip_target(new_skip_edge->logical_parent()); -} -#endif // ASSERT - -static void install_logical_route(const RoutableEdge* new_skip_edge, size_t skip_target_distance) { - assert(new_skip_edge != NULL, "invariant"); - assert(!new_skip_edge->is_skip_edge(), "invariant"); - assert(!new_skip_edge->processed(), "invariant"); - const RoutableEdge* const skip_target = skip_to(*new_skip_edge, skip_target_distance); - assert(skip_target != NULL, "invariant"); - new_skip_edge->set_skip_edge(skip_target); - new_skip_edge->set_skip_length(skip_target_distance); - assert(new_skip_edge->is_skip_edge(), "invariant"); - assert(new_skip_edge->logical_parent() == skip_target, "invariant"); -} - -static const RoutableEdge* find_last_skip_edge(const RoutableEdge& edge, size_t& distance) { - assert(distance == 0, "invariant"); - const RoutableEdge* current = &edge; - while (current != NULL) { - if (current->is_skip_edge() && current->skip_edge()->is_sentinel()) { - return current; - } - current = current->physical_parent(); - ++distance; - } - return current; -} - -static void collapse_overlapping_chain(const RoutableEdge& edge, - const RoutableEdge* first_processed_edge, - size_t first_processed_distance) { - assert(first_processed_edge != NULL, "invariant"); - // first_processed_edge is already processed / written - assert(first_processed_edge->processed(), "invariant"); - assert(first_processed_distance + 1 <= leak_context, "invariant"); - - // from this first processed edge, attempt to fetch the last skip edge - size_t last_skip_edge_distance = 0; - const RoutableEdge* const last_skip_edge = find_last_skip_edge(*first_processed_edge, last_skip_edge_distance); - const size_t distance_discovered = first_processed_distance + last_skip_edge_distance + 1; - - if (distance_discovered <= leak_context || (last_skip_edge == NULL && distance_discovered <= max_ref_chain_depth)) { - // complete chain can be accommodated without modification - return; - } - - // backtrack one edge from existing processed edge - const RoutableEdge* const new_skip_edge = skip_to(edge, first_processed_distance - 1); - assert(new_skip_edge != NULL, "invariant"); - assert(!new_skip_edge->processed(), "invariant"); - assert(new_skip_edge->parent() == first_processed_edge, "invariant"); - - size_t adjustment = 0; - if (last_skip_edge != NULL) { - assert(leak_context - 1 > first_processed_distance - 1, "invariant"); - adjustment = leak_context - first_processed_distance - 1; - assert(last_skip_edge_distance + 1 > adjustment, "invariant"); - install_logical_route(new_skip_edge, last_skip_edge_distance + 1 - adjustment); - } else { - install_logical_route(new_skip_edge, last_skip_edge_distance + 1 - root_context); - new_skip_edge->logical_parent()->set_skip_length(1); // sentinel - } - - DEBUG_ONLY(validate_new_skip_edge(new_skip_edge, last_skip_edge, adjustment);) -} - -static void collapse_non_overlapping_chain(const RoutableEdge& edge, - const RoutableEdge* first_processed_edge, - size_t first_processed_distance) { - assert(first_processed_edge != NULL, "invariant"); - assert(!first_processed_edge->processed(), "invariant"); - // this implies that the first "processed" edge is the leak context relative "leaf" - assert(first_processed_distance + 1 == leak_context, "invariant"); - - const size_t distance_to_root = edge.distance_to_root(); - if (distance_to_root + 1 <= max_ref_chain_depth) { - // complete chain can be accommodated without constructing a skip edge - return; - } - - install_logical_route(first_processed_edge, distance_to_root + 1 - first_processed_distance - root_context); - first_processed_edge->logical_parent()->set_skip_length(1); // sentinel - - DEBUG_ONLY(validate_new_skip_edge(first_processed_edge, NULL, 0);) -} - -static const RoutableEdge* processed_edge(const RoutableEdge& edge, size_t& distance) { - assert(distance == 0, "invariant"); - const RoutableEdge* current = &edge; - while (current != NULL && distance < leak_context - 1) { - if (current->processed()) { - return current; - } - current = current->physical_parent(); - ++distance; - } - assert(distance <= leak_context - 1, "invariant"); - return current; -} - -/* - * Some vocabulary: - * ----------- - * "Context" is an interval in the chain, it is associcated with an edge and it signifies a number of connected edges. - * "Processed / written" means an edge that has already been serialized. - * "Skip edge" is an edge that contains additional information for logical routing purposes. - * "Skip target" is an edge used as a destination for a skip edge - */ -void EdgeUtils::collapse_chain(const RoutableEdge& edge) { - assert(is_leak_edge(edge), "invariant"); - - // attempt to locate an already processed edge inside current leak context (if any) - size_t first_processed_distance = 0; - const RoutableEdge* const first_processed_edge = processed_edge(edge, first_processed_distance); - if (first_processed_edge == NULL) { - return; - } - - if (first_processed_edge->processed()) { - collapse_overlapping_chain(edge, first_processed_edge, first_processed_distance); - } else { - collapse_non_overlapping_chain(edge, first_processed_edge, first_processed_distance); - } - - assert(edge.logical_distance_to_root() + 1 <= max_ref_chain_depth, "invariant"); -} diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.hpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -28,15 +28,17 @@ #include "memory/allocation.hpp" class Edge; -class RoutableEdge; class Symbol; class EdgeUtils : public AllStatic { public: - static bool is_leak_edge(const Edge& edge); + static const size_t leak_context = 100; + static const size_t root_context = 100; + static const size_t max_ref_chain_depth = leak_context + root_context; + static bool is_leak_edge(const Edge& edge); static const Edge* root(const Edge& edge); - static bool is_root(const Edge& edge); + static const Edge* ancestor(const Edge& edge, size_t distance); static bool is_array_element(const Edge& edge); static int array_index(const Edge& edge); @@ -44,8 +46,6 @@ static const Symbol* field_name_symbol(const Edge& edge); static jshort field_modifiers(const Edge& edge); - - static void collapse_chain(const RoutableEdge& edge); }; #endif // SHARE_VM_LEAKPROFILER_CHAINS_EDGEUTILS_HPP diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/pathToGcRootsOperation.cpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/pathToGcRootsOperation.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/pathToGcRootsOperation.cpp 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/pathToGcRootsOperation.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,132 @@ +/* + * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. + * 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 "gc/shared/collectedHeap.hpp" +#include "jfr/leakprofiler/leakProfiler.hpp" +#include "jfr/leakprofiler/chains/bfsClosure.hpp" +#include "jfr/leakprofiler/chains/bitset.hpp" +#include "jfr/leakprofiler/chains/dfsClosure.hpp" +#include "jfr/leakprofiler/chains/edge.hpp" +#include "jfr/leakprofiler/chains/edgeQueue.hpp" +#include "jfr/leakprofiler/chains/edgeStore.hpp" +#include "jfr/leakprofiler/chains/objectSampleMarker.hpp" +#include "jfr/leakprofiler/chains/rootSetClosure.hpp" +#include "jfr/leakprofiler/chains/edgeStore.hpp" +#include "jfr/leakprofiler/chains/objectSampleMarker.hpp" +#include "jfr/leakprofiler/chains/pathToGcRootsOperation.hpp" +#include "jfr/leakprofiler/checkpoint/eventEmitter.hpp" +#include "jfr/leakprofiler/checkpoint/objectSampleCheckpoint.hpp" +#include "jfr/leakprofiler/sampling/objectSample.hpp" +#include "jfr/leakprofiler/sampling/objectSampler.hpp" +#include "jfr/leakprofiler/utilities/granularTimer.hpp" +#include "logging/log.hpp" +#include "memory/universe.hpp" +#include "oops/markOop.hpp" +#include "oops/oop.inline.hpp" +#include "runtime/safepoint.hpp" +#include "utilities/globalDefinitions.hpp" + +PathToGcRootsOperation::PathToGcRootsOperation(ObjectSampler* sampler, EdgeStore* edge_store, int64_t cutoff, bool emit_all) : + _sampler(sampler),_edge_store(edge_store), _cutoff_ticks(cutoff), _emit_all(emit_all) {} + +/* The EdgeQueue is backed by directly managed virtual memory. + * We will attempt to dimension an initial reservation + * in proportion to the size of the heap (represented by heap_region). + * Initial memory reservation: 5% of the heap OR at least 32 Mb + * Commit ratio: 1 : 10 (subject to allocation granularties) + */ +static size_t edge_queue_memory_reservation(const MemRegion& heap_region) { + const size_t memory_reservation_bytes = MAX2(heap_region.byte_size() / 20, 32*M); + assert(memory_reservation_bytes >= (size_t)32*M, "invariant"); + return memory_reservation_bytes; +} + +static size_t edge_queue_memory_commit_size(size_t memory_reservation_bytes) { + const size_t memory_commit_block_size_bytes = memory_reservation_bytes / 10; + assert(memory_commit_block_size_bytes >= (size_t)3*M, "invariant"); + return memory_commit_block_size_bytes; +} + +static void log_edge_queue_summary(const EdgeQueue& edge_queue) { + log_trace(jfr, system)("EdgeQueue reserved size total: " SIZE_FORMAT " [KB]", edge_queue.reserved_size() / K); + log_trace(jfr, system)("EdgeQueue edges total: " SIZE_FORMAT, edge_queue.top()); + log_trace(jfr, system)("EdgeQueue liveset total: " SIZE_FORMAT " [KB]", edge_queue.live_set() / K); + if (edge_queue.reserved_size() > 0) { + log_trace(jfr, system)("EdgeQueue commit reserve ratio: %f\n", + ((double)edge_queue.live_set() / (double)edge_queue.reserved_size())); + } +} + +void PathToGcRootsOperation::doit() { + assert(SafepointSynchronize::is_at_safepoint(), "invariant"); + assert(_cutoff_ticks > 0, "invariant"); + + // The bitset used for marking is dimensioned as a function of the heap size + const MemRegion heap_region = Universe::heap()->reserved_region(); + BitSet mark_bits(heap_region); + + // The edge queue is dimensioned as a fraction of the heap size + const size_t edge_queue_reservation_size = edge_queue_memory_reservation(heap_region); + EdgeQueue edge_queue(edge_queue_reservation_size, edge_queue_memory_commit_size(edge_queue_reservation_size)); + + // The initialize() routines will attempt to reserve and allocate backing storage memory. + // Failure to accommodate will render root chain processing impossible. + // As a fallback on failure, just write out the existing samples, flat, without chains. + if (!(mark_bits.initialize() && edge_queue.initialize())) { + log_warning(jfr)("Unable to allocate memory for root chain processing"); + return; + } + + // Save the original markWord for the potential leak objects, + // to be restored on function exit + ObjectSampleMarker marker; + if (ObjectSampleCheckpoint::mark(_sampler, marker, _emit_all) == 0) { + // no valid samples to process + return; + } + + // Necessary condition for attempting a root set iteration + Universe::heap()->ensure_parsability(false); + + BFSClosure bfs(&edge_queue, _edge_store, &mark_bits); + RootSetClosure roots(&bfs); + + GranularTimer::start(_cutoff_ticks, 1000000); + roots.process(); + if (edge_queue.is_full()) { + // Pathological case where roots don't fit in queue + // Do a depth-first search, but mark roots first + // to avoid walking sideways over roots + DFSClosure::find_leaks_from_root_set(_edge_store, &mark_bits); + } else { + bfs.process(); + } + GranularTimer::stop(); + log_edge_queue_summary(edge_queue); + + // Emit old objects including their reference chains as events + EventEmitter emitter(GranularTimer::start_time(), GranularTimer::end_time()); + emitter.write_events(_sampler, _edge_store, _emit_all); +} diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/pathToGcRootsOperation.hpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/pathToGcRootsOperation.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/pathToGcRootsOperation.hpp 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/pathToGcRootsOperation.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. + * 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_JFR_LEAKPROFILER_CHAINS_PATHTOGCROOTSOPERATION_HPP +#define SHARE_JFR_LEAKPROFILER_CHAINS_PATHTOGCROOTSOPERATION_HPP + +#include "jfr/leakprofiler/utilities/vmOperation.hpp" + +class EdgeStore; +class ObjectSampler; + +// Safepoint operation for finding paths to gc roots +class PathToGcRootsOperation : public OldObjectVMOperation { + private: + ObjectSampler* _sampler; + EdgeStore* const _edge_store; + const int64_t _cutoff_ticks; + const bool _emit_all; + + public: + PathToGcRootsOperation(ObjectSampler* sampler, EdgeStore* edge_store, int64_t cutoff, bool emit_all); + virtual void doit(); +}; + +#endif // SHARE_JFR_LEAKPROFILER_CHAINS_PATHTOGCROOTSOPERATION_HPP diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.cpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -28,12 +28,15 @@ #include "classfile/stringTable.hpp" #include "classfile/systemDictionary.hpp" #include "gc/shared/strongRootsScope.hpp" +#include "jfr/leakprofiler/chains/bfsClosure.hpp" +#include "jfr/leakprofiler/chains/dfsClosure.hpp" #include "jfr/leakprofiler/chains/edgeQueue.hpp" #include "jfr/leakprofiler/chains/rootSetClosure.hpp" #include "jfr/leakprofiler/utilities/saveRestore.hpp" #include "jfr/leakprofiler/utilities/unifiedOop.hpp" #include "memory/universe.hpp" #include "oops/access.inline.hpp" +#include "oops/oop.inline.hpp" #include "prims/jvmtiExport.hpp" #include "runtime/jniHandles.inline.hpp" #include "runtime/synchronizer.hpp" @@ -41,11 +44,11 @@ #include "services/management.hpp" #include "utilities/align.hpp" -RootSetClosure::RootSetClosure(EdgeQueue* edge_queue) : - _edge_queue(edge_queue) { -} +template +RootSetClosure::RootSetClosure(Delegate* delegate) : _delegate(delegate) {} -void RootSetClosure::do_oop(oop* ref) { +template +void RootSetClosure::do_oop(oop* ref) { assert(ref != NULL, "invariant"); // We discard unaligned root references because // our reference tagging scheme will use @@ -59,49 +62,39 @@ } assert(is_aligned(ref, HeapWordSize), "invariant"); - const oop pointee = *ref; - if (pointee != NULL) { - closure_impl(ref, pointee); + if (*ref != NULL) { + _delegate->do_root(ref); } } -void RootSetClosure::do_oop(narrowOop* ref) { +template +void RootSetClosure::do_oop(narrowOop* ref) { assert(ref != NULL, "invariant"); assert(is_aligned(ref, sizeof(narrowOop)), "invariant"); const oop pointee = RawAccess<>::oop_load(ref); if (pointee != NULL) { - closure_impl(UnifiedOop::encode(ref), pointee); + _delegate->do_root(UnifiedOop::encode(ref)); } } -void RootSetClosure::closure_impl(const oop* reference, const oop pointee) { - if (!_edge_queue->is_full()) { - _edge_queue->add(NULL, reference); - } -} +class RootSetClosureMarkScope : public MarkScope {}; -void RootSetClosure::add_to_queue(EdgeQueue* edge_queue) { - RootSetClosure rs(edge_queue); - process_roots(&rs); -} - -class RootSetClosureMarkScope : public MarkScope { -}; - -void RootSetClosure::process_roots(OopClosure* closure) { - SaveRestoreCLDClaimBits save_restore_cld_claim_bits; +template +void RootSetClosure::process() { RootSetClosureMarkScope mark_scope; - - CLDToOopClosure cldt_closure(closure); + CLDToOopClosure cldt_closure(this); ClassLoaderDataGraph::always_strong_cld_do(&cldt_closure); - CodeBlobToOopClosure blobs(closure, false); - Threads::oops_do(closure, &blobs); - ObjectSynchronizer::oops_do(closure); - Universe::oops_do(closure); - JNIHandles::oops_do(closure); - JvmtiExport::oops_do(closure); - SystemDictionary::oops_do(closure); - Management::oops_do(closure); - StringTable::oops_do(closure); - AOTLoader::oops_do(closure); + CodeBlobToOopClosure blobs(this, false); + Threads::oops_do(this, &blobs); + ObjectSynchronizer::oops_do(this); + Universe::oops_do(this); + JNIHandles::oops_do(this); + JvmtiExport::oops_do(this); + SystemDictionary::oops_do(this); + Management::oops_do(this); + StringTable::oops_do(this); + AOTLoader::oops_do(this); } + +template class RootSetClosure; +template class RootSetClosure; diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.hpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -26,18 +26,14 @@ #define SHARE_VM_JFR_LEAKPROFILER_CHAINS_ROOTSETCLOSURE_HPP #include "memory/iterator.hpp" -#include "oops/oop.hpp" - -class EdgeQueue; +template class RootSetClosure: public BasicOopIterateClosure { private: - RootSetClosure(EdgeQueue* edge_queue); - EdgeQueue* _edge_queue; - void closure_impl(const oop* reference, const oop pointee); + Delegate* const _delegate; public: - static void add_to_queue(EdgeQueue* edge_queue); - static void process_roots(OopClosure* closure); + RootSetClosure(Delegate* delegate); + void process(); virtual void do_oop(oop* reference); virtual void do_oop(narrowOop* reference); diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/checkpoint/eventEmitter.cpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/eventEmitter.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/checkpoint/eventEmitter.cpp 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/eventEmitter.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,148 @@ +/* + * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. + * 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 "jfr/jfrEvents.hpp" +#include "jfr/leakprofiler/chains/edgeStore.hpp" +#include "jfr/leakprofiler/chains/pathToGcRootsOperation.hpp" +#include "jfr/leakprofiler/checkpoint/eventEmitter.hpp" +#include "jfr/leakprofiler/checkpoint/objectSampleCheckpoint.hpp" +#include "jfr/leakprofiler/sampling/objectSample.hpp" +#include "jfr/leakprofiler/sampling/objectSampler.hpp" +#include "logging/log.hpp" +#include "memory/resourceArea.hpp" +#include "oops/markOop.hpp" +#include "oops/oop.inline.hpp" +#include "runtime/thread.inline.hpp" +#include "runtime/vmThread.hpp" + +EventEmitter::EventEmitter(const JfrTicks& start_time, const JfrTicks& end_time) : + _start_time(start_time), + _end_time(end_time), + _thread(Thread::current()), + _jfr_thread_local(_thread->jfr_thread_local()), + _thread_id(_thread->jfr_thread_local()->thread_id()) {} + +EventEmitter::~EventEmitter() { + // restore / reset thread local stack trace and thread id + _jfr_thread_local->set_thread_id(_thread_id); + _jfr_thread_local->clear_cached_stack_trace(); +} + +void EventEmitter::emit(ObjectSampler* sampler, int64_t cutoff_ticks, bool emit_all) { + assert(sampler != NULL, "invariant"); + + ResourceMark rm; + EdgeStore edge_store; + if (cutoff_ticks <= 0) { + // no reference chains + JfrTicks time_stamp = JfrTicks::now(); + EventEmitter emitter(time_stamp, time_stamp); + emitter.write_events(sampler, &edge_store, emit_all); + return; + } + // events emitted with reference chains require a safepoint operation + PathToGcRootsOperation op(sampler, &edge_store, cutoff_ticks, emit_all); + VMThread::execute(&op); +} + +size_t EventEmitter::write_events(ObjectSampler* object_sampler, EdgeStore* edge_store, bool emit_all) { + assert(_thread == Thread::current(), "invariant"); + assert(_thread->jfr_thread_local() == _jfr_thread_local, "invariant"); + assert(object_sampler != NULL, "invariant"); + assert(edge_store != NULL, "invariant"); + + const jlong last_sweep = emit_all ? max_jlong : object_sampler->last_sweep().value(); + size_t count = 0; + + const ObjectSample* current = object_sampler->first(); + while (current != NULL) { + ObjectSample* prev = current->prev(); + if (current->is_alive_and_older_than(last_sweep)) { + write_event(current, edge_store); + ++count; + } + current = prev; + } + + if (count > 0) { + // serialize associated checkpoints and potential chains + ObjectSampleCheckpoint::write(object_sampler, edge_store, emit_all, _thread); + } + return count; +} + +static int array_size(const oop object) { + assert(object != NULL, "invariant"); + if (object->is_array()) { + return arrayOop(object)->length(); + } + return min_jint; +} + +void EventEmitter::write_event(const ObjectSample* sample, EdgeStore* edge_store) { + assert(sample != NULL, "invariant"); + assert(!sample->is_dead(), "invariant"); + assert(edge_store != NULL, "invariant"); + assert(_jfr_thread_local != NULL, "invariant"); + + const oop* object_addr = sample->object_addr(); + traceid gc_root_id = 0; + const Edge* edge = NULL; + if (SafepointSynchronize::is_at_safepoint()) { + edge = (const Edge*)(*object_addr)->mark(); + } + if (edge == NULL) { + // In order to dump out a representation of the event + // even though it was not reachable / too long to reach, + // we need to register a top level edge for this object. + edge = edge_store->put(object_addr); + } else { + gc_root_id = edge_store->gc_root_id(edge); + } + + assert(edge != NULL, "invariant"); + const traceid object_id = edge_store->get_id(edge); + assert(object_id != 0, "invariant"); + + EventOldObjectSample e(UNTIMED); + e.set_starttime(_start_time); + e.set_endtime(_end_time); + e.set_allocationTime(sample->allocation_time()); + e.set_lastKnownHeapUsage(sample->heap_used_at_last_gc()); + e.set_object(object_id); + e.set_arrayElements(array_size(edge->pointee())); + e.set_root(gc_root_id); + + // Temporarily assigning both the stack trace id and thread id + // onto the thread local data structure of the emitter thread (for the duration + // of the commit() call). This trick provides a means to override + // the event generation mechanism by injecting externally provided id's. + // At this particular location, it allows us to emit an old object event + // supplying information from where the actual sampling occurred. + _jfr_thread_local->set_cached_stack_trace_id(sample->stack_trace_id()); + assert(sample->has_thread(), "invariant"); + _jfr_thread_local->set_thread_id(sample->thread_id()); + e.commit(); +} diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/checkpoint/eventEmitter.hpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/eventEmitter.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/checkpoint/eventEmitter.hpp 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/eventEmitter.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. + * 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_JFR_LEAKPROFILER_CHECKPOINT_EVENTEMITTER_HPP +#define SHARE_JFR_LEAKPROFILER_CHECKPOINT_EVENTEMITTER_HPP + +#include "memory/allocation.hpp" +#include "jfr/utilities/jfrTime.hpp" + +typedef u8 traceid; + +class EdgeStore; +class JfrThreadLocal; +class ObjectSample; +class ObjectSampler; +class Thread; + +class EventEmitter : public CHeapObj { + friend class LeakProfiler; + friend class PathToGcRootsOperation; + private: + const JfrTicks& _start_time; + const JfrTicks& _end_time; + Thread* _thread; + JfrThreadLocal* _jfr_thread_local; + traceid _thread_id; + + EventEmitter(const JfrTicks& start_time, const JfrTicks& end_time); + ~EventEmitter(); + + void write_event(const ObjectSample* sample, EdgeStore* edge_store); + size_t write_events(ObjectSampler* sampler, EdgeStore* store, bool emit_all); + + static void emit(ObjectSampler* sampler, int64_t cutoff_ticks, bool emit_all); +}; + +#endif // SHARE_JFR_LEAKPROFILER_CHECKPOINT_EVENTEMITTER_HPP diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.cpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -181,102 +181,89 @@ } }; -void ObjectSampleCheckpoint::install(JfrCheckpointWriter& writer, bool class_unload, bool resume) { - assert(class_unload ? SafepointSynchronize::is_at_safepoint() : LeakProfiler::is_suspended(), "invariant"); - +void ObjectSampleCheckpoint::install(JfrCheckpointWriter& writer, bool class_unload, bool type_set) { if (!writer.has_data()) { - if (!class_unload) { - LeakProfiler::resume(); - } - assert(LeakProfiler::is_running(), "invariant"); return; } assert(writer.has_data(), "invariant"); const JfrCheckpointBlobHandle h_cp = writer.checkpoint_blob(); + CheckpointInstall install(h_cp); - const ObjectSampler* const object_sampler = LeakProfiler::object_sampler(); + // Class unload implies a safepoint. + // Not class unload implies the object sampler is locked, because it was claimed exclusively earlier. + // Therefore: direct access the object sampler instance is safe. + ObjectSampler* const object_sampler = ObjectSampler::sampler(); assert(object_sampler != NULL, "invariant"); ObjectSample* const last = const_cast(object_sampler->last()); const ObjectSample* const last_resolved = object_sampler->last_resolved(); - CheckpointInstall install(h_cp); - if (class_unload) { - if (last != NULL) { - // all samples need the class unload information - do_samples(last, NULL, install); - } - assert(LeakProfiler::is_running(), "invariant"); - return; - } - - // only new samples since last resolved checkpoint + // install only to new samples since last resolved checkpoint if (last != last_resolved) { do_samples(last, last_resolved, install); - if (resume) { - const_cast(object_sampler)->set_last_resolved(last); + if (class_unload) { + return; + } + if (type_set) { + object_sampler->set_last_resolved(last); } - } - assert(LeakProfiler::is_suspended(), "invariant"); - if (resume) { - LeakProfiler::resume(); - assert(LeakProfiler::is_running(), "invariant"); } } -void ObjectSampleCheckpoint::write(const EdgeStore* edge_store, bool emit_all, Thread* thread) { +void ObjectSampleCheckpoint::write(ObjectSampler* sampler, EdgeStore* edge_store, bool emit_all, Thread* thread) { + assert(sampler != NULL, "invariant"); assert(edge_store != NULL, "invariant"); assert(thread != NULL, "invariant"); + static bool types_registered = false; if (!types_registered) { JfrSerializer::register_serializer(TYPE_OLDOBJECTROOTSYSTEM, false, true, new RootSystemType()); JfrSerializer::register_serializer(TYPE_OLDOBJECTROOTTYPE, false, true, new RootType()); types_registered = true; } - const ObjectSampler* const object_sampler = LeakProfiler::object_sampler(); - assert(object_sampler != NULL, "invariant"); - const jlong last_sweep = emit_all ? max_jlong : object_sampler->last_sweep().value(); - ObjectSample* const last = const_cast(object_sampler->last()); + + const jlong last_sweep = emit_all ? max_jlong : sampler->last_sweep().value(); + ObjectSample* const last = const_cast(sampler->last()); { JfrCheckpointWriter writer(false, false, thread); CheckpointWrite checkpoint_write(writer, last_sweep); do_samples(last, NULL, checkpoint_write); } + CheckpointStateReset state_reset(last_sweep); do_samples(last, NULL, state_reset); + if (!edge_store->is_empty()) { // java object and chain representations JfrCheckpointWriter writer(false, true, thread); ObjectSampleWriter osw(writer, edge_store); - edge_store->iterate_edges(osw); + edge_store->iterate(osw); } } -WriteObjectSampleStacktrace::WriteObjectSampleStacktrace(JfrStackTraceRepository& repo) : - _stack_trace_repo(repo) { +int ObjectSampleCheckpoint::mark(ObjectSampler* object_sampler, ObjectSampleMarker& marker, bool emit_all) { + assert(object_sampler != NULL, "invariant"); + ObjectSample* const last = const_cast(object_sampler->last()); + if (last == NULL) { + return 0; + } + const jlong last_sweep = emit_all ? max_jlong : object_sampler->last_sweep().value(); + SampleMark mark(marker, last_sweep); + do_samples(last, NULL, mark); + return mark.count(); } -bool WriteObjectSampleStacktrace::process() { - assert(SafepointSynchronize::is_at_safepoint(), "invariant"); - if (!LeakProfiler::is_running()) { - return true; - } - // Suspend the LeakProfiler subsystem - // to ensure stable samples even - // after we return from the safepoint. - LeakProfiler::suspend(); - assert(!LeakProfiler::is_running(), "invariant"); - assert(LeakProfiler::is_suspended(), "invariant"); +WriteObjectSampleStacktrace::WriteObjectSampleStacktrace(ObjectSampler* sampler, JfrStackTraceRepository& repo) : + _sampler(sampler), _stack_trace_repo(repo) {} - const ObjectSampler* object_sampler = LeakProfiler::object_sampler(); - assert(object_sampler != NULL, "invariant"); - assert(LeakProfiler::is_suspended(), "invariant"); +bool WriteObjectSampleStacktrace::process() { + assert(LeakProfiler::is_running(), "invariant"); + assert(_sampler != NULL, "invariant"); - ObjectSample* const last = const_cast(object_sampler->last()); - const ObjectSample* const last_resolved = object_sampler->last_resolved(); + ObjectSample* const last = const_cast(_sampler->last()); + const ObjectSample* const last_resolved = _sampler->last_resolved(); if (last == last_resolved) { - assert(LeakProfiler::is_suspended(), "invariant"); return true; } @@ -294,27 +281,13 @@ } if (count == 0) { writer.set_context(ctx); - assert(LeakProfiler::is_suspended(), "invariant"); return true; } assert(count > 0, "invariant"); writer.write_count((u4)count, count_offset); JfrStackTraceRepository::write_metadata(writer); + // install the stacktrace checkpoint information to the candidates ObjectSampleCheckpoint::install(writer, false, false); - assert(LeakProfiler::is_suspended(), "invariant"); return true; } - -int ObjectSampleCheckpoint::mark(ObjectSampleMarker& marker, bool emit_all) { - const ObjectSampler* object_sampler = LeakProfiler::object_sampler(); - assert(object_sampler != NULL, "invariant"); - ObjectSample* const last = const_cast(object_sampler->last()); - if (last == NULL) { - return 0; - } - const jlong last_sweep = emit_all ? max_jlong : object_sampler->last_sweep().value(); - SampleMark mark(marker, last_sweep); - do_samples(last, NULL, mark); - return mark.count(); -} diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.hpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -26,25 +26,26 @@ #define SHARE_VM_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLECHECKPOINT_HPP #include "memory/allocation.hpp" -#include "utilities/exceptions.hpp" class EdgeStore; -class JfrStackTraceRepository; class JfrCheckpointWriter; +class JfrStackTraceRepository; class ObjectSampleMarker; +class ObjectSampler; class ObjectSampleCheckpoint : AllStatic { public: - static void install(JfrCheckpointWriter& writer, bool class_unload, bool resume); - static void write(const EdgeStore* edge_store, bool emit_all, Thread* thread); - static int mark(ObjectSampleMarker& marker, bool emit_all); + static void install(JfrCheckpointWriter& writer, bool class_unload, bool type_set); + static void write(ObjectSampler* sampler, EdgeStore* edge_store, bool emit_all, Thread* thread); + static int mark(ObjectSampler* sampler, ObjectSampleMarker& marker, bool emit_all); }; class WriteObjectSampleStacktrace : public StackObj { private: + ObjectSampler* const _sampler; JfrStackTraceRepository& _stack_trace_repo; public: - WriteObjectSampleStacktrace(JfrStackTraceRepository& repo); + WriteObjectSampleStacktrace(ObjectSampler* sampler, JfrStackTraceRepository& repo); bool process(); }; diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleDescription.cpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleDescription.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleDescription.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleDescription.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -29,6 +29,7 @@ #include "jfr/leakprofiler/checkpoint/objectSampleDescription.hpp" #include "jfr/recorder/checkpoint/jfrCheckpointWriter.hpp" #include "oops/oop.inline.hpp" +#include "runtime/fieldDescriptor.inline.hpp" #include "runtime/thread.hpp" #include "utilities/ostream.hpp" diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.cpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -350,7 +350,7 @@ return 1; } -static traceid get_root_description_info_id(const Edge& edge, traceid id) { +static traceid get_gc_root_description_info_id(const Edge& edge, traceid id) { assert(edge.is_root(), "invariant"); if (EdgeUtils::is_leak_edge(edge)) { return 0; @@ -518,7 +518,7 @@ } } -static void add_old_object_sample_info(const Edge* current, traceid id) { +static void add_old_object_sample_info(const StoredEdge* current, traceid id) { assert(current != NULL, "invariant"); if (sample_infos == NULL) { sample_infos = new SampleInfo(); @@ -528,11 +528,11 @@ assert(oosi != NULL, "invariant"); oosi->_id = id; oosi->_data._object = current->pointee(); - oosi->_data._reference_id = current->is_root() ? (traceid)0 : id; + oosi->_data._reference_id = current->parent() == NULL ? (traceid)0 : id; sample_infos->store(oosi); } -static void add_reference_info(const RoutableEdge* current, traceid id, traceid parent_id) { +static void add_reference_info(const StoredEdge* current, traceid id, traceid parent_id) { assert(current != NULL, "invariant"); if (ref_infos == NULL) { ref_infos = new RefInfo(); @@ -544,37 +544,43 @@ ri->_id = id; ri->_data._array_info_id = !current->is_skip_edge() ? get_array_info_id(*current, id) : 0; - ri->_data._field_info_id = ri->_data._array_info_id == 0 && !current->is_skip_edge() ? - get_field_info_id(*current) : (traceid)0; + ri->_data._field_info_id = ri->_data._array_info_id == 0 && !current->is_skip_edge() ? get_field_info_id(*current) : (traceid)0; ri->_data._old_object_sample_id = parent_id; ri->_data._skip = current->skip_length(); ref_infos->store(ri); } -static traceid add_root_info(const Edge* root, traceid id) { +static bool is_gc_root(const StoredEdge* current) { + assert(current != NULL, "invariant"); + return current->parent() == NULL && current->gc_root_id() != 0; +} + +static traceid add_gc_root_info(const StoredEdge* root, traceid id) { assert(root != NULL, "invariant"); - assert(root->is_root(), "invariant"); - return get_root_description_info_id(*root, id); + assert(is_gc_root(root), "invariant"); + return get_gc_root_description_info_id(*root, id); } -void ObjectSampleWriter::write(const RoutableEdge* edge) { +void ObjectSampleWriter::write(const StoredEdge* edge) { assert(edge != NULL, "invariant"); const traceid id = _store->get_id(edge); add_old_object_sample_info(edge, id); - const RoutableEdge* parent = edge->logical_parent(); + const StoredEdge* const parent = edge->parent(); if (parent != NULL) { add_reference_info(edge, id, _store->get_id(parent)); } else { - assert(edge->is_root(), "invariant"); - add_root_info(edge, id); + if (is_gc_root(edge)) { + assert(edge->gc_root_id() == id, "invariant"); + add_gc_root_info(edge, id); + } } } -ObjectSampleWriter::ObjectSampleWriter(JfrCheckpointWriter& writer, const EdgeStore* store) : +ObjectSampleWriter::ObjectSampleWriter(JfrCheckpointWriter& writer, EdgeStore* store) : _writer(writer), _store(store) { assert(store != NULL, "invariant"); - assert(store->number_of_entries() > 0, "invariant"); + assert(!store->is_empty(), "invariant"); sample_infos = NULL; ref_infos = NULL; array_infos = NULL; @@ -590,26 +596,7 @@ write_root_descriptors(_writer); } -void ObjectSampleWriter::write_chain(const RoutableEdge& edge) { - assert(EdgeUtils::is_leak_edge(edge), "invariant"); - if (edge.processed()) { - return; - } - EdgeUtils::collapse_chain(edge); - const RoutableEdge* current = &edge; - while (current != NULL) { - if (current->processed()) { - return; - } - write(current); - current->set_processed(); - current = current->logical_parent(); - } -} - -bool ObjectSampleWriter::operator()(const RoutableEdge& edge) { - if (EdgeUtils::is_leak_edge(edge)) { - write_chain(edge); - } +bool ObjectSampleWriter::operator()(StoredEdge& e) { + write(&e); return true; } diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.hpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -30,21 +30,17 @@ class Edge; class EdgeStore; class JfrCheckpointWriter; -class RoutableEdge; +class StoredEdge; class ObjectSampleWriter : public StackObj { private: JfrCheckpointWriter& _writer; - const EdgeStore* const _store; - - void write(const RoutableEdge* edge); - void write_chain(const RoutableEdge& edge); - + EdgeStore* const _store; + void write(const StoredEdge* edge); public: - ObjectSampleWriter(JfrCheckpointWriter& writer, const EdgeStore* store); + ObjectSampleWriter(JfrCheckpointWriter& writer, EdgeStore* store); ~ObjectSampleWriter(); - - bool operator()(const RoutableEdge& edge); + bool operator()(StoredEdge& edge); }; #endif // SHARE_VM_LEAKPROFILER_CHECKPOINT_OBJECTSAMPLEWRITER_HPP diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/checkpoint/rootResolver.hpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/rootResolver.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/checkpoint/rootResolver.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/checkpoint/rootResolver.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -25,8 +25,8 @@ #ifndef SHARE_VM_JFR_LEAKPROFILER_CHECKPOINT_ROOTRESOLVER_HPP #define SHARE_VM_JFR_LEAKPROFILER_CHECKPOINT_ROOTRESOLVER_HPP -#include "memory/allocation.hpp" #include "jfr/leakprofiler/utilities/rootType.hpp" +#include "memory/allocation.hpp" #include "oops/oopsHierarchy.hpp" struct RootCallbackInfo { diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/emitEventOperation.cpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/emitEventOperation.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/emitEventOperation.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/emitEventOperation.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,234 +0,0 @@ -/* - * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. - * 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 "gc/shared/collectedHeap.hpp" -#include "jfr/jfrEvents.hpp" -#include "jfr/leakprofiler/utilities/granularTimer.hpp" -#include "jfr/leakprofiler/chains/rootSetClosure.hpp" -#include "jfr/leakprofiler/chains/edge.hpp" -#include "jfr/leakprofiler/chains/edgeQueue.hpp" -#include "jfr/leakprofiler/chains/edgeStore.hpp" -#include "jfr/leakprofiler/chains/bitset.hpp" -#include "jfr/leakprofiler/sampling/objectSample.hpp" -#include "jfr/leakprofiler/leakProfiler.hpp" -#include "jfr/leakprofiler/checkpoint/objectSampleCheckpoint.hpp" -#include "jfr/leakprofiler/sampling/objectSampler.hpp" -#include "jfr/leakprofiler/emitEventOperation.hpp" -#include "jfr/leakprofiler/chains/bfsClosure.hpp" -#include "jfr/leakprofiler/chains/dfsClosure.hpp" -#include "jfr/leakprofiler/chains/objectSampleMarker.hpp" -#include "jfr/recorder/checkpoint/jfrCheckpointWriter.hpp" -#include "jfr/support/jfrThreadId.hpp" -#include "logging/log.hpp" -#include "memory/resourceArea.hpp" -#include "memory/universe.hpp" -#include "oops/markOop.hpp" -#include "oops/oop.inline.hpp" -#include "runtime/safepoint.hpp" -#include "runtime/vmThread.hpp" -#include "utilities/globalDefinitions.hpp" - -/* The EdgeQueue is backed by directly managed virtual memory. - * We will attempt to dimension an initial reservation - * in proportion to the size of the heap (represented by heap_region). - * Initial memory reservation: 5% of the heap OR at least 32 Mb - * Commit ratio: 1 : 10 (subject to allocation granularties) - */ -static size_t edge_queue_memory_reservation(const MemRegion& heap_region) { - const size_t memory_reservation_bytes = MAX2(heap_region.byte_size() / 20, 32*M); - assert(memory_reservation_bytes >= (size_t)32*M, "invariant"); - return memory_reservation_bytes; -} - -static size_t edge_queue_memory_commit_size(size_t memory_reservation_bytes) { - const size_t memory_commit_block_size_bytes = memory_reservation_bytes / 10; - assert(memory_commit_block_size_bytes >= (size_t)3*M, "invariant"); - return memory_commit_block_size_bytes; -} - -static void log_edge_queue_summary(const EdgeQueue& edge_queue) { - log_trace(jfr, system)("EdgeQueue reserved size total: " SIZE_FORMAT " [KB]", edge_queue.reserved_size() / K); - log_trace(jfr, system)("EdgeQueue edges total: " SIZE_FORMAT, edge_queue.top()); - log_trace(jfr, system)("EdgeQueue liveset total: " SIZE_FORMAT " [KB]", edge_queue.live_set() / K); - if (edge_queue.reserved_size() > 0) { - log_trace(jfr, system)("EdgeQueue commit reserve ratio: %f\n", - ((double)edge_queue.live_set() / (double)edge_queue.reserved_size())); - } -} - -void EmitEventOperation::doit() { - assert(LeakProfiler::is_running(), "invariant"); - _object_sampler = LeakProfiler::object_sampler(); - assert(_object_sampler != NULL, "invariant"); - - _vm_thread = VMThread::vm_thread(); - assert(_vm_thread == Thread::current(), "invariant"); - _vm_thread_local = _vm_thread->jfr_thread_local(); - assert(_vm_thread_local != NULL, "invariant"); - assert(_vm_thread->jfr_thread_local()->thread_id() == JFR_THREAD_ID(_vm_thread), "invariant"); - - // The VM_Operation::evaluate() which invoked doit() - // contains a top level ResourceMark - - // save the original markWord for the potential leak objects - // to be restored on function exit - ObjectSampleMarker marker; - if (ObjectSampleCheckpoint::mark(marker, _emit_all) == 0) { - return; - } - - EdgeStore edge_store; - - GranularTimer::start(_cutoff_ticks, 1000000); - if (_cutoff_ticks <= 0) { - // no chains - write_events(&edge_store); - return; - } - - assert(_cutoff_ticks > 0, "invariant"); - - // The bitset used for marking is dimensioned as a function of the heap size - const MemRegion heap_region = Universe::heap()->reserved_region(); - BitSet mark_bits(heap_region); - - // The edge queue is dimensioned as a fraction of the heap size - const size_t edge_queue_reservation_size = edge_queue_memory_reservation(heap_region); - EdgeQueue edge_queue(edge_queue_reservation_size, edge_queue_memory_commit_size(edge_queue_reservation_size)); - - // The initialize() routines will attempt to reserve and allocate backing storage memory. - // Failure to accommodate will render root chain processing impossible. - // As a fallback on failure, just write out the existing samples, flat, without chains. - if (!(mark_bits.initialize() && edge_queue.initialize())) { - log_warning(jfr)("Unable to allocate memory for root chain processing"); - write_events(&edge_store); - return; - } - - // necessary condition for attempting a root set iteration - Universe::heap()->ensure_parsability(false); - - RootSetClosure::add_to_queue(&edge_queue); - if (edge_queue.is_full()) { - // Pathological case where roots don't fit in queue - // Do a depth-first search, but mark roots first - // to avoid walking sideways over roots - DFSClosure::find_leaks_from_root_set(&edge_store, &mark_bits); - } else { - BFSClosure bfs(&edge_queue, &edge_store, &mark_bits); - bfs.process(); - } - GranularTimer::stop(); - write_events(&edge_store); - log_edge_queue_summary(edge_queue); -} - -int EmitEventOperation::write_events(EdgeStore* edge_store) { - assert(_object_sampler != NULL, "invariant"); - assert(edge_store != NULL, "invariant"); - assert(_vm_thread != NULL, "invariant"); - assert(_vm_thread_local != NULL, "invariant"); - assert(SafepointSynchronize::is_at_safepoint(), "invariant"); - - // save thread id in preparation for thread local trace data manipulations - const traceid vmthread_id = _vm_thread_local->thread_id(); - assert(_vm_thread_local->thread_id() == JFR_THREAD_ID(_vm_thread), "invariant"); - - const jlong last_sweep = _emit_all ? max_jlong : _object_sampler->last_sweep().value(); - int count = 0; - - for (int i = 0; i < _object_sampler->item_count(); ++i) { - const ObjectSample* sample = _object_sampler->item_at(i); - if (sample->is_alive_and_older_than(last_sweep)) { - write_event(sample, edge_store); - ++count; - } - } - - // restore thread local stack trace and thread id - _vm_thread_local->set_thread_id(vmthread_id); - _vm_thread_local->clear_cached_stack_trace(); - assert(_vm_thread_local->thread_id() == JFR_THREAD_ID(_vm_thread), "invariant"); - - if (count > 0) { - // serialize assoicated checkpoints - ObjectSampleCheckpoint::write(edge_store, _emit_all, _vm_thread); - } - return count; -} - -static int array_size(const oop object) { - assert(object != NULL, "invariant"); - if (object->is_array()) { - return arrayOop(object)->length(); - } - return min_jint; -} - -void EmitEventOperation::write_event(const ObjectSample* sample, EdgeStore* edge_store) { - assert(sample != NULL, "invariant"); - assert(!sample->is_dead(), "invariant"); - assert(edge_store != NULL, "invariant"); - assert(_vm_thread_local != NULL, "invariant"); - const oop* object_addr = sample->object_addr(); - assert(*object_addr != NULL, "invariant"); - - const Edge* edge = (const Edge*)(*object_addr)->mark(); - traceid gc_root_id = 0; - if (edge == NULL) { - // In order to dump out a representation of the event - // even though it was not reachable / too long to reach, - // we need to register a top level edge for this object - Edge e(NULL, object_addr); - edge_store->add_chain(&e, 1); - edge = (const Edge*)(*object_addr)->mark(); - } else { - gc_root_id = edge_store->get_root_id(edge); - } - - assert(edge != NULL, "invariant"); - assert(edge->pointee() == *object_addr, "invariant"); - const traceid object_id = edge_store->get_id(edge); - assert(object_id != 0, "invariant"); - - EventOldObjectSample e(UNTIMED); - e.set_starttime(GranularTimer::start_time()); - e.set_endtime(GranularTimer::end_time()); - e.set_allocationTime(sample->allocation_time()); - e.set_lastKnownHeapUsage(sample->heap_used_at_last_gc()); - e.set_object(object_id); - e.set_arrayElements(array_size(*object_addr)); - e.set_root(gc_root_id); - - // Temporarily assigning both the stack trace id and thread id - // onto the thread local data structure of the VMThread (for the duration - // of the commit() call). This trick provides a means to override - // the event generation mechanism by injecting externally provided id's. - // Here, in particular, this allows us to emit an old object event - // supplying information from where the actual sampling occurred. - _vm_thread_local->set_cached_stack_trace_id(sample->stack_trace_id()); - assert(sample->has_thread(), "invariant"); - _vm_thread_local->set_thread_id(sample->thread_id()); - e.commit(); -} diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/emitEventOperation.hpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/emitEventOperation.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/emitEventOperation.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/emitEventOperation.hpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,69 +0,0 @@ -/* - * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. - * 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_LEAKPROFILER_EMITEVENTOPERATION_HPP -#define SHARE_VM_LEAKPROFILER_EMITEVENTOPERATION_HPP - -#include "runtime/vm_operations.hpp" - -class BFSClosure; -class EdgeStore; -class EdgeQueue; -class JfrThreadData; -class ObjectSample; -class ObjectSampler; - -// Safepoint operation for emitting object sample events -class EmitEventOperation : public VM_Operation { - private: - jlong _cutoff_ticks; - bool _emit_all; - VMThread* _vm_thread; - JfrThreadLocal* _vm_thread_local; - ObjectSampler* _object_sampler; - - void write_event(const ObjectSample* sample, EdgeStore* edge_store); - int write_events(EdgeStore* edge_store); - - public: - EmitEventOperation(jlong cutoff_ticks, bool emit_all) : - _cutoff_ticks(cutoff_ticks), - _emit_all(emit_all), - _vm_thread(NULL), - _vm_thread_local(NULL), - _object_sampler(NULL) { - } - - VMOp_Type type() const { - return VMOp_GC_HeapInspection; - } - - Mode evaluation_mode() const { - return _safepoint; - } - - virtual void doit(); -}; - -#endif // SHARE_VM_LEAKPROFILER_EMITEVENTOPERATION_HPP diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/leakProfiler.cpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/leakProfiler.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/leakProfiler.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/leakProfiler.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. * 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,73 +23,86 @@ */ #include "precompiled.hpp" -#include "jfr/leakprofiler/emitEventOperation.hpp" #include "jfr/leakprofiler/leakProfiler.hpp" #include "jfr/leakprofiler/startOperation.hpp" #include "jfr/leakprofiler/stopOperation.hpp" +#include "jfr/leakprofiler/checkpoint/eventEmitter.hpp" #include "jfr/leakprofiler/sampling/objectSampler.hpp" #include "jfr/recorder/service/jfrOptionSet.hpp" +#include "logging/log.hpp" #include "memory/iterator.hpp" -#include "oops/oop.hpp" -#include "runtime/atomic.hpp" -#include "runtime/orderAccess.hpp" #include "runtime/thread.inline.hpp" #include "runtime/vmThread.hpp" -#include "utilities/ostream.hpp" -// Only to be updated during safepoint -ObjectSampler* LeakProfiler::_object_sampler = NULL; +bool LeakProfiler::is_running() { + return ObjectSampler::is_created(); +} + +bool LeakProfiler::start(int sample_count) { + if (is_running()) { + return true; + } + + // Allows user to disable leak profiler on command line by setting queue size to zero. + if (sample_count == 0) { + return false; + } -static volatile jbyte suspended = 0; -bool LeakProfiler::start(jint sample_count) { if (UseZGC) { log_warning(jfr)("LeakProfiler is currently not supported in combination with ZGC"); return false; } - if (_object_sampler != NULL) { - // already started - return true; - } - // Allows user to disable leak profiler on command line by setting queue size to zero. - if (sample_count > 0) { - StartOperation op(sample_count); - VMThread::execute(&op); - return _object_sampler != NULL; + assert(!is_running(), "invariant"); + assert(sample_count > 0, "invariant"); + + // schedule the safepoint operation for installing the object sampler + StartOperation op(sample_count); + VMThread::execute(&op); + + if (!is_running()) { + log_trace(jfr, system)("Object sampling could not be started because the sampler could not be allocated"); + return false; } - return false; + assert(is_running(), "invariant"); + log_trace(jfr, system)("Object sampling started"); + return true; } bool LeakProfiler::stop() { - if (_object_sampler == NULL) { - // already stopped/not started - return true; + if (!is_running()) { + return false; } + + // schedule the safepoint operation for uninstalling and destroying the object sampler StopOperation op; VMThread::execute(&op); - return _object_sampler == NULL; + + assert(!is_running(), "invariant"); + log_trace(jfr, system)("Object sampling stopped"); + return true; } -void LeakProfiler::emit_events(jlong cutoff_ticks, bool emit_all) { +void LeakProfiler::emit_events(int64_t cutoff_ticks, bool emit_all) { if (!is_running()) { return; } - EmitEventOperation op(cutoff_ticks, emit_all); - VMThread::execute(&op); + // exclusive access to object sampler instance + ObjectSampler* const sampler = ObjectSampler::acquire(); + assert(sampler != NULL, "invariant"); + EventEmitter::emit(sampler, cutoff_ticks, emit_all); + ObjectSampler::release(); } void LeakProfiler::oops_do(BoolObjectClosure* is_alive, OopClosure* f) { assert(SafepointSynchronize::is_at_safepoint(), "Leak Profiler::oops_do(...) may only be called during safepoint"); - - if (_object_sampler != NULL) { - _object_sampler->oops_do(is_alive, f); + if (is_running()) { + ObjectSampler::oops_do(is_alive, f); } } -void LeakProfiler::sample(HeapWord* object, - size_t size, - JavaThread* thread) { +void LeakProfiler::sample(HeapWord* object, size_t size, JavaThread* thread) { assert(is_running(), "invariant"); assert(thread != NULL, "invariant"); assert(thread->thread_state() == _thread_in_vm, "invariant"); @@ -99,39 +112,5 @@ return; } - _object_sampler->add(object, size, thread); -} - -ObjectSampler* LeakProfiler::object_sampler() { - assert(is_suspended() || SafepointSynchronize::is_at_safepoint(), - "Leak Profiler::object_sampler() may only be called during safepoint"); - return _object_sampler; -} - -void LeakProfiler::set_object_sampler(ObjectSampler* object_sampler) { - assert(SafepointSynchronize::is_at_safepoint(), - "Leak Profiler::set_object_sampler() may only be called during safepoint"); - _object_sampler = object_sampler; -} - -bool LeakProfiler::is_running() { - return _object_sampler != NULL && !suspended; -} - -bool LeakProfiler::is_suspended() { - return _object_sampler != NULL && suspended; -} - -void LeakProfiler::resume() { - assert(is_suspended(), "invariant"); - OrderAccess::storestore(); - Atomic::store((jbyte)0, &suspended); - assert(is_running(), "invariant"); -} - -void LeakProfiler::suspend() { - assert(SafepointSynchronize::is_at_safepoint(), "invariant"); - assert(_object_sampler != NULL, "invariant"); - assert(!is_suspended(), "invariant"); - suspended = (jbyte)1; // safepoint visible + ObjectSampler::sample(object, size, thread); } diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/leakProfiler.hpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/leakProfiler.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/leakProfiler.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/leakProfiler.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -28,35 +28,15 @@ #include "memory/allocation.hpp" class BoolObjectClosure; -class ObjectSampler; class OopClosure; -class Thread; class LeakProfiler : public AllStatic { - friend class ClassUnloadTypeSet; - friend class EmitEventOperation; - friend class ObjectSampleCheckpoint; - friend class StartOperation; - friend class StopOperation; - friend class TypeSet; - friend class WriteObjectSampleStacktrace; - - private: - static ObjectSampler* _object_sampler; - - static void set_object_sampler(ObjectSampler* object_sampler); - static ObjectSampler* object_sampler(); - - static void suspend(); - static void resume(); - static bool is_suspended(); - public: - static bool start(jint sample_count); + static bool start(int sample_count); static bool stop(); - static void emit_events(jlong cutoff_ticks, bool emit_all); static bool is_running(); + static void emit_events(int64_t cutoff_ticks, bool emit_all); static void sample(HeapWord* object, size_t size, JavaThread* thread); // Called by GC diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/sampling/objectSampler.cpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/sampling/objectSampler.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/sampling/objectSampler.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/sampling/objectSampler.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved. * 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,6 +21,7 @@ * questions. * */ + #include "precompiled.hpp" #include "jfr/jfrEvents.hpp" #include "jfr/leakprofiler/sampling/objectSample.hpp" @@ -35,8 +36,18 @@ #include "logging/log.hpp" #include "memory/universe.hpp" #include "oops/oop.inline.hpp" +#include "runtime/atomic.hpp" +#include "runtime/orderAccess.hpp" +#include "runtime/safepoint.hpp" #include "runtime/thread.hpp" +static ObjectSampler* _instance = NULL; + +static ObjectSampler& instance() { + assert(_instance != NULL, "invariant"); + return *_instance; +} + ObjectSampler::ObjectSampler(size_t size) : _priority_queue(new SamplePriorityQueue(size)), _list(new SampleList(size)), @@ -44,7 +55,6 @@ _total_allocated(0), _threshold(0), _size(size), - _tryLock(0), _dead_samples(false) {} ObjectSampler::~ObjectSampler() { @@ -54,32 +64,110 @@ _list = NULL; } -void ObjectSampler::add(HeapWord* obj, size_t allocated, JavaThread* thread) { - assert(thread != NULL, "invariant"); - const traceid thread_id = thread->threadObj() != NULL ? thread->jfr_thread_local()->thread_id() : 0; - if (thread_id == 0) { - return; +bool ObjectSampler::create(size_t size) { + assert(SafepointSynchronize::is_at_safepoint(), "invariant"); + assert(_instance == NULL, "invariant"); + _instance = new ObjectSampler(size); + return _instance != NULL; +} + +bool ObjectSampler::is_created() { + return _instance != NULL; +} + +ObjectSampler* ObjectSampler::sampler() { + assert(is_created(), "invariant"); + return _instance; +} + +void ObjectSampler::destroy() { + assert(SafepointSynchronize::is_at_safepoint(), "invariant"); + if (_instance != NULL) { + ObjectSampler* const sampler = _instance; + _instance = NULL; + delete sampler; } - assert(thread_id != 0, "invariant"); +} + +static volatile int _lock = 0; + +ObjectSampler* ObjectSampler::acquire() { + assert(is_created(), "invariant"); + while (Atomic::cmpxchg(1, &_lock, 0) == 1) {} + return _instance; +} - if (!thread->jfr_thread_local()->has_thread_checkpoint()) { +void ObjectSampler::release() { + assert(is_created(), "invariant"); + OrderAccess::fence(); + _lock = 0; +} + +static traceid get_thread_id(JavaThread* thread) { + assert(thread != NULL, "invariant"); + if (thread->threadObj() == NULL) { + return 0; + } + const JfrThreadLocal* const tl = thread->jfr_thread_local(); + assert(tl != NULL, "invariant"); + if (!tl->has_thread_checkpoint()) { JfrCheckpointManager::create_thread_checkpoint(thread); - assert(thread->jfr_thread_local()->has_thread_checkpoint(), "invariant"); } + assert(tl->has_thread_checkpoint(), "invariant"); + return tl->thread_id(); +} - traceid stack_trace_id = 0; - unsigned int stack_trace_hash = 0; +// Populates the thread local stack frames, but does not add them +// to the stacktrace repository (...yet, see stacktrace_id() below) +// +void ObjectSampler::fill_stacktrace(JfrStackTrace* stacktrace, JavaThread* thread) { + assert(stacktrace != NULL, "invariant"); + assert(thread != NULL, "invariant"); if (JfrEventSetting::has_stacktrace(EventOldObjectSample::eventId)) { - stack_trace_id = JfrStackTraceRepository::record(thread, 0, &stack_trace_hash); - thread->jfr_thread_local()->set_cached_stack_trace_id(stack_trace_id, stack_trace_hash); + JfrStackTraceRepository::fill_stacktrace_for(thread, stacktrace, 0); + } +} + +// We were successful in acquiring the try lock and have been selected for adding a sample. +// Go ahead with installing our previously taken stacktrace into the stacktrace repository. +// +traceid ObjectSampler::stacktrace_id(const JfrStackTrace* stacktrace, JavaThread* thread) { + assert(stacktrace != NULL, "invariant"); + assert(stacktrace->hash() != 0, "invariant"); + const traceid stacktrace_id = JfrStackTraceRepository::add(stacktrace, thread); + thread->jfr_thread_local()->set_cached_stack_trace_id(stacktrace_id, stacktrace->hash()); + return stacktrace_id; +} + +void ObjectSampler::sample(HeapWord* obj, size_t allocated, JavaThread* thread) { + assert(thread != NULL, "invariant"); + assert(is_created(), "invariant"); + + const traceid thread_id = get_thread_id(thread); + if (thread_id == 0) { + return; } - JfrTryLock tryLock(&_tryLock); + const JfrThreadLocal* const tl = thread->jfr_thread_local(); + JfrStackTrace stacktrace(tl->stackframes(), tl->stackdepth()); + fill_stacktrace(&stacktrace, thread); + + // try enter critical section + JfrTryLock tryLock(&_lock); if (!tryLock.has_lock()) { log_trace(jfr, oldobject, sampling)("Skipping old object sample due to lock contention"); return; } + instance().add(obj, allocated, thread_id, &stacktrace, thread); +} + +void ObjectSampler::add(HeapWord* obj, size_t allocated, traceid thread_id, JfrStackTrace* stacktrace, JavaThread* thread) { + assert(stacktrace != NULL, "invariant"); + assert(thread_id != 0, "invariant"); + assert(thread != NULL, "invariant"); + assert(thread->jfr_thread_local()->has_thread_checkpoint(), "invariant"); + if (_dead_samples) { scavenge(); assert(!_dead_samples, "invariant"); @@ -101,13 +189,13 @@ } assert(sample != NULL, "invariant"); - assert(thread_id != 0, "invariant"); sample->set_thread_id(thread_id); sample->set_thread_checkpoint(thread->jfr_thread_local()->thread_checkpoint()); - if (stack_trace_id != 0) { - sample->set_stack_trace_id(stack_trace_id); - sample->set_stack_trace_hash(stack_trace_hash); + const unsigned int stacktrace_hash = stacktrace->hash(); + if (stacktrace_hash != 0) { + sample->set_stack_trace_id(stacktrace_id(stacktrace, thread)); + sample->set_stack_trace_hash(stacktrace_hash); } sample->set_span(allocated); @@ -118,34 +206,16 @@ _priority_queue->push(sample); } -const ObjectSample* ObjectSampler::last() const { - return _list->last(); -} - -const ObjectSample* ObjectSampler::last_resolved() const { - return _list->last_resolved(); -} - -void ObjectSampler::set_last_resolved(const ObjectSample* sample) { - _list->set_last_resolved(sample); -} - -void ObjectSampler::oops_do(BoolObjectClosure* is_alive, OopClosure* f) { +void ObjectSampler::scavenge() { ObjectSample* current = _list->last(); while (current != NULL) { ObjectSample* next = current->next(); - if (!current->is_dead()) { - if (is_alive->do_object_b(current->object())) { - // The weakly referenced object is alive, update pointer - f->do_oop(const_cast(current->object_addr())); - } else { - current->set_dead(); - _dead_samples = true; - } + if (current->is_dead()) { + remove_dead(current); } current = next; } - _last_sweep = JfrTicks::now(); + _dead_samples = false; } void ObjectSampler::remove_dead(ObjectSample* sample) { @@ -162,16 +232,41 @@ _list->release(sample); } -void ObjectSampler::scavenge() { - ObjectSample* current = _list->last(); +void ObjectSampler::oops_do(BoolObjectClosure* is_alive, OopClosure* f) { + assert(is_created(), "invariant"); + assert(SafepointSynchronize::is_at_safepoint(), "invariant"); + ObjectSampler& sampler = instance(); + ObjectSample* current = sampler._list->last(); while (current != NULL) { ObjectSample* next = current->next(); - if (current->is_dead()) { - remove_dead(current); + if (!current->is_dead()) { + if (is_alive->do_object_b(current->object())) { + // The weakly referenced object is alive, update pointer + f->do_oop(const_cast(current->object_addr())); + } else { + current->set_dead(); + sampler._dead_samples = true; + } } current = next; } - _dead_samples = false; + sampler._last_sweep = JfrTicks::now(); +} + +const ObjectSample* ObjectSampler::last() const { + return _list->last(); +} + +const ObjectSample* ObjectSampler::first() const { + return _list->first(); +} + +const ObjectSample* ObjectSampler::last_resolved() const { + return _list->last_resolved(); +} + +void ObjectSampler::set_last_resolved(const ObjectSample* sample) { + _list->set_last_resolved(sample); } int ObjectSampler::item_count() const { @@ -185,7 +280,7 @@ ObjectSample* ObjectSampler::item_at(int index) { return const_cast( const_cast(this)->item_at(index) - ); + ); } const JfrTicks& ObjectSampler::last_sweep() const { diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/sampling/objectSampler.hpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/sampling/objectSampler.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/sampling/objectSampler.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/sampling/objectSampler.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -28,7 +28,10 @@ #include "memory/allocation.hpp" #include "jfr/utilities/jfrTime.hpp" +typedef u8 traceid; + class BoolObjectClosure; +class JfrStackTrace; class OopClosure; class ObjectSample; class ObjectSampler; @@ -40,11 +43,13 @@ // making sure the samples are evenly distributed as // new entries are added and removed. class ObjectSampler : public CHeapObj { + friend class EventEmitter; + friend class JfrRecorderService; friend class LeakProfiler; - friend class ObjectSampleCheckpoint; friend class StartOperation; friend class StopOperation; - friend class EmitEventOperation; + friend class ObjectSampleCheckpoint; + friend class WriteObjectSampleStacktrace; private: SamplePriorityQueue* _priority_queue; SampleList* _list; @@ -52,23 +57,37 @@ size_t _total_allocated; size_t _threshold; size_t _size; - volatile int _tryLock; bool _dead_samples; + // Lifecycle explicit ObjectSampler(size_t size); ~ObjectSampler(); - - void add(HeapWord* object, size_t size, JavaThread* thread); - void remove_dead(ObjectSample* sample); + static bool create(size_t size); + static bool is_created(); + static ObjectSampler* sampler(); + static void destroy(); + + // For operations that require exclusive access (non-safepoint) + static ObjectSampler* acquire(); + static void release(); + + // Stacktrace + static void fill_stacktrace(JfrStackTrace* stacktrace, JavaThread* thread); + traceid stacktrace_id(const JfrStackTrace* stacktrace, JavaThread* thread); + + // Sampling + static void sample(HeapWord* object, size_t size, JavaThread* thread); + void add(HeapWord* object, size_t size, traceid thread_id, JfrStackTrace* stacktrace, JavaThread* thread); void scavenge(); + void remove_dead(ObjectSample* sample); // Called by GC - void oops_do(BoolObjectClosure* is_alive, OopClosure* f); + static void oops_do(BoolObjectClosure* is_alive, OopClosure* f); - public: const ObjectSample* item_at(int index) const; ObjectSample* item_at(int index); int item_count() const; + const ObjectSample* first() const; const ObjectSample* last() const; const ObjectSample* last_resolved() const; void set_last_resolved(const ObjectSample* sample); diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/sampling/sampleList.cpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/sampling/sampleList.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/sampling/sampleList.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/sampling/sampleList.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -45,6 +45,10 @@ return _in_use_list.head(); } +ObjectSample* SampleList::first() const { + return _in_use_list.tail(); +} + const ObjectSample* SampleList::last_resolved() const { return _last_resolved; } diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/sampling/sampleList.hpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/sampling/sampleList.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/sampling/sampleList.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/sampling/sampleList.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -53,6 +53,7 @@ void set_last_resolved(const ObjectSample* sample); ObjectSample* get(); ObjectSample* last() const; + ObjectSample* first() const; void release(ObjectSample* sample); const ObjectSample* last_resolved() const; ObjectSample* reuse(ObjectSample* sample); diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/startOperation.hpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/startOperation.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/startOperation.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/startOperation.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -25,35 +25,17 @@ #ifndef SHARE_VM_LEAKPROFILER_STARTOPERATION_HPP #define SHARE_VM_LEAKPROFILER_STARTOPERATION_HPP -#include "jfr/recorder/jfrRecorder.hpp" -#include "jfr/leakprofiler/leakProfiler.hpp" #include "jfr/leakprofiler/sampling/objectSampler.hpp" -#include "jfr/recorder/service/jfrOptionSet.hpp" -#include "logging/log.hpp" -#include "runtime/vm_operations.hpp" +#include "jfr/leakprofiler/utilities/vmOperation.hpp" -// Safepoint operation for starting leak profiler object sampler -class StartOperation : public VM_Operation { +// Safepoint operation for creating and starting the leak profiler object sampler +class StartOperation : public OldObjectVMOperation { private: - jlong _sample_count; + int _sample_count; public: - StartOperation(jlong sample_count) : - _sample_count(sample_count) { - } - - Mode evaluation_mode() const { - return _safepoint; - } - - VMOp_Type type() const { - return VMOp_GC_HeapInspection; - } - + StartOperation(int sample_count) : _sample_count(sample_count) {} virtual void doit() { - assert(!LeakProfiler::is_running(), "invariant"); - jint queue_size = JfrOptionSet::old_object_queue_size(); - LeakProfiler::set_object_sampler(new ObjectSampler(queue_size)); - log_trace(jfr, system)( "Object sampling started"); + ObjectSampler::create(_sample_count); } }; diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/stopOperation.hpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/stopOperation.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/stopOperation.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/stopOperation.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -25,31 +25,14 @@ #ifndef SHARE_VM_LEAKPROFILER_STOPOPERATION_HPP #define SHARE_VM_LEAKPROFILER_STOPOPERATION_HPP -#include "jfr/leakprofiler/leakProfiler.hpp" #include "jfr/leakprofiler/sampling/objectSampler.hpp" -#include "jfr/recorder/service/jfrOptionSet.hpp" -#include "logging/log.hpp" -#include "runtime/vm_operations.hpp" +#include "jfr/leakprofiler/utilities/vmOperation.hpp" -// Safepoint operation for stopping leak profiler object sampler -class StopOperation : public VM_Operation { +// Safepoint operation for stopping and destroying the leak profiler object sampler +class StopOperation : public OldObjectVMOperation { public: - StopOperation() {} - - Mode evaluation_mode() const { - return _safepoint; - } - - VMOp_Type type() const { - return VMOp_GC_HeapInspection; - } - virtual void doit() { - assert(LeakProfiler::is_running(), "invariant"); - ObjectSampler* object_sampler = LeakProfiler::object_sampler(); - delete object_sampler; - LeakProfiler::set_object_sampler(NULL); - log_trace(jfr, system)( "Object sampling stopped"); + ObjectSampler::destroy(); } }; diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/utilities/vmOperation.hpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/utilities/vmOperation.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/leakprofiler/utilities/vmOperation.hpp 1970-01-01 00:00:00.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/leakprofiler/utilities/vmOperation.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. + * 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_JFR_LEAKPROFILER_UTILITIES_VMOPERATION_HPP +#define SHARE_JFR_LEAKPROFILER_UTILITIES_VMOPERATION_HPP + +#include "runtime/vm_operations.hpp" + +class OldObjectVMOperation : public VM_Operation { + public: + Mode evaluation_mode() const { + return _safepoint; + } + + VMOp_Type type() const { + return VMOp_JFROldObject; + } +}; + +#endif // SHARE_JFR_LEAKPROFILER_UTILITIES_VMOPERATION_HPP diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/metadata/metadata.xml openjdk-11-11.0.6+10/src/hotspot/share/jfr/metadata/metadata.xml --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/metadata/metadata.xml 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/metadata/metadata.xml 2019-11-26 00:55:54.000000000 +0000 @@ -614,6 +614,10 @@ + + + + @@ -745,8 +749,8 @@ - - + + diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/periodic/jfrOSInterface.cpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/periodic/jfrOSInterface.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/periodic/jfrOSInterface.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/periodic/jfrOSInterface.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -215,6 +215,27 @@ return instance()._impl->os_version(os_version); } +const char* JfrOSInterface::virtualization_name() { + VirtualizationType vrt = VM_Version::get_detected_virtualization(); + if (vrt == XenHVM) { + return "Xen hardware-assisted virtualization"; + } else if (vrt == KVM) { + return "KVM virtualization"; + } else if (vrt == VMWare) { + return "VMWare virtualization"; + } else if (vrt == HyperV) { + return "HyperV virtualization"; + } else if (vrt == PowerVM) { + return "PowerVM virtualization"; + } else if (vrt == PowerKVM) { + return "Power KVM virtualization"; + } else if (vrt == PowerFullPartitionMode) { + return "Power full partition"; + } + + return "No virtualization detected"; +} + int JfrOSInterface::generate_initial_environment_variable_events() { if (environ == NULL) { return OS_ERR; diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/periodic/jfrOSInterface.hpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/periodic/jfrOSInterface.hpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/periodic/jfrOSInterface.hpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/periodic/jfrOSInterface.hpp 2019-11-26 00:55:54.000000000 +0000 @@ -52,6 +52,7 @@ static int cpu_load_total_process(double* cpu_load); static int cpu_loads_process(double* pjvmUserLoad, double* pjvmKernelLoad, double* psystemTotalLoad); static int os_version(char** os_version); + static const char* virtualization_name(); static int generate_initial_environment_variable_events(); static int system_processes(SystemProcess** system_processes, int* no_of_sys_processes); static int network_utilization(NetworkInterface** network_interfaces); diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/periodic/jfrPeriodic.cpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/periodic/jfrPeriodic.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/periodic/jfrPeriodic.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/periodic/jfrPeriodic.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -91,6 +91,12 @@ event.commit(); } +TRACE_REQUEST_FUNC(VirtualizationInformation) { + EventVirtualizationInformation event; + event.set_name(JfrOSInterface::virtualization_name()); + event.commit(); +} + TRACE_REQUEST_FUNC(ModuleRequire) { JfrModuleEvent::generate_module_dependency_events(); } @@ -514,8 +520,8 @@ event.set_standardCompileCount(CompileBroker::get_total_standard_compile_count()); event.set_osrBytesCompiled(CompileBroker::get_sum_osr_bytes_compiled()); event.set_standardBytesCompiled(CompileBroker::get_sum_standard_bytes_compiled()); - event.set_nmetodsSize(CompileBroker::get_sum_nmethod_size()); - event.set_nmetodCodeSize(CompileBroker::get_sum_nmethod_code_size()); + event.set_nmethodsSize(CompileBroker::get_sum_nmethod_size()); + event.set_nmethodCodeSize(CompileBroker::get_sum_nmethod_code_size()); event.set_peakTimeSpent(CompileBroker::get_peak_compilation_time()); event.set_totalTimeSpent(CompileBroker::get_total_compilation_time()); event.commit(); diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -467,8 +467,8 @@ last_native_ms = last_java_ms; } _sample.signal(); - jlong java_interval = _interval_java == 0 ? max_jlong : MAX2(_interval_java, 10); - jlong native_interval = _interval_native == 0 ? max_jlong : MAX2(_interval_native, 10); + jlong java_interval = _interval_java == 0 ? max_jlong : MAX2(_interval_java, 1); + jlong native_interval = _interval_native == 0 ? max_jlong : MAX2(_interval_native, 1); jlong now_ms = get_monotonic_ms(); diff -Nru openjdk-11-11.0.5+10/src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp openjdk-11-11.0.6+10/src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp --- openjdk-11-11.0.5+10/src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp 2019-04-25 09:49:09.000000000 +0000 +++ openjdk-11-11.0.6+10/src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp 2019-11-26 00:55:54.000000000 +0000 @@ -317,29 +317,28 @@ }; typedef CheckpointWriteOp WriteOperation; -typedef MutexedWriteOp MutexedWriteOperation; typedef ReleaseOp CheckpointReleaseOperation; -typedef CompositeOperation CheckpointWriteOperation; -static size_t write_mspace_exclusive(JfrCheckpointMspace* mspace, JfrChunkWriter& chunkwriter) { - Thread* const thread = Thread::current(); +template