Merge ~vpa1977/ubuntu/+source/openjdk-21:lp2011749-repack into ubuntu/+source/openjdk-21:ubuntu/devel

Proposed by Vladimir Petko
Status: Merged
Merged at revision: 56b3a39628d14e31d6fccb1a0e78c1d5d0f3ff89
Proposed branch: ~vpa1977/ubuntu/+source/openjdk-21:lp2011749-repack
Merge into: ubuntu/+source/openjdk-21:ubuntu/devel
Diff against target: 542691 lines (+205404/-83039)
4004 files modified
.gitignore (+3/-0)
debian/changelog (+7/-0)
debian/copyright (+26/-2)
debian/patches/jaw-classpath.diff (+2/-2)
debian/patches/jaw-optional.diff (+1/-1)
debian/patches/mips.diff (+1/-1)
debian/patches/reproducible-build-jmod.diff (+2/-2)
debian/patches/reproducible-character-data.diff (+1/-1)
debian/patches/reproducible-module-info.diff (+1/-1)
debian/rules (+1/-1)
debian/watch (+7/-2)
dev/null (+0/-147)
doc/building.html (+1/-1)
doc/building.md (+1/-1)
doc/hotspot-style.html (+36/-6)
doc/hotspot-style.md (+34/-8)
doc/ide.html (+62/-0)
doc/ide.md (+94/-0)
doc/testing.html (+28/-3)
doc/testing.md (+32/-3)
make/Bundles.gmk (+2/-2)
make/CompileToolsJdk.gmk (+8/-1)
make/Docs.gmk (+2/-0)
make/Main.gmk (+40/-0)
make/ReleaseFile.gmk (+1/-0)
make/RunTests.gmk (+10/-1)
make/autoconf/basic_tools.m4 (+3/-3)
make/autoconf/boot-jdk.m4 (+2/-2)
make/autoconf/build-aux/config.guess (+2/-2)
make/autoconf/build-performance.m4 (+7/-17)
make/autoconf/configure.ac (+3/-0)
make/autoconf/flags-cflags.m4 (+6/-3)
make/autoconf/jdk-options.m4 (+49/-6)
make/autoconf/lib-tests.m4 (+1/-1)
make/autoconf/libraries.m4 (+2/-2)
make/autoconf/spec.gmk.in (+3/-0)
make/autoconf/util_paths.m4 (+2/-2)
make/common/MakeIO.gmk (+2/-2)
make/common/NativeCompilation.gmk (+9/-4)
make/common/ProcessMarkdown.gmk (+1/-1)
make/common/modules/LauncherCommon.gmk (+4/-0)
make/conf/jib-profiles.js (+17/-21)
make/data/asan/asan_default_options.c (+20/-4)
make/data/asan/asan_default_options.cpp (+1/-1)
make/data/charsetmapping/charsets (+6/-6)
make/data/charsetmapping/stdcs-aix (+0/-1)
make/data/charsetmapping/stdcs-linux (+0/-1)
make/data/charsetmapping/stdcs-windows (+0/-1)
make/data/cldr/common/main/en.xml (+2/-2)
make/data/cldr/common/properties/coverageLevels.txt (+141/-0)
make/data/lsan/lsan_default_options.c (+67/-0)
make/data/lsan/lsan_default_options.cpp (+5/-2)
make/devkit/Tools.gmk (+7/-6)
make/devkit/createWindowsDevkit.sh (+21/-4)
make/hotspot/lib/CompileGtest.gmk (+4/-0)
make/ide/eclipse/CreateWorkspace.gmk (+390/-0)
make/ide/eclipse/classpath.template (+4/-0)
make/ide/eclipse/native.template (+56/-0)
make/ide/eclipse/settings.template (+22/-0)
make/ide/eclipse/workspace.template (+16/-0)
make/ide/idea/jdk/template/src/idea/JdkIdeaAntLogger.java (+1/-1)
make/ide/idea/langtools/template/src/idea/LangtoolsIdeaAntLogger.java (+1/-1)
make/ide/visualstudio/hotspot/CreateVSProject.gmk (+2/-2)
make/jdk/src/classes/build/tools/charsetmapping/SPI.java (+23/-15)
make/jdk/src/classes/build/tools/classlist/HelloClasslist.java (+7/-1)
make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java (+29/-3)
make/jdk/src/classes/build/tools/cldrconverter/OtherCommonLocales.properties (+140/-0)
make/jdk/src/classes/build/tools/depend/Depend.java (+41/-33)
make/jdk/src/classes/build/tools/depend/DependTest.java (+49/-3)
make/modules/java.base/Java.gmk (+6/-2)
make/modules/java.base/Lib.gmk (+0/-2)
make/modules/java.desktop/lib/Awt2dLibraries.gmk (+1/-1)
make/modules/java.security.jgss/Lib.gmk (+1/-3)
make/modules/jdk.internal.vm.ci/Java.gmk (+0/-8)
make/modules/jdk.jartool/Java.gmk (+2/-0)
make/test/BuildMicrobenchmark.gmk (+9/-0)
make/test/BuildTestLib.gmk (+6/-4)
make/test/JtregNativeHotspot.gmk (+7/-1)
make/test/JtregNativeJdk.gmk (+7/-1)
src/demo/share/jfc/SwingSet2/resources/swingset_de.properties (+1/-2)
src/demo/share/jfc/SwingSet2/resources/swingset_ja.properties (+9/-10)
src/demo/share/jfc/SwingSet2/resources/swingset_zh_CN.properties (+9/-10)
src/hotspot/cpu/aarch64/aarch64.ad (+244/-16)
src/hotspot/cpu/aarch64/aarch64_ad.m4 (+16/-1)
src/hotspot/cpu/aarch64/aarch64_vector.ad (+67/-0)
src/hotspot/cpu/aarch64/aarch64_vector_ad.m4 (+48/-0)
src/hotspot/cpu/aarch64/assembler_aarch64.hpp (+42/-6)
src/hotspot/cpu/aarch64/bytes_aarch64.hpp (+7/-16)
src/hotspot/cpu/aarch64/c1_CodeStubs_aarch64.cpp (+0/-20)
src/hotspot/cpu/aarch64/c1_Defs_aarch64.hpp (+6/-1)
src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp (+6/-3)
src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp (+19/-4)
src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp (+1/-1)
src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp (+22/-2)
src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp (+4/-4)
src/hotspot/cpu/aarch64/cas.m4 (+20/-15)
src/hotspot/cpu/aarch64/codeBuffer_aarch64.cpp (+22/-24)
src/hotspot/cpu/aarch64/compiledIC_aarch64.cpp (+3/-4)
src/hotspot/cpu/aarch64/downcallLinker_aarch64.cpp (+6/-4)
src/hotspot/cpu/aarch64/foreignGlobals_aarch64.cpp (+4/-0)
src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp (+120/-0)
src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp (+48/-0)
src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp (+15/-2)
src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.hpp (+2/-0)
src/hotspot/cpu/aarch64/globals_aarch64.hpp (+3/-1)
src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp (+2/-2)
src/hotspot/cpu/aarch64/jvmciCodeInstaller_aarch64.cpp (+3/-3)
src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp (+266/-9)
src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp (+28/-1)
src/hotspot/cpu/aarch64/methodHandles_aarch64.cpp (+1/-2)
src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp (+19/-13)
src/hotspot/cpu/aarch64/nativeInst_aarch64.hpp (+8/-1)
src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp (+1/-1)
src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp (+283/-187)
src/hotspot/cpu/aarch64/stubRoutines_aarch64.cpp (+25/-1)
src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp (+138/-106)
src/hotspot/cpu/aarch64/templateTable_aarch64.cpp (+3/-6)
src/hotspot/cpu/aarch64/upcallLinker_aarch64.cpp (+8/-2)
src/hotspot/cpu/aarch64/vm_version_aarch64.cpp (+45/-17)
src/hotspot/cpu/aarch64/vm_version_aarch64.hpp (+2/-0)
src/hotspot/cpu/arm/bytes_arm.hpp (+0/-9)
src/hotspot/cpu/arm/c1_CodeStubs_arm.cpp (+2/-28)
src/hotspot/cpu/arm/c1_Defs_arm.hpp (+6/-1)
src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp (+49/-49)
src/hotspot/cpu/arm/c1_LIRGenerator_arm.cpp (+29/-29)
src/hotspot/cpu/arm/c1_MacroAssembler_arm.cpp (+2/-2)
src/hotspot/cpu/arm/c1_MacroAssembler_arm.hpp (+2/-2)
src/hotspot/cpu/arm/c1_Runtime1_arm.cpp (+6/-6)
src/hotspot/cpu/arm/c2_MacroAssembler_arm.cpp (+2/-2)
src/hotspot/cpu/arm/c2_MacroAssembler_arm.hpp (+0/-3)
src/hotspot/cpu/arm/compiledIC_arm.cpp (+8/-8)
src/hotspot/cpu/arm/continuationFreezeThaw_arm.inline.hpp (+2/-2)
src/hotspot/cpu/arm/continuationHelper_arm.inline.hpp (+12/-12)
src/hotspot/cpu/arm/disassembler_arm.hpp (+2/-2)
src/hotspot/cpu/arm/frame_arm.cpp (+11/-11)
src/hotspot/cpu/arm/frame_arm.inline.hpp (+23/-23)
src/hotspot/cpu/arm/gc/g1/g1BarrierSetAssembler_arm.cpp (+5/-5)
src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.cpp (+2/-2)
src/hotspot/cpu/arm/globals_arm.hpp (+2/-2)
src/hotspot/cpu/arm/interp_masm_arm.cpp (+5/-5)
src/hotspot/cpu/arm/interp_masm_arm.hpp (+1/-1)
src/hotspot/cpu/arm/interpreterRT_arm.cpp (+4/-4)
src/hotspot/cpu/arm/javaFrameAnchor_arm.hpp (+6/-6)
src/hotspot/cpu/arm/jniFastGetField_arm.cpp (+3/-3)
src/hotspot/cpu/arm/jvmciCodeInstaller_arm.cpp (+2/-2)
src/hotspot/cpu/arm/macroAssembler_arm.cpp (+23/-19)
src/hotspot/cpu/arm/macroAssembler_arm.hpp (+3/-2)
src/hotspot/cpu/arm/methodHandles_arm.cpp (+6/-7)
src/hotspot/cpu/arm/nativeInst_arm_32.cpp (+12/-12)
src/hotspot/cpu/arm/nativeInst_arm_32.hpp (+3/-3)
src/hotspot/cpu/arm/registerMap_arm.hpp (+3/-3)
src/hotspot/cpu/arm/relocInfo_arm.cpp (+3/-3)
src/hotspot/cpu/arm/runtime_arm.cpp (+3/-5)
src/hotspot/cpu/arm/sharedRuntime_arm.cpp (+13/-15)
src/hotspot/cpu/arm/smallRegisterMap_arm.inline.hpp (+3/-3)
src/hotspot/cpu/arm/stackChunkFrameStream_arm.inline.hpp (+5/-5)
src/hotspot/cpu/arm/stubGenerator_arm.cpp (+18/-18)
src/hotspot/cpu/arm/stubRoutines_arm.cpp (+6/-6)
src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp (+24/-19)
src/hotspot/cpu/arm/templateTable_arm.cpp (+18/-19)
src/hotspot/cpu/arm/vm_version_arm_32.cpp (+2/-2)
src/hotspot/cpu/arm/vtableStubs_arm.cpp (+8/-8)
src/hotspot/cpu/ppc/bytes_ppc.hpp (+7/-18)
src/hotspot/cpu/ppc/c1_CodeStubs_ppc.cpp (+0/-19)
src/hotspot/cpu/ppc/c1_Defs_ppc.hpp (+6/-1)
src/hotspot/cpu/ppc/c1_LIRAssembler_ppc.cpp (+23/-6)
src/hotspot/cpu/ppc/c1_MacroAssembler_ppc.cpp (+2/-3)
src/hotspot/cpu/ppc/c2_MacroAssembler_ppc.hpp (+0/-3)
src/hotspot/cpu/ppc/disassembler_ppc.cpp (+0/-1)
src/hotspot/cpu/ppc/frame_ppc.cpp (+6/-2)
src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.cpp (+4/-0)
src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.hpp (+2/-0)
src/hotspot/cpu/ppc/gc/z/zGlobals_ppc.cpp (+2/-2)
src/hotspot/cpu/ppc/interp_masm_ppc.hpp (+1/-0)
src/hotspot/cpu/ppc/interp_masm_ppc_64.cpp (+5/-2)
src/hotspot/cpu/ppc/macroAssembler_ppc.cpp (+5/-8)
src/hotspot/cpu/ppc/macroAssembler_ppc.hpp (+1/-3)
src/hotspot/cpu/ppc/methodHandles_ppc.cpp (+2/-4)
src/hotspot/cpu/ppc/ppc.ad (+3/-1)
src/hotspot/cpu/ppc/register_ppc.hpp (+17/-17)
src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp (+30/-14)
src/hotspot/cpu/ppc/stubRoutines_ppc_64.cpp (+5/-10)
src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp (+151/-155)
src/hotspot/cpu/ppc/templateTable_ppc_64.cpp (+3/-8)
src/hotspot/cpu/ppc/vtableStubs_ppc_64.cpp (+2/-5)
src/hotspot/cpu/riscv/assembler_riscv.hpp (+8/-12)
src/hotspot/cpu/riscv/bytes_riscv.hpp (+11/-13)
src/hotspot/cpu/riscv/c1_CodeStubs_riscv.cpp (+0/-18)
src/hotspot/cpu/riscv/c1_Defs_riscv.hpp (+6/-1)
src/hotspot/cpu/riscv/c1_LIRAssembler_arraycopy_riscv.cpp (+4/-5)
src/hotspot/cpu/riscv/c1_LIRAssembler_riscv.cpp (+7/-6)
src/hotspot/cpu/riscv/c1_MacroAssembler_riscv.cpp (+2/-2)
src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp (+23/-7)
src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.hpp (+5/-6)
src/hotspot/cpu/riscv/codeBuffer_riscv.cpp (+22/-24)
src/hotspot/cpu/riscv/compiledIC_riscv.cpp (+3/-4)
src/hotspot/cpu/riscv/downcallLinker_riscv.cpp (+6/-4)
src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.cpp (+66/-1)
src/hotspot/cpu/riscv/gc/shared/barrierSetAssembler_riscv.hpp (+24/-1)
src/hotspot/cpu/riscv/gc/z/zBarrierSetAssembler_riscv.cpp (+16/-4)
src/hotspot/cpu/riscv/gc/z/zBarrierSetAssembler_riscv.hpp (+2/-0)
src/hotspot/cpu/riscv/globals_riscv.hpp (+3/-2)
src/hotspot/cpu/riscv/interp_masm_riscv.cpp (+6/-6)
src/hotspot/cpu/riscv/macroAssembler_riscv.cpp (+36/-44)
src/hotspot/cpu/riscv/macroAssembler_riscv.hpp (+30/-17)
src/hotspot/cpu/riscv/methodHandles_riscv.cpp (+1/-2)
src/hotspot/cpu/riscv/register_riscv.hpp (+1/-1)
src/hotspot/cpu/riscv/riscv.ad (+121/-90)
src/hotspot/cpu/riscv/riscv_b.ad (+38/-4)
src/hotspot/cpu/riscv/riscv_v.ad (+133/-124)
src/hotspot/cpu/riscv/sharedRuntime_riscv.cpp (+11/-11)
src/hotspot/cpu/riscv/stubGenerator_riscv.cpp (+76/-99)
src/hotspot/cpu/riscv/templateInterpreterGenerator_riscv.cpp (+13/-9)
src/hotspot/cpu/riscv/templateTable_riscv.cpp (+3/-6)
src/hotspot/cpu/riscv/upcallLinker_riscv.cpp (+8/-2)
src/hotspot/cpu/riscv/vm_version_riscv.cpp (+6/-4)
src/hotspot/cpu/riscv/vm_version_riscv.hpp (+3/-1)
src/hotspot/cpu/riscv/vtableStubs_riscv.cpp (+1/-1)
src/hotspot/cpu/s390/assembler_s390.hpp (+24/-6)
src/hotspot/cpu/s390/assembler_s390.inline.hpp (+11/-5)
src/hotspot/cpu/s390/bytes_s390.hpp (+0/-3)
src/hotspot/cpu/s390/c1_CodeStubs_s390.cpp (+0/-17)
src/hotspot/cpu/s390/c1_Defs_s390.hpp (+6/-1)
src/hotspot/cpu/s390/c2_MacroAssembler_s390.hpp (+0/-3)
src/hotspot/cpu/s390/disassembler_s390.cpp (+0/-1)
src/hotspot/cpu/s390/interp_masm_s390.cpp (+1/-3)
src/hotspot/cpu/s390/macroAssembler_s390.cpp (+37/-24)
src/hotspot/cpu/s390/macroAssembler_s390.hpp (+2/-4)
src/hotspot/cpu/s390/methodHandles_s390.cpp (+3/-6)
src/hotspot/cpu/s390/runtime_s390.cpp (+3/-4)
src/hotspot/cpu/s390/s390.ad (+1/-9)
src/hotspot/cpu/s390/sharedRuntime_s390.cpp (+4/-9)
src/hotspot/cpu/s390/stubGenerator_s390.cpp (+342/-186)
src/hotspot/cpu/s390/templateInterpreterGenerator_s390.cpp (+161/-169)
src/hotspot/cpu/s390/templateTable_s390.cpp (+1/-2)
src/hotspot/cpu/s390/vm_version_s390.cpp (+5/-5)
src/hotspot/cpu/s390/vtableStubs_s390.cpp (+2/-5)
src/hotspot/cpu/x86/assembler_x86.cpp (+17/-0)
src/hotspot/cpu/x86/assembler_x86.hpp (+2/-0)
src/hotspot/cpu/x86/bytes_x86.hpp (+3/-29)
src/hotspot/cpu/x86/c1_CodeStubs_x86.cpp (+0/-22)
src/hotspot/cpu/x86/c1_Defs_x86.hpp (+6/-1)
src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp (+5/-1)
src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp (+11/-1)
src/hotspot/cpu/x86/c1_MacroAssembler_x86.cpp (+2/-2)
src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp (+7/-6)
src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp (+0/-3)
src/hotspot/cpu/x86/downcallLinker_x86_64.cpp (+6/-4)
src/hotspot/cpu/x86/frame_x86.cpp (+5/-2)
src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp (+122/-0)
src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.hpp (+42/-0)
src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.cpp (+13/-2)
src/hotspot/cpu/x86/gc/z/zBarrierSetAssembler_x86.hpp (+2/-0)
src/hotspot/cpu/x86/interp_masm_x86.cpp (+2/-2)
src/hotspot/cpu/x86/macroAssembler_x86.cpp (+10/-5)
src/hotspot/cpu/x86/macroAssembler_x86.hpp (+17/-3)
src/hotspot/cpu/x86/methodHandles_x86.cpp (+1/-2)
src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp (+2/-2)
src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp (+2/-2)
src/hotspot/cpu/x86/stubGenerator_x86_64.cpp (+252/-39)
src/hotspot/cpu/x86/stubGenerator_x86_64.hpp (+14/-6)
src/hotspot/cpu/x86/stubGenerator_x86_64_adler.cpp (+124/-53)
src/hotspot/cpu/x86/stubGenerator_x86_64_arraycopy.cpp (+224/-87)
src/hotspot/cpu/x86/stubGenerator_x86_64_poly.cpp (+53/-53)
src/hotspot/cpu/x86/stubRoutines_x86.cpp (+2/-0)
src/hotspot/cpu/x86/stubRoutines_x86.hpp (+4/-0)
src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp (+2/-2)
src/hotspot/cpu/x86/templateInterpreterGenerator_x86_32.cpp (+171/-133)
src/hotspot/cpu/x86/templateInterpreterGenerator_x86_64.cpp (+171/-130)
src/hotspot/cpu/x86/templateTable_x86.cpp (+7/-7)
src/hotspot/cpu/x86/upcallLinker_x86_64.cpp (+8/-2)
src/hotspot/cpu/x86/vm_version_x86.cpp (+18/-1)
src/hotspot/cpu/x86/vm_version_x86.hpp (+9/-1)
src/hotspot/cpu/x86/x86.ad (+4/-7)
src/hotspot/cpu/x86/x86_64.ad (+3/-3)
src/hotspot/cpu/zero/abstractInterpreter_zero.cpp (+3/-3)
src/hotspot/cpu/zero/bytecodeInterpreter_zero.cpp (+5/-5)
src/hotspot/cpu/zero/bytes_zero.hpp (+0/-18)
src/hotspot/cpu/zero/compiledIC_zero.cpp (+2/-2)
src/hotspot/cpu/zero/continuationFreezeThaw_zero.inline.hpp (+2/-2)
src/hotspot/cpu/zero/continuationHelper_zero.inline.hpp (+12/-12)
src/hotspot/cpu/zero/disassembler_zero.hpp (+2/-2)
src/hotspot/cpu/zero/frame_zero.cpp (+6/-6)
src/hotspot/cpu/zero/frame_zero.inline.hpp (+18/-18)
src/hotspot/cpu/zero/icBuffer_zero.cpp (+3/-3)
src/hotspot/cpu/zero/interpreterRT_zero.cpp (+2/-2)
src/hotspot/cpu/zero/javaFrameAnchor_zero.hpp (+7/-7)
src/hotspot/cpu/zero/methodHandles_zero.cpp (+7/-7)
src/hotspot/cpu/zero/nativeInst_zero.hpp (+18/-18)
src/hotspot/cpu/zero/registerMap_zero.hpp (+3/-3)
src/hotspot/cpu/zero/register_zero.cpp (+3/-3)
src/hotspot/cpu/zero/relocInfo_zero.cpp (+3/-3)
src/hotspot/cpu/zero/sharedRuntime_zero.cpp (+2/-2)
src/hotspot/cpu/zero/smallRegisterMap_zero.inline.hpp (+3/-3)
src/hotspot/cpu/zero/stackChunkFrameStream_zero.inline.hpp (+5/-5)
src/hotspot/cpu/zero/stack_zero.cpp (+3/-3)
src/hotspot/cpu/zero/stack_zero.hpp (+5/-5)
src/hotspot/cpu/zero/stubGenerator_zero.cpp (+3/-3)
src/hotspot/cpu/zero/vtableStubs_zero.cpp (+3/-3)
src/hotspot/cpu/zero/zeroInterpreter_zero.cpp (+27/-27)
src/hotspot/os/aix/attachListener_aix.cpp (+16/-16)
src/hotspot/os/aix/libo4.hpp (+2/-2)
src/hotspot/os/aix/libodm_aix.cpp (+3/-3)
src/hotspot/os/aix/libodm_aix.hpp (+6/-6)
src/hotspot/os/aix/libperfstat_aix.cpp (+38/-38)
src/hotspot/os/aix/loadlib_aix.cpp (+18/-18)
src/hotspot/os/aix/loadlib_aix.hpp (+4/-4)
src/hotspot/os/aix/misc_aix.cpp (+1/-1)
src/hotspot/os/aix/osThread_aix.cpp (+6/-6)
src/hotspot/os/aix/os_aix.cpp (+84/-84)
src/hotspot/os/aix/os_perf_aix.cpp (+31/-31)
src/hotspot/os/aix/porting_aix.cpp (+21/-24)
src/hotspot/os/aix/safepointMechanism_aix.cpp (+3/-3)
src/hotspot/os/bsd/attachListener_bsd.cpp (+15/-15)
src/hotspot/os/bsd/decoder_machO.cpp (+8/-8)
src/hotspot/os/bsd/osThread_bsd.cpp (+7/-8)
src/hotspot/os/bsd/os_bsd.cpp (+132/-109)
src/hotspot/os/bsd/os_bsd.hpp (+7/-7)
src/hotspot/os/bsd/os_perf_bsd.cpp (+24/-24)
src/hotspot/os/linux/attachListener_linux.cpp (+15/-15)
src/hotspot/os/linux/cgroupSubsystem_linux.cpp (+23/-23)
src/hotspot/os/linux/cgroupSubsystem_linux.hpp (+15/-13)
src/hotspot/os/linux/cgroupV1Subsystem_linux.cpp (+53/-34)
src/hotspot/os/linux/cgroupV1Subsystem_linux.hpp (+8/-7)
src/hotspot/os/linux/cgroupV2Subsystem_linux.cpp (+11/-4)
src/hotspot/os/linux/cgroupV2Subsystem_linux.hpp (+3/-3)
src/hotspot/os/linux/decoder_linux.cpp (+4/-4)
src/hotspot/os/linux/gc/z/zMountPoint_linux.cpp (+12/-12)
src/hotspot/os/linux/gc/z/zNUMA_linux.cpp (+2/-2)
src/hotspot/os/linux/gc/z/zPhysicalMemoryBacking_linux.cpp (+6/-6)
src/hotspot/os/linux/mallocInfoDcmd.cpp (+62/-0)
src/hotspot/os/linux/mallocInfoDcmd.hpp (+51/-0)
src/hotspot/os/linux/osContainer_linux.cpp (+17/-17)
src/hotspot/os/linux/osThread_linux.cpp (+6/-6)
src/hotspot/os/linux/os_linux.cpp (+206/-195)
src/hotspot/os/linux/os_linux.hpp (+25/-21)
src/hotspot/os/linux/os_perf_linux.cpp (+53/-53)
src/hotspot/os/linux/trimCHeapDCmd.hpp (+2/-2)
src/hotspot/os/linux/waitBarrier_linux.cpp (+2/-2)
src/hotspot/os/posix/gc/z/zUtils_posix.cpp (+2/-2)
src/hotspot/os/posix/os_posix.cpp (+84/-82)
src/hotspot/os/posix/os_posix.hpp (+3/-3)
src/hotspot/os/posix/os_posix.inline.hpp (+0/-1)
src/hotspot/os/posix/perfMemory_posix.cpp (+43/-43)
src/hotspot/os/posix/safefetch_sigjmp.cpp (+7/-6)
src/hotspot/os/posix/safefetch_static_posix.cpp (+2/-2)
src/hotspot/os/posix/signals_posix.cpp (+67/-60)
src/hotspot/os/posix/threadCrashProtection_posix.cpp (+12/-12)
src/hotspot/os/posix/threadCrashProtection_posix.hpp (+2/-2)
src/hotspot/os/posix/threadLocalStorage_posix.cpp (+2/-2)
src/hotspot/os/posix/vmError_posix.cpp (+5/-5)
src/hotspot/os/windows/attachListener_windows.cpp (+22/-22)
src/hotspot/os/windows/gc/z/zMapper_windows.cpp (+12/-12)
src/hotspot/os/windows/gc/z/zPhysicalMemoryBacking_windows.cpp (+2/-2)
src/hotspot/os/windows/gc/z/zSyscall_windows.cpp (+6/-6)
src/hotspot/os/windows/gc/z/zUtils_windows.cpp (+2/-2)
src/hotspot/os/windows/gc/z/zVirtualMemory_windows.cpp (+4/-4)
src/hotspot/os/windows/iphlp_interface.cpp (+13/-13)
src/hotspot/os/windows/osThread_windows.cpp (+5/-5)
src/hotspot/os/windows/os_perf_windows.cpp (+156/-156)
src/hotspot/os/windows/os_windows.cpp (+301/-247)
src/hotspot/os/windows/os_windows.inline.hpp (+2/-3)
src/hotspot/os/windows/park_windows.hpp (+5/-5)
src/hotspot/os/windows/pdh_interface.cpp (+41/-41)
src/hotspot/os/windows/perfMemory_windows.cpp (+94/-93)
src/hotspot/os/windows/safefetch_windows.hpp (+2/-1)
src/hotspot/os/windows/semaphore_windows.cpp (+4/-4)
src/hotspot/os/windows/symbolengine.cpp (+17/-17)
src/hotspot/os/windows/symbolengine.hpp (+3/-3)
src/hotspot/os/windows/threadCrashProtection_windows.cpp (+5/-5)
src/hotspot/os/windows/threadCrashProtection_windows.hpp (+2/-2)
src/hotspot/os/windows/threadCritical_windows.cpp (+4/-4)
src/hotspot/os/windows/vmError_windows.cpp (+9/-3)
src/hotspot/os/windows/windbghelp.cpp (+20/-20)
src/hotspot/os_cpu/aix_ppc/javaThread_aix_ppc.cpp (+4/-4)
src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp (+26/-26)
src/hotspot/os_cpu/bsd_aarch64/javaThread_bsd_aarch64.cpp (+5/-5)
src/hotspot/os_cpu/bsd_aarch64/os_bsd_aarch64.cpp (+19/-19)
src/hotspot/os_cpu/bsd_aarch64/vm_version_bsd_aarch64.cpp (+4/-4)
src/hotspot/os_cpu/bsd_x86/javaThread_bsd_x86.cpp (+5/-5)
src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp (+22/-22)
src/hotspot/os_cpu/bsd_x86/vm_version_bsd_x86.cpp (+2/-2)
src/hotspot/os_cpu/bsd_zero/javaThread_bsd_zero.hpp (+3/-3)
src/hotspot/os_cpu/bsd_zero/os_bsd_zero.cpp (+5/-5)
src/hotspot/os_cpu/linux_aarch64/javaThread_linux_aarch64.cpp (+3/-3)
src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp (+18/-18)
src/hotspot/os_cpu/linux_aarch64/vm_version_linux_aarch64.cpp (+7/-7)
src/hotspot/os_cpu/linux_arm/javaThread_linux_arm.cpp (+6/-6)
src/hotspot/os_cpu/linux_arm/javaThread_linux_arm.hpp (+2/-2)
src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp (+31/-31)
src/hotspot/os_cpu/linux_ppc/javaThread_linux_ppc.cpp (+4/-4)
src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp (+24/-24)
src/hotspot/os_cpu/linux_riscv/atomic_linux_riscv.hpp (+35/-18)
src/hotspot/os_cpu/linux_riscv/javaThread_linux_riscv.cpp (+5/-5)
src/hotspot/os_cpu/linux_riscv/os_linux_riscv.cpp (+23/-23)
src/hotspot/os_cpu/linux_riscv/vm_version_linux_riscv.cpp (+3/-3)
src/hotspot/os_cpu/linux_s390/javaThread_linux_s390.cpp (+7/-7)
src/hotspot/os_cpu/linux_s390/os_linux_s390.cpp (+32/-25)
src/hotspot/os_cpu/linux_x86/javaThread_linux_x86.cpp (+5/-5)
src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp (+21/-21)
src/hotspot/os_cpu/linux_zero/javaThread_linux_zero.cpp (+2/-2)
src/hotspot/os_cpu/linux_zero/javaThread_linux_zero.hpp (+3/-3)
src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp (+7/-7)
src/hotspot/os_cpu/windows_aarch64/javaThread_windows_aarch64.cpp (+4/-4)
src/hotspot/os_cpu/windows_aarch64/os_windows_aarch64.cpp (+9/-9)
src/hotspot/os_cpu/windows_aarch64/vm_version_windows_aarch64.cpp (+5/-5)
src/hotspot/os_cpu/windows_x86/assembler_windows_x86.cpp (+2/-2)
src/hotspot/os_cpu/windows_x86/copy_windows_x86.hpp (+12/-32)
src/hotspot/os_cpu/windows_x86/javaThread_windows_x86.cpp (+5/-5)
src/hotspot/os_cpu/windows_x86/javaThread_windows_x86.hpp (+3/-3)
src/hotspot/os_cpu/windows_x86/os_windows_x86.cpp (+13/-13)
src/hotspot/share/asm/assembler.cpp (+3/-3)
src/hotspot/share/asm/codeBuffer.cpp (+10/-6)
src/hotspot/share/asm/codeBuffer.hpp (+2/-2)
src/hotspot/share/asm/codeBuffer.inline.hpp (+8/-4)
src/hotspot/share/c1/c1_CodeStubs.hpp (+33/-6)
src/hotspot/share/c1/c1_Compilation.cpp (+2/-2)
src/hotspot/share/c1/c1_Compiler.cpp (+8/-1)
src/hotspot/share/c1/c1_Defs.hpp (+6/-1)
src/hotspot/share/c1/c1_FrameMap.cpp (+6/-2)
src/hotspot/share/c1/c1_FrameMap.hpp (+5/-6)
src/hotspot/share/c1/c1_LIR.cpp (+5/-1)
src/hotspot/share/c1/c1_LIR.hpp (+5/-1)
src/hotspot/share/c1/c1_LIRAssembler.cpp (+3/-1)
src/hotspot/share/c1/c1_LIRGenerator.cpp (+4/-0)
src/hotspot/share/c1/c1_LinearScan.cpp (+26/-20)
src/hotspot/share/cds/archiveBuilder.cpp (+8/-11)
src/hotspot/share/cds/archiveBuilder.hpp (+1/-1)
src/hotspot/share/cds/archiveHeapLoader.cpp (+4/-2)
src/hotspot/share/cds/archiveHeapWriter.cpp (+657/-0)
src/hotspot/share/cds/archiveHeapWriter.hpp (+202/-0)
src/hotspot/share/cds/cdsHeapVerifier.cpp (+3/-3)
src/hotspot/share/cds/classListWriter.cpp (+1/-1)
src/hotspot/share/cds/dynamicArchive.cpp (+4/-4)
src/hotspot/share/cds/filemap.cpp (+96/-155)
src/hotspot/share/cds/filemap.hpp (+1/-10)
src/hotspot/share/cds/heapShared.cpp (+143/-334)
src/hotspot/share/cds/heapShared.hpp (+33/-55)
src/hotspot/share/cds/lambdaFormInvokers.cpp (+2/-4)
src/hotspot/share/cds/metaspaceShared.cpp (+35/-85)
src/hotspot/share/ci/bcEscapeAnalyzer.cpp (+13/-13)
src/hotspot/share/ci/bcEscapeAnalyzer.hpp (+2/-2)
src/hotspot/share/ci/ciArray.cpp (+10/-6)
src/hotspot/share/ci/ciArrayKlass.cpp (+3/-3)
src/hotspot/share/ci/ciCallProfile.hpp (+2/-2)
src/hotspot/share/ci/ciConstant.cpp (+30/-1)
src/hotspot/share/ci/ciConstant.hpp (+5/-25)
src/hotspot/share/ci/ciConstantPoolCache.cpp (+2/-2)
src/hotspot/share/ci/ciEnv.cpp (+118/-118)
src/hotspot/share/ci/ciEnv.hpp (+20/-20)
src/hotspot/share/ci/ciExceptionHandler.cpp (+3/-3)
src/hotspot/share/ci/ciExceptionHandler.hpp (+2/-2)
src/hotspot/share/ci/ciField.cpp (+13/-14)
src/hotspot/share/ci/ciField.hpp (+3/-3)
src/hotspot/share/ci/ciInstance.cpp (+28/-21)
src/hotspot/share/ci/ciInstance.hpp (+2/-2)
src/hotspot/share/ci/ciInstanceKlass.cpp (+52/-52)
src/hotspot/share/ci/ciInstanceKlass.hpp (+7/-7)
src/hotspot/share/ci/ciKlass.cpp (+3/-3)
src/hotspot/share/ci/ciKlass.hpp (+6/-6)
src/hotspot/share/ci/ciMetadata.hpp (+3/-3)
src/hotspot/share/ci/ciMethod.cpp (+70/-70)
src/hotspot/share/ci/ciMethod.hpp (+8/-8)
src/hotspot/share/ci/ciMethodBlocks.cpp (+8/-8)
src/hotspot/share/ci/ciMethodData.cpp (+49/-49)
src/hotspot/share/ci/ciMethodData.hpp (+22/-22)
src/hotspot/share/ci/ciObjArray.cpp (+2/-2)
src/hotspot/share/ci/ciObjArrayKlass.cpp (+7/-7)
src/hotspot/share/ci/ciObject.cpp (+47/-15)
src/hotspot/share/ci/ciObject.hpp (+25/-3)
src/hotspot/share/ci/ciObjectFactory.cpp (+35/-35)
src/hotspot/share/ci/ciReplay.cpp (+119/-119)
src/hotspot/share/ci/ciSignature.cpp (+4/-4)
src/hotspot/share/ci/ciStreams.hpp (+14/-14)
src/hotspot/share/ci/ciSymbol.cpp (+2/-2)
src/hotspot/share/ci/ciType.cpp (+2/-2)
src/hotspot/share/ci/ciTypeFlow.cpp (+148/-111)
src/hotspot/share/ci/ciTypeFlow.hpp (+31/-24)
src/hotspot/share/ci/ciUtilities.cpp (+2/-2)
src/hotspot/share/classfile/classFileError.cpp (+7/-7)
src/hotspot/share/classfile/classFileParser.cpp (+358/-362)
src/hotspot/share/classfile/classFileParser.hpp (+2/-2)
src/hotspot/share/classfile/classFileStream.cpp (+4/-4)
src/hotspot/share/classfile/classLoadInfo.hpp (+3/-3)
src/hotspot/share/classfile/classLoader.cpp (+190/-191)
src/hotspot/share/classfile/classLoader.hpp (+11/-12)
src/hotspot/share/classfile/classLoader.inline.hpp (+4/-4)
src/hotspot/share/classfile/classLoaderData.cpp (+79/-79)
src/hotspot/share/classfile/classLoaderData.hpp (+7/-7)
src/hotspot/share/classfile/classLoaderData.inline.hpp (+6/-6)
src/hotspot/share/classfile/classLoaderDataGraph.cpp (+46/-46)
src/hotspot/share/classfile/classLoaderDataGraph.inline.hpp (+2/-2)
src/hotspot/share/classfile/classLoaderDataShared.cpp (+11/-11)
src/hotspot/share/classfile/classLoaderExt.cpp (+14/-12)
src/hotspot/share/classfile/classLoaderHierarchyDCmd.cpp (+46/-46)
src/hotspot/share/classfile/classLoaderHierarchyDCmd.hpp (+2/-2)
src/hotspot/share/classfile/classLoaderStats.cpp (+11/-10)
src/hotspot/share/classfile/classLoaderStats.hpp (+8/-4)
src/hotspot/share/classfile/classPrinter.cpp (+5/-5)
src/hotspot/share/classfile/compactHashtable.cpp (+5/-5)
src/hotspot/share/classfile/compactHashtable.hpp (+2/-2)
src/hotspot/share/classfile/defaultMethods.cpp (+50/-50)
src/hotspot/share/classfile/dictionary.cpp (+21/-21)
src/hotspot/share/classfile/fieldLayoutBuilder.cpp (+52/-52)
src/hotspot/share/classfile/fieldLayoutBuilder.hpp (+4/-4)
src/hotspot/share/classfile/javaClasses.cpp (+276/-236)
src/hotspot/share/classfile/javaClasses.hpp (+20/-10)
src/hotspot/share/classfile/javaClasses.inline.hpp (+17/-17)
src/hotspot/share/classfile/klassFactory.cpp (+13/-13)
src/hotspot/share/classfile/klassFactory.hpp (+5/-5)
src/hotspot/share/classfile/loaderConstraints.cpp (+31/-31)
src/hotspot/share/classfile/metadataOnStackMark.cpp (+15/-15)
src/hotspot/share/classfile/moduleEntry.cpp (+38/-38)
src/hotspot/share/classfile/moduleEntry.hpp (+5/-5)
src/hotspot/share/classfile/modules.cpp (+72/-72)
src/hotspot/share/classfile/modules.hpp (+2/-2)
src/hotspot/share/classfile/packageEntry.cpp (+23/-23)
src/hotspot/share/classfile/packageEntry.hpp (+2/-2)
src/hotspot/share/classfile/placeholders.cpp (+31/-28)
src/hotspot/share/classfile/placeholders.hpp (+17/-27)
src/hotspot/share/classfile/protectionDomainCache.cpp (+4/-4)
src/hotspot/share/classfile/resolutionErrors.cpp (+4/-4)
src/hotspot/share/classfile/stackMapFrame.hpp (+2/-2)
src/hotspot/share/classfile/stackMapTable.cpp (+25/-25)
src/hotspot/share/classfile/stackMapTable.hpp (+4/-4)
src/hotspot/share/classfile/stackMapTableFormat.hpp (+13/-13)
src/hotspot/share/classfile/stringTable.cpp (+38/-61)
src/hotspot/share/classfile/stringTable.hpp (+4/-5)
src/hotspot/share/classfile/symbolTable.cpp (+128/-117)
src/hotspot/share/classfile/symbolTable.hpp (+4/-6)
src/hotspot/share/classfile/systemDictionary.cpp (+186/-173)
src/hotspot/share/classfile/systemDictionary.hpp (+10/-10)
src/hotspot/share/classfile/systemDictionaryShared.cpp (+88/-92)
src/hotspot/share/classfile/systemDictionaryShared.hpp (+7/-7)
src/hotspot/share/classfile/verificationType.cpp (+3/-3)
src/hotspot/share/classfile/verifier.cpp (+68/-68)
src/hotspot/share/classfile/verifier.hpp (+5/-5)
src/hotspot/share/classfile/vmClassMacros.hpp (+2/-1)
src/hotspot/share/classfile/vmClasses.cpp (+12/-12)
src/hotspot/share/classfile/vmClasses.hpp (+2/-2)
src/hotspot/share/classfile/vmIntrinsics.cpp (+12/-8)
src/hotspot/share/classfile/vmIntrinsics.hpp (+14/-7)
src/hotspot/share/classfile/vmSymbols.cpp (+5/-5)
src/hotspot/share/classfile/vmSymbols.hpp (+6/-2)
src/hotspot/share/code/codeCache.cpp (+42/-71)
src/hotspot/share/code/codeCache.hpp (+22/-16)
src/hotspot/share/code/compiledIC.cpp (+7/-0)
src/hotspot/share/code/compiledIC.hpp (+2/-0)
src/hotspot/share/code/compiledMethod.cpp (+8/-8)
src/hotspot/share/code/compiledMethod.hpp (+15/-10)
src/hotspot/share/code/compressedStream.cpp (+1/-1)
src/hotspot/share/code/dependencies.cpp (+12/-13)
src/hotspot/share/code/dependencies.hpp (+4/-14)
src/hotspot/share/code/dependencyContext.cpp (+7/-14)
src/hotspot/share/code/dependencyContext.hpp (+3/-2)
src/hotspot/share/code/nmethod.cpp (+17/-9)
src/hotspot/share/code/relocInfo.cpp (+2/-1)
src/hotspot/share/code/relocInfo.hpp (+1/-1)
src/hotspot/share/compiler/abstractCompiler.hpp (+6/-4)
src/hotspot/share/compiler/compileBroker.cpp (+46/-18)
src/hotspot/share/compiler/compileTask.cpp (+1/-0)
src/hotspot/share/compiler/compilerDefinitions.cpp (+25/-15)
src/hotspot/share/compiler/compilerDefinitions.hpp (+2/-0)
src/hotspot/share/compiler/compilerDirectives.cpp (+1/-2)
src/hotspot/share/compiler/compilerDirectives.hpp (+1/-1)
src/hotspot/share/compiler/compilerEvent.cpp (+10/-3)
src/hotspot/share/compiler/oopMap.cpp (+5/-5)
src/hotspot/share/compiler/oopMap.hpp (+2/-2)
src/hotspot/share/compiler/oopMap.inline.hpp (+10/-9)
src/hotspot/share/gc/epsilon/epsilonArguments.cpp (+1/-1)
src/hotspot/share/gc/epsilon/epsilonBarrierSet.cpp (+3/-2)
src/hotspot/share/gc/epsilon/epsilonHeap.cpp (+7/-6)
src/hotspot/share/gc/epsilon/epsilonHeap.hpp (+2/-2)
src/hotspot/share/gc/g1/c1/g1BarrierSetC1.hpp (+9/-1)
src/hotspot/share/gc/g1/g1Allocator.cpp (+1/-151)
src/hotspot/share/gc/g1/g1Allocator.hpp (+1/-57)
src/hotspot/share/gc/g1/g1Arguments.cpp (+2/-2)
src/hotspot/share/gc/g1/g1BarrierSet.cpp (+2/-3)
src/hotspot/share/gc/g1/g1BarrierSet.hpp (+6/-6)
src/hotspot/share/gc/g1/g1BarrierSet.inline.hpp (+14/-1)
src/hotspot/share/gc/g1/g1CardSetContainers.hpp (+2/-2)
src/hotspot/share/gc/g1/g1CardSetContainers.inline.hpp (+1/-5)
src/hotspot/share/gc/g1/g1CardTable.cpp (+1/-3)
src/hotspot/share/gc/g1/g1CodeRootSet.cpp (+138/-0)
src/hotspot/share/gc/g1/g1CodeRootSet.hpp (+15/-32)
src/hotspot/share/gc/g1/g1CollectedHeap.cpp (+43/-157)
src/hotspot/share/gc/g1/g1CollectedHeap.hpp (+31/-50)
src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp (+26/-1)
src/hotspot/share/gc/g1/g1CollectionSet.cpp (+1/-3)
src/hotspot/share/gc/g1/g1CommittedRegionMap.cpp (+8/-8)
src/hotspot/share/gc/g1/g1ConcurrentMark.cpp (+34/-52)
src/hotspot/share/gc/g1/g1ConcurrentMark.hpp (+5/-5)
src/hotspot/share/gc/g1/g1ConcurrentMarkBitMap.inline.hpp (+3/-3)
src/hotspot/share/gc/g1/g1ConcurrentMarkObjArrayProcessor.cpp (+5/-0)
src/hotspot/share/gc/g1/g1ConcurrentMarkObjArrayProcessor.inline.hpp (+1/-1)
src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp (+19/-29)
src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp (+8/-4)
src/hotspot/share/gc/g1/g1FullCollector.cpp (+72/-29)
src/hotspot/share/gc/g1/g1FullCollector.hpp (+8/-1)
src/hotspot/share/gc/g1/g1FullCollector.inline.hpp (+11/-1)
src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp (+1/-42)
src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp (+14/-3)
src/hotspot/share/gc/g1/g1FullGCCompactionPoint.hpp (+2/-2)
src/hotspot/share/gc/g1/g1FullGCMarker.cpp (+0/-1)
src/hotspot/share/gc/g1/g1FullGCMarker.hpp (+1/-1)
src/hotspot/share/gc/g1/g1FullGCMarker.inline.hpp (+1/-19)
src/hotspot/share/gc/g1/g1FullGCOopClosures.cpp (+0/-59)
src/hotspot/share/gc/g1/g1FullGCOopClosures.hpp (+0/-24)
src/hotspot/share/gc/g1/g1FullGCPrepareTask.cpp (+1/-65)
src/hotspot/share/gc/g1/g1FullGCPrepareTask.hpp (+4/-20)
src/hotspot/share/gc/g1/g1FullGCPrepareTask.inline.hpp (+9/-5)
src/hotspot/share/gc/g1/g1FullGCResetMetadataTask.cpp (+117/-0)
src/hotspot/share/gc/g1/g1FullGCResetMetadataTask.hpp (+61/-0)
src/hotspot/share/gc/g1/g1FullGCScope.cpp (+2/-1)
src/hotspot/share/gc/g1/g1FullGCScope.hpp (+3/-2)
src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp (+17/-29)
src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp (+10/-26)
src/hotspot/share/gc/g1/g1HeapVerifier.cpp (+8/-32)
src/hotspot/share/gc/g1/g1HeapVerifier.hpp (+4/-5)
src/hotspot/share/gc/g1/g1OopClosures.hpp (+0/-1)
src/hotspot/share/gc/g1/g1OopClosures.inline.hpp (+3/-1)
src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.cpp (+9/-10)
src/hotspot/share/gc/g1/g1PageBasedVirtualSpace.hpp (+0/-3)
src/hotspot/share/gc/g1/g1Policy.cpp (+2/-21)
src/hotspot/share/gc/g1/g1RegionToSpaceMapper.cpp (+7/-8)
src/hotspot/share/gc/g1/g1RegionToSpaceMapper.hpp (+0/-1)
src/hotspot/share/gc/g1/g1RemSet.cpp (+3/-48)
src/hotspot/share/gc/g1/g1RemSet.hpp (+3/-8)
src/hotspot/share/gc/g1/g1YoungCollector.cpp (+11/-53)
src/hotspot/share/gc/g1/g1YoungCollector.hpp (+2/-7)
src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp (+31/-19)
src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.hpp (+3/-6)
src/hotspot/share/gc/g1/g1YoungGCPreEvacuateTasks.cpp (+198/-0)
src/hotspot/share/gc/g1/g1YoungGCPreEvacuateTasks.hpp (+49/-0)
src/hotspot/share/gc/g1/g1_globals.hpp (+4/-21)
src/hotspot/share/gc/g1/heapRegion.cpp (+221/-265)
src/hotspot/share/gc/g1/heapRegion.hpp (+4/-5)
src/hotspot/share/gc/g1/heapRegionManager.cpp (+3/-15)
src/hotspot/share/gc/g1/heapRegionManager.hpp (+1/-3)
src/hotspot/share/gc/g1/heapRegionRemSet.cpp (+8/-9)
src/hotspot/share/gc/g1/heapRegionRemSet.hpp (+5/-6)
src/hotspot/share/gc/parallel/gcAdaptivePolicyCounters.cpp (+2/-2)
src/hotspot/share/gc/parallel/mutableNUMASpace.cpp (+31/-246)
src/hotspot/share/gc/parallel/mutableNUMASpace.hpp (+6/-31)
src/hotspot/share/gc/parallel/mutableSpace.cpp (+7/-7)
src/hotspot/share/gc/parallel/mutableSpace.hpp (+3/-4)
src/hotspot/share/gc/parallel/parMarkBitMap.cpp (+5/-5)
src/hotspot/share/gc/parallel/parMarkBitMap.inline.hpp (+5/-5)
src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp (+28/-28)
src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp (+6/-7)
src/hotspot/share/gc/parallel/parallelScavengeHeap.inline.hpp (+0/-4)
src/hotspot/share/gc/parallel/psCardTable.cpp (+4/-4)
src/hotspot/share/gc/parallel/psCardTable.hpp (+1/-1)
src/hotspot/share/gc/parallel/psClosure.inline.hpp (+5/-5)
src/hotspot/share/gc/parallel/psCompactionManager.cpp (+18/-18)
src/hotspot/share/gc/parallel/psCompactionManager.hpp (+8/-23)
src/hotspot/share/gc/parallel/psCompactionManager.inline.hpp (+3/-3)
src/hotspot/share/gc/parallel/psGenerationCounters.hpp (+2/-2)
src/hotspot/share/gc/parallel/psOldGen.cpp (+2/-2)
src/hotspot/share/gc/parallel/psOldGen.hpp (+7/-2)
src/hotspot/share/gc/parallel/psParallelCompact.cpp (+56/-59)
src/hotspot/share/gc/parallel/psParallelCompact.hpp (+8/-9)
src/hotspot/share/gc/parallel/psParallelCompact.inline.hpp (+2/-2)
src/hotspot/share/gc/parallel/psPromotionLAB.cpp (+5/-5)
src/hotspot/share/gc/parallel/psPromotionLAB.hpp (+5/-5)
src/hotspot/share/gc/parallel/psPromotionLAB.inline.hpp (+2/-2)
src/hotspot/share/gc/parallel/psPromotionManager.cpp (+13/-13)
src/hotspot/share/gc/parallel/psPromotionManager.inline.hpp (+16/-16)
src/hotspot/share/gc/parallel/psScavenge.cpp (+9/-9)
src/hotspot/share/gc/parallel/psScavenge.hpp (+3/-3)
src/hotspot/share/gc/parallel/psVMOperations.cpp (+2/-2)
src/hotspot/share/gc/parallel/psVirtualspace.cpp (+16/-29)
src/hotspot/share/gc/parallel/psVirtualspace.hpp (+4/-14)
src/hotspot/share/gc/parallel/psYoungGen.cpp (+11/-11)
src/hotspot/share/gc/serial/cardTableRS.cpp (+6/-13)
src/hotspot/share/gc/serial/cardTableRS.hpp (+4/-6)
src/hotspot/share/gc/serial/defNewGeneration.cpp (+302/-99)
src/hotspot/share/gc/serial/defNewGeneration.hpp (+12/-51)
src/hotspot/share/gc/serial/defNewGeneration.inline.hpp (+6/-59)
src/hotspot/share/gc/serial/genMarkSweep.cpp (+7/-13)
src/hotspot/share/gc/serial/genMarkSweep.hpp (+1/-1)
src/hotspot/share/gc/serial/markSweep.cpp (+13/-16)
src/hotspot/share/gc/serial/markSweep.hpp (+2/-5)
src/hotspot/share/gc/serial/serialBlockOffsetTable.cpp (+8/-8)
src/hotspot/share/gc/serial/serialBlockOffsetTable.hpp (+4/-4)
src/hotspot/share/gc/serial/serialBlockOffsetTable.inline.hpp (+2/-2)
src/hotspot/share/gc/serial/serialHeap.cpp (+4/-4)
src/hotspot/share/gc/serial/serialHeap.hpp (+1/-1)
src/hotspot/share/gc/serial/tenuredGeneration.cpp (+3/-10)
src/hotspot/share/gc/serial/tenuredGeneration.hpp (+3/-3)
src/hotspot/share/gc/serial/tenuredGeneration.inline.hpp (+2/-2)
src/hotspot/share/gc/serial/vmStructs_serial.hpp (+2/-0)
src/hotspot/share/gc/shared/adaptiveSizePolicy.cpp (+4/-4)
src/hotspot/share/gc/shared/barrierSet.cpp (+5/-5)
src/hotspot/share/gc/shared/barrierSet.hpp (+8/-8)
src/hotspot/share/gc/shared/barrierSet.inline.hpp (+1/-1)
src/hotspot/share/gc/shared/barrierSetNMethod.cpp (+4/-2)
src/hotspot/share/gc/shared/bufferNodeList.cpp (+4/-4)
src/hotspot/share/gc/shared/bufferNodeList.hpp (+3/-3)
src/hotspot/share/gc/shared/c1/barrierSetC1.cpp (+6/-6)
src/hotspot/share/gc/shared/c1/barrierSetC1.hpp (+5/-5)
src/hotspot/share/gc/shared/c1/modRefBarrierSetC1.cpp (+3/-3)
src/hotspot/share/gc/shared/c2/barrierSetC2.cpp (+25/-23)
src/hotspot/share/gc/shared/c2/barrierSetC2.hpp (+11/-4)
src/hotspot/share/gc/shared/c2/cardTableBarrierSetC2.cpp (+7/-7)
src/hotspot/share/gc/shared/c2/modRefBarrierSetC2.cpp (+5/-5)
src/hotspot/share/gc/shared/cardTable.cpp (+6/-6)
src/hotspot/share/gc/shared/cardTable.hpp (+2/-2)
src/hotspot/share/gc/shared/cardTableBarrierSet.cpp (+1/-1)
src/hotspot/share/gc/shared/cardTableBarrierSet.hpp (+2/-2)
src/hotspot/share/gc/shared/cardTableBarrierSet.inline.hpp (+1/-1)
src/hotspot/share/gc/shared/collectedHeap.cpp (+17/-14)
src/hotspot/share/gc/shared/collectedHeap.hpp (+13/-7)
src/hotspot/share/gc/shared/concurrentGCBreakpoints.cpp (+14/-14)
src/hotspot/share/gc/shared/freeListAllocator.hpp (+3/-3)
src/hotspot/share/gc/shared/gcArguments.cpp (+7/-7)
src/hotspot/share/gc/shared/gcBehaviours.cpp (+3/-3)
src/hotspot/share/gc/shared/gcCause.cpp (+0/-3)
src/hotspot/share/gc/shared/gcCause.hpp (+0/-1)
src/hotspot/share/gc/shared/gcConfig.cpp (+7/-7)
src/hotspot/share/gc/shared/gcHeapSummary.hpp (+3/-3)
src/hotspot/share/gc/shared/gcId.cpp (+2/-2)
src/hotspot/share/gc/shared/gcId.hpp (+1/-1)
src/hotspot/share/gc/shared/gcLogPrecious.cpp (+5/-5)
src/hotspot/share/gc/shared/gcName.hpp (+2/-2)
src/hotspot/share/gc/shared/gcTimer.cpp (+2/-2)
src/hotspot/share/gc/shared/gcTrace.cpp (+2/-2)
src/hotspot/share/gc/shared/gcTrace.hpp (+2/-2)
src/hotspot/share/gc/shared/gcTraceTime.cpp (+0/-2)
src/hotspot/share/gc/shared/gcTraceTime.hpp (+4/-4)
src/hotspot/share/gc/shared/gcTraceTime.inline.hpp (+11/-11)
src/hotspot/share/gc/shared/gcVMOperations.cpp (+10/-10)
src/hotspot/share/gc/shared/gcVMOperations.hpp (+2/-2)
src/hotspot/share/gc/shared/gcWhen.hpp (+2/-2)
src/hotspot/share/gc/shared/genCollectedHeap.cpp (+48/-74)
src/hotspot/share/gc/shared/genCollectedHeap.hpp (+0/-3)
src/hotspot/share/gc/shared/generation.cpp (+18/-30)
src/hotspot/share/gc/shared/generation.hpp (+8/-22)
src/hotspot/share/gc/shared/generationCounters.cpp (+4/-4)
src/hotspot/share/gc/shared/generationCounters.hpp (+2/-2)
src/hotspot/share/gc/shared/generationSpec.cpp (+3/-3)
src/hotspot/share/gc/shared/jvmFlagConstraintsGC.cpp (+1/-1)
src/hotspot/share/gc/shared/locationPrinter.inline.hpp (+5/-5)
src/hotspot/share/gc/shared/markBitMap.hpp (+3/-3)
src/hotspot/share/gc/shared/markBitMap.inline.hpp (+3/-3)
src/hotspot/share/gc/shared/memAllocator.cpp (+23/-23)
src/hotspot/share/gc/shared/modRefBarrierSet.hpp (+7/-6)
src/hotspot/share/gc/shared/modRefBarrierSet.inline.hpp (+8/-7)
src/hotspot/share/gc/shared/oopStorage.cpp (+59/-59)
src/hotspot/share/gc/shared/oopStorage.hpp (+11/-11)
src/hotspot/share/gc/shared/oopStorage.inline.hpp (+5/-5)
src/hotspot/share/gc/shared/oopStorageParState.hpp (+3/-3)
src/hotspot/share/gc/shared/oopStorageSet.cpp (+2/-2)
src/hotspot/share/gc/shared/oopStorageSetParState.inline.hpp (+4/-3)
src/hotspot/share/gc/shared/parallelCleaning.cpp (+8/-8)
src/hotspot/share/gc/shared/plab.cpp (+3/-3)
src/hotspot/share/gc/shared/plab.hpp (+3/-3)
src/hotspot/share/gc/shared/preservedMarks.hpp (+7/-7)
src/hotspot/share/gc/shared/pretouchTask.cpp (+2/-2)
src/hotspot/share/gc/shared/ptrQueue.cpp (+5/-5)
src/hotspot/share/gc/shared/ptrQueue.hpp (+2/-2)
src/hotspot/share/gc/shared/referenceProcessor.cpp (+32/-34)
src/hotspot/share/gc/shared/referenceProcessor.hpp (+12/-37)
src/hotspot/share/gc/shared/referenceProcessor.inline.hpp (+7/-7)
src/hotspot/share/gc/shared/referenceProcessorPhaseTimes.cpp (+5/-5)
src/hotspot/share/gc/shared/satbMarkQueue.cpp (+7/-7)
src/hotspot/share/gc/shared/satbMarkQueue.hpp (+2/-2)
src/hotspot/share/gc/shared/scavengableNMethods.cpp (+18/-18)
src/hotspot/share/gc/shared/softRefGenPolicy.cpp (+2/-2)
src/hotspot/share/gc/shared/space.cpp (+64/-143)
src/hotspot/share/gc/shared/space.hpp (+80/-138)
src/hotspot/share/gc/shared/space.inline.hpp (+9/-13)
src/hotspot/share/gc/shared/spaceDecorator.hpp (+3/-3)
src/hotspot/share/gc/shared/suspendibleThreadSet.cpp (+15/-15)
src/hotspot/share/gc/shared/suspendibleThreadSet.hpp (+11/-7)
src/hotspot/share/gc/shared/taskTerminator.cpp (+8/-8)
src/hotspot/share/gc/shared/taskTerminator.hpp (+3/-3)
src/hotspot/share/gc/shared/taskqueue.cpp (+2/-2)
src/hotspot/share/gc/shared/taskqueue.hpp (+3/-3)
src/hotspot/share/gc/shared/taskqueue.inline.hpp (+2/-2)
src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp (+15/-15)
src/hotspot/share/gc/shared/threadLocalAllocBuffer.hpp (+2/-2)
src/hotspot/share/gc/shared/threadLocalAllocBuffer.inline.hpp (+2/-2)
src/hotspot/share/gc/shared/vmStructs_gc.hpp (+5/-9)
src/hotspot/share/gc/shared/weakProcessor.inline.hpp (+4/-4)
src/hotspot/share/gc/shared/weakProcessorTimes.cpp (+6/-6)
src/hotspot/share/gc/shared/weakProcessorTimes.hpp (+3/-3)
src/hotspot/share/gc/shared/workerDataArray.cpp (+1/-1)
src/hotspot/share/gc/shared/workerDataArray.inline.hpp (+10/-10)
src/hotspot/share/gc/shared/workerThread.cpp (+6/-6)
src/hotspot/share/gc/shared/workerUtils.cpp (+2/-2)
src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp (+8/-8)
src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp (+13/-8)
src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp (+45/-49)
src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp (+130/-130)
src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp (+13/-13)
src/hotspot/share/gc/shenandoah/heuristics/shenandoahHeuristics.cpp (+1/-1)
src/hotspot/share/gc/shenandoah/mode/shenandoahIUMode.cpp (+2/-2)
src/hotspot/share/gc/shenandoah/mode/shenandoahPassiveMode.cpp (+1/-1)
src/hotspot/share/gc/shenandoah/mode/shenandoahSATBMode.cpp (+2/-2)
src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp (+28/-28)
src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp (+3/-3)
src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp (+15/-15)
src/hotspot/share/gc/shenandoah/shenandoahBarrierSetClone.inline.hpp (+1/-1)
src/hotspot/share/gc/shenandoah/shenandoahBarrierSetNMethod.cpp (+1/-1)
src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp (+4/-4)
src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp (+5/-5)
src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.cpp (+6/-6)
src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp (+2/-2)
src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp (+3/-3)
src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp (+10/-13)
src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp (+1/-1)
src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp (+7/-7)
src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp (+18/-18)
src/hotspot/share/gc/shenandoah/shenandoahFullGC.cpp (+11/-11)
src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp (+66/-66)
src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp (+1/-1)
src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp (+16/-16)
src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp (+5/-4)
src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp (+1/-1)
src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp (+1/-1)
src/hotspot/share/gc/shenandoah/shenandoahHeapRegionCounters.cpp (+1/-1)
src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.cpp (+1/-1)
src/hotspot/share/gc/shenandoah/shenandoahLock.cpp (+2/-2)
src/hotspot/share/gc/shenandoah/shenandoahLock.hpp (+7/-7)
src/hotspot/share/gc/shenandoah/shenandoahMark.cpp (+1/-1)
src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp (+4/-4)
src/hotspot/share/gc/shenandoah/shenandoahMarkBitMap.cpp (+2/-2)
src/hotspot/share/gc/shenandoah/shenandoahMarkBitMap.hpp (+3/-3)
src/hotspot/share/gc/shenandoah/shenandoahMonitoringSupport.cpp (+2/-2)
src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp (+21/-21)
src/hotspot/share/gc/shenandoah/shenandoahNMethod.inline.hpp (+2/-2)
src/hotspot/share/gc/shenandoah/shenandoahNumberSeq.cpp (+4/-4)
src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp (+6/-6)
src/hotspot/share/gc/shenandoah/shenandoahReferenceProcessor.cpp (+29/-29)
src/hotspot/share/gc/shenandoah/shenandoahReferenceProcessor.hpp (+2/-2)
src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp (+3/-3)
src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp (+3/-3)
src/hotspot/share/gc/shenandoah/shenandoahRootVerifier.cpp (+1/-1)
src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp (+3/-3)
src/hotspot/share/gc/shenandoah/shenandoahSharedVariables.hpp (+3/-3)
src/hotspot/share/gc/shenandoah/shenandoahStackWatermark.cpp (+5/-5)
src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp (+2/-2)
src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp (+4/-4)
src/hotspot/share/gc/shenandoah/shenandoahThreadLocalData.hpp (+3/-3)
src/hotspot/share/gc/shenandoah/shenandoahUnload.cpp (+3/-3)
src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp (+2/-2)
src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp (+1/-1)
src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp (+15/-15)
src/hotspot/share/gc/shenandoah/shenandoahVerifier.hpp (+1/-1)
src/hotspot/share/gc/shenandoah/shenandoahWorkGroup.cpp (+1/-1)
src/hotspot/share/gc/z/c1/zBarrierSetC1.cpp (+3/-0)
src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp (+18/-1)
src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp (+5/-1)
src/hotspot/share/gc/z/zBarrier.cpp (+1/-1)
src/hotspot/share/gc/z/zDriver.cpp (+1/-6)
src/hotspot/share/gc/z/zLiveMap.inline.hpp (+5/-5)
src/hotspot/share/interpreter/abstractInterpreter.cpp (+62/-7)
src/hotspot/share/interpreter/abstractInterpreter.hpp (+8/-4)
src/hotspot/share/interpreter/bytecodeTracer.cpp (+2/-2)
src/hotspot/share/interpreter/interpreterRuntime.cpp (+0/-4)
src/hotspot/share/interpreter/oopMapCache.cpp (+2/-0)
src/hotspot/share/interpreter/templateInterpreterGenerator.cpp (+84/-62)
src/hotspot/share/interpreter/templateInterpreterGenerator.hpp (+7/-5)
src/hotspot/share/interpreter/zero/zeroInterpreterGenerator.cpp (+2/-2)
src/hotspot/share/jfr/metadata/metadata.xml (+5/-1)
src/hotspot/share/jfr/periodic/jfrNativeMemoryEvent.cpp (+22/-45)
src/hotspot/share/jfr/periodic/jfrNativeMemoryEvent.hpp (+8/-8)
src/hotspot/share/jfr/periodic/jfrOSInterface.cpp (+3/-1)
src/hotspot/share/jfr/periodic/jfrPeriodic.cpp (+3/-3)
src/hotspot/share/jfr/recorder/checkpoint/types/jfrType.cpp (+11/-1)
src/hotspot/share/jfr/recorder/checkpoint/types/jfrType.hpp (+6/-1)
src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeManager.cpp (+5/-1)
src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp (+4/-4)
src/hotspot/share/jfr/support/jfrThreadLocal.hpp (+1/-0)
src/hotspot/share/jfr/utilities/jfrBigEndian.hpp (+5/-4)
src/hotspot/share/jfr/utilities/jfrLogTagSets.hpp (+3/-1)
src/hotspot/share/jfr/utilities/jfrThreadIterator.cpp (+3/-0)
src/hotspot/share/jvmci/jvmci.cpp (+10/-10)
src/hotspot/share/jvmci/jvmci.hpp (+4/-4)
src/hotspot/share/jvmci/jvmciCodeInstaller.cpp (+28/-26)
src/hotspot/share/jvmci/jvmciCompiler.cpp (+6/-6)
src/hotspot/share/jvmci/jvmciCompilerToVM.cpp (+122/-102)
src/hotspot/share/jvmci/jvmciCompilerToVM.hpp (+2/-2)
src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp (+9/-9)
src/hotspot/share/jvmci/jvmciEnv.cpp (+56/-51)
src/hotspot/share/jvmci/jvmciEnv.hpp (+12/-12)
src/hotspot/share/jvmci/jvmciExceptions.hpp (+5/-5)
src/hotspot/share/jvmci/jvmciJavaClasses.cpp (+30/-30)
src/hotspot/share/jvmci/jvmciJavaClasses.hpp (+27/-27)
src/hotspot/share/jvmci/jvmciObject.hpp (+6/-6)
src/hotspot/share/jvmci/jvmciRuntime.cpp (+65/-65)
src/hotspot/share/jvmci/jvmciRuntime.hpp (+12/-12)
src/hotspot/share/jvmci/jvmci_globals.cpp (+7/-7)
src/hotspot/share/jvmci/jvmci_globals.hpp (+4/-4)
src/hotspot/share/jvmci/metadataHandles.cpp (+14/-14)
src/hotspot/share/jvmci/metadataHandles.hpp (+14/-14)
src/hotspot/share/jvmci/vmStructs_jvmci.cpp (+13/-5)
src/hotspot/share/jvmci/vmStructs_jvmci.hpp (+5/-5)
src/hotspot/share/libadt/dict.cpp (+8/-8)
src/hotspot/share/libadt/dict.hpp (+3/-3)
src/hotspot/share/memory/allocation.cpp (+7/-7)
src/hotspot/share/memory/allocation.hpp (+6/-6)
src/hotspot/share/memory/allocation.inline.hpp (+10/-10)
src/hotspot/share/memory/arena.cpp (+35/-49)
src/hotspot/share/memory/arena.hpp (+5/-5)
src/hotspot/share/memory/classLoaderMetaspace.cpp (+31/-25)
src/hotspot/share/memory/classLoaderMetaspace.hpp (+12/-8)
src/hotspot/share/memory/guardedMemory.cpp (+5/-5)
src/hotspot/share/memory/guardedMemory.hpp (+11/-11)
src/hotspot/share/memory/heap.cpp (+43/-43)
src/hotspot/share/memory/heap.hpp (+9/-9)
src/hotspot/share/memory/heapInspection.cpp (+35/-35)
src/hotspot/share/memory/heapInspection.hpp (+5/-5)
src/hotspot/share/memory/iterator.cpp (+5/-5)
src/hotspot/share/memory/iterator.hpp (+5/-6)
src/hotspot/share/memory/memRegion.cpp (+2/-2)
src/hotspot/share/memory/memRegion.hpp (+2/-13)
src/hotspot/share/memory/metadataFactory.hpp (+5/-5)
src/hotspot/share/memory/metaspace.cpp (+26/-26)
src/hotspot/share/memory/metaspace.hpp (+2/-2)
src/hotspot/share/memory/metaspace/binList.hpp (+6/-6)
src/hotspot/share/memory/metaspace/blockTree.cpp (+11/-11)
src/hotspot/share/memory/metaspace/blockTree.hpp (+38/-38)
src/hotspot/share/memory/metaspace/chunkHeaderPool.cpp (+9/-9)
src/hotspot/share/memory/metaspace/chunkHeaderPool.hpp (+9/-9)
src/hotspot/share/memory/metaspace/chunkManager.cpp (+35/-38)
src/hotspot/share/memory/metaspace/chunkManager.hpp (+2/-2)
src/hotspot/share/memory/metaspace/commitMask.cpp (+2/-2)
src/hotspot/share/memory/metaspace/freeBlocks.cpp (+3/-3)
src/hotspot/share/memory/metaspace/freeChunkList.cpp (+16/-16)
src/hotspot/share/memory/metaspace/freeChunkList.hpp (+30/-39)
src/hotspot/share/memory/metaspace/metachunk.cpp (+10/-10)
src/hotspot/share/memory/metaspace/metachunk.hpp (+12/-12)
src/hotspot/share/memory/metaspace/metachunkList.cpp (+9/-9)
src/hotspot/share/memory/metaspace/metachunkList.hpp (+6/-6)
src/hotspot/share/memory/metaspace/metaspaceArena.cpp (+40/-43)
src/hotspot/share/memory/metaspace/metaspaceArena.hpp (+2/-2)
src/hotspot/share/memory/metaspace/metaspaceArenaGrowthPolicy.cpp (+2/-2)
src/hotspot/share/memory/metaspace/metaspaceCommon.cpp (+2/-2)
src/hotspot/share/memory/metaspace/metaspaceContext.cpp (+3/-3)
src/hotspot/share/memory/metaspace/metaspaceContext.hpp (+2/-2)
src/hotspot/share/memory/metaspace/metaspaceDCmd.cpp (+4/-4)
src/hotspot/share/memory/metaspace/metaspaceDCmd.hpp (+2/-2)
src/hotspot/share/memory/metaspace/metaspaceReporter.cpp (+2/-2)
src/hotspot/share/memory/metaspace/metaspaceSettings.cpp (+5/-22)
src/hotspot/share/memory/metaspace/metaspaceSettings.hpp (+2/-13)
src/hotspot/share/memory/metaspace/printCLDMetaspaceInfoClosure.cpp (+8/-8)
src/hotspot/share/memory/metaspace/rootChunkArea.cpp (+19/-19)
src/hotspot/share/memory/metaspace/rootChunkArea.hpp (+3/-3)
src/hotspot/share/memory/metaspace/runningCounters.cpp (+4/-4)
src/hotspot/share/memory/metaspace/testHelpers.cpp (+4/-4)
src/hotspot/share/memory/metaspace/virtualSpaceList.cpp (+17/-17)
src/hotspot/share/memory/metaspace/virtualSpaceList.hpp (+4/-4)
src/hotspot/share/memory/metaspace/virtualSpaceNode.cpp (+20/-11)
src/hotspot/share/memory/metaspace/virtualSpaceNode.hpp (+4/-4)
src/hotspot/share/memory/metaspaceClosure.cpp (+4/-4)
src/hotspot/share/memory/metaspaceClosure.hpp (+9/-9)
src/hotspot/share/memory/metaspaceCounters.cpp (+3/-3)
src/hotspot/share/memory/metaspaceCriticalAllocation.cpp (+15/-15)
src/hotspot/share/memory/metaspaceUtils.hpp (+5/-5)
src/hotspot/share/memory/oopFactory.cpp (+3/-3)
src/hotspot/share/memory/padded.hpp (+2/-2)
src/hotspot/share/memory/padded.inline.hpp (+2/-2)
src/hotspot/share/memory/universe.cpp (+50/-45)
src/hotspot/share/memory/universe.hpp (+6/-6)
src/hotspot/share/memory/virtualspace.cpp (+54/-54)
src/hotspot/share/memory/virtualspace.hpp (+4/-4)
src/hotspot/share/oops/access.hpp (+5/-5)
src/hotspot/share/oops/access.inline.hpp (+5/-5)
src/hotspot/share/oops/accessBackend.hpp (+1/-1)
src/hotspot/share/oops/annotations.cpp (+7/-7)
src/hotspot/share/oops/annotations.hpp (+5/-5)
src/hotspot/share/oops/arrayKlass.cpp (+15/-15)
src/hotspot/share/oops/arrayOop.hpp (+4/-4)
src/hotspot/share/oops/compressedOops.cpp (+7/-7)
src/hotspot/share/oops/compressedOops.hpp (+5/-4)
src/hotspot/share/oops/compressedOops.inline.hpp (+8/-3)
src/hotspot/share/oops/constMethod.cpp (+10/-10)
src/hotspot/share/oops/constMethod.hpp (+6/-6)
src/hotspot/share/oops/constantPool.cpp (+88/-87)
src/hotspot/share/oops/constantPool.hpp (+7/-7)
src/hotspot/share/oops/cpCache.cpp (+28/-28)
src/hotspot/share/oops/cpCache.hpp (+3/-5)
src/hotspot/share/oops/cpCache.inline.hpp (+4/-4)
src/hotspot/share/oops/fieldStreams.hpp (+2/-2)
src/hotspot/share/oops/generateOopMap.cpp (+23/-23)
src/hotspot/share/oops/generateOopMap.hpp (+2/-2)
src/hotspot/share/oops/instanceClassLoaderKlass.inline.hpp (+3/-3)
src/hotspot/share/oops/instanceKlass.cpp (+363/-328)
src/hotspot/share/oops/instanceKlass.hpp (+47/-44)
src/hotspot/share/oops/instanceKlass.inline.hpp (+4/-4)
src/hotspot/share/oops/instanceMirrorKlass.cpp (+3/-3)
src/hotspot/share/oops/instanceMirrorKlass.inline.hpp (+7/-7)
src/hotspot/share/oops/instanceRefKlass.cpp (+3/-3)
src/hotspot/share/oops/instanceRefKlass.inline.hpp (+21/-17)
src/hotspot/share/oops/instanceStackChunkKlass.cpp (+2/-2)
src/hotspot/share/oops/klass.cpp (+54/-54)
src/hotspot/share/oops/klass.hpp (+9/-9)
src/hotspot/share/oops/klassVtable.cpp (+64/-64)
src/hotspot/share/oops/klassVtable.hpp (+7/-7)
src/hotspot/share/oops/markWord.cpp (+3/-3)
src/hotspot/share/oops/metadata.hpp (+3/-3)
src/hotspot/share/oops/method.cpp (+121/-121)
src/hotspot/share/oops/method.hpp (+29/-33)
src/hotspot/share/oops/method.inline.hpp (+2/-2)
src/hotspot/share/oops/methodData.cpp (+54/-54)
src/hotspot/share/oops/methodData.hpp (+50/-50)
src/hotspot/share/oops/objArrayKlass.cpp (+29/-29)
src/hotspot/share/oops/objArrayOop.hpp (+1/-0)
src/hotspot/share/oops/oop.cpp (+17/-7)
src/hotspot/share/oops/oop.hpp (+7/-4)
src/hotspot/share/oops/oop.inline.hpp (+12/-4)
src/hotspot/share/oops/oopHandle.hpp (+3/-3)
src/hotspot/share/oops/oopHandle.inline.hpp (+7/-7)
src/hotspot/share/oops/oopsHierarchy.cpp (+3/-3)
src/hotspot/share/oops/oopsHierarchy.hpp (+2/-2)
src/hotspot/share/oops/recordComponent.cpp (+5/-5)
src/hotspot/share/oops/stackChunkOop.cpp (+2/-2)
src/hotspot/share/oops/stackChunkOop.hpp (+3/-3)
src/hotspot/share/oops/symbol.cpp (+8/-41)
src/hotspot/share/oops/symbol.hpp (+10/-10)
src/hotspot/share/oops/symbolHandle.hpp (+3/-4)
src/hotspot/share/oops/typeArrayKlass.cpp (+10/-10)
src/hotspot/share/oops/typeArrayKlass.hpp (+2/-2)
src/hotspot/share/oops/weakHandle.cpp (+5/-5)
src/hotspot/share/oops/weakHandle.hpp (+5/-5)
src/hotspot/share/opto/addnode.cpp (+61/-61)
src/hotspot/share/opto/arraycopynode.cpp (+44/-44)
src/hotspot/share/opto/arraycopynode.hpp (+3/-3)
src/hotspot/share/opto/block.cpp (+29/-29)
src/hotspot/share/opto/block.hpp (+22/-22)
src/hotspot/share/opto/buildOopMap.cpp (+19/-19)
src/hotspot/share/opto/bytecodeInfo.cpp (+36/-40)
src/hotspot/share/opto/c2_CodeStubs.cpp (+3/-3)
src/hotspot/share/opto/c2_globals.hpp (+8/-5)
src/hotspot/share/opto/c2compiler.cpp (+5/-18)
src/hotspot/share/opto/c2compiler.hpp (+1/-7)
src/hotspot/share/opto/callGenerator.cpp (+52/-52)
src/hotspot/share/opto/callGenerator.hpp (+7/-7)
src/hotspot/share/opto/callnode.cpp (+133/-133)
src/hotspot/share/opto/callnode.hpp (+27/-27)
src/hotspot/share/opto/castnode.cpp (+75/-43)
src/hotspot/share/opto/castnode.hpp (+2/-2)
src/hotspot/share/opto/cfgnode.cpp (+362/-254)
src/hotspot/share/opto/cfgnode.hpp (+36/-11)
src/hotspot/share/opto/chaitin.cpp (+30/-30)
src/hotspot/share/opto/chaitin.hpp (+5/-5)
src/hotspot/share/opto/coalesce.cpp (+4/-4)
src/hotspot/share/opto/compile.cpp (+232/-229)
src/hotspot/share/opto/compile.hpp (+27/-25)
src/hotspot/share/opto/connode.cpp (+2/-2)
src/hotspot/share/opto/connode.hpp (+11/-7)
src/hotspot/share/opto/constantTable.cpp (+7/-6)
src/hotspot/share/opto/convertnode.cpp (+31/-31)
src/hotspot/share/opto/convertnode.hpp (+0/-1)
src/hotspot/share/opto/divnode.cpp (+52/-52)
src/hotspot/share/opto/divnode.hpp (+2/-2)
src/hotspot/share/opto/doCall.cpp (+71/-72)
src/hotspot/share/opto/domgraph.cpp (+26/-26)
src/hotspot/share/opto/escape.cpp (+170/-170)
src/hotspot/share/opto/escape.hpp (+15/-15)
src/hotspot/share/opto/gcm.cpp (+71/-71)
src/hotspot/share/opto/generateOptoStub.cpp (+6/-6)
src/hotspot/share/opto/graphKit.cpp (+226/-203)
src/hotspot/share/opto/graphKit.hpp (+45/-39)
src/hotspot/share/opto/idealGraphPrinter.cpp (+53/-53)
src/hotspot/share/opto/idealGraphPrinter.hpp (+2/-2)
src/hotspot/share/opto/idealKit.cpp (+26/-26)
src/hotspot/share/opto/idealKit.hpp (+5/-5)
src/hotspot/share/opto/ifg.cpp (+2/-2)
src/hotspot/share/opto/ifnode.cpp (+165/-165)
src/hotspot/share/opto/indexSet.cpp (+2/-2)
src/hotspot/share/opto/indexSet.hpp (+6/-6)
src/hotspot/share/opto/intrinsicnode.cpp (+8/-8)
src/hotspot/share/opto/lcm.cpp (+36/-36)
src/hotspot/share/opto/library_call.cpp (+368/-355)
src/hotspot/share/opto/library_call.hpp (+8/-7)
src/hotspot/share/opto/live.cpp (+4/-4)
src/hotspot/share/opto/live.hpp (+2/-2)
src/hotspot/share/opto/locknode.cpp (+7/-7)
src/hotspot/share/opto/locknode.hpp (+3/-3)
src/hotspot/share/opto/loopPredicate.cpp (+77/-77)
src/hotspot/share/opto/loopTransform.cpp (+179/-208)
src/hotspot/share/opto/loopUnswitch.cpp (+13/-13)
src/hotspot/share/opto/loopnode.cpp (+386/-306)
src/hotspot/share/opto/loopnode.hpp (+89/-78)
src/hotspot/share/opto/loopopts.cpp (+180/-176)
src/hotspot/share/opto/machnode.cpp (+41/-34)
src/hotspot/share/opto/machnode.hpp (+20/-20)
src/hotspot/share/opto/macro.cpp (+157/-157)
src/hotspot/share/opto/macro.hpp (+7/-7)
src/hotspot/share/opto/macroArrayCopy.cpp (+92/-92)
src/hotspot/share/opto/matcher.cpp (+143/-143)
src/hotspot/share/opto/matcher.hpp (+4/-4)
src/hotspot/share/opto/mathexactnode.cpp (+6/-6)
src/hotspot/share/opto/memnode.cpp (+327/-325)
src/hotspot/share/opto/memnode.hpp (+18/-18)
src/hotspot/share/opto/movenode.cpp (+31/-31)
src/hotspot/share/opto/movenode.hpp (+3/-3)
src/hotspot/share/opto/mulnode.cpp (+278/-139)
src/hotspot/share/opto/mulnode.hpp (+3/-3)
src/hotspot/share/opto/multnode.cpp (+24/-24)
src/hotspot/share/opto/multnode.hpp (+3/-3)
src/hotspot/share/opto/narrowptrnode.hpp (+3/-3)
src/hotspot/share/opto/node.cpp (+183/-170)
src/hotspot/share/opto/node.hpp (+69/-59)
src/hotspot/share/opto/opaquenode.cpp (+2/-2)
src/hotspot/share/opto/opaquenode.hpp (+5/-5)
src/hotspot/share/opto/output.cpp (+105/-105)
src/hotspot/share/opto/output.hpp (+2/-2)
src/hotspot/share/opto/parse.hpp (+32/-9)
src/hotspot/share/opto/parse1.cpp (+91/-83)
src/hotspot/share/opto/parse2.cpp (+65/-65)
src/hotspot/share/opto/parse3.cpp (+18/-18)
src/hotspot/share/opto/parseHelper.cpp (+10/-10)
src/hotspot/share/opto/phase.cpp (+2/-2)
src/hotspot/share/opto/phaseX.cpp (+301/-150)
src/hotspot/share/opto/phaseX.hpp (+49/-20)
src/hotspot/share/opto/phasetype.hpp (+5/-5)
src/hotspot/share/opto/postaloc.cpp (+28/-28)
src/hotspot/share/opto/reg_split.cpp (+27/-27)
src/hotspot/share/opto/replacednodes.cpp (+8/-8)
src/hotspot/share/opto/replacednodes.hpp (+3/-3)
src/hotspot/share/opto/rootnode.cpp (+3/-3)
src/hotspot/share/opto/runtime.cpp (+47/-47)
src/hotspot/share/opto/runtime.hpp (+5/-5)
src/hotspot/share/opto/split_if.cpp (+11/-11)
src/hotspot/share/opto/stringopts.cpp (+151/-198)
src/hotspot/share/opto/stringopts.hpp (+1/-7)
src/hotspot/share/opto/subnode.cpp (+75/-75)
src/hotspot/share/opto/subnode.hpp (+5/-5)
src/hotspot/share/opto/subtypenode.cpp (+32/-25)
src/hotspot/share/opto/subtypenode.hpp (+2/-0)
src/hotspot/share/opto/superword.cpp (+422/-270)
src/hotspot/share/opto/superword.hpp (+31/-17)
src/hotspot/share/opto/type.cpp (+379/-235)
src/hotspot/share/opto/type.hpp (+85/-81)
src/hotspot/share/opto/vector.cpp (+5/-5)
src/hotspot/share/opto/vectorIntrinsics.cpp (+268/-139)
src/hotspot/share/opto/vectornode.cpp (+50/-43)
src/hotspot/share/opto/vectornode.hpp (+7/-7)
src/hotspot/share/prims/foreignGlobals.inline.hpp (+2/-2)
src/hotspot/share/prims/forte.cpp (+23/-23)
src/hotspot/share/prims/jni.cpp (+143/-150)
src/hotspot/share/prims/jniCheck.cpp (+57/-57)
src/hotspot/share/prims/jniCheck.hpp (+2/-2)
src/hotspot/share/prims/jvm.cpp (+170/-170)
src/hotspot/share/prims/jvmti.xml (+4/-2)
src/hotspot/share/prims/jvmtiClassFileReconstituter.cpp (+37/-37)
src/hotspot/share/prims/jvmtiClassFileReconstituter.hpp (+7/-7)
src/hotspot/share/prims/jvmtiCodeBlobEvents.cpp (+12/-12)
src/hotspot/share/prims/jvmtiDeferredUpdates.cpp (+7/-7)
src/hotspot/share/prims/jvmtiDeferredUpdates.hpp (+2/-2)
src/hotspot/share/prims/jvmtiEnv.cpp (+427/-427)
src/hotspot/share/prims/jvmtiEnvBase.cpp (+154/-149)
src/hotspot/share/prims/jvmtiEnvBase.hpp (+19/-19)
src/hotspot/share/prims/jvmtiEnvThreadState.cpp (+21/-22)
src/hotspot/share/prims/jvmtiEnvThreadState.hpp (+2/-2)
src/hotspot/share/prims/jvmtiEventController.cpp (+23/-23)
src/hotspot/share/prims/jvmtiEventController.hpp (+4/-4)
src/hotspot/share/prims/jvmtiExport.cpp (+248/-248)
src/hotspot/share/prims/jvmtiExport.hpp (+9/-11)
src/hotspot/share/prims/jvmtiExtensions.cpp (+30/-30)
src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp (+5/-5)
src/hotspot/share/prims/jvmtiImpl.cpp (+66/-66)
src/hotspot/share/prims/jvmtiImpl.hpp (+9/-9)
src/hotspot/share/prims/jvmtiRawMonitor.cpp (+20/-20)
src/hotspot/share/prims/jvmtiRedefineClasses.cpp (+86/-86)
src/hotspot/share/prims/jvmtiRedefineClasses.hpp (+3/-3)
src/hotspot/share/prims/jvmtiTagMap.cpp (+92/-92)
src/hotspot/share/prims/jvmtiTagMapTable.cpp (+7/-10)
src/hotspot/share/prims/jvmtiTagMapTable.hpp (+1/-2)
src/hotspot/share/prims/jvmtiThreadState.cpp (+167/-95)
src/hotspot/share/prims/jvmtiThreadState.hpp (+24/-23)
src/hotspot/share/prims/jvmtiThreadState.inline.hpp (+22/-22)
src/hotspot/share/prims/jvmtiTrace.cpp (+14/-14)
src/hotspot/share/prims/jvmtiUtil.cpp (+3/-3)
src/hotspot/share/prims/jvmtiUtil.hpp (+2/-2)
src/hotspot/share/prims/methodHandles.cpp (+92/-92)
src/hotspot/share/prims/methodHandles.hpp (+2/-2)
src/hotspot/share/prims/nativeLookup.cpp (+41/-41)
src/hotspot/share/prims/perf.cpp (+9/-9)
src/hotspot/share/prims/resolvedMethodTable.cpp (+8/-8)
src/hotspot/share/prims/scopedMemoryAccess.cpp (+3/-3)
src/hotspot/share/prims/stackwalk.cpp (+24/-24)
src/hotspot/share/prims/stackwalk.hpp (+3/-3)
src/hotspot/share/prims/unsafe.cpp (+31/-31)
src/hotspot/share/prims/upcallLinker.cpp (+3/-3)
src/hotspot/share/prims/vectorSupport.cpp (+3/-3)
src/hotspot/share/prims/whitebox.cpp (+157/-151)
src/hotspot/share/runtime/abstract_vm_version.hpp (+11/-2)
src/hotspot/share/runtime/arguments.cpp (+35/-95)
src/hotspot/share/runtime/arguments.hpp (+4/-17)
src/hotspot/share/runtime/continuation.cpp (+2/-4)
src/hotspot/share/runtime/continuation.hpp (+2/-2)
src/hotspot/share/runtime/continuationFreezeThaw.cpp (+2/-2)
src/hotspot/share/runtime/deoptimization.cpp (+117/-8)
src/hotspot/share/runtime/deoptimization.hpp (+28/-3)
src/hotspot/share/runtime/flags/jvmFlag.cpp (+0/-14)
src/hotspot/share/runtime/flags/jvmFlag.hpp (+1/-3)
src/hotspot/share/runtime/flags/jvmFlagAccess.cpp (+8/-1)
src/hotspot/share/runtime/flags/jvmFlagConstraintsCompiler.cpp (+29/-3)
src/hotspot/share/runtime/flags/jvmFlagConstraintsCompiler.hpp (+3/-2)
src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.cpp (+2/-2)
src/hotspot/share/runtime/globals.hpp (+18/-22)
src/hotspot/share/runtime/globals_extension.hpp (+5/-2)
src/hotspot/share/runtime/init.cpp (+17/-0)
src/hotspot/share/runtime/java.cpp (+26/-1)
src/hotspot/share/runtime/javaCalls.cpp (+1/-1)
src/hotspot/share/runtime/javaThread.cpp (+3/-3)
src/hotspot/share/runtime/jniHandles.cpp (+2/-4)
src/hotspot/share/runtime/mutexLocker.cpp (+3/-3)
src/hotspot/share/runtime/mutexLocker.hpp (+1/-1)
src/hotspot/share/runtime/nonJavaThread.cpp (+4/-2)
src/hotspot/share/runtime/os.cpp (+29/-39)
src/hotspot/share/runtime/os.hpp (+8/-11)
src/hotspot/share/runtime/osInfo.cpp (+3/-3)
src/hotspot/share/runtime/osInfo.hpp (+9/-11)
src/hotspot/share/runtime/perfMemory.cpp (+3/-3)
src/hotspot/share/runtime/sharedRuntime.cpp (+0/-91)
src/hotspot/share/runtime/sharedRuntime.hpp (+0/-2)
src/hotspot/share/runtime/stubRoutines.cpp (+3/-0)
src/hotspot/share/runtime/stubRoutines.hpp (+21/-0)
src/hotspot/share/runtime/threads.cpp (+22/-5)
src/hotspot/share/runtime/threads.hpp (+3/-0)
src/hotspot/share/runtime/vframe.cpp (+1/-2)
src/hotspot/share/runtime/vmStructs.cpp (+2/-8)
src/hotspot/share/sanitizers/address.hpp (+19/-0)
src/hotspot/share/sanitizers/leak.hpp (+93/-0)
src/hotspot/share/services/attachListener.cpp (+24/-24)
src/hotspot/share/services/attachListener.hpp (+3/-3)
src/hotspot/share/services/classLoadingService.cpp (+13/-13)
src/hotspot/share/services/diagnosticArgument.cpp (+21/-24)
src/hotspot/share/services/diagnosticArgument.hpp (+5/-5)
src/hotspot/share/services/diagnosticCommand.cpp (+38/-39)
src/hotspot/share/services/diagnosticCommand.hpp (+32/-32)
src/hotspot/share/services/diagnosticFramework.cpp (+45/-45)
src/hotspot/share/services/diagnosticFramework.hpp (+14/-22)
src/hotspot/share/services/gcNotifier.cpp (+9/-9)
src/hotspot/share/services/gcNotifier.hpp (+2/-2)
src/hotspot/share/services/heapDumper.cpp (+125/-125)
src/hotspot/share/services/heapDumper.hpp (+6/-6)
src/hotspot/share/services/heapDumperCompression.cpp (+54/-50)
src/hotspot/share/services/heapDumperCompression.hpp (+12/-12)
src/hotspot/share/services/lowMemoryDetector.cpp (+11/-11)
src/hotspot/share/services/lowMemoryDetector.hpp (+2/-2)
src/hotspot/share/services/mallocHeader.hpp (+10/-2)
src/hotspot/share/services/mallocHeader.inline.hpp (+37/-20)
src/hotspot/share/services/mallocLimit.cpp (+234/-0)
src/hotspot/share/services/mallocLimit.hpp (+77/-0)
src/hotspot/share/services/mallocSiteTable.cpp (+20/-20)
src/hotspot/share/services/mallocSiteTable.hpp (+8/-8)
src/hotspot/share/services/mallocTracker.cpp (+40/-51)
src/hotspot/share/services/mallocTracker.hpp (+23/-36)
src/hotspot/share/services/mallocTracker.inline.hpp (+72/-0)
src/hotspot/share/services/management.cpp (+161/-155)
src/hotspot/share/services/management.hpp (+7/-7)
src/hotspot/share/services/memBaseline.cpp (+11/-11)
src/hotspot/share/services/memReporter.cpp (+14/-14)
src/hotspot/share/services/memTracker.cpp (+8/-7)
src/hotspot/share/services/memTracker.hpp (+15/-11)
src/hotspot/share/services/memTracker.inline.hpp (+12/-19)
src/hotspot/share/services/memoryManager.cpp (+9/-9)
src/hotspot/share/services/memoryPool.cpp (+4/-4)
src/hotspot/share/services/memoryService.cpp (+7/-7)
src/hotspot/share/services/memoryUsage.hpp (+1/-1)
src/hotspot/share/services/nmtCommon.cpp (+4/-4)
src/hotspot/share/services/nmtCommon.hpp (+8/-1)
src/hotspot/share/services/nmtDCmd.cpp (+2/-2)
src/hotspot/share/services/nmtDCmd.hpp (+2/-2)
src/hotspot/share/services/nmtPreInit.cpp (+85/-45)
src/hotspot/share/services/nmtPreInit.hpp (+97/-71)
src/hotspot/share/services/nmtUsage.cpp (+1/-1)
src/hotspot/share/services/runtimeService.cpp (+5/-5)
src/hotspot/share/services/threadIdTable.cpp (+4/-4)
src/hotspot/share/services/threadService.cpp (+92/-86)
src/hotspot/share/services/threadService.hpp (+13/-12)
src/hotspot/share/services/threadStackTracker.cpp (+10/-10)
src/hotspot/share/services/virtualMemoryTracker.cpp (+57/-60)
src/hotspot/share/services/virtualMemoryTracker.hpp (+6/-6)
src/hotspot/share/services/writeableFlags.cpp (+9/-9)
src/hotspot/share/utilities/bitMap.cpp (+6/-6)
src/hotspot/share/utilities/bitMap.hpp (+52/-27)
src/hotspot/share/utilities/bitMap.inline.hpp (+68/-42)
src/hotspot/share/utilities/byteswap.hpp (+179/-0)
src/hotspot/share/utilities/compilerWarnings_gcc.hpp (+5/-15)
src/hotspot/share/utilities/compilerWarnings_visCPP.hpp (+3/-3)
src/hotspot/share/utilities/concurrentHashTable.inline.hpp (+1/-1)
src/hotspot/share/utilities/copy.cpp (+2/-28)
src/hotspot/share/utilities/debug.cpp (+2/-107)
src/hotspot/share/utilities/elfFile.hpp (+3/-1)
src/hotspot/share/utilities/globalDefinitions.hpp (+48/-2)
src/hotspot/share/utilities/growableArray.hpp (+0/-15)
src/hotspot/share/utilities/ostream.cpp (+22/-16)
src/hotspot/share/utilities/resizeableResourceHash.hpp (+3/-3)
src/hotspot/share/utilities/resourceHash.hpp (+12/-0)
src/hotspot/share/utilities/reverse_bits.hpp (+151/-0)
src/hotspot/share/utilities/stack.hpp (+0/-21)
src/hotspot/share/utilities/stack.inline.hpp (+0/-12)
src/hotspot/share/utilities/vmError.cpp (+62/-40)
src/hotspot/share/utilities/vmError.hpp (+16/-5)
src/java.base/linux/classes/jdk/internal/platform/CgroupMetrics.java (+13/-2)
src/java.base/linux/native/libjava/CgroupMetrics.c (+13/-0)
src/java.base/macosx/native/libosxsecurity/KeystoreImpl.m (+31/-9)
src/java.base/share/classes/com/sun/crypto/provider/KeyWrapCipher.java (+26/-19)
src/java.base/share/classes/com/sun/crypto/provider/PBEKeyFactory.java (+58/-35)
src/java.base/share/classes/com/sun/crypto/provider/PBES2Core.java (+33/-0)
src/java.base/share/classes/com/sun/crypto/provider/PBES2Parameters.java (+32/-3)
src/java.base/share/classes/com/sun/crypto/provider/PBKDF2Core.java (+15/-2)
src/java.base/share/classes/com/sun/crypto/provider/PBMAC1Core.java (+19/-1)
src/java.base/share/classes/com/sun/crypto/provider/SunJCE.java (+46/-0)
src/java.base/share/classes/java/io/BufferedInputStream.java (+7/-3)
src/java.base/share/classes/java/io/ByteArrayInputStream.java (+2/-2)
src/java.base/share/classes/java/io/FileInputStream.java (+6/-2)
src/java.base/share/classes/java/io/FilePermission.java (+12/-18)
src/java.base/share/classes/java/io/InputStream.java (+11/-2)
src/java.base/share/classes/java/io/ObjectInputFilter.java (+11/-16)
src/java.base/share/classes/java/io/ObjectInputStream.java (+2/-2)
src/java.base/share/classes/java/io/PushbackInputStream.java (+6/-2)
src/java.base/share/classes/java/io/Reader.java (+11/-2)
src/java.base/share/classes/java/io/SequenceInputStream.java (+12/-6)
src/java.base/share/classes/java/lang/Character.java (+2/-2)
src/java.base/share/classes/java/lang/CharacterDataLatin1.java.template (+48/-19)
src/java.base/share/classes/java/lang/ClassLoader.java (+5/-0)
src/java.base/share/classes/java/lang/FdLibm.java (+2785/-229)
src/java.base/share/classes/java/lang/Integer.java (+0/-4)
src/java.base/share/classes/java/lang/Math.java (+130/-1)
src/java.base/share/classes/java/lang/Module.java (+77/-82)
src/java.base/share/classes/java/lang/Record.java (+2/-2)
src/java.base/share/classes/java/lang/Runtime.java (+5/-0)
src/java.base/share/classes/java/lang/Shutdown.java (+23/-0)
src/java.base/share/classes/java/lang/StrictMath.java (+135/-16)
src/java.base/share/classes/java/lang/String.java (+164/-86)
src/java.base/share/classes/java/lang/StringLatin1.java (+10/-21)
src/java.base/share/classes/java/lang/StringUTF16.java (+6/-8)
src/java.base/share/classes/java/lang/System.java (+8/-1)
src/java.base/share/classes/java/lang/Thread.java (+2/-8)
src/java.base/share/classes/java/lang/constant/ClassDesc.java (+1/-0)
src/java.base/share/classes/java/lang/foreign/VaList.java (+3/-2)
src/java.base/share/classes/java/lang/invoke/BootstrapMethodInvoker.java (+4/-4)
src/java.base/share/classes/java/lang/invoke/BoundMethodHandle.java (+10/-9)
src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java (+41/-25)
src/java.base/share/classes/java/lang/invoke/LambdaForm.java (+0/-10)
src/java.base/share/classes/java/lang/invoke/LambdaFormEditor.java (+1/-1)
src/java.base/share/classes/java/lang/invoke/MethodHandles.java (+17/-5)
src/java.base/share/classes/java/lang/invoke/SimpleMethodHandle.java (+4/-4)
src/java.base/share/classes/java/lang/invoke/VarHandle.java (+12/-12)
src/java.base/share/classes/java/lang/invoke/VarHandles.java (+24/-22)
src/java.base/share/classes/java/lang/invoke/X-VarHandle.java.template (+18/-18)
src/java.base/share/classes/java/lang/reflect/Proxy.java (+1/-1)
src/java.base/share/classes/java/net/DatagramSocket.java (+0/-2)
src/java.base/share/classes/java/net/HttpURLConnection.java (+14/-10)
src/java.base/share/classes/java/net/SocketPermission.java (+13/-20)
src/java.base/share/classes/java/net/URISyntaxException.java (+3/-3)
src/java.base/share/classes/java/net/URLConnection.java (+16/-17)
src/java.base/share/classes/java/net/URLDecoder.java (+5/-3)
src/java.base/share/classes/java/net/URLEncoder.java (+20/-26)
src/java.base/share/classes/java/nio/Buffer.java (+29/-7)
src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template (+1/-1)
src/java.base/share/classes/java/nio/channels/FileChannel.java (+4/-4)
src/java.base/share/classes/java/nio/charset/Charset.java (+13/-17)
src/java.base/share/classes/java/nio/file/FileChannelLinesSpliterator.java (+6/-9)
src/java.base/share/classes/java/nio/file/Files.java (+2/-2)
src/java.base/share/classes/java/security/AccessControlContext.java (+1/-1)
src/java.base/share/classes/java/security/BasicPermission.java (+3/-3)
src/java.base/share/classes/java/security/MessageDigestSpi.java (+10/-2)
src/java.base/share/classes/java/security/UnresolvedPermissionCollection.java (+10/-17)
src/java.base/share/classes/java/text/DecimalFormat.java (+12/-20)
src/java.base/share/classes/java/time/Duration.java (+1/-2)
src/java.base/share/classes/java/time/Instant.java (+1/-2)
src/java.base/share/classes/java/time/ZoneOffset.java (+1/-2)
src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java (+6/-4)
src/java.base/share/classes/java/util/Arrays.java (+172/-76)
src/java.base/share/classes/java/util/Base64.java (+2/-2)
src/java.base/share/classes/java/util/Collections.java (+21/-26)
src/java.base/share/classes/java/util/Date.java (+5/-1)
src/java.base/share/classes/java/util/Formatter.java (+21/-20)
src/java.base/share/classes/java/util/HashMap.java (+2/-2)
src/java.base/share/classes/java/util/HashSet.java (+2/-2)
src/java.base/share/classes/java/util/Hashtable.java (+2/-2)
src/java.base/share/classes/java/util/ImmutableCollections.java (+5/-3)
src/java.base/share/classes/java/util/Locale.java (+86/-72)
src/java.base/share/classes/java/util/LocaleISOData.java (+19/-19)
src/java.base/share/classes/java/util/LongSummaryStatistics.java (+1/-0)
src/java.base/share/classes/java/util/Map.java (+2/-0)
src/java.base/share/classes/java/util/PrimitiveIterator.java (+3/-0)
src/java.base/share/classes/java/util/PropertyPermission.java (+13/-20)
src/java.base/share/classes/java/util/Set.java (+3/-1)
src/java.base/share/classes/java/util/SimpleTimeZone.java (+5/-1)
src/java.base/share/classes/java/util/Spliterator.java (+3/-0)
src/java.base/share/classes/java/util/Spliterators.java (+3/-0)
src/java.base/share/classes/java/util/TimeZone.java (+14/-2)
src/java.base/share/classes/java/util/concurrent/ConcurrentHashMap.java (+10/-10)
src/java.base/share/classes/java/util/concurrent/Executors.java (+27/-10)
src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java (+4/-4)
src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java (+4/-0)
src/java.base/share/classes/java/util/concurrent/atomic/AtomicBoolean.java (+3/-3)
src/java.base/share/classes/java/util/concurrent/atomic/AtomicInteger.java (+3/-3)
src/java.base/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java (+3/-3)
src/java.base/share/classes/java/util/concurrent/atomic/AtomicLong.java (+3/-3)
src/java.base/share/classes/java/util/concurrent/atomic/AtomicLongArray.java (+3/-3)
src/java.base/share/classes/java/util/concurrent/atomic/AtomicReference.java (+3/-3)
src/java.base/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java (+3/-3)
src/java.base/share/classes/java/util/jar/JarVerifier.java (+6/-5)
src/java.base/share/classes/java/util/regex/Matcher.java (+6/-2)
src/java.base/share/classes/java/util/spi/LocaleServiceProvider.java (+10/-11)
src/java.base/share/classes/java/util/stream/ForEachOps.java (+20/-9)
src/java.base/share/classes/java/util/stream/Node.java (+3/-0)
src/java.base/share/classes/java/util/stream/Nodes.java (+9/-0)
src/java.base/share/classes/java/util/stream/Sink.java (+3/-0)
src/java.base/share/classes/java/util/stream/SliceOps.java (+2/-2)
src/java.base/share/classes/java/util/stream/SpinedBuffer.java (+6/-0)
src/java.base/share/classes/java/util/stream/StreamSpliterators.java (+9/-0)
src/java.base/share/classes/java/util/stream/Streams.java (+3/-0)
src/java.base/share/classes/java/util/zip/Adler32.java (+2/-2)
src/java.base/share/classes/java/util/zip/CRC32.java (+2/-2)
src/java.base/share/classes/java/util/zip/CRC32C.java (+2/-2)
src/java.base/share/classes/java/util/zip/Deflater.java (+4/-4)
src/java.base/share/classes/java/util/zip/Inflater.java (+3/-3)
src/java.base/share/classes/java/util/zip/ZipCoder.java (+88/-1)
src/java.base/share/classes/java/util/zip/ZipFile.java (+44/-24)
src/java.base/share/classes/java/util/zip/ZipInputStream.java (+4/-1)
src/java.base/share/classes/javax/crypto/Cipher.java (+28/-28)
src/java.base/share/classes/javax/crypto/JceSecurity.java.template (+5/-1)
src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java (+5/-0)
src/java.base/share/classes/jdk/internal/classfile/AccessFlags.java (+112/-0)
src/java.base/share/classes/jdk/internal/classfile/Annotation.java (+108/-0)
src/java.base/share/classes/jdk/internal/classfile/AnnotationElement.java (+193/-0)
src/java.base/share/classes/jdk/internal/classfile/AnnotationValue.java (+467/-0)
src/java.base/share/classes/jdk/internal/classfile/Attribute.java (+103/-0)
src/java.base/share/classes/jdk/internal/classfile/AttributeMapper.java (+77/-0)
src/java.base/share/classes/jdk/internal/classfile/AttributedElement.java (+83/-0)
src/java.base/share/classes/jdk/internal/classfile/Attributes.java (+786/-0)
src/java.base/share/classes/jdk/internal/classfile/BootstrapMethodEntry.java (+64/-0)
src/java.base/share/classes/jdk/internal/classfile/BufWriter.java (+200/-0)
src/java.base/share/classes/jdk/internal/classfile/ClassBuilder.java (+299/-0)
src/java.base/share/classes/jdk/internal/classfile/ClassElement.java (+69/-0)
src/java.base/share/classes/jdk/internal/classfile/ClassHierarchyResolver.java (+115/-0)
src/java.base/share/classes/jdk/internal/classfile/ClassModel.java (+121/-0)
src/java.base/share/classes/jdk/internal/classfile/ClassReader.java (+270/-0)
src/java.base/share/classes/jdk/internal/classfile/ClassSignature.java (+82/-0)
src/java.base/share/classes/jdk/internal/classfile/ClassTransform.java (+170/-0)
src/java.base/share/classes/jdk/internal/classfile/Classfile.java (+614/-0)
src/java.base/share/classes/jdk/internal/classfile/ClassfileBuilder.java (+89/-0)
src/java.base/share/classes/jdk/internal/classfile/ClassfileElement.java (+38/-0)
src/java.base/share/classes/jdk/internal/classfile/ClassfileTransform.java (+158/-0)
src/java.base/share/classes/jdk/internal/classfile/ClassfileVersion.java (+55/-0)
src/java.base/share/classes/jdk/internal/classfile/CodeBuilder.java (+1385/-0)
src/java.base/share/classes/jdk/internal/classfile/CodeElement.java (+43/-0)
src/java.base/share/classes/jdk/internal/classfile/CodeModel.java (+65/-0)
src/java.base/share/classes/jdk/internal/classfile/CodeTransform.java (+95/-0)
src/java.base/share/classes/jdk/internal/classfile/CompoundElement.java (+97/-0)
src/java.base/share/classes/jdk/internal/classfile/CustomAttribute.java (+47/-0)
src/java.base/share/classes/jdk/internal/classfile/FieldBuilder.java (+72/-0)
src/java.base/share/classes/jdk/internal/classfile/FieldElement.java (+48/-0)
src/java.base/share/classes/jdk/internal/classfile/FieldModel.java (+60/-0)
src/java.base/share/classes/jdk/internal/classfile/FieldTransform.java (+110/-0)
src/java.base/share/classes/jdk/internal/classfile/Instruction.java (+77/-0)
src/java.base/share/classes/jdk/internal/classfile/Interfaces.java (+77/-0)
src/java.base/share/classes/jdk/internal/classfile/Label.java (+44/-0)
src/java.base/share/classes/jdk/internal/classfile/MethodBuilder.java (+95/-0)
src/java.base/share/classes/jdk/internal/classfile/MethodElement.java (+55/-0)
src/java.base/share/classes/jdk/internal/classfile/MethodModel.java (+63/-0)
src/java.base/share/classes/jdk/internal/classfile/MethodSignature.java (+110/-0)
src/java.base/share/classes/jdk/internal/classfile/MethodTransform.java (+121/-0)
src/java.base/share/classes/jdk/internal/classfile/Opcode.java (+338/-0)
src/java.base/share/classes/jdk/internal/classfile/PseudoInstruction.java (+47/-0)
src/java.base/share/classes/jdk/internal/classfile/Signature.java (+331/-0)
src/java.base/share/classes/jdk/internal/classfile/Superclass.java (+48/-0)
src/java.base/share/classes/jdk/internal/classfile/TypeAnnotation.java (+642/-0)
src/java.base/share/classes/jdk/internal/classfile/TypeKind.java (+135/-0)
src/java.base/share/classes/jdk/internal/classfile/WritableElement.java (+48/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/AnnotationDefaultAttribute.java (+60/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/BootstrapMethodsAttribute.java (+58/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/CharacterRangeInfo.java (+155/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/CharacterRangeTableAttribute.java (+76/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/CodeAttribute.java (+58/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/CompilationIDAttribute.java (+67/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/ConstantValueAttribute.java (+73/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/DeprecatedAttribute.java (+52/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/EnclosingMethodAttribute.java (+112/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/ExceptionsAttribute.java (+85/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/InnerClassInfo.java (+120/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/InnerClassesAttribute.java (+66/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/LineNumberInfo.java (+54/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/LineNumberTableAttribute.java (+58/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/LocalVariableInfo.java (+72/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/LocalVariableTableAttribute.java (+57/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/LocalVariableTypeInfo.java (+65/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/LocalVariableTypeTableAttribute.java (+58/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/MethodParameterInfo.java (+101/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/MethodParametersAttribute.java (+67/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/ModuleAttribute.java (+194/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/ModuleExportInfo.java (+175/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/ModuleHashInfo.java (+65/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/ModuleHashesAttribute.java (+120/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/ModuleMainClassAttribute.java (+66/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/ModuleOpenInfo.java (+172/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/ModulePackagesAttribute.java (+91/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/ModuleProvideInfo.java (+92/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/ModuleRequireInfo.java (+115/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/ModuleResolutionAttribute.java (+85/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/ModuleTargetAttribute.java (+79/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/NestHostAttribute.java (+66/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/NestMembersAttribute.java (+84/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/PermittedSubclassesAttribute.java (+85/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/RecordAttribute.java (+64/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/RecordComponentInfo.java (+109/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/RuntimeInvisibleAnnotationsAttribute.java (+66/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/RuntimeInvisibleParameterAnnotationsAttribute.java (+61/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/RuntimeInvisibleTypeAnnotationsAttribute.java (+72/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/RuntimeVisibleAnnotationsAttribute.java (+66/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/RuntimeVisibleParameterAnnotationsAttribute.java (+61/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/RuntimeVisibleTypeAnnotationsAttribute.java (+72/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/SignatureAttribute.java (+112/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/SourceDebugExtensionAttribute.java (+52/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/SourceFileAttribute.java (+57/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/SourceIDAttribute.java (+67/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/StackMapFrameInfo.java (+122/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/StackMapTableAttribute.java (+51/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/SyntheticAttribute.java (+52/-0)
src/java.base/share/classes/jdk/internal/classfile/attribute/UnknownAttribute.java (+46/-0)
src/java.base/share/classes/jdk/internal/classfile/components/ClassPrinter.java (+203/-0)
src/java.base/share/classes/jdk/internal/classfile/components/ClassRemapper.java (+494/-0)
src/java.base/share/classes/jdk/internal/classfile/components/CodeLocalsShifter.java (+124/-0)
src/java.base/share/classes/jdk/internal/classfile/components/CodeRelabeler.java (+155/-0)
src/java.base/share/classes/jdk/internal/classfile/components/CodeStackTracker.java (+374/-0)
src/java.base/share/classes/jdk/internal/classfile/components/package-info.java (+114/-0)
src/java.base/share/classes/jdk/internal/classfile/components/snippet-files/PackageSnippets.java (+212/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/AnnotationConstantValueEntry.java (+41/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/ClassEntry.java (+58/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/ConstantDynamicEntry.java (+66/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/ConstantPool.java (+63/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/ConstantPoolBuilder.java (+554/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/ConstantValueEntry.java (+43/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/DoubleEntry.java (+50/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/DynamicConstantPoolEntry.java (+59/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/FieldRefEntry.java (+36/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/FloatEntry.java (+51/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/IntegerEntry.java (+50/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/InterfaceMethodRefEntry.java (+37/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/InvokeDynamicEntry.java (+51/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/LoadableConstantEntry.java (+48/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/LongEntry.java (+50/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/MemberRefEntry.java (+58/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/MethodHandleEntry.java (+60/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/MethodRefEntry.java (+36/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/MethodTypeEntry.java (+56/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/ModuleEntry.java (+45/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/NameAndTypeEntry.java (+45/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/PackageEntry.java (+45/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/PoolEntry.java (+56/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/StringEntry.java (+45/-0)
src/java.base/share/classes/jdk/internal/classfile/constantpool/Utf8Entry.java (+48/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/AbstractAttributeMapper.java (+94/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/AbstractBoundLocalVariable.java (+104/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/AbstractDirectBuilder.java (+55/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/AbstractElement.java (+45/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/AbstractInstruction.java (+1342/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/AbstractPoolEntry.java (+1151/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/AbstractPseudoInstruction.java (+260/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/AbstractUnboundModel.java (+71/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/AccessFlagsImpl.java (+90/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/AnnotationImpl.java (+302/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/AnnotationReader.java (+282/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/AttributeHolder.java (+69/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/BlockCodeBuilderImpl.java (+120/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/BootstrapMethodEntryImpl.java (+97/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/BoundAttribute.java (+1001/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/BoundCharacterRange.java (+86/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/BoundLocalVariable.java (+61/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/BoundLocalVariableType.java (+54/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/BoundRecordComponentInfo.java (+64/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/BufWriterImpl.java (+205/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/BufferedCodeBuilder.java (+215/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/BufferedFieldBuilder.java (+122/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/BufferedMethodBuilder.java (+199/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/BytecodeHelpers.java (+350/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/CatchBuilderImpl.java (+111/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/ChainedClassBuilder.java (+100/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/ChainedCodeBuilder.java (+65/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/ChainedFieldBuilder.java (+65/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/ChainedMethodBuilder.java (+83/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/ClassHierarchyImpl.java (+185/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/ClassImpl.java (+240/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/ClassPrinterImpl.java (+1056/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/ClassReaderImpl.java (+446/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/ClassfileVersionImpl.java (+58/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/CodeImpl.java (+471/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/DirectClassBuilder.java (+203/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/DirectCodeBuilder.java (+747/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/DirectFieldBuilder.java (+77/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/DirectMethodBuilder.java (+138/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/EntryMap.java (+188/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/FieldImpl.java (+124/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/InterfacesImpl.java (+58/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/LabelContext.java (+35/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/LabelImpl.java (+85/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/LineNumberImpl.java (+66/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/MethodImpl.java (+144/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/MethodInfo.java (+43/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/ModuleAttributeBuilderImpl.java (+159/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/ModuleDescImpl.java (+50/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/NonterminalCodeBuilder.java (+71/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/Options.java (+82/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/PackageDescImpl.java (+72/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/RawBytecodeHelper.java (+171/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/SignaturesImpl.java (+295/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/SplitConstantPool.java (+609/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/StackMapDecoder.java (+275/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/StackMapGenerator.java (+1424/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/SuperclassImpl.java (+56/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/TargetInfoImpl.java (+133/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/TemporaryConstantPool.java (+197/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/TerminalCodeBuilder.java (+32/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/TerminalFieldBuilder.java (+32/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/TerminalMethodBuilder.java (+34/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/TransformImpl.java (+299/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/TransformingCodeBuilder.java (+91/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/UnboundAttribute.java (+946/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/Util.java (+234/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerificationBytecodes.java (+384/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerificationFrame.java (+400/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerificationSignature.java (+319/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerificationTable.java (+411/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerificationType.java (+438/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerificationWrapper.java (+196/-0)
src/java.base/share/classes/jdk/internal/classfile/impl/verifier/VerifierImpl.java (+1828/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/ArrayLoadInstruction.java (+58/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/ArrayStoreInstruction.java (+58/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/BranchInstruction.java (+59/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/CharacterRange.java (+101/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/ConstantInstruction.java (+156/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/ConvertInstruction.java (+74/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/ExceptionCatch.java (+89/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/FieldInstruction.java (+123/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/IncrementInstruction.java (+61/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/InvokeDynamicInstruction.java (+104/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/InvokeInstruction.java (+143/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/LabelTarget.java (+43/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/LineNumber.java (+58/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/LoadInstruction.java (+70/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/LocalVariable.java (+114/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/LocalVariableType.java (+111/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/LookupSwitchInstruction.java (+62/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/MonitorInstruction.java (+52/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/NewMultiArrayInstruction.java (+62/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/NewObjectInstruction.java (+54/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/NewPrimitiveArrayInstruction.java (+54/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/NewReferenceArrayInstruction.java (+53/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/NopInstruction.java (+45/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/OperatorInstruction.java (+58/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/ReturnInstruction.java (+65/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/StackInstruction.java (+53/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/StoreInstruction.java (+68/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/SwitchCase.java (+56/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/TableSwitchInstruction.java (+73/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/ThrowInstruction.java (+46/-0)
src/java.base/share/classes/jdk/internal/classfile/instruction/TypeCheckInstruction.java (+70/-0)
src/java.base/share/classes/jdk/internal/classfile/java/lang/constant/ModuleDesc.java (+85/-0)
src/java.base/share/classes/jdk/internal/classfile/java/lang/constant/PackageDesc.java (+106/-0)
src/java.base/share/classes/jdk/internal/classfile/package-info.java (+473/-0)
src/java.base/share/classes/jdk/internal/classfile/snippet-files/PackageSnippets.java (+306/-0)
src/java.base/share/classes/jdk/internal/foreign/CABI.java (+3/-0)
src/java.base/share/classes/jdk/internal/foreign/SystemLookup.java (+2/-2)
src/java.base/share/classes/jdk/internal/foreign/Utils.java (+46/-0)
src/java.base/share/classes/jdk/internal/foreign/abi/AbstractLinker.java (+2/-1)
src/java.base/share/classes/jdk/internal/foreign/abi/Binding.java (+106/-15)
src/java.base/share/classes/jdk/internal/foreign/abi/BindingSpecializer.java (+148/-11)
src/java.base/share/classes/jdk/internal/foreign/abi/CallingSequence.java (+1/-1)
src/java.base/share/classes/jdk/internal/foreign/abi/DowncallLinker.java (+1/-1)
src/java.base/share/classes/jdk/internal/foreign/abi/LinkerOptions.java (+5/-0)
src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java (+46/-26)
src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java (+220/-230)
src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/TypeClass.java (+30/-4)
src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64CallArranger.java (+16/-0)
src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64CallArranger.java (+16/-0)
src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/windows/WindowsAArch64CallArranger.java (+115/-0)
src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/windows/WindowsAArch64Linker.java (+79/-0)
src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/windows/WindowsAArch64VaList.java (+261/-0)
src/java.base/share/classes/jdk/internal/foreign/abi/riscv64/linux/LinuxRISCV64CallArranger.java (+4/-4)
src/java.base/share/classes/jdk/internal/foreign/abi/x64/sysv/CallArranger.java (+2/-2)
src/java.base/share/classes/jdk/internal/math/DoubleToDecimal.java (+48/-18)
src/java.base/share/classes/jdk/internal/math/FloatingDecimal.java (+2/-2)
src/java.base/share/classes/jdk/internal/math/FormattedFPDecimal.java (+320/-0)
src/java.base/share/classes/jdk/internal/module/ModuleInfoExtender.java (+55/-90)
src/java.base/share/classes/jdk/internal/module/ModuleInfoWriter.java (+104/-101)
src/java.base/share/classes/jdk/internal/reflect/DirectConstructorHandleAccessor.java (+5/-10)
src/java.base/share/classes/jdk/internal/reflect/DirectMethodHandleAccessor.java (+1/-5)
src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java (+6/-6)
src/java.base/share/classes/jdk/internal/util/ByteArrayLittleEndian.java (+424/-0)
src/java.base/share/classes/jdk/internal/util/StaticProperty.java (+1/-14)
src/java.base/share/classes/jdk/internal/util/random/RandomSupport.java (+2/-2)
src/java.base/share/classes/jdk/internal/vm/VMSupport.java (+26/-6)
src/java.base/share/classes/jdk/internal/vm/vector/VectorSupport.java (+18/-1)
src/java.base/share/classes/module-info.java (+13/-2)
src/java.base/share/classes/sun/net/www/http/KeepAliveCache.java (+52/-71)
src/java.base/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java (+9/-0)
src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java (+13/-0)
src/java.base/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java (+16/-0)
src/java.base/share/classes/sun/net/www/protocol/http/Negotiator.java (+2/-0)
src/java.base/share/classes/sun/net/www/protocol/https/HttpsURLConnectionImpl.java (+7/-8)
src/java.base/share/classes/sun/nio/ch/DatagramChannelImpl.java (+7/-7)
src/java.base/share/classes/sun/nio/ch/Net.java (+20/-4)
src/java.base/share/classes/sun/nio/ch/NioSocketImpl.java (+4/-4)
src/java.base/share/classes/sun/nio/ch/SocketChannelImpl.java (+2/-2)
src/java.base/share/classes/sun/nio/cs/GB18030.java (+114/-47)
src/java.base/share/classes/sun/nio/cs/StandardCharsets.java.template (+8/-3)
src/java.base/share/classes/sun/nio/fs/PollingWatchService.java (+14/-21)
src/java.base/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java (+7/-1)
src/java.base/share/classes/sun/security/ssl/DHKeyExchange.java (+13/-22)
src/java.base/share/classes/sun/security/tools/keytool/Main.java (+16/-1)
src/java.base/share/classes/sun/security/util/Debug.java (+7/-1)
src/java.base/share/classes/sun/security/util/Pem.java (+2/-2)
src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java (+21/-11)
src/java.base/share/classes/sun/security/x509/AlgorithmId.java (+68/-83)
src/java.base/share/classes/sun/util/calendar/AbstractCalendar.java (+2/-26)
src/java.base/share/classes/sun/util/calendar/BaseCalendar.java (+2/-6)
src/java.base/share/classes/sun/util/calendar/CalendarDate.java (+3/-55)
src/java.base/share/classes/sun/util/calendar/CalendarSystem.java (+1/-23)
src/java.base/share/classes/sun/util/calendar/CalendarUtils.java (+1/-27)
src/java.base/share/classes/sun/util/calendar/Era.java (+5/-10)
src/java.base/share/classes/sun/util/calendar/ImmutableGregorianDate.java (+1/-29)
src/java.base/share/classes/sun/util/calendar/LocalGregorianCalendar.java (+1/-2)
src/java.base/share/classes/sun/util/calendar/ZoneInfo.java (+4/-20)
src/java.base/share/classes/sun/util/calendar/ZoneInfoFile.java (+9/-12)
src/java.base/share/classes/sun/util/locale/provider/LocaleNameProviderImpl.java (+2/-2)
src/java.base/share/classes/sun/util/locale/provider/LocaleServiceProviderPool.java (+19/-10)
src/java.base/share/classes/sun/util/resources/LocaleNames.properties (+2/-2)
src/java.base/share/conf/security/java.security (+10/-4)
src/java.base/share/data/cacerts/certignaca (+29/-0)
src/java.base/share/data/lsrdata/language-subtag-registry.txt (+7/-1)
src/java.base/share/native/libjava/ClassLoader.c (+0/-3)
src/java.base/share/native/libjava/Continuation.c (+3/-1)
src/java.base/share/native/libjava/io_util.c (+4/-9)
src/java.base/share/native/libjava/jni_util.c (+37/-45)
src/java.base/share/native/libjava/jni_util.h (+2/-3)
src/java.base/share/native/libjimage/imageFile.cpp (+4/-1)
src/java.base/share/native/libjimage/imageFile.hpp (+7/-7)
src/java.base/share/native/libjli/args.c (+1/-1)
src/java.base/share/native/libjli/emessages.h (+2/-1)
src/java.base/share/native/libzip/zip_util.c (+22/-26)
src/java.base/unix/classes/java/lang/ProcessEnvironment.java (+7/-8)
src/java.base/unix/classes/java/lang/ProcessImpl.java (+9/-5)
src/java.base/unix/classes/sun/nio/fs/UnixFileSystem.java (+3/-3)
src/java.base/unix/classes/sun/nio/fs/UnixUriUtils.java (+5/-5)
src/java.base/unix/native/libjava/jni_util_md.c (+7/-6)
src/java.base/unix/native/libnio/ch/Net.c (+3/-3)
src/java.base/windows/classes/sun/nio/fs/WindowsFileCopy.java (+3/-3)
src/java.base/windows/classes/sun/nio/fs/WindowsFileSystem.java (+2/-3)
src/java.base/windows/classes/sun/nio/fs/WindowsPathParser.java (+23/-1)
src/java.base/windows/native/libjava/jni_util_md.c (+14/-14)
src/java.base/windows/native/libnet/NetworkInterface.c (+496/-938)
src/java.base/windows/native/libnet/NetworkInterface.h (+5/-50)
src/java.base/windows/native/libnet/ResolverConfigurationImpl.c (+75/-2)
src/java.base/windows/native/libnio/ch/FileDispatcherImpl.c (+18/-8)
src/java.base/windows/native/libnio/ch/Net.c (+2/-2)
src/java.compiler/share/classes/javax/lang/model/util/Types.java (+18/-3)
src/java.desktop/linux/native/libjsound/PLATFORM_API_LinuxOS_ALSA_CommonUtils.c (+7/-7)
src/java.desktop/linux/native/libjsound/PLATFORM_API_LinuxOS_ALSA_CommonUtils.h (+2/-2)
src/java.desktop/linux/native/libjsound/PLATFORM_API_LinuxOS_ALSA_MidiUtils.c (+4/-4)
src/java.desktop/linux/native/libjsound/PLATFORM_API_LinuxOS_ALSA_PCMUtils.c (+4/-4)
src/java.desktop/linux/native/libjsound/PLATFORM_API_LinuxOS_ALSA_Ports.c (+4/-4)
src/java.desktop/macosx/classes/com/apple/laf/AquaButtonUI.java (+49/-14)
src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxUI.java (+1/-1)
src/java.desktop/macosx/classes/com/apple/laf/AquaFileChooserUI.java (+5/-2)
src/java.desktop/macosx/classes/com/apple/laf/resources/aqua.properties (+1/-0)
src/java.desktop/macosx/classes/com/apple/laf/resources/aqua_zh_CN.properties (+2/-2)
src/java.desktop/macosx/classes/com/apple/laf/resources/aqua_zh_TW.properties (+1/-1)
src/java.desktop/macosx/classes/sun/lwawt/macosx/CPrinterJob.java (+75/-3)
src/java.desktop/macosx/native/libawt_lwawt/font/AWTStrike.m (+1/-1)
src/java.desktop/share/classes/com/sun/imageio/plugins/bmp/BMPImageReader.java (+4/-2)
src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_CN.properties (+2/-2)
src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/resources/motif_it.properties (+1/-1)
src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties (+1/-1)
src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties (+1/-1)
src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties (+1/-1)
src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties (+1/-1)
src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties (+1/-1)
src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties (+1/-1)
src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties (+1/-1)
src/java.desktop/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties (+1/-1)
src/java.desktop/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_CN.properties (+1/-1)
src/java.desktop/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_TW.properties (+1/-1)
src/java.desktop/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_CN.properties (+1/-1)
src/java.desktop/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_TW.properties (+1/-1)
src/java.desktop/share/classes/java/awt/Component.java (+4/-3)
src/java.desktop/share/classes/java/awt/Dialog.java (+1/-2)
src/java.desktop/share/classes/java/awt/List.java (+1/-1)
src/java.desktop/share/classes/java/awt/MediaTracker.java (+1/-2)
src/java.desktop/share/classes/java/awt/image/BandedSampleModel.java (+2/-6)
src/java.desktop/share/classes/java/awt/image/ComponentColorModel.java (+1/-19)
src/java.desktop/share/classes/java/awt/image/ComponentSampleModel.java (+1/-4)
src/java.desktop/share/classes/java/awt/image/DirectColorModel.java (+1/-4)
src/java.desktop/share/classes/java/awt/image/Raster.java (+3/-4)
src/java.desktop/share/classes/java/beans/beancontext/BeanContextSupport.java (+17/-11)
src/java.desktop/share/classes/javax/accessibility/AccessibleComponent.java (+1/-1)
src/java.desktop/share/classes/javax/accessibility/AccessibleState.java (+2/-2)
src/java.desktop/share/classes/javax/imageio/stream/ImageInputStreamImpl.java (+23/-107)
src/java.desktop/share/classes/javax/imageio/stream/ImageOutputStreamImpl.java (+43/-94)
src/java.desktop/share/classes/javax/swing/DefaultListSelectionModel.java (+46/-8)
src/java.desktop/share/classes/javax/swing/JComboBox.java (+1/-1)
src/java.desktop/share/classes/javax/swing/JList.java (+1/-1)
src/java.desktop/share/classes/javax/swing/JPopupMenu.java (+1/-1)
src/java.desktop/share/classes/javax/swing/LayoutComparator.java (+4/-4)
src/java.desktop/share/classes/javax/swing/SwingWorker.java (+8/-9)
src/java.desktop/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java (+9/-6)
src/java.desktop/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java (+11/-14)
src/java.desktop/share/classes/javax/swing/plaf/metal/MetalBorders.java (+118/-138)
src/java.desktop/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java (+1/-0)
src/java.desktop/share/classes/javax/swing/plaf/metal/OceanTheme.java (+0/-2)
src/java.desktop/share/classes/javax/swing/plaf/synth/ParsedSynthStyle.java (+5/-4)
src/java.desktop/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java (+6/-6)
src/java.desktop/share/classes/javax/swing/plaf/synth/SynthComboPopup.java (+1/-1)
src/java.desktop/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java (+17/-0)
src/java.desktop/share/classes/javax/swing/plaf/synth/doc-files/synthFileFormat.html (+7/-0)
src/java.desktop/share/classes/javax/swing/table/DefaultTableModel.java (+1/-1)
src/java.desktop/share/classes/javax/swing/text/DefaultCaret.java (+3/-3)
src/java.desktop/share/classes/javax/swing/text/ParagraphView.java (+1/-3)
src/java.desktop/share/classes/javax/swing/text/View.java (+10/-10)
src/java.desktop/share/classes/javax/swing/text/html/CSSParser.java (+21/-20)
src/java.desktop/share/classes/javax/swing/text/html/TableView.java (+1/-4)
src/java.desktop/share/classes/sun/awt/image/SurfaceManager.java (+1/-1)
src/java.desktop/share/classes/sun/awt/image/VolatileSurfaceManager.java (+7/-2)
src/java.desktop/share/classes/sun/font/GlyphLayout.java (+1/-1)
src/java.desktop/share/classes/sun/java2d/StateTrackableDelegate.java (+2/-2)
src/java.desktop/share/classes/sun/print/resources/serviceui_zh_CN.properties (+3/-3)
src/java.desktop/share/classes/sun/print/resources/serviceui_zh_TW.properties (+5/-5)
src/java.desktop/share/classes/sun/swing/AccumulativeRunnable.java (+1/-1)
src/java.desktop/share/classes/sun/swing/SwingUtilities2.java (+2/-2)
src/java.desktop/share/classes/sun/swing/plaf/synth/SynthFileChooserUI.java (+3/-0)
src/java.desktop/share/classes/sun/swing/text/TextComponentPrintable.java (+28/-16)
src/java.desktop/share/legal/harfbuzz.md (+34/-13)
src/java.desktop/share/legal/lcms.md (+7/-6)
src/java.desktop/share/native/common/awt/debug/debug_mem.c (+1/-1)
src/java.desktop/share/native/common/awt/debug/debug_trace.c (+1/-1)
src/java.desktop/share/native/common/java2d/opengl/OGLBufImgOps.c (+8/-8)
src/java.desktop/share/native/common/java2d/opengl/OGLPaints.c (+4/-4)
src/java.desktop/share/native/libharfbuzz/OT/Color/CBDT/CBDT.hh (+59/-26)
src/java.desktop/share/native/libharfbuzz/OT/Color/COLR/COLR.hh (+713/-51)
src/java.desktop/share/native/libharfbuzz/OT/Color/COLR/colrv1-closure.hh (+5/-6)
src/java.desktop/share/native/libharfbuzz/OT/Color/CPAL/CPAL.hh (+7/-7)
src/java.desktop/share/native/libharfbuzz/OT/Color/sbix/sbix.hh (+49/-20)
src/java.desktop/share/native/libharfbuzz/OT/Color/svg/svg.hh (+29/-4)
src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/Coverage.hh (+337/-0)
src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/CoverageFormat1.hh (+133/-0)
src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/CoverageFormat2.hh (+232/-0)
src/java.desktop/share/native/libharfbuzz/OT/Layout/Common/RangeRecord.hh (+85/-0)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GDEF/GDEF.hh (+918/-0)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/Anchor.hh (+1/-2)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/AnchorFormat3.hh (+40/-10)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/Common.hh (+2/-1)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/CursivePos.hh (+1/-1)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/CursivePosFormat1.hh (+21/-1)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/GPOS.hh (+21/-15)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/LigatureArray.hh (+56/-0)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkArray.hh (+19/-4)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkBasePos.hh (+9/-3)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkBasePosFormat1.hh (+61/-34)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkLigPos.hh (+9/-3)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkLigPosFormat1.hh (+32/-53)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkMarkPos.hh (+9/-3)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkMarkPosFormat1.hh (+8/-7)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/MarkRecord.hh (+1/-1)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairPos.hh (+12/-4)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairPosFormat1.hh (+44/-247)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairPosFormat2.hh (+48/-11)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairSet.hh (+207/-0)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/PairValueRecord.hh (+99/-0)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePos.hh (+11/-9)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePosFormat1.hh (+42/-10)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/SinglePosFormat2.hh (+40/-4)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GPOS/ValueFormat.hh (+87/-22)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/AlternateSet.hh (+19/-3)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/AlternateSubst.hh (+15/-4)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/AlternateSubstFormat1.hh (+8/-8)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/ChainContextSubst.hh (+1/-1)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Common.hh (+1/-1)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/ContextSubst.hh (+1/-1)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/ExtensionSubst.hh (+1/-1)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/GSUB.hh (+10/-9)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Ligature.hh (+56/-4)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/LigatureSet.hh (+8/-7)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/LigatureSubst.hh (+16/-4)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/LigatureSubstFormat1.hh (+12/-11)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/MultipleSubst.hh (+17/-8)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/MultipleSubstFormat1.hh (+26/-16)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/ReverseChainSingleSubst.hh (+2/-2)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh (+28/-12)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/Sequence.hh (+64/-2)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/SingleSubst.hh (+35/-7)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/SingleSubstFormat1.hh (+67/-21)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/SingleSubstFormat2.hh (+40/-9)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/SubstLookup.hh (+15/-13)
src/java.desktop/share/native/libharfbuzz/OT/Layout/GSUB/SubstLookupSubTable.hh (+1/-1)
src/java.desktop/share/native/libharfbuzz/OT/Layout/types.hh (+66/-0)
src/java.desktop/share/native/libharfbuzz/OT/glyf/CompositeGlyph.hh (+163/-52)
src/java.desktop/share/native/libharfbuzz/OT/glyf/Glyph.hh (+329/-25)
src/java.desktop/share/native/libharfbuzz/OT/glyf/GlyphHeader.hh (+10/-6)
src/java.desktop/share/native/libharfbuzz/OT/glyf/SimpleGlyph.hh (+127/-4)
src/java.desktop/share/native/libharfbuzz/OT/glyf/SubsetGlyph.hh (+18/-5)
src/java.desktop/share/native/libharfbuzz/OT/glyf/VarCompositeGlyph.hh (+354/-0)
src/java.desktop/share/native/libharfbuzz/OT/glyf/composite-iter.hh (+68/-0)
src/java.desktop/share/native/libharfbuzz/OT/glyf/coord-setter.hh (+34/-0)
src/java.desktop/share/native/libharfbuzz/OT/glyf/glyf-helpers.hh (+17/-3)
src/java.desktop/share/native/libharfbuzz/OT/glyf/glyf.hh (+154/-68)
src/java.desktop/share/native/libharfbuzz/OT/glyf/path-builder.hh (+51/-12)
src/java.desktop/share/native/libharfbuzz/OT/name/name.hh (+589/-0)
src/java.desktop/share/native/libharfbuzz/UPDATING.txt (+95/-30)
src/java.desktop/share/native/libharfbuzz/graph/classdef-graph.hh (+216/-0)
src/java.desktop/share/native/libharfbuzz/graph/coverage-graph.hh (+152/-0)
src/java.desktop/share/native/libharfbuzz/graph/graph.hh (+567/-35)
src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-context.cc (+70/-0)
src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-context.hh (+61/-0)
src/java.desktop/share/native/libharfbuzz/graph/gsubgpos-graph.hh (+414/-0)
src/java.desktop/share/native/libharfbuzz/graph/markbasepos-graph.hh (+510/-0)
src/java.desktop/share/native/libharfbuzz/graph/pairpos-graph.hh (+647/-0)
src/java.desktop/share/native/libharfbuzz/graph/serialize.hh (+25/-4)
src/java.desktop/share/native/libharfbuzz/graph/split-helpers.hh (+69/-0)
src/java.desktop/share/native/libharfbuzz/hb-aat-layout-bsln-table.hh (+2/-2)
src/java.desktop/share/native/libharfbuzz/hb-aat-layout-common.hh (+76/-49)
src/java.desktop/share/native/libharfbuzz/hb-aat-layout-feat-table.hh (+1/-1)
src/java.desktop/share/native/libharfbuzz/hb-aat-layout-just-table.hh (+16/-16)
src/java.desktop/share/native/libharfbuzz/hb-aat-layout-kerx-table.hh (+7/-5)
src/java.desktop/share/native/libharfbuzz/hb-aat-layout-morx-table.hh (+56/-18)
src/java.desktop/share/native/libharfbuzz/hb-aat-layout-opbd-table.hh (+1/-1)
src/java.desktop/share/native/libharfbuzz/hb-aat-layout-trak-table.hh (+4/-4)
src/java.desktop/share/native/libharfbuzz/hb-aat-layout.cc (+16/-7)
src/java.desktop/share/native/libharfbuzz/hb-aat-layout.hh (+3/-1)
src/java.desktop/share/native/libharfbuzz/hb-aat-map.cc (+100/-30)
src/java.desktop/share/native/libharfbuzz/hb-aat-map.hh (+39/-12)
src/java.desktop/share/native/libharfbuzz/hb-algs.hh (+62/-96)
src/java.desktop/share/native/libharfbuzz/hb-array.hh (+80/-33)
src/java.desktop/share/native/libharfbuzz/hb-atomic.hh (+51/-10)
src/java.desktop/share/native/libharfbuzz/hb-bit-page.hh (+86/-28)
src/java.desktop/share/native/libharfbuzz/hb-bit-set-invertible.hh (+7/-4)
src/java.desktop/share/native/libharfbuzz/hb-bit-set.hh (+69/-54)
src/java.desktop/share/native/libharfbuzz/hb-blob.cc (+10/-12)
src/java.desktop/share/native/libharfbuzz/hb-blob.h (+1/-1)
src/java.desktop/share/native/libharfbuzz/hb-blob.hh (+6/-6)
src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-json.hh (+259/-196)
src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-text-glyphs.hh (+692/-0)
src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-text-unicode.hh (+332/-0)
src/java.desktop/share/native/libharfbuzz/hb-buffer-serialize.cc (+26/-23)
src/java.desktop/share/native/libharfbuzz/hb-buffer-verify.cc (+4/-5)
src/java.desktop/share/native/libharfbuzz/hb-buffer.cc (+169/-49)
src/java.desktop/share/native/libharfbuzz/hb-buffer.h (+24/-9)
src/java.desktop/share/native/libharfbuzz/hb-buffer.hh (+68/-31)
src/java.desktop/share/native/libharfbuzz/hb-cache.hh (+21/-12)
src/java.desktop/share/native/libharfbuzz/hb-cff-interp-common.hh (+47/-56)
src/java.desktop/share/native/libharfbuzz/hb-cff-interp-cs-common.hh (+6/-0)
src/java.desktop/share/native/libharfbuzz/hb-cff-interp-dict-common.hh (+1/-3)
src/java.desktop/share/native/libharfbuzz/hb-cff1-interp-cs.hh (+2/-1)
src/java.desktop/share/native/libharfbuzz/hb-cff2-interp-cs.hh (+16/-9)
src/java.desktop/share/native/libharfbuzz/hb-common.cc (+53/-47)
src/java.desktop/share/native/libharfbuzz/hb-common.h (+37/-0)
src/java.desktop/share/native/libharfbuzz/hb-config.hh (+20/-1)
src/java.desktop/share/native/libharfbuzz/hb-cplusplus.hh (+37/-6)
src/java.desktop/share/native/libharfbuzz/hb-debug.hh (+13/-8)
src/java.desktop/share/native/libharfbuzz/hb-deprecated.h (+3/-2)
src/java.desktop/share/native/libharfbuzz/hb-draw.cc (+129/-33)
src/java.desktop/share/native/libharfbuzz/hb-draw.h (+25/-10)
src/java.desktop/share/native/libharfbuzz/hb-face-builder.cc (+246/-0)
src/java.desktop/share/native/libharfbuzz/hb-face.cc (+40/-171)
src/java.desktop/share/native/libharfbuzz/hb-face.h (+11/-1)
src/java.desktop/share/native/libharfbuzz/hb-face.hh (+4/-2)
src/java.desktop/share/native/libharfbuzz/hb-fallback-shape.cc (+0/-10)
src/java.desktop/share/native/libharfbuzz/hb-font.cc (+398/-129)
src/java.desktop/share/native/libharfbuzz/hb-font.h (+124/-41)
src/java.desktop/share/native/libharfbuzz/hb-font.hh (+94/-32)
src/java.desktop/share/native/libharfbuzz/hb-ft.cc (+384/-70)
src/java.desktop/share/native/libharfbuzz/hb-iter.hh (+21/-9)
src/java.desktop/share/native/libharfbuzz/hb-limits.hh (+109/-0)
src/java.desktop/share/native/libharfbuzz/hb-machinery.hh (+30/-23)
src/java.desktop/share/native/libharfbuzz/hb-map.cc (+87/-15)
src/java.desktop/share/native/libharfbuzz/hb-map.h (+20/-1)
src/java.desktop/share/native/libharfbuzz/hb-map.hh (+163/-111)
src/java.desktop/share/native/libharfbuzz/hb-meta.hh (+13/-2)
src/java.desktop/share/native/libharfbuzz/hb-multimap.hh (+92/-0)
src/java.desktop/share/native/libharfbuzz/hb-mutex.hh (+8/-4)
src/java.desktop/share/native/libharfbuzz/hb-null.hh (+30/-1)
src/java.desktop/share/native/libharfbuzz/hb-number-parser.hh (+4/-4)
src/java.desktop/share/native/libharfbuzz/hb-number.cc (+0/-1)
src/java.desktop/share/native/libharfbuzz/hb-object.hh (+50/-23)
src/java.desktop/share/native/libharfbuzz/hb-open-file.hh (+2/-2)
src/java.desktop/share/native/libharfbuzz/hb-open-type.hh (+86/-57)
src/java.desktop/share/native/libharfbuzz/hb-ot-cff-common.hh (+54/-102)
src/java.desktop/share/native/libharfbuzz/hb-ot-cff1-table.cc (+15/-4)
src/java.desktop/share/native/libharfbuzz/hb-ot-cff1-table.hh (+8/-10)
src/java.desktop/share/native/libharfbuzz/hb-ot-cff2-table.cc (+15/-4)
src/java.desktop/share/native/libharfbuzz/hb-ot-cff2-table.hh (+10/-6)
src/java.desktop/share/native/libharfbuzz/hb-ot-cmap-table.hh (+206/-59)
src/java.desktop/share/native/libharfbuzz/hb-ot-color.cc (+54/-13)
src/java.desktop/share/native/libharfbuzz/hb-ot-color.h (+13/-0)
src/java.desktop/share/native/libharfbuzz/hb-ot-deprecated.h (+12/-6)
src/java.desktop/share/native/libharfbuzz/hb-ot-face-table-list.hh (+14/-14)
src/java.desktop/share/native/libharfbuzz/hb-ot-face.cc (+3/-3)
src/java.desktop/share/native/libharfbuzz/hb-ot-font.cc (+181/-49)
src/java.desktop/share/native/libharfbuzz/hb-ot-hdmx-table.hh (+1/-0)
src/java.desktop/share/native/libharfbuzz/hb-ot-head-table.hh (+4/-0)
src/java.desktop/share/native/libharfbuzz/hb-ot-hmtx-table.hh (+133/-45)
src/java.desktop/share/native/libharfbuzz/hb-ot-layout-base-table.hh (+1/-1)
src/java.desktop/share/native/libharfbuzz/hb-ot-layout-common.hh (+1109/-1188)
src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gdef-table.hh (+1/-691)
src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gpos-table.hh (+12/-5)
src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gsub-table.hh (+11/-6)
src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gsubgpos.hh (+852/-519)
src/java.desktop/share/native/libharfbuzz/hb-ot-layout.cc (+261/-134)
src/java.desktop/share/native/libharfbuzz/hb-ot-layout.h (+20/-0)
src/java.desktop/share/native/libharfbuzz/hb-ot-layout.hh (+4/-7)
src/java.desktop/share/native/libharfbuzz/hb-ot-map.cc (+61/-37)
src/java.desktop/share/native/libharfbuzz/hb-ot-map.hh (+19/-17)
src/java.desktop/share/native/libharfbuzz/hb-ot-math-table.hh (+9/-9)
src/java.desktop/share/native/libharfbuzz/hb-ot-math.cc (+2/-2)
src/java.desktop/share/native/libharfbuzz/hb-ot-maxp-table.hh (+13/-0)
src/java.desktop/share/native/libharfbuzz/hb-ot-meta-table.hh (+1/-1)
src/java.desktop/share/native/libharfbuzz/hb-ot-metrics.cc (+6/-6)
src/java.desktop/share/native/libharfbuzz/hb-ot-name-table.hh (+1/-375)
src/java.desktop/share/native/libharfbuzz/hb-ot-name.cc (+3/-48)
src/java.desktop/share/native/libharfbuzz/hb-ot-name.h (+14/-8)
src/java.desktop/share/native/libharfbuzz/hb-ot-os2-table.hh (+105/-18)
src/java.desktop/share/native/libharfbuzz/hb-ot-os2-unicode-ranges.hh (+4/-4)
src/java.desktop/share/native/libharfbuzz/hb-ot-post-table-v2subset.hh (+2/-2)
src/java.desktop/share/native/libharfbuzz/hb-ot-post-table.hh (+29/-8)
src/java.desktop/share/native/libharfbuzz/hb-ot-shape-normalize.cc (+1/-1)
src/java.desktop/share/native/libharfbuzz/hb-ot-shape.cc (+48/-46)
src/java.desktop/share/native/libharfbuzz/hb-ot-shape.hh (+4/-4)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-fallback.hh (+18/-11)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-joining-list.hh (+4/-4)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic-table.hh (+4/-4)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-arabic.cc (+38/-32)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-default.cc (+6/-4)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-hangul.cc (+2/-2)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-hebrew.cc (+29/-3)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-indic-machine.hh (+325/-287)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-indic-table.cc (+20/-19)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-indic.cc (+67/-34)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-khmer-machine.hh (+9/-9)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-khmer.cc (+15/-10)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-myanmar-machine.hh (+9/-9)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-myanmar.cc (+45/-11)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-syllabic.cc (+7/-5)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-syllabic.hh (+2/-2)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-thai.cc (+5/-5)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use-machine.hh (+693/-544)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use-table.hh (+542/-1440)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-use.cc (+23/-16)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper-vowel-constraints.cc (+36/-2)
src/java.desktop/share/native/libharfbuzz/hb-ot-shaper.hh (+14/-8)
src/java.desktop/share/native/libharfbuzz/hb-ot-stat-table.hh (+245/-31)
src/java.desktop/share/native/libharfbuzz/hb-ot-tag.cc (+27/-5)
src/java.desktop/share/native/libharfbuzz/hb-ot-var-avar-table.hh (+80/-5)
src/java.desktop/share/native/libharfbuzz/hb-ot-var-common.hh (+32/-52)
src/java.desktop/share/native/libharfbuzz/hb-ot-var-fvar-table.hh (+136/-25)
src/java.desktop/share/native/libharfbuzz/hb-ot-var-gvar-table.hh (+130/-105)
src/java.desktop/share/native/libharfbuzz/hb-ot-var-hvar-table.hh (+20/-11)
src/java.desktop/share/native/libharfbuzz/hb-ot-var-mvar-table.hh (+10/-1)
src/java.desktop/share/native/libharfbuzz/hb-ot-var.cc (+2/-2)
src/java.desktop/share/native/libharfbuzz/hb-outline.cc (+322/-0)
src/java.desktop/share/native/libharfbuzz/hb-outline.hh (+83/-0)
src/java.desktop/share/native/libharfbuzz/hb-paint-extents.cc (+330/-0)
src/java.desktop/share/native/libharfbuzz/hb-paint-extents.hh (+293/-0)
src/java.desktop/share/native/libharfbuzz/hb-paint.cc (+703/-0)
src/java.desktop/share/native/libharfbuzz/hb-paint.h (+987/-0)
src/java.desktop/share/native/libharfbuzz/hb-paint.hh (+228/-0)
src/java.desktop/share/native/libharfbuzz/hb-pool.hh (+6/-8)
src/java.desktop/share/native/libharfbuzz/hb-priority-queue.hh (+9/-7)
src/java.desktop/share/native/libharfbuzz/hb-repacker.hh (+224/-31)
src/java.desktop/share/native/libharfbuzz/hb-sanitize.hh (+13/-10)
src/java.desktop/share/native/libharfbuzz/hb-serialize.hh (+64/-21)
src/java.desktop/share/native/libharfbuzz/hb-set-digest.hh (+23/-12)
src/java.desktop/share/native/libharfbuzz/hb-set.cc (+31/-17)
src/java.desktop/share/native/libharfbuzz/hb-set.h (+4/-1)
src/java.desktop/share/native/libharfbuzz/hb-set.hh (+10/-8)
src/java.desktop/share/native/libharfbuzz/hb-shape-plan.cc (+14/-13)
src/java.desktop/share/native/libharfbuzz/hb-shape-plan.h (+2/-2)
src/java.desktop/share/native/libharfbuzz/hb-shape-plan.hh (+2/-1)
src/java.desktop/share/native/libharfbuzz/hb-shape.cc (+11/-6)
src/java.desktop/share/native/libharfbuzz/hb-shaper.cc (+2/-2)
src/java.desktop/share/native/libharfbuzz/hb-static.cc (+8/-40)
src/java.desktop/share/native/libharfbuzz/hb-subset-accelerator.hh (+132/-0)
src/java.desktop/share/native/libharfbuzz/hb-subset-cff-common.cc (+4/-7)
src/java.desktop/share/native/libharfbuzz/hb-subset-cff-common.hh (+431/-197)
src/java.desktop/share/native/libharfbuzz/hb-subset-cff1.cc (+62/-12)
src/java.desktop/share/native/libharfbuzz/hb-subset-cff2.cc (+223/-19)
src/java.desktop/share/native/libharfbuzz/hb-subset-input.cc (+252/-36)
src/java.desktop/share/native/libharfbuzz/hb-subset-input.hh (+81/-12)
src/java.desktop/share/native/libharfbuzz/hb-subset-plan.cc (+587/-284)
src/java.desktop/share/native/libharfbuzz/hb-subset-plan.hh (+157/-33)
src/java.desktop/share/native/libharfbuzz/hb-subset.cc (+147/-32)
src/java.desktop/share/native/libharfbuzz/hb-subset.h (+36/-3)
src/java.desktop/share/native/libharfbuzz/hb-subset.hh (+1/-0)
src/java.desktop/share/native/libharfbuzz/hb-ucd-table.hh (+3149/-4415)
src/java.desktop/share/native/libharfbuzz/hb-ucd.cc (+16/-0)
src/java.desktop/share/native/libharfbuzz/hb-unicode-emoji-table.hh (+33/-38)
src/java.desktop/share/native/libharfbuzz/hb-unicode.cc (+25/-15)
src/java.desktop/share/native/libharfbuzz/hb-unicode.h (+4/-4)
src/java.desktop/share/native/libharfbuzz/hb-utf.hh (+29/-1)
src/java.desktop/share/native/libharfbuzz/hb-vector.hh (+110/-65)
src/java.desktop/share/native/libharfbuzz/hb-version.h (+3/-3)
src/java.desktop/share/native/libharfbuzz/hb.h (+1/-0)
src/java.desktop/share/native/libharfbuzz/hb.hh (+36/-2)
src/java.desktop/unix/classes/sun/awt/X11/XEmbeddedFramePeer.java (+4/-4)
src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java (+1/-1)
src/java.desktop/unix/classes/sun/font/FcFontConfiguration.java (+14/-8)
src/java.desktop/unix/classes/sun/font/MFontConfiguration.java (+14/-8)
src/java.desktop/unix/native/libsplashscreen/splashscreen_sys.c (+1/-1)
src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_CN.properties (+1/-1)
src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_TW.properties (+1/-1)
src/java.desktop/windows/classes/sun/java2d/d3d/D3DVolatileSurfaceManager.java (+6/-12)
src/java.desktop/windows/native/libawt/java2d/d3d/D3DResourceManager.h (+1/-1)
src/java.desktop/windows/native/libawt/java2d/d3d/D3DShaderGen.c (+12/-12)
src/java.desktop/windows/native/libawt/java2d/d3d/D3DVertexCacher.cpp (+6/-6)
src/java.desktop/windows/native/libawt/java2d/windows/GDIWindowSurfaceData.h (+1/-1)
src/java.desktop/windows/native/libawt/java2d/windows/WindowsFlags.h (+1/-1)
src/java.desktop/windows/native/libawt/windows/Devices.h (+1/-1)
src/java.desktop/windows/native/libawt/windows/GDIHashtable.cpp (+1/-1)
src/java.desktop/windows/native/libawt/windows/ShellFolder2.cpp (+1/-1)
src/java.desktop/windows/native/libawt/windows/awt_Component.cpp (+2/-2)
src/java.desktop/windows/native/libawt/windows/awt_CustomPaletteDef.h (+1/-1)
src/java.desktop/windows/native/libawt/windows/awt_Palette.h (+1/-1)
src/java.desktop/windows/native/libawt/windows/awt_Toolkit.cpp (+4/-4)
src/java.desktop/windows/native/libawt/windows/awt_Win32GraphicsDevice.h (+1/-1)
src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_MidiIn.cpp (+1/-1)
src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_MidiOut.c (+1/-1)
src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_Ports.c (+7/-5)
src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnector.java (+2/-1)
src/java.management/share/classes/com/sun/jmx/mbeanserver/Introspector.java (+5/-7)
src/java.management/share/classes/com/sun/jmx/mbeanserver/Repository.java (+10/-125)
src/java.management/share/classes/com/sun/jmx/mbeanserver/Util.java (+1/-1)
src/java.management/share/classes/java/lang/management/ThreadInfo.java (+1/-3)
src/java.management/share/classes/java/lang/management/ThreadMXBean.java (+26/-23)
src/java.management/share/classes/javax/management/ObjectName.java (+11/-0)
src/java.management/share/classes/javax/management/remote/JMXConnector.java (+7/-1)
src/java.management/share/classes/sun/management/ThreadImpl.java (+23/-73)
src/java.management/share/classes/sun/management/Util.java (+1/-34)
src/java.management/share/native/libmanagement/VMManagementImpl.c (+1/-1)
src/java.management/share/native/libmanagement/management.c (+1/-1)
src/java.naming/share/classes/sun/security/provider/certpath/ldap/LDAPCertStoreImpl.java (+16/-5)
src/java.net.http/share/classes/java/net/http/HttpClient.java (+14/-9)
src/java.net.http/share/classes/java/net/http/HttpRequest.java (+19/-10)
src/java.net.http/share/classes/java/net/http/HttpResponse.java (+46/-31)
src/java.net.http/share/classes/java/net/http/WebSocket.java (+34/-26)
src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java (+2/-2)
src/java.net.http/share/classes/jdk/internal/net/http/Http1Exchange.java (+8/-19)
src/java.net.http/share/classes/jdk/internal/net/http/Http2ClientImpl.java (+2/-2)
src/java.net.http/share/classes/jdk/internal/net/http/Http2Connection.java (+121/-106)
src/java.net.http/share/classes/jdk/internal/net/http/HttpClientImpl.java (+18/-3)
src/java.net.http/share/classes/jdk/internal/net/http/RawChannelTube.java (+2/-2)
src/java.net.http/share/classes/jdk/internal/net/http/ResponseSubscribers.java (+7/-5)
src/java.net.http/share/classes/jdk/internal/net/http/Stream.java (+98/-64)
src/java.net.http/share/classes/jdk/internal/net/http/common/DebugLogger.java (+139/-53)
src/java.net.http/share/classes/jdk/internal/net/http/common/HeaderDecoder.java (+48/-0)
src/java.net.http/share/classes/jdk/internal/net/http/common/HttpBodySubscriberWrapper.java (+198/-24)
src/java.net.http/share/classes/jdk/internal/net/http/common/Logger.java (+4/-4)
src/java.net.http/share/classes/jdk/internal/net/http/common/Utils.java (+140/-165)
src/java.net.http/share/classes/jdk/internal/net/http/common/ValidatingHeadersConsumer.java (+89/-0)
src/java.net.http/share/classes/jdk/internal/net/http/frame/OutgoingHeaders.java (+4/-0)
src/java.net.http/share/classes/jdk/internal/net/http/websocket/MessageDecoder.java (+1/-1)
src/java.net.http/share/classes/jdk/internal/net/http/websocket/MessageEncoder.java (+1/-1)
src/java.net.http/share/classes/jdk/internal/net/http/websocket/TransportImpl.java (+1/-1)
src/java.net.http/share/classes/jdk/internal/net/http/websocket/WebSocketImpl.java (+1/-1)
src/java.security.jgss/share/classes/javax/security/auth/kerberos/ServicePermission.java (+13/-19)
src/java.security.jgss/share/classes/sun/net/www/protocol/http/spnego/NegotiatorImpl.java (+30/-0)
src/java.security.jgss/share/classes/sun/security/jgss/spnego/SpNegoContext.java (+4/-1)
src/java.security.jgss/share/classes/sun/security/jgss/wrapper/GSSLibStub.java (+4/-2)
src/java.security.jgss/share/classes/sun/security/jgss/wrapper/GSSNameElement.java (+20/-10)
src/java.security.jgss/share/classes/sun/security/jgss/wrapper/Krb5Util.java (+5/-3)
src/java.security.jgss/share/classes/sun/security/jgss/wrapper/NativeGSSContext.java (+29/-15)
src/java.security.jgss/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java (+3/-2)
src/java.security.jgss/windows/native/libsspi_bridge/sspi.cpp (+8/-6)
src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties (+1/-1)
src/java.xml.crypto/share/classes/javax/xml/crypto/dsig/dom/DOMValidateContext.java (+7/-1)
src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/Utils.java (+33/-2)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/Const.java (+3211/-2409)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/ExceptionConst.java (+33/-39)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/Repository.java (+93/-137)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AccessFlags.java (+92/-93)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AnnotationDefault.java (+30/-31)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AnnotationElementValue.java (+30/-38)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AnnotationEntry.java (+57/-61)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Annotations.java (+77/-31)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ArrayElementValue.java (+27/-37)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Attribute.java (+190/-176)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AttributeReader.java (+21/-29)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/BootstrapMethod.java (+48/-51)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/BootstrapMethods.java (+49/-41)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ClassElementValue.java (+12/-24)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ClassFormatException.java (+32/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ClassParser.java (+83/-97)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Code.java (+155/-163)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/CodeException.java (+90/-77)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Constant.java (+74/-75)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantCP.java (+40/-40)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantClass.java (+24/-34)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantDouble.java (+24/-32)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantDynamic.java (+15/-18)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantFieldref.java (+10/-13)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantFloat.java (+26/-34)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantInteger.java (+24/-32)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantInterfaceMethodref.java (+10/-13)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantInvokeDynamic.java (+15/-19)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantLong.java (+24/-32)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantMethodHandle.java (+21/-32)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantMethodType.java (+14/-22)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantMethodref.java (+10/-13)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantModule.java (+29/-37)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantNameAndType.java (+24/-35)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantObject.java (+5/-5)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantPackage.java (+29/-37)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantPool.java (+269/-220)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantString.java (+25/-34)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantUtf8.java (+69/-13)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantValue.java (+59/-61)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Deprecated.java (+36/-46)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/DescendingVisitor.java (+212/-318)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ElementValue.java (+125/-73)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ElementValuePair.java (+19/-28)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/EmptyVisitor.java (+99/-150)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/EnclosingMethod.java (+28/-32)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/EnumElementValue.java (+14/-32)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ExceptionTable.java (+65/-71)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Field.java (+82/-87)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/FieldOrMethod.java (+129/-144)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/InnerClass.java (+48/-70)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/InnerClasses.java (+64/-63)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/JavaClass.java (+433/-503)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LineNumber.java (+39/-47)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LineNumberTable.java (+103/-96)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariable.java (+103/-127)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariableTable.java (+71/-75)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariableTypeTable.java (+47/-40)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Method.java (+121/-133)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/MethodParameter.java (+44/-43)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/MethodParameters.java (+37/-26)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Module.java (+85/-93)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleExports.java (+27/-33)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleMainClass.java (+40/-47)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleOpens.java (+27/-33)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModulePackages.java (+60/-73)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleProvides.java (+27/-33)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleRequires.java (+25/-31)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/NestHost.java (+38/-46)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/NestMembers.java (+64/-77)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Node.java (+1/-2)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/PMGClass.java (+44/-63)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ParameterAnnotationEntry.java (+29/-30)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ParameterAnnotations.java (+40/-41)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/RuntimeInvisibleAnnotations.java (+12/-20)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/RuntimeInvisibleParameterAnnotations.java (+7/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/RuntimeVisibleAnnotations.java (+12/-19)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/RuntimeVisibleParameterAnnotations.java (+7/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Signature.java (+146/-161)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/SimpleElementValue.java (+78/-124)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/SourceFile.java (+47/-62)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMap.java (+79/-77)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMapEntry.java (+219/-239)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMapType.java (+69/-77)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Synthetic.java (+42/-56)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Unknown.java (+47/-75)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/UnknownAttributeReader.java (+13/-16)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Utility.java (+1120/-1218)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Visitor.java (+84/-87)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AALOAD.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AASTORE.java (+9/-9)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ACONST_NULL.java (+14/-15)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ALOAD.java (+12/-15)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ANEWARRAY.java (+15/-22)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ARETURN.java (+7/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ARRAYLENGTH.java (+20/-23)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ASTORE.java (+12/-15)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ATHROW.java (+16/-20)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AllocationInstruction.java (+0/-1)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AnnotationElementValueGen.java (+17/-30)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AnnotationEntryGen.java (+160/-181)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArithmeticInstruction.java (+49/-53)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayElementValueGen.java (+37/-52)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayInstruction.java (+33/-38)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayType.java (+51/-42)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BALOAD.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BASTORE.java (+9/-9)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BIPUSH.java (+31/-39)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BREAKPOINT.java (+3/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BasicType.java (+36/-38)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BranchHandle.java (+40/-50)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/BranchInstruction.java (+144/-154)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CALOAD.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CASTORE.java (+9/-9)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CHECKCAST.java (+28/-32)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CPInstruction.java (+47/-50)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ClassElementValueGen.java (+29/-44)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ClassGen.java (+312/-377)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ClassGenException.java (+1/-5)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ClassObserver.java (+3/-4)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CodeExceptionGen.java (+89/-98)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CompoundInstruction.java (+5/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ConstantPoolGen.java (+424/-485)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ConstantPushInstruction.java (+2/-3)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ConversionInstruction.java (+31/-35)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/D2F.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/D2I.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/D2L.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DADD.java (+10/-9)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DALOAD.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DASTORE.java (+9/-9)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DCMPG.java (+14/-13)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DCMPL.java (+14/-13)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DCONST.java (+22/-27)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DDIV.java (+11/-10)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DLOAD.java (+10/-11)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DMUL.java (+10/-9)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DNEG.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DREM.java (+10/-9)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DRETURN.java (+9/-9)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DSTORE.java (+10/-11)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DSUB.java (+10/-9)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP2.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP2_X1.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP2_X2.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP_X1.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/DUP_X2.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ElementValueGen.java (+72/-92)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ElementValuePairGen.java (+21/-39)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/EmptyVisitor.java (+184/-364)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/EnumElementValueGen.java (+44/-66)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ExceptionThrower.java (+8/-15)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/F2D.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/F2I.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/F2L.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FADD.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FALOAD.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FASTORE.java (+9/-9)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FCMPG.java (+14/-15)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FCMPL.java (+14/-15)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FCONST.java (+22/-27)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FDIV.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FLOAD.java (+10/-11)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FMUL.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FNEG.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FREM.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FRETURN.java (+9/-9)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FSTORE.java (+10/-11)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FSUB.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldGen.java (+173/-210)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldGenOrMethodGen.java (+80/-78)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldInstruction.java (+21/-26)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldObserver.java (+3/-4)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldOrMethod.java (+47/-59)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GETFIELD.java (+24/-27)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GETSTATIC.java (+22/-24)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GOTO.java (+27/-34)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GOTO_W.java (+17/-24)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/GotoInstruction.java (+5/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2B.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2C.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2D.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2F.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2L.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/I2S.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IADD.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IALOAD.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IAND.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IASTORE.java (+7/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ICONST.java (+24/-29)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IDIV.java (+16/-18)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFEQ.java (+15/-20)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFGE.java (+15/-20)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFGT.java (+15/-20)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFLE.java (+15/-20)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFLT.java (+15/-20)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFNE.java (+15/-20)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFNONNULL.java (+15/-20)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IFNULL.java (+15/-20)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ACMPEQ.java (+15/-20)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ACMPNE.java (+15/-20)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPEQ.java (+15/-20)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPGE.java (+15/-20)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPGT.java (+15/-20)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPLE.java (+15/-20)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPLT.java (+15/-20)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IF_ICMPNE.java (+15/-20)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IINC.java (+55/-65)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ILOAD.java (+10/-11)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IMPDEP1.java (+3/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IMPDEP2.java (+3/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IMUL.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INEG.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INSTANCEOF.java (+22/-28)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEDYNAMIC.java (+47/-71)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEINTERFACE.java (+40/-53)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKESPECIAL.java (+28/-35)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKESTATIC.java (+26/-31)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEVIRTUAL.java (+26/-33)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IOR.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IREM.java (+16/-18)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IRETURN.java (+9/-9)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ISHL.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ISHR.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ISTORE.java (+10/-11)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ISUB.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IUSHR.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IXOR.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IfInstruction.java (+1/-5)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/IndexedInstruction.java (+2/-5)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Instruction.java (+460/-461)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionComparator.java (+16/-20)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionConst.java (+24/-25)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionFactory.java (+545/-605)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionHandle.java (+158/-164)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionList.java (+685/-794)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionListObserver.java (+3/-4)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionTargeter.java (+7/-6)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InvokeInstruction.java (+56/-63)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/JSR.java (+21/-28)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/JSR_W.java (+17/-24)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/JsrInstruction.java (+14/-23)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/L2D.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/L2F.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/L2I.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LADD.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LALOAD.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LAND.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LASTORE.java (+9/-9)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LCMP.java (+14/-15)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LCONST.java (+22/-27)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDC.java (+71/-81)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDC2_W.java (+31/-37)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDC_W.java (+5/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDIV.java (+13/-16)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LLOAD.java (+7/-10)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LMUL.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LNEG.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LOOKUPSWITCH.java (+35/-42)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LOR.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LREM.java (+11/-15)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LRETURN.java (+7/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LSHL.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LSHR.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LSTORE.java (+7/-10)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LSUB.java (+8/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LUSHR.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LXOR.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LineNumberGen.java (+37/-43)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LoadClass.java (+14/-19)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LoadInstruction.java (+11/-18)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LocalVariableGen.java (+108/-137)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LocalVariableInstruction.java (+88/-97)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MONITORENTER.java (+11/-15)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MONITOREXIT.java (+11/-15)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MULTIANEWARRAY.java (+52/-65)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MethodGen.java (+711/-844)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MethodObserver.java (+3/-4)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NEW.java (+19/-26)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NEWARRAY.java (+35/-47)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NOP.java (+3/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NameSignatureInstruction.java (+14/-13)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/NamedAndTyped.java (+3/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ObjectType.java (+61/-69)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/POP.java (+6/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/POP2.java (+6/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PUSH.java (+75/-70)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PUTFIELD.java (+23/-25)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PUTSTATIC.java (+22/-24)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PopInstruction.java (+1/-2)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/PushInstruction.java (+3/-3)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/RET.java (+40/-50)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/RETURN.java (+7/-8)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ReferenceType.java (+159/-227)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ReturnInstruction.java (+27/-34)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ReturnaddressType.java (+12/-16)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SALOAD.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SASTORE.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SIPUSH.java (+29/-38)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SWAP.java (+6/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SWITCH.java (+62/-82)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Select.java (+185/-178)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SimpleElementValueGen.java (+69/-103)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/StackConsumer.java (+3/-3)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/StackInstruction.java (+4/-7)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/StackProducer.java (+4/-5)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/StoreInstruction.java (+11/-18)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/TABLESWITCH.java (+35/-42)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/TargetLostException.java (+9/-11)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Type.java (+259/-259)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/TypedInstruction.java (+2/-4)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/UnconditionalBranch.java (+0/-1)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/VariableLengthInstruction.java (+2/-3)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Visitor.java (+183/-366)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/Args.java (+148/-0)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/AttributeHTML.java (+125/-146)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/BCELComparator.java (+2/-3)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/BCELFactory.java (+184/-195)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/BCELifier.java (+213/-199)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ByteSequence.java (+17/-22)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/Class2HTML.java (+119/-126)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ClassQueue.java (+9/-11)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ClassSet.java (+13/-28)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ClassStack.java (+5/-9)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/CodeHTML.java (+383/-406)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ConstantHTML.java (+136/-169)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/InstructionFinder.java (+228/-261)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/MethodHTML.java (+53/-63)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ModularRuntimeImage.java (+16/-30)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/Repository.java (+20/-17)
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/SyntheticRepository.java (+57/-75)
src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_es.properties (+1/-1)
src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_fr.properties (+1/-1)
src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_it.properties (+1/-1)
src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ko.properties (+1/-1)
src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_pt_BR.properties (+1/-1)
src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_sv.properties (+1/-1)
src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_de.java (+3/-3)
src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_ja.java (+3/-3)
src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_zh_CN.java (+3/-3)
src/java.xml/share/classes/jdk/xml/internal/Utils.java (+57/-0)
src/java.xml/share/legal/bcel.md (+2/-2)
src/jdk.accessibility/windows/native/include/bridge/AccessBridgeCalls.h (+2/-3)
src/jdk.accessibility/windows/native/jabswitch/jabswitch.cpp (+2/-5)
src/jdk.accessibility/windows/native/jaccessinspector/jaccessinspector.cpp (+1/-1)
src/jdk.attach/aix/classes/sun/tools/attach/VirtualMachineImpl.java (+15/-80)
src/jdk.attach/linux/classes/sun/tools/attach/VirtualMachineImpl.java (+15/-81)
src/jdk.attach/macosx/classes/sun/tools/attach/VirtualMachineImpl.java (+15/-81)
src/jdk.attach/share/classes/sun/tools/attach/HotSpotVirtualMachine.java (+93/-2)
src/jdk.attach/windows/classes/sun/tools/attach/VirtualMachineImpl.java (+18/-58)
src/jdk.charsets/share/classes/sun/nio/cs/ext/ExtendedCharsets.java.template (+1/-4)
src/jdk.compiler/share/classes/com/sun/source/doctree/DocTree.java (+10/-2)
src/jdk.compiler/share/classes/com/sun/source/doctree/DocTreeVisitor.java (+17/-1)
src/jdk.compiler/share/classes/com/sun/source/doctree/EscapeTree.java (+57/-0)
src/jdk.compiler/share/classes/com/sun/source/util/DocTreeFactory.java (+27/-1)
src/jdk.compiler/share/classes/com/sun/source/util/DocTreeScanner.java (+17/-1)
src/jdk.compiler/share/classes/com/sun/source/util/SimpleDocTreeVisitor.java (+17/-1)
src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java (+12/-3)
src/jdk.compiler/share/classes/com/sun/tools/javac/code/Preview.java (+2/-2)
src/jdk.compiler/share/classes/com/sun/tools/javac/code/Scope.java (+8/-8)
src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java (+3/-3)
src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java (+93/-135)
src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeAnnotations.java (+35/-70)
src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeMetadata.java (+35/-161)
src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java (+9/-12)
src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java (+6/-2)
src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java (+13/-13)
src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java (+248/-79)
src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java (+21/-7)
src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java (+2/-2)
src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Infer.java (+1/-1)
src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java (+3/-3)
src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TransPatterns.java (+21/-12)
src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java (+4/-3)
src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java (+34/-14)
src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassWriter.java (+6/-1)
src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ModuleNameReader.java (+15/-4)
src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/PoolReader.java (+34/-7)
src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/UninitializedType.java (+2/-2)
src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacElements.java (+0/-3)
src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacTypes.java (+2/-0)
src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java (+75/-11)
src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java (+90/-68)
src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties (+10/-3)
src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_de.properties (+28/-36)
src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_ja.properties (+28/-36)
src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties (+30/-38)
src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_de.properties (+3/-2)
src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_ja.properties (+4/-3)
src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties (+4/-3)
src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_de.properties (+1/-1)
src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_ja.properties (+1/-1)
src/jdk.compiler/share/classes/com/sun/tools/javac/resources/launcher_zh_CN.properties (+1/-1)
src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DCTree.java (+28/-1)
src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocPretty.java (+103/-94)
src/jdk.compiler/share/classes/com/sun/tools/javac/tree/DocTreeMaker.java (+9/-1)
src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java (+4/-4)
src/jdk.compiler/share/classes/com/sun/tools/javac/tree/Pretty.java (+154/-120)
src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeCopier.java (+1/-1)
src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java (+3/-3)
src/jdk.compiler/share/classes/com/sun/tools/javac/util/ArrayUtils.java (+52/-1)
src/jdk.compiler/share/classes/com/sun/tools/javac/util/ByteBuffer.java (+95/-26)
src/jdk.compiler/share/classes/com/sun/tools/javac/util/Iterators.java (+33/-33)
src/jdk.compiler/share/classes/com/sun/tools/javac/util/List.java (+3/-20)
src/jdk.compiler/share/classes/jdk/internal/shellsupport/doc/JavadocFormatter.java (+8/-1)
src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11KeyPairGenerator.java (+12/-10)
src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp (+10/-6)
src/jdk.hotspot.agent/linux/native/libsaproc/ps_proc.c (+3/-3)
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/CodeCache.java (+1/-6)
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugDirectoryEntry.java (+2/-2)
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/g1/HeapRegion.java (+3/-3)
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/ContiguousSpace.java (+2/-2)
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ConcurrentLocksPrinter.java (+5/-10)
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java (+2/-2)
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/LivenessPath.java (+2/-2)
src/jdk.hotspot.agent/share/native/libsaproc/sadis.c (+3/-19)
src/jdk.hotspot.agent/windows/native/libsaproc/sawindbg.cpp (+6/-4)
src/jdk.httpserver/share/classes/sun/net/httpserver/Request.java (+2/-2)
src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java (+27/-13)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractMask.java (+34/-7)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte128Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte256Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte512Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte64Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteMaxVector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double128Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double512Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double64Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float128Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float256Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float64Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatMaxVector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int128Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int256Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int512Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int64Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntMaxVector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LaneType.java (+2/-2)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long128Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongMaxVector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short128Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short256Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short64Vector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortMaxVector.java (+10/-1)
src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template (+10/-1)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Binding.java (+1/-1)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Candidate.java (+48/-3)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/CompletingParsedLine.java (+1/-1)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/CompletionMatcher.java (+1/-1)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Highlighter.java (+24/-3)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/History.java (+4/-3)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/LineReader.java (+5/-2)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/LineReaderBuilder.java (+6/-0)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/Parser.java (+5/-5)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/CompletionMatcherImpl.java (+1/-1)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/DefaultParser.java (+137/-9)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/LineReaderImpl.java (+35/-24)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/completer/FileNameCompleter.java (+1/-1)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/completer/SystemCompleter.java (+1/-1)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/reader/impl/history/DefaultHistory.java (+2/-2)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/TerminalBuilder.java (+207/-197)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/AbstractPty.java (+0/-5)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/AbstractWindowsTerminal.java (+2/-31)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/Diag.java (+133/-0)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/ExecPty.java (+19/-25)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/PosixPtyTerminal.java (+4/-5)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/PosixSysTerminal.java (+6/-4)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/exec/ExecTerminalProvider.java (+133/-0)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/spi/TerminalProvider.java (+84/-0)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Colors.java (+1/-1)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Curses.java (+6/-6)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Display.java (+1/-1)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/InfoCmp.java (+1/-1)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlocking.java (+33/-57)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingInputStream.java (+24/-2)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingInputStreamImpl.java (+3/-10)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingPumpInputStream.java (+20/-19)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingPumpReader.java (+13/-5)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingReader.java (+9/-1)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlockingReaderImpl.java (+13/-17)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/OSUtils.java (+31/-10)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/PumpReader.java (+76/-13)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/StyleResolver.java (+1/-1)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/Timeout.java (+48/-0)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/WCWidth.java (+3/-2)
src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/windows-vtp.caps (+1/-1)
src/jdk.internal.le/share/classes/module-info.java (+0/-2)
src/jdk.internal.le/share/legal/jline.md (+6/-6)
src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/JnaTerminalProvider.java (+106/-0)
src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/win/JnaWinConsoleWriter.java (+4/-4)
src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/win/JnaWinSysTerminal.java (+35/-37)
src/jdk.internal.le/windows/classes/jdk/internal/org/jline/terminal/impl/jna/win/WindowsAnsiWriter.java (+10/-10)
src/jdk.internal.le/windows/native/lible/Kernel32.cpp (+4/-4)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/Cleaner.java (+3/-3)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/CompilerToVM.java (+2/-2)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotCompiledCodeStream.java (+1/-1)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotJVMCIRuntime.java (+40/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java (+3/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/JFR.java (+3/-3)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/aarch64/AArch64HotSpotVMConfig.java (+0/-2)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/riscv64/RISCV64HotSpotVMConfig.java (+0/-8)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/AbstractJavaProfile.java (+164/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ConstantPool.java (+232/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ConstantReflectionProvider.java (+119/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/EncodedSpeculationReason.java (+116/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ExceptionHandler.java (+121/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/JavaField.java (+125/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/JavaMethod.java (+135/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/JavaType.java (+161/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/JavaTypeProfile.java (+196/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/LineNumberTable.java (+75/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/Local.java (+82/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/LocalVariableTable.java (+88/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/MemoryAccessProvider.java (+54/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/MetaAccessProvider.java (+127/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/MetaUtil.java (+286/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/MethodHandleAccessProvider.java (+86/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ModifiersProvider.java (+147/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/NullConstant.java (+97/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/PlatformKind.java (+83/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/PrimitiveConstant.java (+186/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ProfilingInfo.java (+199/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ResolvedJavaField.java (+81/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/SerializableConstant.java (+10/-22)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/Signature.java (+136/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/SpeculationLog.java (+173/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/SuppressFBWarnings.java (+9/-52)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/TriState.java (+77/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/UnresolvedJavaField.java (+84/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/UnresolvedJavaMethod.java (+71/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/UnresolvedJavaType.java (+92/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/VMConstant.java (+3/-16)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/Value.java (+55/-67)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/ValueKind.java (+103/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/meta/package-info.java (+5/-47)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/riscv64/RISCV64.java (+237/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/riscv64/RISCV64Kind.java (+118/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/riscv64/package-info.java (+5/-10)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/runtime/JVMCI.java (+82/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/runtime/JVMCIBackend.java (+69/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/runtime/JVMCICompiler.java (+47/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/runtime/JVMCICompilerFactory.java (+57/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/runtime/JVMCIRuntime.java (+14/-41)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/runtime/package-info.java (+3/-5)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/services/JVMCIPermission.java (+11/-20)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/services/JVMCIServiceLocator.java (+117/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/services/Services.java (+282/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/services/SuppressFBWarnings.java (+40/-0)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/services/VMEntryPoint.java (+6/-13)
src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/services/package-info.java (+5/-17)
src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSigner.java (+27/-187)
src/jdk.jartool/share/classes/module-info.java (+4/-2)
src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java (+2/-35)
src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources.java (+1/-10)
src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_de.java (+1/-8)
src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_ja.java (+1/-8)
src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java (+1/-8)
src/jdk.jartool/share/classes/sun/tools/jar/FingerPrint.java (+71/-73)
src/jdk.jartool/share/classes/sun/tools/jar/resources/jar_de.properties (+2/-2)
src/jdk.javadoc/share/classes/jdk/javadoc/doclet/package-info.java (+8/-5)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractExecutableMemberWriter.java (+8/-8)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesIndexWriter.java (+1/-1)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java (+2/-3)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstantsSummaryWriterImpl.java (+1/-1)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java (+36/-20)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlLinkFactory.java (+211/-61)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlLinkInfo.java (+291/-39)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexWriter.java (+1/-1)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MethodWriterImpl.java (+11/-8)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Signatures.java (+3/-4)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java (+2/-1)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java (+2/-2)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-ui.css (+1/-1)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-ui.js (+10/-10)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-ui.min.css (+1/-1)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-ui.min.js (+2/-2)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_de.properties (+37/-6)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_ja.properties (+38/-7)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_zh_CN.properties (+37/-6)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java (+0/-68)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/MemberSummaryBuilder.java (+9/-7)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/SerializedFormBuilder.java (+14/-17)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_de.properties (+3/-0)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_ja.properties (+4/-1)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_zh_CN.properties (+4/-1)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/CommentHelper.java (+28/-63)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Extern.java (+93/-13)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java (+71/-131)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java (+222/-83)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java (+11/-1)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_de.properties (+1/-0)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_ja.properties (+1/-0)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/resources/doclint_zh_CN.properties (+1/-0)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ToolOptions.java (+3/-3)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_de.properties (+0/-4)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_ja.properties (+1/-5)
src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_zh_CN.properties (+1/-5)
src/jdk.javadoc/share/legal/jqueryUI.md (+1/-1)
src/jdk.jcmd/share/man/jcmd.1 (+9/-0)
src/jdk.jconsole/share/classes/sun/tools/jconsole/resources/messages_de.properties (+1/-1)
src/jdk.jconsole/share/classes/sun/tools/jconsole/resources/messages_zh_CN.properties (+1/-1)
src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap_zh_CN.properties (+1/-1)
src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsTask.java (+3/-0)
src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/jdeps.properties (+3/-2)
src/jdk.jdi/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java (+1/-14)
src/jdk.jdi/share/classes/com/sun/tools/jdi/VMState.java (+1/-12)
src/jdk.jdi/share/native/libdt_shmem/shmemBase.c (+2/-5)
src/jdk.jdwp.agent/share/native/libdt_socket/socketTransport.c (+4/-8)
src/jdk.jdwp.agent/share/native/libjdwp/transport.c (+5/-1)
src/jdk.jdwp.agent/share/native/libjdwp/util.c (+1/-0)
src/jdk.jdwp.agent/windows/native/libdt_socket/socket_md.c (+1/-1)
src/jdk.jdwp.agent/windows/native/libjdwp/linker_md.c (+2/-2)
src/jdk.jfr/share/classes/jdk/jfr/AnnotationElement.java (+2/-2)
src/jdk.jfr/share/classes/jdk/jfr/BooleanFlag.java (+9/-3)
src/jdk.jfr/share/classes/jdk/jfr/Configuration.java (+6/-1)
src/jdk.jfr/share/classes/jdk/jfr/DataAmount.java (+6/-1)
src/jdk.jfr/share/classes/jdk/jfr/Enabled.java (+14/-2)
src/jdk.jfr/share/classes/jdk/jfr/EventType.java (+12/-2)
src/jdk.jfr/share/classes/jdk/jfr/FlightRecorder.java (+3/-3)
src/jdk.jfr/share/classes/jdk/jfr/Period.java (+6/-1)
src/jdk.jfr/share/classes/jdk/jfr/Recording.java (+3/-3)
src/jdk.jfr/share/classes/jdk/jfr/ValueDescriptor.java (+22/-8)
src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordedObject.java (+2/-2)
src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingFile.java (+2/-1)
src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingStream.java (+2/-2)
src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java (+1/-1)
src/jdk.jfr/share/classes/jdk/jfr/internal/LogTag.java (+14/-6)
src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataDescriptor.java (+6/-1)
src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataRepository.java (+11/-13)
src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformEventType.java (+10/-2)
src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java (+27/-11)
src/jdk.jfr/share/classes/jdk/jfr/internal/TypeLibrary.java (+28/-34)
src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/ArgumentParser.java (+35/-3)
src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdStart.java (+2/-2)
src/jdk.jfr/share/classes/jdk/jfr/internal/dcmd/DCmdStop.java (+1/-1)
src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JDKEvents.java (+17/-19)
src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/Batch.java (+76/-0)
src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/BatchManager.java (+124/-0)
src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/EventTask.java (+53/-0)
src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/FlushTask.java (+73/-0)
src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/JDKEventTask.java (+54/-0)
src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/JVMEventTask.java (+59/-0)
src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/JavaEventTask.java (+54/-0)
src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/LookupKey.java (+53/-0)
src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/PeriodicEvents.java (+213/-0)
src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/PeriodicTask.java (+153/-0)
src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/PeriodicType.java (+40/-0)
src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/TaskRepository.java (+87/-0)
src/jdk.jfr/share/classes/jdk/jfr/internal/periodic/UserEventTask.java (+71/-0)
src/jdk.jfr/share/classes/jdk/jfr/snippet-files/Snippets.java (+248/-17)
src/jdk.jlink/share/classes/jdk/tools/jimage/JImageTask.java (+13/-8)
src/jdk.jlink/share/classes/jdk/tools/jlink/internal/PerfectHashBuilder.java (+2/-2)
src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/DefaultCompressPlugin.java (+11/-1)
src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/ZipPlugin.java (+12/-4)
src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_ja.properties (+1/-1)
src/jdk.jlink/share/classes/jdk/tools/jlink/resources/jlink_zh_CN.properties (+1/-1)
src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins.properties (+20/-33)
src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins_de.properties (+6/-0)
src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins_ja.properties (+6/-0)
src/jdk.jlink/share/classes/jdk/tools/jlink/resources/plugins_zh_CN.properties (+6/-0)
src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod_de.properties (+4/-0)
src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod_ja.properties (+4/-0)
src/jdk.jlink/share/classes/jdk/tools/jmod/resources/jmod_zh_CN.properties (+4/-0)
src/jdk.jlink/share/classes/module-info.java (+0/-1)
src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_de.properties (+2/-2)
src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_ja.properties (+2/-2)
src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_zh_CN.properties (+2/-2)
src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/MsiInstallerStrings_de.wxl (+1/-1)
src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/MsiInstallerStrings_ja.wxl (+1/-1)
src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/MsiInstallerStrings_zh_CN.wxl (+1/-1)
src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_de.properties (+2/-1)
src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_ja.properties (+2/-1)
src/jdk.jpackage/windows/classes/jdk/jpackage/internal/resources/WinResources_zh_CN.properties (+2/-1)
src/jdk.jpackage/windows/native/libjpackage/JniUtils.h (+12/-0)
src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_de.properties (+1/-1)
src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_ja.properties (+1/-1)
src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_zh_CN.properties (+1/-1)
src/jdk.jshell/share/classes/jdk/jshell/execution/LocalExecutionControl.java (+28/-40)
src/jdk.localedata/share/classes/sun/util/resources/ext/CurrencyNames_de.properties (+119/-117)
src/jdk.localedata/share/classes/sun/util/resources/ext/CurrencyNames_ja.properties (+221/-221)
src/jdk.localedata/share/classes/sun/util/resources/ext/CurrencyNames_zh_CN.properties (+222/-222)
src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_zh_CN.properties (+1/-1)
src/jdk.management.agent/share/conf/management.properties (+22/-1)
src/jdk.management.jfr/share/classes/jdk/management/jfr/DiskRepository.java (+3/-1)
src/jdk.management.jfr/share/classes/jdk/management/jfr/FlightRecorderMXBeanImpl.java (+12/-11)
src/jdk.management.jfr/share/classes/jdk/management/jfr/RemoteRecordingStream.java (+11/-12)
src/jdk.management/share/classes/com/sun/management/ThreadMXBean.java (+8/-11)
src/jdk.management/share/native/libmanagement_ext/management_ext.c (+1/-1)
src/jdk.unsupported.desktop/share/classes/jdk/swing/interop/LightweightFrameWrapper.java (+8/-1)
src/jdk.unsupported/share/classes/com/sun/nio/file/SensitivityWatchEventModifier.java (+10/-1)
src/utils/IdealGraphVisualizer/Coordinator/src/main/java/com/sun/hotspot/igv/coordinator/GraphNode.java (+2/-2)
src/utils/IdealGraphVisualizer/Coordinator/src/main/java/com/sun/hotspot/igv/coordinator/actions/GraphRemoveCookie.java (+33/-1)
src/utils/IdealGraphVisualizer/Coordinator/src/main/java/com/sun/hotspot/igv/coordinator/actions/NewGraphTabAction.java (+89/-0)
src/utils/IdealGraphVisualizer/Coordinator/src/main/java/com/sun/hotspot/igv/coordinator/actions/NewGraphTabCookie.java (+20/-19)
src/utils/IdealGraphVisualizer/Data/src/main/java/com/sun/hotspot/igv/data/Group.java (+1/-1)
src/utils/IdealGraphVisualizer/Data/src/main/java/com/sun/hotspot/igv/data/InputMethod.java (+2/-1)
src/utils/IdealGraphVisualizer/Data/src/main/java/com/sun/hotspot/igv/data/services/GraphViewer.java (+1/-1)
src/utils/IdealGraphVisualizer/Filter/src/main/java/com/sun/hotspot/igv/filter/EditFilterDialog.form (+19/-13)
src/utils/IdealGraphVisualizer/Filter/src/main/java/com/sun/hotspot/igv/filter/EditFilterDialog.java (+91/-11)
src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/DiagramScene.java (+8/-4)
src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/DiagramViewModel.java (+12/-10)
src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/DiagramViewer.java (+3/-1)
src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/EditorTopComponent.java (+36/-22)
src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/GraphViewerImplementation.java (+2/-2)
src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/actions/HideDuplicatesAction.java (+3/-3)
src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/actions/PredSuccAction.java (+3/-3)
src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/actions/ZoomLevelAction.java (+9/-3)
src/utils/LogCompilation/src/main/java/com/sun/hotspot/tools/compiler/LogParser.java (+5/-5)
test/failure_handler/src/share/conf/linux.properties (+5/-2)
test/failure_handler/src/share/conf/mac.properties (+5/-2)
test/hotspot/gtest/aarch64/aarch64-asmtest.py (+99/-0)
test/hotspot/gtest/aarch64/asmtest.out.h (+921/-880)
test/hotspot/gtest/classfile/test_placeholders.cpp (+113/-0)
test/hotspot/gtest/classfile/test_symbolTable.cpp (+8/-1)
test/hotspot/gtest/gc/g1/test_g1CodeRootSet.cpp (+80/-0)
test/hotspot/gtest/gtestMain.cpp (+2/-1)
test/hotspot/gtest/memory/test_virtualspace.cpp (+3/-3)
test/hotspot/gtest/metaspace/metaspaceGtestContexts.cpp (+2/-5)
test/hotspot/gtest/metaspace/metaspaceGtestSparseArray.hpp (+4/-0)
test/hotspot/gtest/metaspace/test_chunkManager_stress.cpp (+2/-7)
test/hotspot/gtest/metaspace/test_freeblocks.cpp (+11/-1)
test/hotspot/gtest/metaspace/test_metachunk.cpp (+2/-20)
test/hotspot/gtest/metaspace/test_metachunklist.cpp (+2/-6)
test/hotspot/gtest/metaspace/test_metaspacearena.cpp (+22/-24)
test/hotspot/gtest/metaspace/test_virtualspacenode.cpp (+5/-1)
test/hotspot/gtest/nmt/test_nmt_cornercases.cpp (+9/-8)
test/hotspot/gtest/nmt/test_nmt_malloclimit.cpp (+159/-0)
test/hotspot/gtest/nmt/test_nmtpreinitmap.cpp (+4/-4)
test/hotspot/gtest/runtime/test_arguments.cpp (+2/-2)
test/hotspot/gtest/runtime/test_os.cpp (+4/-4)
test/hotspot/gtest/runtime/test_os_linux.cpp (+1/-1)
test/hotspot/gtest/runtime/test_threads.cpp (+4/-5)
test/hotspot/gtest/testutils.cpp (+3/-3)
test/hotspot/gtest/testutils.hpp (+9/-7)
test/hotspot/gtest/utilities/test_bitMap_iterate.cpp (+213/-0)
test/hotspot/gtest/utilities/test_bitMap_search.cpp (+21/-21)
test/hotspot/gtest/utilities/test_byteswap.cpp (+84/-0)
test/hotspot/gtest/utilities/test_globalDefinitions.cpp (+2/-2)
test/hotspot/gtest/utilities/test_reverse_bits.cpp (+82/-0)
test/hotspot/jtreg/ProblemList-Xcomp.txt (+2/-0)
test/hotspot/jtreg/ProblemList-svc-vthread.txt (+0/-2)
test/hotspot/jtreg/ProblemList-zgc.txt (+2/-0)
test/hotspot/jtreg/ProblemList.txt (+7/-7)
test/hotspot/jtreg/TEST.groups (+3/-2)
test/hotspot/jtreg/TEST.quick-groups (+0/-2)
test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyConjoint.java (+2/-7)
test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyDisjoint.java (+16/-21)
test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyNoInitDeopt.java (+2/-2)
test/hotspot/jtreg/compiler/c2/TestVerifyIterativeGVN.java (+3/-3)
test/hotspot/jtreg/compiler/c2/irTests/LShiftINodeIdealizationTests.java (+63/-3)
test/hotspot/jtreg/compiler/c2/irTests/LShiftLNodeIdealizationTests.java (+116/-0)
test/hotspot/jtreg/compiler/c2/irTests/TestDebugInfo.java (+135/-0)
test/hotspot/jtreg/compiler/c2/irTests/TestTypeSpeculation.java (+103/-0)
test/hotspot/jtreg/compiler/c2/irTests/TestVectorizationMismatchedAccess.java (+339/-0)
test/hotspot/jtreg/compiler/c2/irTests/TestVectorizationNotRun.java (+69/-0)
test/hotspot/jtreg/compiler/c2/irTests/igvn/TestIntegerMulRing.java (+820/-0)
test/hotspot/jtreg/compiler/ccp/TestMissingMulLOptimization.java (+68/-0)
test/hotspot/jtreg/compiler/codegen/Test7100757.java (+2/-2)
test/hotspot/jtreg/compiler/codegen/aes/Test8299817.java (+257/-0)
test/hotspot/jtreg/compiler/floatingpoint/NaNTest.java (+3/-2)
test/hotspot/jtreg/compiler/intrinsics/TestArraysHashCode.java (+67/-0)
test/hotspot/jtreg/compiler/intrinsics/TestBitShuffleOpers.java (+6/-5)
test/hotspot/jtreg/compiler/intrinsics/float16/Binary16Conversion.java (+436/-0)
test/hotspot/jtreg/compiler/intrinsics/float16/Binary16ConversionNaN.java (+161/-0)
test/hotspot/jtreg/compiler/intrinsics/float16/TestAllFloat16ToFloat.java (+97/-0)
test/hotspot/jtreg/compiler/intrinsics/float16/TestConstFloat16ToFloat.java (+166/-0)
test/hotspot/jtreg/compiler/intrinsics/string/TestStringIndexOfCharIntrinsics.java (+74/-0)
test/hotspot/jtreg/compiler/intrinsics/zip/TestAdler32.java (+7/-3)
test/hotspot/jtreg/compiler/jsr292/methodHandleExceptions/TestAMEnotNPE.java (+7/-3)
test/hotspot/jtreg/compiler/jvmci/compilerToVM/IterateFramesNative.java (+11/-9)
test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestSpeculationLog.java (+40/-1)
test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java (+65/-0)
test/hotspot/jtreg/compiler/lib/ir_framework/TestFramework.java (+6/-6)
test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/IRMatcher.java (+6/-20)
test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/IREncodingParser.java (+8/-7)
test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/IRMethodBuilder.java (+70/-0)
test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/TestClassParser.java (+77/-0)
test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/TestMethod.java (+14/-54)
test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/TestMethods.java (+60/-0)
test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/CompilePhaseBlock.java (+134/-0)
test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/CompileQueueMessages.java (+111/-0)
test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/HotSpotPidFileParser.java (+64/-0)
test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/LoggedMethod.java (+92/-0)
test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/LoggedMethods.java (+55/-0)
test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/State.java (+95/-0)
test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/WriterThread.java (+51/-0)
test/hotspot/jtreg/compiler/lib/ir_framework/driver/irmatching/parser/hotspot/WriterThreads.java (+50/-0)
test/hotspot/jtreg/compiler/lib/ir_framework/test/AbstractTest.java (+4/-7)
test/hotspot/jtreg/compiler/lib/ir_framework/test/IREncodingPrinter.java (+44/-12)
test/hotspot/jtreg/compiler/loopopts/TestCMoveWithDeadPhi.java (+2/-2)
test/hotspot/jtreg/compiler/loopopts/TestDeadIrreducibleLoops.jasm (+1496/-0)
test/hotspot/jtreg/compiler/loopopts/TestDeadIrreducibleLoopsMain.java (+235/-0)
test/hotspot/jtreg/compiler/loopopts/TestDeepGraphVerifyIterativeGVN.java (+3/-3)
test/hotspot/jtreg/compiler/loopopts/TestEmptyLoopMultiplePhis.java (+57/-0)
test/hotspot/jtreg/compiler/loopopts/TestInfLoopNearUsePlacement.java (+2/-2)
test/hotspot/jtreg/compiler/loopopts/TestInfiniteLoopCCP.java (+2/-1)
test/hotspot/jtreg/compiler/loopopts/TestInfiniteLoopNest.java (+2/-1)
test/hotspot/jtreg/compiler/loopopts/TestInlinedSplitFallInIrreducibleLoopStatus.jasm (+64/-0)
test/hotspot/jtreg/compiler/loopopts/TestInlinedSplitFallInIrreducibleLoopStatusMain.java (+49/-0)
test/hotspot/jtreg/compiler/loopopts/TestMoveStoreAfterLoopVerifyIterativeGVN.java (+3/-3)
test/hotspot/jtreg/compiler/loopopts/TestRemoveEmptyCountedLoop.java (+2/-2)
test/hotspot/jtreg/compiler/loopopts/TestStrangeControl.java (+2/-2)
test/hotspot/jtreg/compiler/loopopts/TestWrongCMovSplitIf.java (+80/-0)
test/hotspot/jtreg/compiler/loopopts/superword/ProdRed_Double.java (+63/-52)
test/hotspot/jtreg/compiler/loopopts/superword/ProdRed_Float.java (+31/-46)
test/hotspot/jtreg/compiler/loopopts/superword/ProdRed_Int.java (+31/-46)
test/hotspot/jtreg/compiler/loopopts/superword/RedTest_int.java (+90/-100)
test/hotspot/jtreg/compiler/loopopts/superword/RedTest_long.java (+93/-100)
test/hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Double.java (+32/-51)
test/hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java (+33/-51)
test/hotspot/jtreg/compiler/loopopts/superword/SumRedSqrt_Double.java (+48/-55)
test/hotspot/jtreg/compiler/loopopts/superword/SumRed_Double.java (+65/-53)
test/hotspot/jtreg/compiler/loopopts/superword/SumRed_Float.java (+33/-51)
test/hotspot/jtreg/compiler/loopopts/superword/SumRed_Int.java (+33/-51)
test/hotspot/jtreg/compiler/loopopts/superword/SumRed_Long.java (+36/-29)
test/hotspot/jtreg/compiler/loopopts/superword/TestCyclicDependency.java (+399/-0)
test/hotspot/jtreg/compiler/loopopts/superword/TestDependencyOffsets.java (+11389/-0)
test/hotspot/jtreg/compiler/loopstripmining/TestAddPAtOuterLoopHead.java (+82/-0)
test/hotspot/jtreg/compiler/onSpinWait/TestOnSpinWaitRISCV64.java (+92/-0)
test/hotspot/jtreg/compiler/profiling/TestTypeProfiling.java (+3/-3)
test/hotspot/jtreg/compiler/stable/TestUnstableStable.java (+165/-0)
test/hotspot/jtreg/compiler/types/TestArrayManyDimensions.java (+60/-0)
test/hotspot/jtreg/compiler/types/TestSpeculationBrokenWithIntArrays.java (+65/-0)
test/hotspot/jtreg/compiler/uncommontrap/TestDeoptOOM.java (+15/-10)
test/hotspot/jtreg/compiler/vectorapi/VectorCompareWithZeroTest.java (+260/-0)
test/hotspot/jtreg/compiler/vectorapi/VectorLogicalOpIdentityTest.java (+7/-6)
test/hotspot/jtreg/compiler/vectorization/TestForEachRem.java (+62/-6)
test/hotspot/jtreg/compiler/vectorization/TestOptionVectorizeIR.java (+803/-0)
test/hotspot/jtreg/compiler/vectorization/TestOverlappingMismatchedAccesses.java (+70/-0)
test/hotspot/jtreg/compiler/vectorization/TestReverseBitsVector.java (+8/-8)
test/hotspot/jtreg/compiler/vectorization/runner/BasicByteOpTest.java (+7/-6)
test/hotspot/jtreg/compiler/vectorization/runner/BasicIntOpTest.java (+4/-3)
test/hotspot/jtreg/compiler/vectorization/runner/BasicLongOpTest.java (+4/-3)
test/hotspot/jtreg/compiler/vectorization/runner/LoopArrayIndexComputeTest.java (+5/-4)
test/hotspot/jtreg/compiler/vectorization/runner/LoopCombinedOpTest.java (+7/-6)
test/hotspot/jtreg/compiler/vectorization/runner/LoopLiveOutNodesTest.java (+2/-1)
test/hotspot/jtreg/compiler/vectorization/runner/LoopRangeStrideTest.java (+6/-4)
test/hotspot/jtreg/compiler/vectorization/runner/MultipleLoopsTest.java (+3/-2)
test/hotspot/jtreg/containers/docker/TestJcmd.java (+1/-1)
test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java (+92/-1)
test/hotspot/jtreg/containers/docker/TestMemoryWithCgroupV1.java (+3/-3)
test/hotspot/jtreg/gc/TestVerifySubSet.java (+4/-0)
test/hotspot/jtreg/gc/g1/TestGCLogMessages.java (+4/-7)
test/hotspot/jtreg/gc/g1/TestLargePageUseForAuxMemory.java (+0/-1)
test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData.java (+18/-77)
test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryDataRunner.java (+45/-0)
test/hotspot/jtreg/gc/g1/TestVerificationInConcurrentCycle.java (+2/-2)
test/hotspot/jtreg/gc/g1/plab/lib/PlabGCStatistics.java (+1/-1)
test/hotspot/jtreg/gtest/MetaspaceGtests.java (+8/-19)
test/hotspot/jtreg/runtime/ClassFile/JsrRewriting.java (+5/-2)
test/hotspot/jtreg/runtime/ClassFile/OomWhileParsingRepeatedJsr.java (+5/-7)
test/hotspot/jtreg/runtime/ClassUnload/ConstantPoolDependsTest.java (+4/-3)
test/hotspot/jtreg/runtime/ClassUnload/KeepAliveObject.java (+4/-4)
test/hotspot/jtreg/runtime/ClassUnload/UnloadTest.java (+10/-7)
test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java (+1/-6)
test/hotspot/jtreg/runtime/CompressedOops/CompressedClassPointers.java (+10/-14)
test/hotspot/jtreg/runtime/ErrorHandling/ShowRegistersOnAssertTest.java (+10/-21)
test/hotspot/jtreg/runtime/ErrorHandling/TestCrashOnOutOfMemoryError.java (+1/-4)
test/hotspot/jtreg/runtime/ErrorHandling/TestDwarf.java (+3/-3)
test/hotspot/jtreg/runtime/ErrorHandling/TimeoutInErrorHandlingTest.java (+41/-11)
test/hotspot/jtreg/runtime/Metaspace/PrintMetaspaceDcmd.java (+1/-11)
test/hotspot/jtreg/runtime/Metaspace/elastic/MetaspaceTestArena.java (+2/-2)
test/hotspot/jtreg/runtime/Metaspace/elastic/MetaspaceTestContext.java (+28/-10)
test/hotspot/jtreg/runtime/Metaspace/elastic/MetaspaceTestWithThreads.java (+8/-12)
test/hotspot/jtreg/runtime/Metaspace/elastic/TestMetaspaceAllocation.java (+2/-4)
test/hotspot/jtreg/runtime/Metaspace/elastic/TestMetaspaceAllocationMT1.java (+2/-37)
test/hotspot/jtreg/runtime/Metaspace/elastic/TestMetaspaceAllocationMT2.java (+2/-37)
test/hotspot/jtreg/runtime/NMT/BaselineWithParameter.java (+2/-1)
test/hotspot/jtreg/runtime/NMT/JcmdDetailDiff.java (+0/-1)
test/hotspot/jtreg/runtime/NMT/JcmdScale.java (+8/-1)
test/hotspot/jtreg/runtime/NMT/JcmdSummaryClass.java (+1/-2)
test/hotspot/jtreg/runtime/NMT/JcmdSummaryDiff.java (+0/-1)
test/hotspot/jtreg/runtime/NMT/MallocLimitTest.java (+47/-125)
test/hotspot/jtreg/runtime/NMT/NMTInitializationTest.java (+40/-40)
test/hotspot/jtreg/runtime/StackGuardPages/TestStackGuardPages.java (+7/-6)
test/hotspot/jtreg/runtime/StackGuardPages/TestStackGuardPagesNative.java (+52/-0)
test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c (+63/-49)
test/hotspot/jtreg/runtime/Unsafe/AllocateMemory.java (+7/-4)
test/hotspot/jtreg/runtime/Unsafe/Reallocate.java (+6/-3)
test/hotspot/jtreg/runtime/cds/ArchiveDoesNotExist.java (+1/-1)
test/hotspot/jtreg/runtime/cds/CdsDifferentCompactStrings.java (+1/-1)
test/hotspot/jtreg/runtime/cds/CdsDifferentObjectAlignment.java (+1/-1)
test/hotspot/jtreg/runtime/cds/appcds/LambdaContainsOldInf.java (+3/-3)
test/hotspot/jtreg/runtime/cds/appcds/LambdaEagerInit.java (+3/-3)
test/hotspot/jtreg/runtime/cds/appcds/LambdaWithOldClass.java (+2/-2)
test/hotspot/jtreg/runtime/cds/appcds/OldClassWithjsr.java (+70/-0)
test/hotspot/jtreg/runtime/cds/appcds/PrintSharedArchiveAndExit.java (+2/-2)
test/hotspot/jtreg/runtime/cds/appcds/SignedJar.java (+3/-3)
test/hotspot/jtreg/runtime/cds/appcds/SpecifySysLoaderProp.java (+1/-1)
test/hotspot/jtreg/runtime/cds/appcds/StaticArchiveWithLambda.java (+2/-2)
test/hotspot/jtreg/runtime/cds/appcds/VerifierTest.java (+2/-0)
test/hotspot/jtreg/runtime/cds/appcds/cacheObject/ArchiveHeapTestClass.java (+1/-1)
test/hotspot/jtreg/runtime/cds/appcds/cacheObject/ArchivedIntegerCacheTest.java (+2/-3)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/ArchiveConsistency.java (+1/-1)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/BasicLambdaTest.java (+2/-2)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LambdaContainsOldInf.java (+3/-3)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LambdaCustomLoader.java (+3/-3)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LambdaForClassInBaseArchive.java (+3/-3)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LambdaForOldInfInBaseArchive.java (+3/-3)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LambdaInBaseArchive.java (+3/-3)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LambdaProxyCallerIsHidden.java (+3/-3)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LambdaProxyDuringShutdown.java (+3/-3)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/NestHostOldInf.java (+2/-2)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/NestTest.java (+3/-3)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/NoClassToArchive.java (+2/-2)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/ParallelLambdaLoadTest.java (+2/-2)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/PredicateTest.java (+2/-2)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/RedefineCallerClassTest.java (+3/-3)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/StaticInnerTest.java (+3/-3)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/UsedAllArchivedLambdas.java (+2/-2)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/methodHandles/CDSMHTest_generate.sh (+18/-5)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/methodHandles/MethodHandlesAsCollectorTest.java (+17/-4)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/methodHandles/MethodHandlesCastFailureTest.java (+17/-4)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/methodHandles/MethodHandlesGeneralTest.java (+17/-4)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/methodHandles/MethodHandlesInvokersTest.java (+17/-4)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/methodHandles/MethodHandlesPermuteArgumentsTest.java (+17/-4)
test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/methodHandles/MethodHandlesSpreadArgumentsTest.java (+17/-4)
test/hotspot/jtreg/runtime/cds/appcds/javaldr/AnonVmClassesDuringDump.java (+3/-3)
test/hotspot/jtreg/runtime/cds/appcds/methodHandles/CDSMHTest_generate.sh (+2/-2)
test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesAsCollectorTest.java (+2/-2)
test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesCastFailureTest.java (+2/-2)
test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesGeneralTest.java (+2/-2)
test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesInvokersTest.java (+2/-2)
test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesPermuteArgumentsTest.java (+2/-2)
test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesSpreadArgumentsTest.java (+2/-2)
test/hotspot/jtreg/runtime/cds/appcds/redefineClass/RedefineRunningMethods_Shared.java (+0/-1)
test/hotspot/jtreg/runtime/cds/appcds/test-classes/OldClassWithjsrApp.jasm (+57/-0)
test/hotspot/jtreg/runtime/cds/appcds/test-classes/pkg2/Child.jcod (+2/-2)
test/hotspot/jtreg/runtime/jni/CalleeSavedRegisters/FPRegs.java (+1/-4)
test/hotspot/jtreg/runtime/jni/CalleeSavedRegisters/exeFPRegs.c (+34/-2)
test/hotspot/jtreg/runtime/jni/daemonDestroy/exedaemonDestroy.c (+35/-1)
test/hotspot/jtreg/runtime/jni/nativeStack/libnativeStack.c (+8/-1)
test/hotspot/jtreg/serviceability/AsyncGetCallTrace/libAsyncGetCallTraceTest.cpp (+34/-1)
test/hotspot/jtreg/serviceability/dcmd/thread/ThreadDumpToFileTest.java (+11/-11)
test/hotspot/jtreg/serviceability/dcmd/vm/ClassHierarchyTest.java (+2/-2)
test/hotspot/jtreg/serviceability/dcmd/vm/ClassLoaderStatsTest.java (+27/-2)
test/hotspot/jtreg/serviceability/dcmd/vm/MallocInfoTest.java (+57/-0)
test/hotspot/jtreg/serviceability/jvmti/GetLocalVariable/GetSetLocalUnsuspended.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/GetOwnedMonitorInfo/GetOwnedMonitorInfoTest.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/GetOwnedMonitorStackDepthInfo/GetOwnedMonitorStackDepthInfoTest.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorVMEventsTest.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/MissedStackMapFrames/MissedStackMapFrames.java (+124/-0)
test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/MissedStackMapFrames/libMissedStackMapFrames.cpp (+223/-0)
test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/ModifyAnonymous.java (+3/-3)
test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineRunningMethods.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineRunningMethodsWithBacktrace.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/Breakpoint/breakpoint01/breakpoint01.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/ClassLoad/classload01/classload01.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/ClassPrepare/classprep01/classprep01.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/Exception/exception01/exception01.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/ExceptionCatch/excatch01/excatch01.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/FieldAccess/fieldacc01/fieldacc01.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/FieldAccess/fieldacc02/fieldacc02.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/FieldAccess/fieldacc03/fieldacc03.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/FieldAccess/fieldacc04/fieldacc04.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/FieldModification/fieldmod01/fieldmod01.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/FieldModification/fieldmod02/fieldmod02.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/FramePop/framepop01/framepop01.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/FramePop/framepop02/framepop02.java (+0/-2)
test/hotspot/jtreg/serviceability/jvmti/events/MethodEntry/mentry01/mentry01.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/MethodEntry/mentry02/mentry02.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/MethodExit/mexit01/mexit01.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/MethodExit/mexit02/mexit02.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/MonitorContendedEnter/mcontenter01/mcontenter01.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/MonitorContendedEntered/mcontentered01/mcontentered01.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/MonitorWait/monitorwait01/monitorwait01.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/MonitorWaited/monitorwaited01/monitorwaited01.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/SingleStep/singlestep01/singlestep01.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/events/SingleStep/singlestep03/singlestep03.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/stress/StackTrace/NotSuspended/GetStackTraceNotSuspendedStressTest.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/stress/StackTrace/Suspended/GetStackTraceSuspendedStressTest.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/stress/ThreadLocalStorage/SetGetThreadLocalStorageStressTest/SetGetThreadLocalStorageStressTest.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/thread/GetAllThreads/allthr01/allthr01.java (+2/-4)
test/hotspot/jtreg/serviceability/jvmti/thread/GetAllThreads/allthr01/liballthr01.cpp (+57/-63)
test/hotspot/jtreg/serviceability/jvmti/thread/GetCurrentContendedMonitor/contmon01/contmon01.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/thread/GetCurrentContendedMonitor/contmon02/contmon02.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/GetStackTraceCurrentThreadTest/GetStackTraceCurrentThreadTest.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/get_stack_trace.h (+2/-2)
test/hotspot/jtreg/serviceability/jvmti/thread/GetStackTrace/getstacktr03/libgetstacktr03.cpp (+2/-2)
test/hotspot/jtreg/serviceability/jvmti/thread/GetThreadInfo/thrinfo01/thrinfo01.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/thread/GetThreadState/thrstat01/thrstat01.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/thread/GetThreadState/thrstat03/thrstat03.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/thread/GetThreadState/thrstat05/thrstat05.java (+0/-1)
test/hotspot/jtreg/serviceability/jvmti/vthread/BoundVThreadTest/BoundVThreadTest.java (+73/-0)
test/hotspot/jtreg/serviceability/jvmti/vthread/BoundVThreadTest/libBoundVThreadTest.cpp (+303/-0)
test/hotspot/jtreg/serviceability/jvmti/vthread/InterruptThreadTest/InterruptThreadTest.java (+9/-3)
test/hotspot/jtreg/serviceability/jvmti/vthread/NullAsCurrentThreadTest/NullAsCurrentThreadTest.java (+9/-3)
test/hotspot/jtreg/serviceability/jvmti/vthread/PinnedTaskTest/PinnedTaskTest.java (+9/-3)
test/hotspot/jtreg/serviceability/jvmti/vthread/SelfSuspendDisablerTest/SelfSuspendDisablerTest.java (+9/-2)
test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java (+15/-1)
test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResume2/SuspendResume2.java (+15/-1)
test/hotspot/jtreg/serviceability/jvmti/vthread/SuspendResumeAll/SuspendResumeAll.java (+15/-1)
test/hotspot/jtreg/serviceability/jvmti/vthread/VThreadNotifyFramePopTest/VThreadNotifyFramePopTest.java (+15/-2)
test/hotspot/jtreg/serviceability/jvmti/vthread/VirtualStackTraceTest/VirtualStackTraceTest.java (+10/-3)
test/hotspot/jtreg/serviceability/jvmti/vthread/VirtualThreadStartTest/VirtualThreadStartTest.java (+12/-3)
test/hotspot/jtreg/serviceability/jvmti/vthread/premain/AgentWithVThreadTest.java (+0/-1)
test/hotspot/jtreg/serviceability/sa/UniqueVtableTest.java (+178/-0)
test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/Automatic.java (+34/-26)
test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/ProductionLimiter.java (+25/-1)
test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/ProductionParams.java (+2/-0)
test/hotspot/jtreg/testlibrary_tests/ir_framework/examples/BaseTestExample.java (+8/-1)
test/hotspot/jtreg/testlibrary_tests/ir_framework/examples/CustomRunTestExample.java (+52/-5)
test/hotspot/jtreg/testlibrary_tests/ir_framework/examples/IRExample.java (+17/-1)
test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestCheckedTests.java (+3/-3)
test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestIRMatching.java (+3/-3)
test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestPhaseIRMatching.java (+5/-5)
test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestPreconditions.java (+5/-5)
test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestRunTests.java (+2/-2)
test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestSafepointWhilePrinting.java (+143/-0)
test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestScenarios.java (+5/-5)
test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/safepoint_while_printing_hotspot_pid.log (+163/-0)
test/hotspot/jtreg/vmTestbase/nsk/jdi/BooleanType/_itself_/booleantype001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/BreakpointRequest/addInstanceFilter/instancefilter002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/BreakpointRequest/addInstanceFilter/instancefilter003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/BreakpointRequest/addThreadFilter/threadfilter002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/BreakpointRequest/addThreadFilter/threadfilter003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/BreakpointRequest/location/location001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ByteType/_itself_/bytetype001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/CharType/_itself_/chartype001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassLoaderReference/definedClasses/definedclasses001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassLoaderReference/visibleClasses/visibleclasses001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassPrepareRequest/addClassExclusionFilter/filter003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassPrepareRequest/addClassFilter_rt/filter_rt002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassPrepareRequest/addClassFilter_s/filter_s002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/invokeMethod/invokemethod011.java (+11/-1)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/invokeMethod/invokemethod011t.java (+6/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/invokeMethod/invokemethod012.java (+10/-1)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/invokeMethod/invokemethod012t.java (+12/-8)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/invokeMethod/invokemethod013.java (+10/-1)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassType/invokeMethod/invokemethod013t.java (+6/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/DoubleType/_itself_/doubletype001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/Event/request/request001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventIterator/nextEvent/nextevent001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventQueue/remove/remove004.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventQueue/remove_l/remove_l004.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/addCountFilter/addcountfilter001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/disable/disable001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/disable/disable002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/enable/enable001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/enable/enable002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/getProperty/getproperty001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/isEnabled/isenabled001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/putProperty/putproperty001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/setEnabled/setenabled001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/setEnabled/setenabled002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/setEnabled/setenabled003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/setSuspendPolicy/setsuspendpolicy001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequest/suspendPolicy/suspendpolicy001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/accessWatchpointRequests/accwtchpreq002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/breakpointRequests/breakpreq002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/classPrepareRequests/clsprepreq002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/classUnloadRequests/clsunlreq002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createAccessWatchpointRequest/craccwtchpreq003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createBreakpointRequest/crbreakpreq003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createClassPrepareRequest/cpreg001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createClassUnloadRequest/cureg001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createExceptionRequest/crexreq009.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createExceptionRequest/crexreq010.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createMethodEntryRequest/menreg001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createMethodExitRequest/mexreg001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createModificationWatchpointRequest/crmodwtchpreq003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createStepRequest/crstepreq002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createThreadDeathRequest/tdreg001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createThreadStartRequest/tsreg001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/createVMDeathRequest/vmdreg001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/deleteAllBreakpoints/delallbreakp002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/deleteEventRequest/delevtreq002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/deleteEventRequests/delevtreqs002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/exceptionRequests/excreq002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/methodEntryRequests/methentreq002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/methodExitRequests/methexitreq002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/modificationWatchpointRequests/modwtchpreq002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/stepRequests/stepreq002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/threadDeathRequests/thrdeathreq002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/threadStartRequests/thrstartreq002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventRequestManager/vmDeathRequests/vmdeathreq001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/eventIterator/eventiterator001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/eventIterator/eventiterator002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/eventIterator/eventiterator003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/eventIterator/eventiterator004.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume004.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume005.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume006.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume007.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume008.java (+16/-6)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume008a.java (+8/-5)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume010.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume011.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume012.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/resume/resume013.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy004.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy005.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy006.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy007.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy008.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy009.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy010.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy011.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy012.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy013.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy014.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy015.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy016.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy017.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/EventSet/suspendPolicy/suspendpolicy018.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/addClassExclusionFilter/filter002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/addClassFilter_rt/filter_rt002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/addClassFilter_s/filter_s002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/addInstanceFilter/instancefilter002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/addInstanceFilter/instancefilter003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/addThreadFilter/threadfilter002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/addThreadFilter/threadfilter003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/exception/exception001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/notifyCaught/notifycaught001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ExceptionRequest/notifyUncaught/notifyuncaught001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/FloatType/_itself_/floattype001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/IntegerType/_itself_/integertype001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/LocatableEvent/thread/thread001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/LongType/_itself_/longtype001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/Method/isObsolete/isobsolete001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/Method/isObsolete/isobsolete002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addClassExclusionFilter/filter002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addClassFilter_rt/filter_rt002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addClassFilter_s/filter_s002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addInstanceFilter/instancefilter002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addInstanceFilter/instancefilter003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addThreadFilter/threadfilter002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodEntryRequest/addThreadFilter/threadfilter003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addClassExclusionFilter/filter002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addClassFilter_rt/filter_rt002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addClassFilter_s/filter_s002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addInstanceFilter/instancefilter002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addInstanceFilter/instancefilter003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addThreadFilter/threadfilter002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/MethodExitRequest/addThreadFilter/threadfilter003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ModificationWatchpointEvent/_itself_/mwevent001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/disableCollection/disablecollection002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod010.java (+11/-1)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod010t.java (+12/-8)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod011.java (+11/-1)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod011t.java (+12/-8)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod012.java (+10/-1)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod012t.java (+12/-8)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod013.java (+10/-1)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/invokeMethod/invokemethod013t.java (+12/-8)
test/hotspot/jtreg/vmTestbase/nsk/jdi/PathSearchingVirtualMachine/classPath/classpath001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/PrimitiveType/_itself_/primitivetype001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/classLoader/classloader001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/getValue/getvalue001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/getValue/getvalue002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/getValue/getvalue003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/getValues/getvalues001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/isStatic/isstatic001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ReferenceType/isStatic/isstatic002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ShortType/_itself_/shorttype001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/addClassExclusionFilter/filter002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/addClassFilter_rt/filter_rt002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/addClassFilter_s/filter_s002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/addInstanceFilter/instancefilter002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/addInstanceFilter/instancefilter003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/depth/depth001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/depth/depth002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/depth/depth003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/size/size001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/size/size002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/StepRequest/thread/thread001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadDeathRequest/addThreadFilter/addthreadfilter001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadDeathRequest/addThreadFilter/addthreadfilter002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadDeathRequest/addThreadFilter/addthreadfilter003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadDeathRequest/addThreadFilter/addthreadfilter005.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/popFrames/popframes001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/popFrames/popframes002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/popFrames/popframes003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/popFrames/popframes004.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadReference/popFrames/popframes005.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadStartRequest/addThreadFilter/addthreadfilter001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadStartRequest/addThreadFilter/addthreadfilter002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadStartRequest/addThreadFilter/addthreadfilter003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/ThreadStartRequest/addThreadFilter/addthreadfilter005.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/VMDeathEvent/_itself_/vmdeath002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/VMDeathEvent/_itself_/vmdeath003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canAddMethod/canaddmethod001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canPopFrames/canpopframes001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canRedefineClasses/canredefineclasses001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canRequestVMDeathEvent/canreqvmdev001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canUnrestrictedlyRedefineClasses/curc001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canUseInstanceFilters/canusefilters001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canWatchFieldAccess/canwatchaccess001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/canWatchFieldModification/canwatchmod001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/redefineClasses/redefineclasses001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/VoidType/_itself_/voidtype001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addClassExclusionFilter/filter003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addClassExclusionFilter/filter004.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addClassFilter_rt/filter_rt003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addClassFilter_rt/filter_rt004.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addClassFilter_s/filter_s003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addClassFilter_s/filter_s004.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addInstanceFilter/instancefilter003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addInstanceFilter/instancefilter004.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addInstanceFilter/instancefilter005.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addInstanceFilter/instancefilter006.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addThreadFilter/addthreadfilter003.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addThreadFilter/addthreadfilter004.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addThreadFilter/addthreadfilter005.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/addThreadFilter/addthreadfilter006.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/field/field001.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/jdi/WatchpointRequest/field/field002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/monitoring/MemoryPoolMBean/isCollectionUsageThresholdExceeded/isexceeded001.java (+8/-11)
test/hotspot/jtreg/vmTestbase/nsk/monitoring/share/thread/ThreadUtils.java (+28/-5)
test/hotspot/jtreg/vmTestbase/nsk/share/jdi/EventFilters.java (+19/-11)
test/hotspot/jtreg/vmTestbase/nsk/share/jdi/EventHandler.java (+126/-99)
test/hotspot/jtreg/vmTestbase/nsk/share/jdi/JDIBase.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/share/runner/MultiRunner.java (+1/-1)
test/hotspot/jtreg/vmTestbase/nsk/share/test/StressOptions.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/stress/strace/StraceBase.java (+74/-0)
test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace001.java (+6/-65)
test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace002.java (+8/-65)
test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace003.java (+4/-108)
test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace004.java (+6/-104)
test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace005.java (+5/-124)
test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace006.java (+7/-68)
test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace007.java (+7/-60)
test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace008.java (+8/-62)
test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace009.java (+7/-60)
test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace010.java (+10/-65)
test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace011.java (+10/-62)
test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace012.java (+10/-64)
test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace013.java (+8/-65)
test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace014.java (+8/-60)
test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace015.java (+10/-64)
test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree002/btree002.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree005/btree005.java (+2/-2)
test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree008/btree008.java (+3/-2)
test/hotspot/jtreg/vmTestbase/nsk/sysdict/vm/stress/btree/btree011/btree011.java (+2/-2)
test/jdk/ProblemList-Xcomp.txt (+0/-1)
test/jdk/ProblemList-svc-vthread.txt (+2/-2)
test/jdk/ProblemList-zgc.txt (+0/-1)
test/jdk/ProblemList.txt (+8/-15)
test/jdk/TEST.groups (+4/-3)
test/jdk/build/releaseFile/CheckReleaseFile.java (+172/-0)
test/jdk/com/sun/crypto/provider/CICO/PBEFunc/PBEAlgorithm.java (+9/-2)
test/jdk/com/sun/crypto/provider/Cipher/KeyWrap/TestCipherKeyWrapperTest.java (+15/-7)
test/jdk/com/sun/crypto/provider/Cipher/KeyWrap/TestKeySizeCheck.java (+21/-5)
test/jdk/com/sun/crypto/provider/Cipher/PBE/DecryptWithoutParameters.java (+3/-1)
test/jdk/com/sun/crypto/provider/Cipher/PBE/PBEInvalidParamsTest.java (+5/-3)
test/jdk/com/sun/crypto/provider/Cipher/PBE/PBEKeysAlgorithmNames.java (+5/-3)
test/jdk/com/sun/crypto/provider/Cipher/PBE/PBEParametersTest.java (+5/-3)
test/jdk/com/sun/crypto/provider/Cipher/PBE/PBES2Test.java (+16/-4)
test/jdk/com/sun/crypto/provider/Cipher/PBE/PBESealedObject.java (+13/-8)
test/jdk/com/sun/crypto/provider/Cipher/PBE/PBKDF2Translate.java (+4/-2)
test/jdk/com/sun/crypto/provider/Cipher/PBE/PBMacBuffer.java (+8/-4)
test/jdk/com/sun/crypto/provider/Cipher/PBE/PBMacDoFinalVsUpdate.java (+10/-5)
test/jdk/com/sun/crypto/provider/Cipher/PBE/TestCipherKeyWrapperPBEKey.java (+16/-11)
test/jdk/com/sun/crypto/provider/Cipher/TextLength/TestCipherTextLength.java (+8/-4)
test/jdk/com/sun/crypto/provider/KeyGenerator/Test4628062.java (+12/-17)
test/jdk/com/sun/crypto/provider/Mac/HmacPBESHA1.java (+7/-4)
test/jdk/com/sun/crypto/provider/Mac/HmacSaltLengths.java (+5/-3)
test/jdk/com/sun/crypto/provider/Mac/MacClone.java (+8/-4)
test/jdk/com/sun/crypto/provider/Mac/Utils.java (+4/-2)
test/jdk/com/sun/crypto/provider/NSASuiteB/TestHmacSHAOids.java (+6/-3)
test/jdk/com/sun/jdi/ClassesByName2Test.java (+7/-14)
test/jdk/com/sun/jdi/DeferredStepTest.java (+3/-3)
test/jdk/com/sun/jdi/EATests.java (+10/-13)
test/jdk/com/sun/jdi/InterruptHangTest.java (+3/-3)
test/jdk/com/sun/jdi/InvokeHangTest.java (+5/-9)
test/jdk/com/sun/jdi/JdbLastErrorTest.java (+8/-4)
test/jdk/com/sun/jdi/JdbLockTest.java (+5/-5)
test/jdk/com/sun/jdi/JdbOptions.java (+0/-1)
test/jdk/com/sun/jdi/JdbStopThreadTest.java (+8/-2)
test/jdk/com/sun/jdi/JdbStopThreadidTest.java (+12/-13)
test/jdk/com/sun/jdi/MonitorEventTest.java (+3/-3)
test/jdk/com/sun/jdi/PopAsynchronousTest.java (+3/-3)
test/jdk/com/sun/jdi/ResumeOneThreadTest.java (+5/-9)
test/jdk/com/sun/jdi/SimulResumerTest.java (+5/-9)
test/jdk/com/sun/jdi/SuspendAfterDeath.java (+0/-2)
test/jdk/com/sun/jdi/TestScaffold.java (+21/-5)
test/jdk/com/sun/jdi/TwoThreadsTest.java (+5/-8)
test/jdk/com/sun/jndi/dns/Test6991580.java (+4/-3)
test/jdk/com/sun/jndi/ldap/lib/BaseLdapServer.java (+11/-2)
test/jdk/com/sun/management/HotSpotDiagnosticMXBean/DumpThreads.java (+14/-14)
test/jdk/com/sun/management/ThreadMXBean/VirtualThreads.java (+169/-0)
test/jdk/com/sun/net/httpserver/bugs/8300268/MaxIdleConnectionsTest.java (+145/-0)
test/jdk/com/sun/net/httpserver/bugs/8300268/jdk.httpserver/sun/net/httpserver/HttpServerAccess.java (+50/-0)
test/jdk/java/awt/Frame/ALTTABIconBeingErased/ALTTABIconBeingErased.java (+116/-0)
test/jdk/java/awt/Icon/IconChangingTest/IconChangingTest.java (+209/-0)
test/jdk/java/awt/Icon/IconShowingTest/IconShowingTest.java (+280/-0)
test/jdk/java/awt/Icon/IconTransparencyTest/IconTransparencyTest.java (+251/-0)
test/jdk/java/awt/Icon/SetLargeIconTest/SetLargeIconTest.java (+89/-0)
test/jdk/java/awt/List/ListGarbageCollectionTest/AwtListGarbageCollectionTest.java (+40/-30)
test/jdk/java/awt/Multiscreen/MultiScreenLocationTest/MultiScreenLocationTest.java (+13/-0)
test/jdk/java/awt/event/StressTest/MouseAndKeyEventStressTest.java (+556/-0)
test/jdk/java/awt/image/VolatileImage/ReportRenderingError.java (+132/-0)
test/jdk/java/awt/print/PageFormat/PrintContentCutOffTest.java (+358/-0)
test/jdk/java/awt/regtesthelpers/Util.java (+2/-0)
test/jdk/java/beans/beancontext/BeanContextSupport/AddRemove.java (+60/-0)
test/jdk/java/beans/beancontext/BeanContextSupport/NotificationDeadlock.java (+81/-0)
test/jdk/java/foreign/CallGeneratorHelper.java (+5/-124)
test/jdk/java/foreign/NativeTestHelper.java (+178/-2)
test/jdk/java/foreign/TestDowncallBase.java (+12/-11)
test/jdk/java/foreign/TestDowncallScope.java (+4/-3)
test/jdk/java/foreign/TestDowncallStack.java (+6/-9)
test/jdk/java/foreign/TestMatrix.java (+21/-0)
test/jdk/java/foreign/TestUpcallAsync.java (+17/-14)
test/jdk/java/foreign/TestUpcallBase.java (+26/-113)
test/jdk/java/foreign/TestUpcallHighArity.java (+19/-49)
test/jdk/java/foreign/TestUpcallScope.java (+16/-6)
test/jdk/java/foreign/TestUpcallStack.java (+22/-10)
test/jdk/java/foreign/TestVarArgs.java (+83/-22)
test/jdk/java/foreign/arraystructs/TestArrayStructs.java (+153/-0)
test/jdk/java/foreign/arraystructs/libArrayStructs.c (+239/-0)
test/jdk/java/foreign/callarranger/TestLinuxAArch64CallArranger.java (+39/-209)
test/jdk/java/foreign/callarranger/TestMacOsAArch64CallArranger.java (+393/-0)
test/jdk/java/foreign/callarranger/TestWindowsAArch64CallArranger.java (+350/-0)
test/jdk/java/foreign/largestub/TestLargeStub.java (+57/-0)
test/jdk/java/foreign/libVarArgs.c (+2/-0)
test/jdk/java/foreign/nested/TestNested.java (+260/-0)
test/jdk/java/foreign/nested/libNested.c (+94/-0)
test/jdk/java/foreign/shared.h (+1/-0)
test/jdk/java/foreign/stackwalk/TestReentrantUpcalls.java (+89/-0)
test/jdk/java/foreign/stackwalk/libReentrantUpcalls.c (+33/-0)
test/jdk/java/io/Serializable/serialFilter/SerialFilterTest.java (+2/-2)
test/jdk/java/lang/Character/Latin1CaseConversion.java (+92/-0)
test/jdk/java/lang/Float/Binary16ConversionNaN.java (+1/-2)
test/jdk/java/lang/Math/Atan2Tests.java (+193/-17)
test/jdk/java/lang/Math/Clamp.java (+281/-0)
test/jdk/java/lang/Math/CubeRootTests.java (+11/-14)
test/jdk/java/lang/Math/Expm1Tests.java (+11/-13)
test/jdk/java/lang/Math/HyperbolicTests.java (+18/-34)
test/jdk/java/lang/Math/InverseTrigTests.java (+187/-0)
test/jdk/java/lang/Math/Log10Tests.java (+17/-19)
test/jdk/java/lang/Math/Log1pTests.java (+8/-13)
test/jdk/java/lang/Math/LogTests.java (+95/-0)
test/jdk/java/lang/Math/SinCosTests.java (+129/-0)
test/jdk/java/lang/Math/SqrtTests.java (+105/-0)
test/jdk/java/lang/Math/TanTests.java (+56/-15)
test/jdk/java/lang/Math/Tests.java (+34/-1)
test/jdk/java/lang/RuntimeTests/ExitLogging-FINE.properties (+8/-0)
test/jdk/java/lang/RuntimeTests/ExitLogging-INFO.properties (+8/-0)
test/jdk/java/lang/RuntimeTests/RuntimeExitLogTest.java (+153/-0)
test/jdk/java/lang/StackWalker/HiddenFrames.java (+2/-2)
test/jdk/java/lang/StackWalker/VerifyStackTrace.java (+2/-2)
test/jdk/java/lang/StrictMath/Atan2Tests.java (+191/-0)
test/jdk/java/lang/StrictMath/ExhaustingTests.java (+173/-0)
test/jdk/java/lang/StrictMath/ExpTests.java (+2/-2)
test/jdk/java/lang/StrictMath/Expm1Tests.java (+95/-18)
test/jdk/java/lang/StrictMath/FdlibmTranslit.java (+2203/-4)
test/jdk/java/lang/StrictMath/HyperbolicTests.java (+208/-27)
test/jdk/java/lang/StrictMath/InverseTrigTests.java (+226/-0)
test/jdk/java/lang/StrictMath/Log10Tests.java (+61/-9)
test/jdk/java/lang/StrictMath/Log1pTests.java (+86/-8)
test/jdk/java/lang/StrictMath/LogTests.java (+136/-0)
test/jdk/java/lang/StrictMath/SqrtTests.java (+130/-0)
test/jdk/java/lang/StrictMath/TrigTests.java (+318/-0)
test/jdk/java/lang/String/CompactString/EqualsIgnoreCase.java (+31/-2)
test/jdk/java/lang/String/IndexOfBeginEnd.java (+223/-0)
test/jdk/java/lang/Thread/BuilderTest.java (+48/-49)
test/jdk/java/lang/Thread/JoinWithDuration.java (+17/-15)
test/jdk/java/lang/Thread/SleepWithDuration.java (+10/-10)
test/jdk/java/lang/Thread/UncaughtExceptionsTest.java (+51/-30)
test/jdk/java/lang/Thread/virtual/Collectable.java (+7/-7)
test/jdk/java/lang/Thread/virtual/CustomScheduler.java (+38/-41)
test/jdk/java/lang/Thread/virtual/GetStackTrace.java (+4/-3)
test/jdk/java/lang/Thread/virtual/HoldsLock.java (+15/-13)
test/jdk/java/lang/Thread/virtual/JfrEvents.java (+8/-8)
test/jdk/java/lang/Thread/virtual/Locking.java (+11/-11)
test/jdk/java/lang/Thread/virtual/ParkWithFixedThreadPool.java (+3/-5)
test/jdk/java/lang/Thread/virtual/Parking.java (+28/-29)
test/jdk/java/lang/Thread/virtual/PreviewFeaturesNotEnabled.java (+15/-15)
test/jdk/java/lang/Thread/virtual/Reflection.java (+23/-25)
test/jdk/java/lang/Thread/virtual/StackTraces.java (+8/-8)
test/jdk/java/lang/Thread/virtual/ThreadAPI.java (+193/-211)
test/jdk/java/lang/Thread/virtual/ThreadLocals.java (+28/-28)
test/jdk/java/lang/Thread/virtual/TracePinnedThreads.java (+8/-8)
test/jdk/java/lang/Thread/virtual/WaitNotify.java (+10/-10)
test/jdk/java/lang/ThreadGroup/BasicTests.java (+47/-46)
test/jdk/java/lang/invoke/VarHandles/describeConstable/DescribeConstableTest.java (+93/-0)
test/jdk/java/lang/invoke/VarHandles/describeConstable/p/C.java (+4/-21)
test/jdk/java/lang/invoke/VarHandles/describeConstable/p/D.java (+5/-20)
test/jdk/java/lang/invoke/VarHandles/describeConstable/p/I.java (+7/-20)
test/jdk/java/lang/invoke/VarHandles/describeConstable/p/q/Q.java (+7/-20)
test/jdk/java/lang/invoke/callerSensitive/csm/jdk/test/MethodInvokeTest.java (+2/-2)
test/jdk/java/lang/invoke/defineHiddenClass/UnloadingTest.java (+2/-2)
test/jdk/java/lang/invoke/lambda/LambdaAsm.java (+2/-2)
test/jdk/java/lang/invoke/lambda/LambdaStackTrace.java (+2/-2)
test/jdk/java/lang/management/ThreadMXBean/VirtualThreads.java (+152/-99)
test/jdk/java/lang/module/ModuleDescriptorTest.java (+12/-8)
test/jdk/java/lang/reflect/MethodHandleAccessorsTest.java (+69/-3)
test/jdk/java/lang/reflect/exeCallerAccessTest/CallerAccessTest.java (+0/-3)
test/jdk/java/lang/reflect/exeCallerAccessTest/exeCallerAccessTest.c (+23/-1)
test/jdk/java/net/DatagramSocket/DatagramSocketMulticasting.java (+47/-45)
test/jdk/java/net/httpclient/AbstractThrowingPublishers.java (+6/-7)
test/jdk/java/net/httpclient/AbstractThrowingPushPromises.java (+4/-3)
test/jdk/java/net/httpclient/AbstractThrowingSubscribers.java (+6/-7)
test/jdk/java/net/httpclient/AggregateRequestBodyTest.java (+6/-9)
test/jdk/java/net/httpclient/AsyncExecutorShutdown.java (+8/-10)
test/jdk/java/net/httpclient/AuthFilterCacheTest.java (+7/-8)
test/jdk/java/net/httpclient/BasicRedirectTest.java (+6/-8)
test/jdk/java/net/httpclient/ByteArrayPublishers.java (+1/-1)
test/jdk/java/net/httpclient/CancelRequestTest.java (+42/-24)
test/jdk/java/net/httpclient/CancelStreamedBodyTest.java (+6/-7)
test/jdk/java/net/httpclient/CookieHeaderTest.java (+13/-14)
test/jdk/java/net/httpclient/DebugLoggerTest.java (+333/-0)
test/jdk/java/net/httpclient/DependentActionsTest.java (+6/-7)
test/jdk/java/net/httpclient/DependentPromiseActionsTest.java (+3/-2)
test/jdk/java/net/httpclient/DigestEchoClient.java (+1/-1)
test/jdk/java/net/httpclient/EncodedCharsInURI.java (+7/-7)
test/jdk/java/net/httpclient/ExecutorShutdown.java (+7/-9)
test/jdk/java/net/httpclient/ExpectContinueTest.java (+5/-5)
test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest.java (+6/-11)
test/jdk/java/net/httpclient/FilePublisher/FilePublisherTest.java (+6/-8)
test/jdk/java/net/httpclient/ForbiddenHeadTest.java (+6/-8)
test/jdk/java/net/httpclient/GZIPInputStreamTest.java (+6/-7)
test/jdk/java/net/httpclient/HeadTest.java (+14/-14)
test/jdk/java/net/httpclient/HttpClientLocalAddrTest.java (+8/-8)
test/jdk/java/net/httpclient/HttpRedirectTest.java (+5/-7)
test/jdk/java/net/httpclient/HttpSlowServerTest.java (+5/-7)
test/jdk/java/net/httpclient/HttpsTunnelTest.java (+5/-7)
test/jdk/java/net/httpclient/ISO_8859_1_Test.java (+6/-7)
test/jdk/java/net/httpclient/InvalidInputStreamSubscriptionRequest.java (+8/-9)
test/jdk/java/net/httpclient/InvalidSubscriptionRequest.java (+8/-9)
test/jdk/java/net/httpclient/LargeHandshakeTest.java (+5/-7)
test/jdk/java/net/httpclient/LargeResponseTest.java (+5/-7)
test/jdk/java/net/httpclient/LineBodyHandlerTest.java (+6/-7)
test/jdk/java/net/httpclient/ManyRequestsLegacy.java (+5/-5)
test/jdk/java/net/httpclient/NonAsciiCharsInURI.java (+6/-7)
test/jdk/java/net/httpclient/PathSubscriber/BodyHandlerOfFileDownloadTest.java (+6/-11)
test/jdk/java/net/httpclient/PathSubscriber/BodyHandlerOfFileTest.java (+6/-11)
test/jdk/java/net/httpclient/PathSubscriber/BodySubscriberOfFileTest.java (+6/-11)
test/jdk/java/net/httpclient/ProxySelectorTest.java (+12/-14)
test/jdk/java/net/httpclient/RedirectMethodChange.java (+6/-8)
test/jdk/java/net/httpclient/RedirectWithCookie.java (+6/-8)
test/jdk/java/net/httpclient/Response1xxTest.java (+8/-8)
test/jdk/java/net/httpclient/Response204V2Test.java (+4/-3)
test/jdk/java/net/httpclient/ResponsePublisher.java (+6/-7)
test/jdk/java/net/httpclient/RetryWithCookie.java (+7/-9)
test/jdk/java/net/httpclient/SpecialHeadersTest.java (+6/-7)
test/jdk/java/net/httpclient/StreamCloseTest.java (+1/-2)
test/jdk/java/net/httpclient/StreamingBody.java (+6/-8)
test/jdk/java/net/httpclient/UnauthorizedTest.java (+6/-8)
test/jdk/java/net/httpclient/UserCookieTest.java (+18/-20)
test/jdk/java/net/httpclient/http2/BadHeadersTest.java (+21/-14)
test/jdk/java/net/httpclient/http2/IdleConnectionTimeoutTest.java (+58/-24)
test/jdk/java/net/httpclient/http2/NoBodyTest.java (+3/-1)
test/jdk/java/net/httpclient/http2/TrailingHeadersTest.java (+325/-0)
test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/common/HttpServerAdapters.java (+88/-0)
test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http2/BodyOutputStream.java (+5/-1)
test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http2/Http2TestServer.java (+1/-1)
test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http2/Http2TestServerConnection.java (+22/-2)
test/jdk/java/net/httpclient/lib/jdk/httpclient/test/lib/http2/Queue.java (+10/-3)
test/jdk/java/net/vthread/BlockingSocketOps.java (+37/-37)
test/jdk/java/net/vthread/HttpALot.java (+1/-2)
test/jdk/java/nio/channels/DatagramChannel/AdaptorAsyncCloseAfterReceive.java (+128/-0)
test/jdk/java/nio/channels/vthread/BlockingChannelOps.java (+39/-39)
test/jdk/java/nio/charset/Charset/RegisteredCharsets.java (+8/-2)
test/jdk/java/nio/file/Path/PathOps.java (+30/-2)
test/jdk/java/nio/file/WatchService/SensitivityModifier.java (+17/-86)
test/jdk/java/rmi/server/UnicastRemoteObject/serialFilter/FilterUROTest.java (+3/-0)
test/jdk/java/rmi/testlibrary/TestLibrary.java (+2/-2)
test/jdk/java/rmi/transport/handshakeTimeout/HandshakeTimeout.java (+13/-70)
test/jdk/java/security/MessageDigest/TestCloneable.java (+54/-4)
test/jdk/java/security/Policy/Root/Root.java (+38/-2)
test/jdk/java/security/testlibrary/SimpleOCSPServer.java (+52/-13)
test/jdk/java/time/test/java/time/chrono/TestExampleCode.java (+1/-1)
test/jdk/java/time/test/java/time/format/TestUTCParse.java (+77/-0)
test/jdk/java/util/Formatter/Basic-X.java.template (+29/-1)
test/jdk/java/util/Formatter/BasicBigDecimal.java (+29/-1)
test/jdk/java/util/Formatter/BasicDouble.java (+29/-1)
test/jdk/java/util/Formatter/BasicDoubleObject.java (+29/-1)
test/jdk/java/util/Formatter/BasicFloat.java (+29/-1)
test/jdk/java/util/Formatter/BasicFloatObject.java (+29/-1)
test/jdk/java/util/Formatter/BasicTestLauncher.java (+1/-1)
test/jdk/java/util/Locale/LanguageSubtagRegistryTest.java (+3/-3)
test/jdk/java/util/Locale/StreamAvailableLocales.java (+82/-0)
test/jdk/java/util/concurrent/Executors/AutoShutdown.java (+100/-75)
test/jdk/java/util/concurrent/ThreadPerTaskExecutor/ThreadPerTaskExecutorTest.java (+182/-143)
test/jdk/java/util/jar/JarFile/IgnoreUnrelatedSignatureFiles.java (+367/-0)
test/jdk/java/util/jar/JarFile/SignedJarPendingBlock.java (+173/-0)
test/jdk/java/util/jar/JarFile/VerifySignedJar.java (+98/-26)
test/jdk/java/util/zip/ZipFile/InvalidBytesInEntryNameOrComment.java (+183/-0)
test/jdk/java/util/zip/ZipFile/TestZipFileEncodings.java (+80/-1)
test/jdk/javax/imageio/plugins/bmp/BMP1bppImageWithPaletteTest.java (+64/-0)
test/jdk/javax/imageio/stream/ReadFullyTest.java (+45/-48)
test/jdk/javax/management/MBeanServer/ExceptionTest.java (+7/-4)
test/jdk/javax/management/ObjectName/ApplyWildcardTest.java (+10/-2)
test/jdk/javax/management/remote/mandatory/connection/DefaultAgentFilterTest.java (+136/-12)
test/jdk/javax/management/remote/mandatory/notif/NotifReconnectDeadlockTest.java (+14/-8)
test/jdk/javax/management/security/HashedPasswordFileTest.java (+11/-5)
test/jdk/javax/net/ssl/ALPN/SSLEngineAlpnTest.java (+0/-5)
test/jdk/javax/net/ssl/ALPN/SSLServerSocketAlpnTest.java (+30/-257)
test/jdk/javax/net/ssl/ALPN/SSLSocketAlpnTest.java (+18/-255)
test/jdk/javax/net/ssl/SSLEngine/CheckTlsEngineResults.java (+709/-0)
test/jdk/javax/net/ssl/SSLEngine/ConnectionTest.java (+340/-418)
test/jdk/javax/net/ssl/SSLEngine/EngineCloseOnAlert.java (+47/-45)
test/jdk/javax/net/ssl/SSLEngine/HandshakeWithInvalidRecordVersion.java (+226/-0)
test/jdk/javax/net/ssl/SSLEngine/TestAllSuites.java (+118/-134)
test/jdk/javax/net/ssl/TLSv12/DisabledShortRSAKeys.java (+18/-150)
test/jdk/javax/net/ssl/templates/SSLContextTemplate.java (+851/-470)
test/jdk/javax/net/ssl/templates/SSLEngineTemplate.java (+1/-1)
test/jdk/javax/net/ssl/templates/SSLSocketTemplate.java (+3/-737)
test/jdk/javax/rmi/ssl/SSLSocketParametersTest.java (+89/-148)
test/jdk/javax/swing/JButton/HtmlButtonWithTextAndIcon.java (+125/-0)
test/jdk/javax/swing/JComboBox/JComboBoxWithTitledBorderTest.java (+183/-0)
test/jdk/javax/swing/JComponent/7154030/bug7154030.java (+2/-0)
test/jdk/javax/swing/JFileChooser/CustomApproveButtonTest.java (+100/-0)
test/jdk/javax/swing/JFileChooser/JFileChooserFontReset.java (+82/-0)
test/jdk/javax/swing/JFileChooser/JFileChooserSetLocationTest.java (+13/-1)
test/jdk/javax/swing/SwingWorker/TestDoneBeforeDoInBackground.java (+147/-0)
test/jdk/javax/swing/TestDefListModelException.java (+65/-0)
test/jdk/javax/swing/dnd/7171812/bug7171812.java (+30/-13)
test/jdk/javax/swing/plaf/metal/MetalBorders/ScaledMetalBorderTest.java (+351/-0)
test/jdk/javax/swing/text/DefaultCaret/SetCaretRateTest.java (+46/-0)
test/jdk/javax/xml/crypto/dsig/SecureValidationSystemProperty.java (+102/-0)
test/jdk/javax/xml/crypto/dsig/data/signature-enveloped-dsa-512.xml (+4/-0)
test/jdk/jdk/classfile/AccessFlagsTest.java (+87/-0)
test/jdk/jdk/classfile/AdaptCodeTest.java (+133/-0)
test/jdk/jdk/classfile/AdvancedTransformationsTest.java (+357/-0)
test/jdk/jdk/classfile/AnnotationModelTest.java (+63/-0)
test/jdk/jdk/classfile/AnnotationTest.java (+210/-0)
test/jdk/jdk/classfile/ArrayTest.java (+114/-0)
test/jdk/jdk/classfile/BSMTest.java (+112/-0)
test/jdk/jdk/classfile/BasicBlockTest.java (+64/-0)
test/jdk/jdk/classfile/BuilderBlockTest.java (+308/-0)
test/jdk/jdk/classfile/BuilderParamTest.java (+67/-0)
test/jdk/jdk/classfile/BuilderTryCatchTest.java (+305/-0)
test/jdk/jdk/classfile/ClassHierarchyInfoTest.java (+107/-0)
test/jdk/jdk/classfile/ClassPrinterTest.java (+847/-0)
test/jdk/jdk/classfile/ConstantPoolCopyTest.java (+255/-0)
test/jdk/jdk/classfile/CorpusTest.java (+268/-0)
test/jdk/jdk/classfile/FilterDeadLabelsTest.java (+85/-0)
test/jdk/jdk/classfile/LDCTest.java (+109/-0)
test/jdk/jdk/classfile/LimitsTest.java (+47/-0)
test/jdk/jdk/classfile/LowAdaptTest.java (+112/-0)
test/jdk/jdk/classfile/LowJCovAttributeTest.java (+183/-0)
test/jdk/jdk/classfile/LowModuleTest.java (+222/-0)
test/jdk/jdk/classfile/LvtTest.java (+319/-0)
test/jdk/jdk/classfile/MassAdaptCopyCodeTest.java (+104/-0)
test/jdk/jdk/classfile/MassAdaptCopyPrimitiveMatchCodeTest.java (+228/-0)
test/jdk/jdk/classfile/ModuleBuilderTest.java (+201/-0)
test/jdk/jdk/classfile/ModuleDescTest.java (+50/-0)
test/jdk/jdk/classfile/OneToOneTest.java (+160/-0)
test/jdk/jdk/classfile/OpcodesValidationTest.java (+131/-0)
test/jdk/jdk/classfile/PackageDescTest.java (+63/-0)
test/jdk/jdk/classfile/ShortJumpsFixTest.java (+255/-0)
test/jdk/jdk/classfile/SignaturesTest.java (+171/-0)
test/jdk/jdk/classfile/StackMapsTest.java (+242/-0)
test/jdk/jdk/classfile/StackTrackerTest.java (+109/-0)
test/jdk/jdk/classfile/StreamedVsListTest.java (+246/-0)
test/jdk/jdk/classfile/SwapTest.java (+64/-0)
test/jdk/jdk/classfile/TEST.properties (+14/-0)
test/jdk/jdk/classfile/TempConstantPoolBuilderTest.java (+73/-0)
test/jdk/jdk/classfile/TestRecordComponent.java (+121/-0)
test/jdk/jdk/classfile/TransformTests.java (+133/-0)
test/jdk/jdk/classfile/Utf8EntryTest.java (+205/-0)
test/jdk/jdk/classfile/UtilTest.java (+72/-0)
test/jdk/jdk/classfile/VerifierSelfTest.java (+90/-0)
test/jdk/jdk/classfile/WriteTest.java (+134/-0)
test/jdk/jdk/classfile/examples/AnnotationsExamples.java (+199/-0)
test/jdk/jdk/classfile/examples/ExampleGallery.java (+290/-0)
test/jdk/jdk/classfile/examples/ExperimentalTransformExamples.java (+65/-0)
test/jdk/jdk/classfile/examples/ModuleExamples.java (+93/-0)
test/jdk/jdk/classfile/examples/TransformExamples.java (+73/-0)
test/jdk/jdk/classfile/helpers/ByteArrayClassLoader.java (+86/-0)
test/jdk/jdk/classfile/helpers/ClassRecord.java (+1267/-0)
test/jdk/jdk/classfile/helpers/InstructionModelToCodeBuilder.java (+95/-0)
test/jdk/jdk/classfile/helpers/RebuildingTransformation.java (+590/-0)
test/jdk/jdk/classfile/helpers/TestConstants.java (+40/-0)
test/jdk/jdk/classfile/helpers/TestUtil.java (+139/-0)
test/jdk/jdk/classfile/helpers/Transforms.java (+592/-0)
test/jdk/jdk/classfile/testdata/Lvt.java (+50/-0)
test/jdk/jdk/classfile/testdata/Pattern1.java (+45/-0)
test/jdk/jdk/classfile/testdata/Pattern10.java (+15/-33)
test/jdk/jdk/classfile/testdata/Pattern2.java (+56/-0)
test/jdk/jdk/classfile/testdata/Pattern3.java (+36/-0)
test/jdk/jdk/classfile/testdata/Pattern4.java (+40/-0)
test/jdk/jdk/classfile/testdata/Pattern5.java (+37/-0)
test/jdk/jdk/classfile/testdata/Pattern6.java (+46/-0)
test/jdk/jdk/classfile/testdata/Pattern7.java (+41/-0)
test/jdk/jdk/classfile/testdata/Pattern8.java (+89/-0)
test/jdk/jdk/classfile/testdata/Pattern9.java (+42/-0)
test/jdk/jdk/classfile/testdata/TypeAnnotationPattern.java (+130/-0)
test/jdk/jdk/incubator/concurrent/ScopedValue/ManyBindings.java (+11/-10)
test/jdk/jdk/incubator/concurrent/ScopedValue/ScopeValueAPI.java (+85/-74)
test/jdk/jdk/incubator/concurrent/StructuredTaskScope/PreviewFeaturesNotEnabled.java (+7/-7)
test/jdk/jdk/incubator/concurrent/StructuredTaskScope/StructuredTaskScopeTest.java (+190/-147)
test/jdk/jdk/incubator/concurrent/StructuredTaskScope/StructuredThreadDumpTest.java (+7/-7)
test/jdk/jdk/incubator/concurrent/StructuredTaskScope/WithScopedValue.java (+27/-23)
test/jdk/jdk/internal/jline/AbstractWindowsTerminalTest.java (+1/-1)
test/jdk/jdk/internal/jline/KeyConversionTest.java (+1/-1)
test/jdk/jdk/internal/misc/ThreadFlock/ThreadFlockTest.java (+140/-115)
test/jdk/jdk/internal/misc/ThreadFlock/WithScopedValue.java (+32/-31)
test/jdk/jdk/internal/vm/Continuation/BasicExt.java (+174/-53)
test/jdk/jdk/internal/vm/Continuation/Fuzz.java (+5/-2)
test/jdk/jdk/internal/vm/TestTranslatedException.java (+1/-1)
test/jdk/jdk/jfr/api/consumer/streaming/TestJVMCrash.java (+4/-1)
test/jdk/jdk/jfr/event/gc/collection/TestG1ParallelPhases.java (+4/-4)
test/jdk/jdk/jfr/event/runtime/TestNativeMemoryUsageEvents.java (+20/-0)
test/jdk/jdk/jfr/jcmd/TestJcmdOptionSpecifiedOnce.java (+46/-0)
test/jdk/jdk/jfr/jmx/streaming/TestDelegated.java (+3/-7)
test/jdk/jdk/jfr/startupargs/TestStartupOptionSpecifiedOnce.java (+56/-0)
test/jdk/jdk/security/jarsigner/Spec.java (+1/-27)
test/jdk/jni/nullCaller/NullCallerTest.java (+0/-1)
test/jdk/jni/nullCaller/exeNullCallerTest.cpp (+26/-2)
test/jdk/security/infra/java/security/cert/CertPathValidator/certification/ActalisCA.java (+38/-46)
test/jdk/security/infra/java/security/cert/CertPathValidator/certification/CertignaCA.java (+227/-0)
test/jdk/sun/management/jmxremote/bootstrap/exelauncher.c (+3/-2)
test/jdk/sun/management/jmxremote/startstop/JMXStatusTest.java (+2/-2)
test/jdk/sun/management/windows/exerevokeall.c (+5/-4)
test/jdk/sun/net/www/http/HttpClient/KeepAliveTest.java (+2/-2)
test/jdk/sun/nio/cs/TestGB18030.java (+17/-4)
test/jdk/sun/nio/cs/mapping/CoderTest.java (+13/-3)
test/jdk/sun/nio/cs/mapping/GB18030.b2c (+41/-40)
test/jdk/sun/nio/cs/mapping/GB18030_2000.b2c (+1/-3)
test/jdk/sun/security/lib/cacerts/VerifyCACerts.java (+38/-35)
test/jdk/sun/security/pkcs11/KeyPairGenerator/TestDefaultDHPrivateExpSize.java (+118/-0)
test/jdk/sun/security/provider/KeyStore/DKSTest.java (+25/-5)
test/jdk/sun/security/provider/certpath/OCSP/OCSPNoContentLength.java (+1/-2)
test/jdk/sun/security/ssl/ALPN/AlpnGreaseTest.java (+1/-1)
test/jdk/sun/security/ssl/CipherSuite/DisabledCurve.java (+11/-9)
test/jdk/sun/security/ssl/CipherSuite/RestrictSignatureScheme.java (+9/-126)
test/jdk/sun/security/ssl/DHKeyExchange/DHEKeySizing.java (+7/-7)
test/jdk/sun/security/ssl/SSLEngineImpl/SSLEngineBadBufferArrayAccess.java (+47/-56)
test/jdk/sun/security/ssl/SSLSessionImpl/InvalidateSession.java (+1/-1)
test/jdk/sun/security/ssl/SSLSocketImpl/ClientSocketCloseHang.java (+1/-1)
test/jdk/sun/security/ssl/SSLSocketImpl/SSLSocketBruteForceClose.java (+102/-0)
test/jdk/sun/security/ssl/SSLSocketImpl/SSLSocketClose.java (+62/-106)
test/jdk/sun/security/ssl/SSLSocketImpl/SocketExceptionForSocketIssues.java (+54/-96)
test/jdk/sun/security/ssl/SignatureScheme/SigAlgosExtTestWithTLS12.java (+11/-124)
test/jdk/sun/security/ssl/SignatureScheme/SigSchemePropOrdering.java (+2/-2)
test/jdk/sun/security/ssl/SignatureScheme/Tls13NamedGroups.java (+9/-128)
test/jdk/sun/security/ssl/X509TrustManagerImpl/TooManyCAs.java (+56/-109)
test/jdk/sun/security/tools/jarsigner/Options.java (+1/-56)
test/jdk/sun/security/tools/keytool/KeyToolTest.java (+3/-3)
test/jdk/sun/security/tools/keytool/WeakSecretKeyTest.java (+21/-2)
test/jdk/sun/security/x509/AlgorithmId/NullParams.java (+115/-0)
test/jdk/sun/security/x509/AlgorithmId/Uppercase.java (+59/-0)
test/jdk/sun/text/resources/LocaleData (+56/-53)
test/jdk/sun/text/resources/LocaleData.cldr (+4/-1)
test/jdk/sun/text/resources/LocaleDataTest.java (+2/-1)
test/jdk/tools/jlink/JLinkTest.java (+26/-0)
test/jdk/tools/jlink/plugins/CompressorPluginTest.java (+62/-1)
test/jdk/tools/jpackage/share/jdk/jpackage/tests/MainClassTest.java (+2/-2)
test/jtreg-ext/requires/VMProps.java (+89/-2)
test/langtools/jdk/javadoc/doclet/testClassCrossReferences/TestClassCrossReferences.java (+3/-3)
test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/TestExternalOverriddenMethod.java (+3/-3)
test/langtools/jdk/javadoc/doclet/testHref/TestHref.java (+2/-2)
test/langtools/jdk/javadoc/doclet/testInheritance/TestInheritance.java (+107/-0)
test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java (+87/-37)
test/langtools/jdk/javadoc/doclet/testInterface/pkg3/I.java (+39/-0)
test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOption.java (+2/-2)
test/langtools/jdk/javadoc/doclet/testLinkPlatform/TestLinkPlatform.java (+41/-17)
test/langtools/jdk/javadoc/doclet/testNoTagName/TestNoTagName.java (+133/-0)
test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestBadOverride.java (+3/-11)
test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestSpecifiedBy.java (+95/-0)
test/langtools/jdk/javadoc/doclet/testRecordTypes/examples/SerializableProxy.java (+1/-1)
test/langtools/jdk/javadoc/tool/IgnoreSourceErrors.java (+2/-2)
test/langtools/jdk/javadoc/tool/sampleapi/lib/sampleapi/generator/PackageGenerator.java (+9/-4)
test/langtools/jdk/jshell/ExecPtyGetFlagsToSetTest.java (+5/-3)
test/langtools/jdk/jshell/ModifiersTest.java (+2/-2)
test/langtools/jdk/jshell/SnippetHighlightTest.java (+17/-2)
test/langtools/jdk/jshell/Test8294583.java (+0/-1)
test/langtools/jdk/jshell/Test8296012.java (+0/-1)
test/langtools/jdk/jshell/ToolEnablePreviewTest.java (+0/-1)
test/langtools/tools/doclint/BadPackageCommentTest.java (+1/-1)
test/langtools/tools/doclint/BadPackageCommentTest.out (+2/-8)
test/langtools/tools/doclint/HtmlTagsTest.java (+8/-0)
test/langtools/tools/doclint/HtmlTagsTest.out (+7/-1)
test/langtools/tools/doclint/ReturnTest.java (+31/-0)
test/langtools/tools/doclint/ReturnTest.out (+19/-0)
test/langtools/tools/doclint/SummaryTest.java (+12/-3)
test/langtools/tools/doclint/SummaryTest.out (+10/-1)
test/langtools/tools/javac/4241573/T4241573.java (+1/-6)
test/langtools/tools/javac/6400872/T6400872.java (+12/-12)
test/langtools/tools/javac/6567415/T6567415.java (+5/-30)
test/langtools/tools/javac/8230827/T8230827.out (+5/-5)
test/langtools/tools/javac/ConditionalExpressionResolvePending.java (+5/-1)
test/langtools/tools/javac/InnerNamedConstant_2_A.out (+1/-1)
test/langtools/tools/javac/InnerNamedConstant_2_B.out (+1/-1)
test/langtools/tools/javac/NoStringToLower.java (+1/-4)
test/langtools/tools/javac/Paths/6638501/JarFromManifestFailure.java (+12/-12)
test/langtools/tools/javac/Paths/TestCompileJARInClassPath.java (+3/-3)
test/langtools/tools/javac/StoreClass.out (+2/-2)
test/langtools/tools/javac/T6403466.java (+1/-3)
test/langtools/tools/javac/T7159016.java (+2/-7)
test/langtools/tools/javac/T8003967/DetectMutableStaticFields.java (+6/-1)
test/langtools/tools/javac/T8071847/T8071847.java (+3/-3)
test/langtools/tools/javac/T8152616.java (+6/-4)
test/langtools/tools/javac/T8301025.java (+22/-35)
test/langtools/tools/javac/TryWithResources/BadTwr.out (+1/-1)
test/langtools/tools/javac/annotations/DeprecationWarningTest.java (+15/-0)
test/langtools/tools/javac/annotations/DeprecationWarningTest.out (+4/-0)
test/langtools/tools/javac/annotations/crashOnUnknownAttr/A.jcod (+156/-0)
test/langtools/tools/javac/annotations/crashOnUnknownAttr/CrashOnUnknownTargetTypeTest.java (+20/-0)
test/langtools/tools/javac/annotations/crashOnUnknownAttr/CrashOnUnknownTargetTypeTest.out (+13/-0)
test/langtools/tools/javac/annotations/typeAnnotations/classfile/AnonymousClassTest.java (+27/-1)
test/langtools/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java (+4/-2)
test/langtools/tools/javac/annotations/typeAnnotations/referenceinfos/Fields.java (+25/-4)
test/langtools/tools/javac/api/T6483788.java (+1/-6)
test/langtools/tools/javac/api/T6877206.java (+9/-8)
test/langtools/tools/javac/api/guide/Test.java (+9/-6)
test/langtools/tools/javac/classfiles/attributes/LineNumberTable/LineNumberTestBase.java (+5/-1)
test/langtools/tools/javac/classfiles/attributes/SourceFile/SourceFileTestBase.java (+6/-1)
test/langtools/tools/javac/classreader/TruncatedClassFileTest.java (+119/-0)
test/langtools/tools/javac/diags/CheckExamples.java (+1/-4)
test/langtools/tools/javac/diags/CheckResourceKeys.java (+1/-4)
test/langtools/tools/javac/diags/Example.java (+1/-4)
test/langtools/tools/javac/diags/MessageInfo.java (+1/-4)
test/langtools/tools/javac/diags/RunExamples.java (+1/-4)
test/langtools/tools/javac/diags/examples.not-yet.txt (+4/-0)
test/langtools/tools/javac/diags/examples/CantAssignToFinal.java (+1/-1)
test/langtools/tools/javac/diags/examples/ProcFileCreateLastRound/processors/AnnoProc.java (+3/-3)
test/langtools/tools/javac/diags/examples/ProcFileReopening/processors/AnnoProc.java (+3/-3)
test/langtools/tools/javac/diags/examples/ProcIllegalFileName/processors/AnnoProc.java (+3/-3)
test/langtools/tools/javac/diags/examples/ProcTypeRecreate/processors/AnnoProc.java (+3/-3)
test/langtools/tools/javac/diags/examples/ProcUseImplicit/processors/AnnoProc.java (+3/-3)
test/langtools/tools/javac/diags/examples/ProcUseProcOrImplicit/processors/AnnoProc.java (+3/-3)
test/langtools/tools/javac/doctree/AtEscapeTest.java (+148/-0)
test/langtools/tools/javac/doctree/CodeTest.java (+2/-2)
test/langtools/tools/javac/doctree/DocCommentTester.java (+41/-19)
test/langtools/tools/javac/doctree/IndexTest.java (+1/-0)
test/langtools/tools/javac/doctree/LinkPlainTest.java (+1/-1)
test/langtools/tools/javac/doctree/LinkTest.java (+1/-1)
test/langtools/tools/javac/doctree/LiteralTest.java (+1/-1)
test/langtools/tools/javac/doctree/SeeTest.java (+1/-1)
test/langtools/tools/javac/doctree/SerialFieldTest.java (+2/-2)
test/langtools/tools/javac/doctree/TagTest.java (+41/-4)
test/langtools/tools/javac/doctree/ThrowableTest.java (+1/-1)
test/langtools/tools/javac/doctree/ValueTest.java (+2/-2)
test/langtools/tools/javac/doctree/dcapi/DocCommentTreeApiTester.java (+10/-9)
test/langtools/tools/javac/doctree/dcapi/overview0.html.out (+1/-1)
test/langtools/tools/javac/doctree/dcapi/overview6.html.out (+1/-1)
test/langtools/tools/javac/doctree/dcapi/package.html.out (+2/-2)
test/langtools/tools/javac/doctree/dcapi/pkg/package.html.out (+1/-1)
test/langtools/tools/javac/file/T7068437.java (+1/-3)
test/langtools/tools/javac/file/T7068451.java (+2/-4)
test/langtools/tools/javac/file/zip/T6836682.java (+14/-31)
test/langtools/tools/javac/file/zip/Utils.java (+6/-21)
test/langtools/tools/javac/lambda/8131742/T8131742.java (+9/-1)
test/langtools/tools/javac/lambda/8131742/T8131742.out (+2/-1)
test/langtools/tools/javac/lambda/T8024947/PotentiallyAmbiguousWarningTest.java (+71/-1)
test/langtools/tools/javac/lambda/T8024947/PotentiallyAmbiguousWarningTest.out (+7/-4)
test/langtools/tools/javac/lambda/deduplication/DeduplicationTest.java (+5/-1)
test/langtools/tools/javac/lambdaShapes/org/openjdk/tests/separate/DirectedClassLoader.java (+11/-17)
test/langtools/tools/javac/modules/EdgeCases.java (+1/-1)
test/langtools/tools/javac/options/T7022337.java (+1/-4)
test/langtools/tools/javac/parser/ExtraSemiTest.java (+1/-4)
test/langtools/tools/javac/parser/JavacParserTest.java (+4/-6)
test/langtools/tools/javac/patterns/BindingsTest2.out (+1/-1)
test/langtools/tools/javac/patterns/DeconstructionDesugaring.java (+14/-1)
test/langtools/tools/javac/patterns/NullsInDeconstructionPatterns2.java (+163/-0)
test/langtools/tools/javac/preview/PreviewErrors.java (+4/-1)
test/langtools/tools/javac/processing/6350124/HelloWorldAP.java (+5/-8)
test/langtools/tools/javac/processing/6413690/T6413690.java (+5/-5)
test/langtools/tools/javac/processing/6499119/ClassProcessor.java (+4/-25)
test/langtools/tools/javac/processing/6634138/T6634138.java (+2/-8)
test/langtools/tools/javac/processing/T6439826.java (+1/-3)
test/langtools/tools/javac/processing/T6920317.java (+2/-22)
test/langtools/tools/javac/processing/TestWarnErrorCount.java (+1/-4)
test/langtools/tools/javac/processing/errors/TestSuppression.java (+3/-3)
test/langtools/tools/javac/processing/filer/TestGetResource.java (+4/-4)
test/langtools/tools/javac/processing/filer/TestLastRound.java (+3/-3)
test/langtools/tools/javac/processing/model/completionfailure/NoAbortForBadClassFile.java (+1/-1)
test/langtools/tools/javac/processing/model/element/TestMissingElement2/Generator.java (+1/-4)
test/langtools/tools/javac/processing/model/element/TestNames.java (+2/-4)
test/langtools/tools/javac/processing/model/util/elements/TestGetConstantExpression.java (+27/-32)
test/langtools/tools/javac/processing/model/util/elements/doccomments/TestDocComments.java (+1/-4)
test/langtools/tools/javac/processing/model/util/types/TestAsElement.java (+97/-0)
test/langtools/tools/javac/processing/options/testPrintProcessorInfo/Test.java (+2/-9)
test/langtools/tools/javac/processing/rounds/BaseClassesNotReRead.java (+0/-1)
test/langtools/tools/javac/processing/werror/WErrorGen.java (+3/-3)
test/langtools/tools/javac/records/RecordCompilationTests.java (+2/-2)
test/langtools/tools/javac/recovery/AttrRecovery.java (+89/-0)
test/langtools/tools/javac/sealed/ValidateJarWithSealedAndRecord.java (+3/-3)
test/langtools/tools/javac/switchexpr/SwitchExpressionNoValue.java (+5/-1)
test/langtools/tools/javac/tree/TreePosRoundsTest.java (+1/-4)
test/langtools/tools/javac/typeDeclarationInsideExpression/TypeDeclarationInsideExpressionTest.java (+104/-0)
test/langtools/tools/javac/util/IteratorsTest.java (+196/-0)
test/langtools/tools/javac/warnings/6747671/T6747671.out (+1/-1)
test/lib-test/jdk/test/lib/process/exejvm-test-launcher.c (+36/-29)
test/lib-test/jdk/test/whitebox/vm_flags/StringTest.java (+3/-3)
test/lib/jdk/test/lib/ByteCodeLoader.java (+1/-1)
test/lib/jdk/test/lib/UIBuilder.java (+7/-7)
test/lib/jdk/test/lib/cds/CDSTestUtils.java (+1/-1)
test/lib/jdk/test/lib/hexdump/ASN1Formatter.java (+2/-2)
test/lib/jdk/test/lib/process/ProcessTools.java (+17/-9)
test/lib/jdk/test/lib/security/SecurityUtils.java (+22/-1)
test/lib/jdk/test/lib/security/timestamp/TsaSigner.java (+1/-1)
test/lib/jdk/test/lib/thread/ProcessThread.java (+12/-7)
test/lib/jdk/test/lib/util/ForceGC.java (+34/-5)
test/make/TestMakeBase.gmk (+56/-0)
test/micro/org/openjdk/bench/java/lang/ArrayClone.java (+92/-0)
test/micro/org/openjdk/bench/java/lang/Characters.java (+46/-1)
test/micro/org/openjdk/bench/java/lang/RegionMatchesIC.java (+96/-0)
test/micro/org/openjdk/bench/java/lang/StringBuilders.java (+13/-0)
test/micro/org/openjdk/bench/java/lang/StringComparisons.java (+87/-0)
test/micro/org/openjdk/bench/java/lang/StringConstructor.java (+20/-14)
test/micro/org/openjdk/bench/java/lang/StringOther.java (+0/-23)
test/micro/org/openjdk/bench/java/util/Base64Decode.java (+39/-7)
test/micro/org/openjdk/bench/java/util/Base64Encode.java (+2/-2)
test/micro/org/openjdk/bench/java/util/TestAdler32.java (+3/-7)
test/micro/org/openjdk/bench/java/util/TestCRC32.java (+61/-0)
test/micro/org/openjdk/bench/javax/imageio/stream/ImageInputStreamBench.java (+87/-0)
test/micro/org/openjdk/bench/jdk/classfile/AbstractCorpusBenchmark.java (+86/-0)
test/micro/org/openjdk/bench/jdk/classfile/AdHocAdapt.java (+63/-0)
test/micro/org/openjdk/bench/jdk/classfile/AdaptInjectNoop.java (+47/-0)
test/micro/org/openjdk/bench/jdk/classfile/AdaptMetadata.java (+52/-0)
test/micro/org/openjdk/bench/jdk/classfile/AdaptNull.java (+64/-0)
test/micro/org/openjdk/bench/jdk/classfile/GenerateStackMaps.java (+119/-0)
test/micro/org/openjdk/bench/jdk/classfile/ParseOptions.java (+67/-0)
test/micro/org/openjdk/bench/jdk/classfile/ReadDeep.java (+143/-0)
test/micro/org/openjdk/bench/jdk/classfile/ReadMetadata.java (+143/-0)
test/micro/org/openjdk/bench/jdk/classfile/TestConstants.java (+40/-0)
test/micro/org/openjdk/bench/jdk/classfile/Transforms.java (+578/-0)
test/micro/org/openjdk/bench/jdk/classfile/Write.java (+246/-0)
test/micro/org/openjdk/bench/jdk/incubator/vector/EqualsIgnoreCaseBenchmark.java (+157/-0)
test/micro/org/openjdk/bench/jdk/incubator/vector/IndexInRangeBenchmark.java (+101/-0)
test/micro/org/openjdk/bench/vm/compiler/LShiftNodeIdealize.java (+114/-0)
Reviewer Review Type Date Requested Status
Steve Langasek (community) Approve
git-ubuntu import Pending
Review via email: mp+439117@code.launchpad.net

Description of the change

Please do not merge, this merge proposal is a part of the series [1][2]

Summary of changes:

  * OpenJDK 21 snapshot, Build 14.
  * d/copyright, d/watch: implement uscan repackaging (LP: #2011749).

The exclude list is a verbatim copy of OpenJDK 20.

PPA: ppa:vpa1977/openjdk-drop-patches

Steps to test:
 The package must build with repacked sources[4].

[1] https://code.launchpad.net/~vpa1977/ubuntu/+source/openjdk-21/+git/openjdk-21/+merge/439117
[2] https://code.launchpad.net/~vpa1977/ubuntu/+source/openjdk-21/+git/openjdk-21/+merge/439118
[3] https://launchpad.net/~vpa1977/+archive/ubuntu/openjdk-drop-patches
[4] https://launchpad.net/~vpa1977/+archive/ubuntu/openjdk-drop-patches/+sourcepub/14557422/+listing-archive-extra

To post a comment you must log in.
Revision history for this message
Steve Langasek (vorlon) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/.gitignore b/.gitignore
2index 6787b23..452e9f5 100644
3--- a/.gitignore
4+++ b/.gitignore
5@@ -18,3 +18,6 @@ NashornProfile.txt
6 /src/utils/LogCompilation/target/
7 /.project/
8 /.settings/
9+/.project
10+/.classpath
11+/.cproject
12diff --git a/configure b/configure
13old mode 100755
14new mode 100644
15diff --git a/debian/changelog b/debian/changelog
16index fdaaea7..c1d0379 100644
17--- a/debian/changelog
18+++ b/debian/changelog
19@@ -1,3 +1,10 @@
20+openjdk-21 (21~14ea~us1-0ubuntu1) UNRELEASED; urgency=medium
21+
22+ * OpenJDK 21 snapshot, Build 14.
23+ * d/copyright, d/watch: implement uscan repackaging (LP: #2011749).
24+
25+ -- Vladimir Petko <vladimir.petko@canonical.com> Fri, 17 Mar 2023 13:31:13 +1300
26+
27 openjdk-21 (21~7ea-1ubuntu1) lunar; urgency=medium
28
29 * debian/JB-jre-headless.postinst.in: trigger ca-certificates-java after jre
30diff --git a/debian/copyright b/debian/copyright
31index fe5b751..805ef8c 100644
32--- a/debian/copyright
33+++ b/debian/copyright
34@@ -1,3 +1,27 @@
35+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
36+Files-Excluded:
37+ .github/*
38+ .gitattributes
39+ src/java.desktop/share/native/liblcms/cms*.c
40+ src/java.desktop/share/native/liblcms/lcms2*.h
41+ src/java.base/share/native/libzip/zlib/*
42+ src/java.desktop/share/native/libsplashscreen/giflib/*
43+ src/java.desktop/share/native/libsplashscreen/libpng/*
44+ src/java.smartcardio/unix/native/libj2pcsc/MUSCLE/*
45+ src/java.desktop/share/native/libjavajpeg/jc*
46+ src/java.desktop/share/native/libjavajpeg/jd*
47+ src/java.desktop/share/native/libjavajpeg/je*
48+ src/java.desktop/share/native/libjavajpeg/jf*
49+ src/java.desktop/share/native/libjavajpeg/ji*.c
50+ src/java.desktop/share/native/libjavajpeg/jm*
51+ src/java.desktop/share/native/libjavajpeg/jpegi*
52+ src/java.desktop/share/native/libjavajpeg/jpeglib.h
53+ src/java.desktop/share/native/libjavajpeg/jq*
54+ src/java.desktop/share/native/libjavajpeg/jv*
55+ src/java.desktop/share/native/libjavajpeg/ju*
56+ src/java.desktop/share/native/libjavajpeg/README
57+Comment: Exclude bundled library sources, Github Actions and git attributes.
58+
59 This package was debianized by Matthias Klose <doko@ubuntu.com> on
60 Wed, 08 Aug 2007 15:55:39 +0200.
61
62@@ -19,7 +43,7 @@ Copyright:
63
64 OpenJDK:
65 Copyright © 1996-2007 Sun Microsystems, Inc.
66- Copyright © 1996-2021 Oracle and/or its affiliates.
67+ Copyright © 1996-2023 Oracle and/or its affiliates.
68 For third party copyrights see below (copies from the third party readme).
69 Portions Copyright © 1993-2014 IBM Corp.
70 Portions Copyright © 1997 Eastman Kodak Company.
71@@ -36,7 +60,7 @@ Java Access Bridge:
72 Portions Copyright © 2002-2007 Darren Kenny <darren.kenny@sun.com>
73
74 Packaging:
75- Copyright © 2007-2021 Canonical Ltd.
76+ Copyright © 2007-2023 Canonical Ltd.
77
78 ------------------------------------------------------------------------------
79 License:
80diff --git a/debian/patches/jaw-classpath.diff b/debian/patches/jaw-classpath.diff
81index 6644d05..c9972c1 100644
82--- a/debian/patches/jaw-classpath.diff
83+++ b/debian/patches/jaw-classpath.diff
84@@ -2,9 +2,9 @@ Fix finding the Java ATK wrapper, see #900912
85
86 --- a/src/hotspot/os/linux/os_linux.cpp
87 +++ b/src/hotspot/os/linux/os_linux.cpp
88-@@ -450,6 +450,7 @@ void os::init_system_properties_values()
89+@@ -482,6 +482,7 @@
90 if (!set_boot_path('/', ':')) {
91- vm_exit_during_initialization("Failed setting boot class path.", NULL);
92+ vm_exit_during_initialization("Failed setting boot class path.", nullptr);
93 }
94 + Arguments::append_sysclasspath("/usr/share/java/java-atk-wrapper.jar");
95 }
96diff --git a/debian/patches/jaw-optional.diff b/debian/patches/jaw-optional.diff
97index 80f5c01..6abbeb0 100644
98--- a/debian/patches/jaw-optional.diff
99+++ b/debian/patches/jaw-optional.diff
100@@ -6,7 +6,7 @@ Make failing to load the Java ATK wrapper non-fatal
101
102 --- a/src/java.desktop/share/classes/java/awt/Toolkit.java
103 +++ b/src/java.desktop/share/classes/java/awt/Toolkit.java
104-@@ -598,7 +598,11 @@ public abstract class Toolkit {
105+@@ -598,7 +598,11 @@
106 toolkit = new HeadlessToolkit(toolkit);
107 }
108 if (!GraphicsEnvironment.isHeadless()) {
109diff --git a/debian/patches/mips.diff b/debian/patches/mips.diff
110index cbffefd..99f597d 100644
111--- a/debian/patches/mips.diff
112+++ b/debian/patches/mips.diff
113@@ -2,7 +2,7 @@
114
115 --- a/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c
116 +++ b/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c
117-@@ -156,7 +156,7 @@ static fdopendir_func* my_fdopendir_func
118+@@ -156,7 +156,7 @@
119 /**
120 * fstatat missing from glibc on Linux.
121 */
122diff --git a/debian/patches/reproducible-build-jmod.diff b/debian/patches/reproducible-build-jmod.diff
123index fe7ebe3..0ce9b9d 100644
124--- a/debian/patches/reproducible-build-jmod.diff
125+++ b/debian/patches/reproducible-build-jmod.diff
126@@ -12,7 +12,7 @@ Forwarded: not-needed
127
128 --- a/make/CreateJmods.gmk
129 +++ b/make/CreateJmods.gmk
130-@@ -242,6 +242,15 @@ endif
131+@@ -242,6 +242,15 @@
132
133 # Create jmods in the support dir and then move them into place to keep the
134 # module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times.
135@@ -28,7 +28,7 @@ Forwarded: not-needed
136 $(eval $(call SetupExecute, create_$(JMOD_FILE), \
137 WARN := Creating $(INTERIM_MSG)$(JMOD_FILE), \
138 DEPS := $(DEPS), \
139-@@ -253,7 +262,7 @@ $(eval $(call SetupExecute, create_$(JMO
140+@@ -253,7 +262,7 @@
141 --module-path $(JMODS_DIR) $(JMOD_FLAGS) \
142 --date $(SOURCE_DATE_ISO_8601) \
143 $(JMODS_SUPPORT_DIR)/$(JMOD_FILE), \
144diff --git a/debian/patches/reproducible-character-data.diff b/debian/patches/reproducible-character-data.diff
145index c42e63e..140c52d 100644
146--- a/debian/patches/reproducible-character-data.diff
147+++ b/debian/patches/reproducible-character-data.diff
148@@ -3,7 +3,7 @@ Author: Emmanuel Bourg <ebourg@apache.org>
149 Forwarded: no
150 --- a/make/jdk/src/classes/build/tools/generatecharacter/GenerateCharacter.java
151 +++ b/make/jdk/src/classes/build/tools/generatecharacter/GenerateCharacter.java
152-@@ -1729,7 +1729,7 @@ OUTER: for (int i = 0; i < n; i += m) {
153+@@ -1729,7 +1729,7 @@
154 }
155 commentStart = (Csyntax ? "/*" : "//");
156 commentEnd = (Csyntax ? " */" : "");
157diff --git a/debian/patches/reproducible-module-info.diff b/debian/patches/reproducible-module-info.diff
158index 08eb58a..1d18991 100644
159--- a/debian/patches/reproducible-module-info.diff
160+++ b/debian/patches/reproducible-module-info.diff
161@@ -3,7 +3,7 @@ Author: Emmanuel Bourg <ebourg@apache.org>
162 Forwarded: no
163 --- a/make/jdk/src/classes/build/tools/module/GenModuleInfoSource.java
164 +++ b/make/jdk/src/classes/build/tools/module/GenModuleInfoSource.java
165-@@ -156,9 +156,10 @@ public class GenModuleInfoSource {
166+@@ -156,9 +156,10 @@
167 if (l.trim().startsWith("module ")) {
168 if (debug) {
169 // print URI rather than file path to avoid escape
170diff --git a/debian/rules b/debian/rules
171index ea31397..34c2676 100755
172--- a/debian/rules
173+++ b/debian/rules
174@@ -101,7 +101,7 @@ else
175 endif
176 jvmver = 1.21.0
177 shortver = 21
178-v_debian := $(shell echo $(PKGVERSION) | sed 's/ea//')
179+v_debian := $(shell echo $(PKGVERSION) | sed 's/ea//' | sed 's/\~us[[:digit:]]\+//')
180 v_upstream := $(shell echo $(v_debian) | sed 's/-[^-][^-]*$$//')
181 v_pkgrel := $(shell echo $(v_debian) | sed 's/^.*-//')
182 # FIXME. currently v_upstream like 11~4
183diff --git a/debian/watch b/debian/watch
184index a84d31e..a957fc7 100644
185--- a/debian/watch
186+++ b/debian/watch
187@@ -1,4 +1,9 @@
188 version=4
189-opts="filenamemangle=s%(?:.*?)?jdk-(\d[\d.]*\+\d[\d]*)\.tar\.gz%<project>-$1.tar.gz%, dversionmangle=s/~/+/;s/ea//" \
190+opts=\
191+repack,\
192+compression=xz,\
193+repacksuffix=ea~us1,\
194+oversionmangle=s/\+/\~/,\
195+dversionmangle=s/~\d*\~us\d*$/\+\d*/, \
196 https://github.com/openjdk/jdk/tags \
197- (?:.*?/)?jdk-(19\+\d[\d]*)\.tar\.gz debian uupdate
198+ (?:.*?/)?jdk-(21\+\d[\d]*)\.tar\.gz
199diff --git a/doc/building.html b/doc/building.html
200index 533a123..e90669a 100644
201--- a/doc/building.html
202+++ b/doc/building.html
203@@ -1087,7 +1087,7 @@ home, i.e. the top directory, containing <code>lib/jtreg.jar</code>
204 etc.</p>
205 <p>The <a href="https://wiki.openjdk.org/display/Adoption">Adoption
206 Group</a> provides recent builds of jtreg <a
207-href="https://ci.adoptopenjdk.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/">here</a>.
208+href="https://ci.adoptium.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/">here</a>.
209 Download the latest <code>.tar.gz</code> file, unpack it, and point
210 <code>--with-jtreg</code> to the <code>jtreg</code> directory that you
211 just unpacked.</p>
212diff --git a/doc/building.md b/doc/building.md
213index 3e65230..65ff750 100644
214--- a/doc/building.md
215+++ b/doc/building.md
216@@ -860,7 +860,7 @@ containing `lib/jtreg.jar` etc.
217
218 The [Adoption Group](https://wiki.openjdk.org/display/Adoption) provides
219 recent builds of jtreg [here](
220-https://ci.adoptopenjdk.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/).
221+https://ci.adoptium.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/).
222 Download the latest `.tar.gz` file, unpack it, and point `--with-jtreg` to the
223 `jtreg` directory that you just unpacked.
224
225diff --git a/doc/hotspot-style.html b/doc/hotspot-style.html
226index 777d69b..ced607d 100644
227--- a/doc/hotspot-style.html
228+++ b/doc/hotspot-style.html
229@@ -82,6 +82,7 @@ id="toc-uniform-initialization">Uniform Initialization</a></li>
230 id="toc-local-function-objects">Local Function Objects</a></li>
231 <li><a href="#inheriting-constructors"
232 id="toc-inheriting-constructors">Inheriting constructors</a></li>
233+<li><a href="#attributes" id="toc-attributes">Attributes</a></li>
234 <li><a href="#additional-permitted-features"
235 id="toc-additional-permitted-features">Additional Permitted
236 Features</a></li>
237@@ -597,10 +598,17 @@ conventions might appear jarring and reduce readability.</p></li>
238 <code>std::nothrow</code>, and <code>std::nothrow_t</code>.</li>
239 <li><code>#include &lt;limits&gt;</code> to use
240 <code>std::numeric_limits</code>.</li>
241-<li><code>#include &lt;type_traits&gt;</code>.</li>
242+<li><code>#include &lt;type_traits&gt;</code> with some restrictions,
243+listed below.</li>
244 <li><code>#include &lt;cstddef&gt;</code> to use
245 <code>std::nullptr_t</code> and <code>std::max_align_t</code>.</li>
246 </ul>
247+<p>Certain restrictions apply to the declarations provided by
248+<code>&lt;type_traits&gt;</code>.</p>
249+<ul>
250+<li>The <code>alignof</code> operator should be used rather than
251+<code>std::alignment_of&lt;&gt;</code>.</li>
252+</ul>
253 <p>TODO: Rather than directly #including (permitted) Standard Library
254 headers, use a convention of #including wrapper headers (in some
255 location like hotspot/shared/stdcpp). This provides a single place for
256@@ -1057,9 +1065,36 @@ using C++17 or later. It is also enabled by default for
257 C++11/14, as the change is considered a Defect Report that applies to
258 those versions. Earlier versions of gcc don't have that option, and
259 other supported compilers may not have anything similar.</p>
260+<h3 id="attributes">Attributes</h3>
261+<p>The use of some attributes (<a
262+href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf">n2761</a>)
263+(listed below) is permitted. (Note that some of the attributes defined
264+in that paper didn't make it into the final specification.)</p>
265+<p>Attributes are syntactically permitted in a broad set of locations,
266+but specific attributes are only permitted in a subset of those
267+locations. In some cases an attribute that appertains to a given element
268+may be placed in any of several locations with the same meaning. In
269+those cases HotSpot has a preferred location.</p>
270+<ul>
271+<li>An attribute that appertains to a function is placed at the
272+beginning of the function's declaration, rather than between the
273+function name and the parameter list.</li>
274+</ul>
275+<p>Only the following attributes are permitted:</p>
276+<ul>
277+<li><code>[[noreturn]]</code></li>
278+</ul>
279+<p>The following attributes are expressly forbidden:</p>
280+<ul>
281+<li><code>[[carries_dependency]]</code> - Related to
282+<code>memory_order_consume</code>.</li>
283+<li><code>[[deprecated]]</code> - Not relevant in HotSpot code.</li>
284+</ul>
285 <h3 id="additional-permitted-features">Additional Permitted
286 Features</h3>
287 <ul>
288+<li><p><code>alignof</code> (<a
289+href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf">n2341</a>)</p></li>
290 <li><p><code>constexpr</code> (<a
291 href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf">n2235</a>)
292 (<a
293@@ -1149,9 +1184,6 @@ initialization or destruction. Initialization order problems can be
294 difficult to deal with and lead to surprises, as can destruction
295 ordering. HotSpot doesn't generally try to cleanup on exit, and running
296 destructors at exit can also lead to problems.</p></li>
297-<li><p><code>[[deprecated]]</code> attribute (<a
298-href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html">n3760</a>)
299-— Not relevant in HotSpot code.</p></li>
300 <li><p>Avoid most operator overloading, preferring named functions. When
301 operator overloading is used, ensure the semantics conform to the normal
302 expected behavior of the operation.</p></li>
303@@ -1171,8 +1203,6 @@ href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm">n2541</
304 href="https://isocpp.org/files/papers/N3651.pdf">n3651</a>)</p></li>
305 <li><p>Member initializers and aggregates (<a
306 href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html">n3653</a>)</p></li>
307-<li><p><code>[[noreturn]]</code> attribute (<a
308-href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf">n2761</a>)</p></li>
309 <li><p>Rvalue references and move semantics</p></li>
310 </ul>
311 </body>
312diff --git a/doc/hotspot-style.md b/doc/hotspot-style.md
313index 5554534..9743c77 100644
314--- a/doc/hotspot-style.md
315+++ b/doc/hotspot-style.md
316@@ -572,9 +572,13 @@ There are a few exceptions to this rule.
317
318 * `#include <new>` to use placement `new`, `std::nothrow`, and `std::nothrow_t`.
319 * `#include <limits>` to use `std::numeric_limits`.
320-* `#include <type_traits>`.
321+* `#include <type_traits>` with some restrictions, listed below.
322 * `#include <cstddef>` to use `std::nullptr_t` and `std::max_align_t`.
323
324+Certain restrictions apply to the declarations provided by `<type_traits>`.
325+
326+* The `alignof` operator should be used rather than `std::alignment_of<>`.
327+
328 TODO: Rather than directly \#including (permitted) Standard Library
329 headers, use a convention of \#including wrapper headers (in some
330 location like hotspot/shared/stdcpp). This provides a single place
331@@ -1054,8 +1058,37 @@ and other supported compilers may not have anything similar.
332 [p0136r1]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0136r1.html
333 "p0136r1"
334
335+### Attributes
336+
337+The use of some attributes
338+([n2761](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf))
339+(listed below) is permitted. (Note that some of the attributes defined in
340+that paper didn't make it into the final specification.)
341+
342+Attributes are syntactically permitted in a broad set of locations, but
343+specific attributes are only permitted in a subset of those locations. In
344+some cases an attribute that appertains to a given element may be placed in
345+any of several locations with the same meaning. In those cases HotSpot has a
346+preferred location.
347+
348+* An attribute that appertains to a function is placed at the beginning of the
349+function's declaration, rather than between the function name and the parameter
350+list.
351+
352+Only the following attributes are permitted:
353+
354+* `[[noreturn]]`
355+
356+The following attributes are expressly forbidden:
357+
358+* `[[carries_dependency]]` - Related to `memory_order_consume`.
359+* `[[deprecated]]` - Not relevant in HotSpot code.
360+
361 ### Additional Permitted Features
362
363+* `alignof`
364+([n2341](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf))
365+
366 * `constexpr`
367 ([n2235](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf))
368 ([n3652](https://isocpp.org/files/papers/N3652.html))
369@@ -1153,10 +1186,6 @@ difficult to deal with and lead to surprises, as can destruction
370 ordering. HotSpot doesn't generally try to cleanup on exit, and
371 running destructors at exit can also lead to problems.
372
373-* `[[deprecated]]` attribute
374-([n3760](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html)) &mdash;
375-Not relevant in HotSpot code.
376-
377 * Avoid most operator overloading, preferring named functions. When
378 operator overloading is used, ensure the semantics conform to the
379 normal expected behavior of the operation.
380@@ -1181,9 +1210,6 @@ features that have not yet been discussed.
381 * Member initializers and aggregates
382 ([n3653](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html))
383
384-* `[[noreturn]]` attribute
385-([n2761](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf))
386-
387 * Rvalue references and move semantics
388
389 [ADL]: https://en.cppreference.com/w/cpp/language/adl
390diff --git a/doc/ide.html b/doc/ide.html
391index d6e5103..18d4561 100644
392--- a/doc/ide.html
393+++ b/doc/ide.html
394@@ -79,6 +79,45 @@ native source. After configuring, the project is generated using:</p>
395 <code>ide\hotspot-visualstudio</code> subfolder of the build output
396 folder. The file can be opened in Visual Studio via
397 <code>File -&gt; Open -&gt; Project/Solution</code>.</p>
398+<h4 id="eclipse-cdt">Eclipse CDT</h4>
399+<p>The make system can generate an Eclipse CDT Workspace that enables
400+Eclipse indexing for the C and C++ sources throughout the entire
401+codebase, as well as registering all common make targets to be runnable
402+from the Eclipse explorer. This can be done after configuring by
403+running:</p>
404+<pre><code>make eclipse-native-env</code></pre>
405+<p>After this is run, simply open and import the workspace in Eclipse
406+through
407+<code>File -&gt; Import -&gt; Projects from Folder or Archive</code> and
408+at <code>Import source</code> click on the directory
409+<code>ide\eclipse</code>, which can be found in the build output
410+folder.</p>
411+<p>If this doesn't work, you can also try
412+<code>File -&gt; Import -&gt; Existing Projects into Workspace</code>
413+instead.</p>
414+<p>Setting up an Eclipse Workspace is relatively lightweight compared to
415+other supported IDEs, but requires that your CDT installation has Cross
416+GCC support enabled at the moment, even if you aren't cross compiling.
417+The Visual C++ compiler is, at present, not supported as an indexer.</p>
418+<p>If desired, you can instead request make to only include indexing
419+support for just the Java Virtual Machine instead of the entire native
420+codebase, by running:</p>
421+<pre><code>make eclipse-hotspot-env</code></pre>
422+<p>If you think your particular Eclipse installation can handle the
423+strain, the make system also supports generating a combined Java and
424+C/C++ Workspace for Eclipse which can then conveniently switch between
425+Java and C/C++ natures during development by running:</p>
426+<pre><code>make eclipse-mixed-env</code></pre>
427+<p>Do note that this generates all features that come with both Java and
428+C/C++ natures.</p>
429+<p>By default, the Eclipse Workspace is located in the ide subdirectory
430+in the build output. To share the JDK's source directory with the
431+Eclipse Workspace, you can instead run:</p>
432+<pre><code>make eclipse-shared-&lt;ENV&gt;-env</code></pre>
433+<p>Eclipse support in the JDK is relatively new, so do keep in mind that
434+not everything may work at the moment. As such, the resulting Workspace
435+also has compilation database parsing support enabled, so you can pass
436+Eclipse the compile commands file (see below) if all else fails.</p>
437 <h4 id="compilation-database">Compilation Database</h4>
438 <p>The make system can generate generic native code indexing support in
439 the form of a <a
440@@ -105,5 +144,28 @@ select the folder where you ran the above script.</p>
441 <p>In order to run the tests from the IDE, you can use the JTReg plugin.
442 Instructions for building and using the plugin can be found <a
443 href="https://github.com/openjdk/jtreg/tree/master/plugins/idea">here</a>.</p>
444+<h4 id="eclipse">Eclipse</h4>
445+<p>Eclipse JDT is a widely used Java IDE and has been for a very long
446+time, being a popular choice alongside IntelliJ IDEA for Java
447+development. Likewise, the JDK now includes support for developing its
448+Java sources with Eclipse, which can be achieved by setting up a Java
449+Workspace by running:</p>
450+<pre><code>make eclipse-java-env</code></pre>
451+<p>After the workspace has been generated you can import it in the same
452+way as you would with Eclipse CDT:</p>
453+<p>Follow
454+<code>File -&gt; Import -&gt; Projects from Folder or Archive</code> and
455+select the <code>ide\eclipse</code> directory in the build output folder
456+to import the newly created Java Workspace.</p>
457+<p>If doing so results in an error, you can also import the JDK via
458+<code>File -&gt; Import -&gt; Existing Projects into Workspace</code> as
459+a last resort.</p>
460+<p>Alternatively, if you want a Java Workspace inside the JDK's source
461+directory, you can instead run:</p>
462+<pre><code>make eclipse-shared-java-env</code></pre>
463+<p>As mentioned above for Eclipse CDT, you can create a combined Java
464+and C/C++ Workspace which can conveniently switch between Java and C/C++
465+natures during development by running:</p>
466+<pre><code>make eclipse-mixed-env</code></pre>
467 </body>
468 </html>
469diff --git a/doc/ide.md b/doc/ide.md
470index f0a419c..3a1c9de 100644
471--- a/doc/ide.md
472+++ b/doc/ide.md
473@@ -56,6 +56,63 @@ This creates a file named `jvm.vcxproj` in `ide\hotspot-visualstudio`
474 subfolder of the build output folder. The file can be opened in Visual Studio
475 via `File -> Open -> Project/Solution`.
476
477+#### Eclipse CDT
478+
479+The make system can generate an Eclipse CDT Workspace that enables Eclipse
480+indexing for the C and C++ sources throughout the entire codebase, as well as
481+registering all common make targets to be runnable from the Eclipse explorer.
482+This can be done after configuring by running:
483+
484+```
485+make eclipse-native-env
486+```
487+
488+After this is run, simply open and import the workspace in Eclipse through
489+`File -> Import -> Projects from Folder or Archive` and at
490+`Import source` click on the directory `ide\eclipse`, which can be
491+found in the build output folder.
492+
493+If this doesn't work, you can also try
494+`File -> Import -> Existing Projects into Workspace`
495+instead.
496+
497+Setting up an Eclipse Workspace is relatively lightweight compared to other
498+supported IDEs, but requires that your CDT installation has Cross GCC support
499+enabled at the moment, even if you aren't cross compiling. The Visual C++
500+compiler is, at present, not supported as an indexer.
501+
502+If desired, you can instead request make to only include indexing support for
503+just the Java Virtual Machine instead of the entire native codebase, by running:
504+
505+```
506+make eclipse-hotspot-env
507+```
508+
509+If you think your particular Eclipse installation can handle the strain, the
510+make system also supports generating a combined Java and C/C++ Workspace for
511+Eclipse which can then conveniently switch between Java and C/C++ natures
512+during development by running:
513+
514+```
515+make eclipse-mixed-env
516+```
517+
518+Do note that this generates all features that come with both Java and C/C++
519+natures.
520+
521+By default, the Eclipse Workspace is located in the ide subdirectory in the
522+build output. To share the JDK's source directory with the Eclipse Workspace,
523+you can instead run:
524+
525+```
526+make eclipse-shared-<ENV>-env
527+```
528+
529+Eclipse support in the JDK is relatively new, so do keep in mind that not
530+everything may work at the moment. As such, the resulting Workspace also
531+has compilation database parsing support enabled, so you can pass Eclipse
532+the compile commands file (see below) if all else fails.
533+
534 #### Compilation Database
535
536 The make system can generate generic native code indexing support in the form of
537@@ -96,3 +153,40 @@ as the SDK to use.
538 In order to run the tests from the IDE, you can use the JTReg plugin.
539 Instructions for building and using the plugin can be found
540 [here](https://github.com/openjdk/jtreg/tree/master/plugins/idea).
541+
542+#### Eclipse
543+
544+Eclipse JDT is a widely used Java IDE and has been for a very long time, being
545+a popular choice alongside IntelliJ IDEA for Java development. Likewise, the
546+JDK now includes support for developing its Java sources with Eclipse, which
547+can be achieved by setting up a Java Workspace by running:
548+
549+```
550+make eclipse-java-env
551+```
552+
553+After the workspace has been generated you can import it in the same way as
554+you would with Eclipse CDT:
555+
556+Follow `File -> Import -> Projects from Folder or Archive` and select the
557+`ide\eclipse` directory in the build output folder to import the newly created
558+Java Workspace.
559+
560+If doing so results in an error, you can also import the JDK via
561+`File -> Import -> Existing Projects into Workspace`
562+as a last resort.
563+
564+Alternatively, if you want a Java Workspace inside the JDK's source directory,
565+you can instead run:
566+
567+```
568+make eclipse-shared-java-env
569+```
570+
571+As mentioned above for Eclipse CDT, you can create a combined Java and C/C++
572+Workspace which can conveniently switch between Java and C/C++ natures during
573+development by running:
574+
575+```
576+make eclipse-mixed-env
577+```
578diff --git a/doc/testing.html b/doc/testing.html
579index 9962b6b..37d4df6 100644
580--- a/doc/testing.html
581+++ b/doc/testing.html
582@@ -578,12 +578,13 @@ directories.</p>
583 <p>For more notes about the PKCS11 tests, please refer to
584 test/jdk/sun/security/pkcs11/README.</p>
585 <h3 id="client-ui-tests">Client UI Tests</h3>
586+<h4 id="system-key-shortcuts">System key shortcuts</h4>
587 <p>Some Client UI tests use key sequences which may be reserved by the
588 operating system. Usually that causes the test failure. So it is highly
589 recommended to disable system key shortcuts prior testing. The steps to
590 access and disable system key shortcuts for various platforms are
591 provided below.</p>
592-<h4 id="macos">MacOS</h4>
593+<h5 id="macos">macOS</h5>
594 <p>Choose Apple menu; System Preferences, click Keyboard, then click
595 Shortcuts; select or deselect desired shortcut.</p>
596 <p>For example,
597@@ -594,17 +595,41 @@ operating system. To run the test correctly the default global key
598 shortcut should be disabled using the steps described above, and then
599 deselect "Turn keyboard access on or off" option which is responsible
600 for <code>CTRL + F1</code> combination.</p>
601-<h4 id="linux">Linux</h4>
602+<h5 id="linux">Linux</h5>
603 <p>Open the Activities overview and start typing Settings; Choose
604 Settings, click Devices, then click Keyboard; set or override desired
605 shortcut.</p>
606-<h4 id="windows">Windows</h4>
607+<h5 id="windows">Windows</h5>
608 <p>Type <code>gpedit</code> in the Search and then click Edit group
609 policy; navigate to User Configuration -&gt; Administrative Templates
610 -&gt; Windows Components -&gt; File Explorer; in the right-side pane
611 look for "Turn off Windows key hotkeys" and double click on it; enable
612 or disable hotkeys.</p>
613 <p>Note: restart is required to make the settings take effect.</p>
614+<h4 id="robot-api">Robot API</h4>
615+<p>Most automated Client UI tests use <code>Robot</code> API to control
616+the UI. Usually, the default operating system settings need to be
617+adjusted for Robot to work correctly. The detailed steps how to access
618+and update these settings for different platforms are provided
619+below.</p>
620+<h5 id="macos-1">macOS</h5>
621+<p><code>Robot</code> is not permitted to control your Mac by default
622+since macOS 10.15. To allow it, choose Apple menu -&gt; System Settings,
623+click Privacy &amp; Security; then click Accessibility and ensure the
624+following apps are allowed to control your computer: <em>Java</em> and
625+<em>Terminal</em>. If the tests are run from an IDE, the IDE should be
626+granted this permission too.</p>
627+<h5 id="windows-1">Windows</h5>
628+<p>On Windows if Cygwin terminal is used to run the tests, there is a
629+delay in focus transfer. Usually it causes automated UI test failure. To
630+disable the delay, type <code>regedit</code> in the Search and then
631+select Registry Editor; navigate to the following key:
632+<code>HKEY_CURRENT_USER\Control Panel\Desktop</code>; make sure the
633+<code>ForegroundLockTimeout</code> value is set to 0.</p>
634+<p>Additional information about Client UI tests configuration for
635+various operating systems can be obtained at <a
636+href="https://wiki.openjdk.org/display/ClientLibs/Automated+client+GUI+testing+system+set+up+requirements">Automated
637+client GUI testing system set up requirements</a></p>
638 <h2 id="editing-this-document">Editing this document</h2>
639 <p>If you want to contribute changes to this document, edit
640 <code>doc/testing.md</code> and then run
641diff --git a/doc/testing.md b/doc/testing.md
642index 9535388..3de0c26 100644
643--- a/doc/testing.md
644+++ b/doc/testing.md
645@@ -606,12 +606,14 @@ test/jdk/sun/security/pkcs11/README.
646
647 ### Client UI Tests
648
649+#### System key shortcuts
650+
651 Some Client UI tests use key sequences which may be reserved by the operating
652 system. Usually that causes the test failure. So it is highly recommended to
653 disable system key shortcuts prior testing. The steps to access and disable
654 system key shortcuts for various platforms are provided below.
655
656-#### MacOS
657+##### macOS
658
659 Choose Apple menu; System Preferences, click Keyboard, then click Shortcuts;
660 select or deselect desired shortcut.
661@@ -624,12 +626,12 @@ test correctly the default global key shortcut should be disabled using the
662 steps described above, and then deselect "Turn keyboard access on or off"
663 option which is responsible for `CTRL + F1` combination.
664
665-#### Linux
666+##### Linux
667
668 Open the Activities overview and start typing Settings; Choose Settings, click
669 Devices, then click Keyboard; set or override desired shortcut.
670
671-#### Windows
672+##### Windows
673
674 Type `gpedit` in the Search and then click Edit group policy; navigate to User
675 Configuration -> Administrative Templates -> Windows Components -> File
676@@ -638,6 +640,33 @@ double click on it; enable or disable hotkeys.
677
678 Note: restart is required to make the settings take effect.
679
680+#### Robot API
681+
682+Most automated Client UI tests use `Robot` API to control the UI. Usually,
683+the default operating system settings need to be adjusted for Robot
684+to work correctly. The detailed steps how to access and update these settings
685+for different platforms are provided below.
686+
687+##### macOS
688+
689+`Robot` is not permitted to control your Mac by default since
690+macOS 10.15. To allow it, choose Apple menu -> System Settings, click
691+Privacy & Security; then click Accessibility and ensure the following apps are
692+allowed to control your computer: *Java* and *Terminal*. If the tests are run
693+from an IDE, the IDE should be granted this permission too.
694+
695+##### Windows
696+
697+On Windows if Cygwin terminal is used to run the tests, there is a delay in
698+focus transfer. Usually it causes automated UI test failure. To disable the
699+delay, type `regedit` in the Search and then select Registry Editor; navigate
700+to the following key: `HKEY_CURRENT_USER\Control Panel\Desktop`; make sure
701+the `ForegroundLockTimeout` value is set to 0.
702+
703+Additional information about Client UI tests configuration for various operating
704+systems can be obtained at [Automated client GUI testing system set up
705+requirements](https://wiki.openjdk.org/display/ClientLibs/Automated+client+GUI+testing+system+set+up+requirements)
706+
707 ## Editing this document
708
709 If you want to contribute changes to this document, edit `doc/testing.md` and
710diff --git a/make/Bundles.gmk b/make/Bundles.gmk
711index 9dc5f96..e6955bf 100644
712--- a/make/Bundles.gmk
713+++ b/make/Bundles.gmk
714@@ -1,5 +1,5 @@
715 #
716-# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
717+# Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved.
718 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
719 #
720 # This code is free software; you can redistribute it and/or modify it
721@@ -449,7 +449,7 @@ ifneq ($(filter jcov-bundles, $(MAKECMDGOALS)), )
722 BUNDLE_NAME := $(JCOV_BUNDLE_NAME), \
723 FILES := $(JCOV_BUNDLE_FILES), \
724 BASE_DIRS := $(JCOV_IMAGE_DIR), \
725- SUBDIR := $(JDK_BUNDLE_SUBDIR), \
726+ SUBDIR := jdk-$(VERSION_NUMBER), \
727 ))
728
729 JCOV_TARGETS += $(BUILD_JCOV_BUNDLE)
730diff --git a/make/CompileToolsJdk.gmk b/make/CompileToolsJdk.gmk
731index d937cdd..dceca48 100644
732--- a/make/CompileToolsJdk.gmk
733+++ b/make/CompileToolsJdk.gmk
734@@ -1,5 +1,5 @@
735 #
736-# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
737+# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
738 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
739 #
740 # This code is free software; you can redistribute it and/or modify it
741@@ -69,6 +69,13 @@ $(eval $(call SetupCopyFiles,COPY_NIMBUS_TEMPLATES, \
742
743 TARGETS += $(COPY_NIMBUS_TEMPLATES)
744
745+$(eval $(call SetupCopyFiles,COPY_CLDRCONVERTER_PROPERTIES, \
746+ SRC := $(TOPDIR)/make/jdk/src/classes/build/tools/cldrconverter, \
747+ DEST := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes/build/tools/cldrconverter, \
748+ FILES := $(wildcard $(TOPDIR)/make/jdk/src/classes/build/tools/cldrconverter/*.properties)))
749+
750+TARGETS += $(COPY_CLDRCONVERTER_PROPERTIES)
751+
752 ################################################################################
753
754 $(eval $(call SetupJavaCompilation, COMPILE_DEPEND, \
755diff --git a/make/Docs.gmk b/make/Docs.gmk
756index 33d531e..515f1c7 100644
757--- a/make/Docs.gmk
758+++ b/make/Docs.gmk
759@@ -110,12 +110,14 @@ JAVA_WARNINGS_ARE_ERRORS ?= -Werror
760 JAVADOC_OPTIONS := -use -keywords -notimestamp \
761 -encoding ISO-8859-1 -docencoding UTF-8 -breakiterator \
762 -splitIndex --system none -javafx --expand-requires transitive \
763+ --enable-preview -source $(JDK_SOURCE_TARGET_VERSION) \
764 --override-methods=summary
765
766 # The reference options must stay stable to allow for comparisons across the
767 # development cycle.
768 REFERENCE_OPTIONS := -XDignore.symbol.file=true -use -keywords -notimestamp \
769 -encoding ISO-8859-1 -breakiterator -splitIndex --system none \
770+ --enable-preview -source $(JDK_SOURCE_TARGET_VERSION) \
771 -html5 -javafx --expand-requires transitive
772
773 # Should we add DRAFT stamps to the generated javadoc?
774diff --git a/make/Main.gmk b/make/Main.gmk
775index fec5d26..3c7c30c 100644
776--- a/make/Main.gmk
777+++ b/make/Main.gmk
778@@ -257,6 +257,46 @@ $(eval $(call SetupTarget, hotspot-ide-project, \
779 ARGS := -I$(TOPDIR)/make/hotspot, \
780 ))
781
782+$(eval $(call SetupTarget, eclipse-java-env, \
783+ MAKEFILE := ide/eclipse/CreateWorkspace, \
784+ ARGS := --always-make WORKSPACE=java SHARED=false, \
785+))
786+
787+$(eval $(call SetupTarget, eclipse-hotspot-env, \
788+ MAKEFILE := ide/eclipse/CreateWorkspace, \
789+ ARGS := --always-make WORKSPACE=hotspot SHARED=false, \
790+))
791+
792+$(eval $(call SetupTarget, eclipse-native-env, \
793+ MAKEFILE := ide/eclipse/CreateWorkspace, \
794+ ARGS := --always-make WORKSPACE=native SHARED=false, \
795+))
796+
797+$(eval $(call SetupTarget, eclipse-mixed-env, \
798+ MAKEFILE := ide/eclipse/CreateWorkspace, \
799+ ARGS := --always-make SHARED=false, \
800+))
801+
802+$(eval $(call SetupTarget, eclipse-shared-java-env, \
803+ MAKEFILE := ide/eclipse/CreateWorkspace, \
804+ ARGS := --always-make WORKSPACE=java SHARED=true, \
805+))
806+
807+$(eval $(call SetupTarget, eclipse-shared-hotspot-env, \
808+ MAKEFILE := ide/eclipse/CreateWorkspace, \
809+ ARGS := --always-make WORKSPACE=hotspot SHARED=true, \
810+))
811+
812+$(eval $(call SetupTarget, eclipse-shared-native-env, \
813+ MAKEFILE := ide/eclipse/CreateWorkspace, \
814+ ARGS := --always-make WORKSPACE=native SHARED=true, \
815+))
816+
817+$(eval $(call SetupTarget, eclipse-shared-mixed-env, \
818+ MAKEFILE := ide/eclipse/CreateWorkspace, \
819+ ARGS := --always-make SHARED=true, \
820+))
821+
822 ALL_TARGETS += $(HOTSPOT_VARIANT_TARGETS) $(HOTSPOT_VARIANT_GENSRC_TARGETS) \
823 $(HOTSPOT_VARIANT_LIBS_TARGETS)
824
825diff --git a/make/ReleaseFile.gmk b/make/ReleaseFile.gmk
826index 0424e2f..5e8d123 100644
827--- a/make/ReleaseFile.gmk
828+++ b/make/ReleaseFile.gmk
829@@ -51,6 +51,7 @@ define create-info-file
830 $(if $(VENDOR_VERSION_STRING), \
831 $(call info-file-item, "IMPLEMENTOR_VERSION", "$(VENDOR_VERSION_STRING)"))
832 $(call info-file-item, "JAVA_VERSION_DATE", "$(VERSION_DATE)")
833+ $(call info-file-item, "JAVA_RUNTIME_VERSION", "$(VERSION_STRING)")
834 $(call info-file-item, "OS_NAME", "$(RELEASE_FILE_OS_NAME)")
835 $(call info-file-item, "OS_ARCH", "$(RELEASE_FILE_OS_ARCH)")
836 $(call info-file-item, "LIBC", "$(RELEASE_FILE_LIBC)")
837diff --git a/make/RunTests.gmk b/make/RunTests.gmk
838index 894e095..5034207 100644
839--- a/make/RunTests.gmk
840+++ b/make/RunTests.gmk
841@@ -592,7 +592,16 @@ define SetupRunMicroTestBody
842 endif
843
844 # Set library path for native dependencies
845- $1_JMH_JVM_ARGS := -Djava.library.path=$$(TEST_IMAGE_DIR)/micro/native
846+ $1_JMH_JVM_ARGS := -Djava.library.path=$$(TEST_IMAGE_DIR)/micro/native \
847+ --add-exports java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
848+ --add-exports java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED \
849+ --add-exports java.base/jdk.internal.classfile=ALL-UNNAMED \
850+ --add-exports java.base/jdk.internal.classfile.attribute=ALL-UNNAMED \
851+ --add-exports java.base/jdk.internal.classfile.constantpool=ALL-UNNAMED \
852+ --add-exports java.base/jdk.internal.classfile.instruction=ALL-UNNAMED \
853+ --add-exports java.base/jdk.internal.classfile.java.lang.constant=ALL-UNNAMED \
854+ --add-exports java.base/jdk.internal.classfile.components=ALL-UNNAMED \
855+ --add-exports java.base/jdk.internal.classfile.impl=ALL-UNNAMED
856
857 ifneq ($$(MICRO_VM_OPTIONS)$$(MICRO_JAVA_OPTIONS), )
858 $1_JMH_JVM_ARGS += $$(MICRO_VM_OPTIONS) $$(MICRO_JAVA_OPTIONS)
859diff --git a/make/autoconf/basic_tools.m4 b/make/autoconf/basic_tools.m4
860index aeec136..c21ca52 100644
861--- a/make/autoconf/basic_tools.m4
862+++ b/make/autoconf/basic_tools.m4
863@@ -286,7 +286,7 @@ AC_DEFUN([BASIC_CHECK_TAR],
864 if test "x$TAR_TYPE" = "xgnu"; then
865 TAR_INCLUDE_PARAM="T"
866 TAR_SUPPORTS_TRANSFORM="true"
867- elif test "x$TAR_TYPE" = "aix"; then
868+ elif test "x$TAR_TYPE" = "xaix"; then
869 # -L InputList of aix tar: name of file listing the files and directories
870 # that need to be archived or extracted
871 TAR_INCLUDE_PARAM="L"
872@@ -434,7 +434,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_PANDOC],
873
874 if test "x$PANDOC" != x; then
875 AC_MSG_CHECKING([for pandoc version])
876- PANDOC_VERSION=`$PANDOC --version 2>&1 | $HEAD -1 | $CUT -d " " -f 2`
877+ PANDOC_VERSION=`$PANDOC --version 2>&1 | $TR -d '\r' | $HEAD -1 | $CUT -d " " -f 2`
878 AC_MSG_RESULT([$PANDOC_VERSION])
879
880 if test "x$PANDOC_VERSION" != x$RECOMMENDED_PANDOC_VERSION; then
881@@ -443,7 +443,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_PANDOC],
882
883 PANDOC_MARKDOWN_FLAG="markdown"
884 AC_MSG_CHECKING([if the pandoc smart extension needs to be disabled for markdown])
885- if $PANDOC --list-extensions | $GREP -q '\+smart'; then
886+ if $PANDOC --list-extensions | $GREP -q '+smart'; then
887 AC_MSG_RESULT([yes])
888 PANDOC_MARKDOWN_FLAG="markdown-smart"
889 else
890diff --git a/make/autoconf/boot-jdk.m4 b/make/autoconf/boot-jdk.m4
891index 85a77d2..960a8ff 100644
892--- a/make/autoconf/boot-jdk.m4
893+++ b/make/autoconf/boot-jdk.m4
894@@ -1,5 +1,5 @@
895 #
896-# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
897+# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
898 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
899 #
900 # This code is free software; you can redistribute it and/or modify it
901@@ -382,7 +382,7 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
902 # Finally, set some other options...
903
904 # Determine if the boot jdk jar supports the --date option
905- if $JAR --help 2>&1 | $GREP -q "\-\-date=TIMESTAMP"; then
906+ if $JAR --help 2>&1 | $GREP -q -e "--date=TIMESTAMP"; then
907 BOOT_JDK_JAR_SUPPORTS_DATE=true
908 else
909 BOOT_JDK_JAR_SUPPORTS_DATE=false
910diff --git a/make/autoconf/build-aux/config.guess b/make/autoconf/build-aux/config.guess
911index dbb441f..afdf7cb 100644
912--- a/make/autoconf/build-aux/config.guess
913+++ b/make/autoconf/build-aux/config.guess
914@@ -68,11 +68,11 @@ if test $? = 0; then
915 fi
916
917 # Test and fix wsl
918-echo $OUT | grep unknown-linux-gnu > /dev/null 2> /dev/null
919+echo $OUT | grep '\(unknown\|pc\)-linux-gnu' > /dev/null 2> /dev/null
920 if test $? = 0; then
921 uname -r | grep -i microsoft > /dev/null 2> /dev/null
922 if test $? = 0; then
923- OUT=`echo $OUT | sed -e 's/unknown-linux-gnu/pc-wsl/'`
924+ OUT=`echo $OUT | sed -e 's/\(unknown\|pc\)-linux-gnu/pc-wsl/'`
925 fi
926 fi
927
928diff --git a/make/autoconf/build-performance.m4 b/make/autoconf/build-performance.m4
929index 52d143e..3f0ab1b 100644
930--- a/make/autoconf/build-performance.m4
931+++ b/make/autoconf/build-performance.m4
932@@ -1,5 +1,5 @@
933 #
934-# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
935+# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
936 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
937 #
938 # This code is free software; you can redistribute it and/or modify it
939@@ -26,39 +26,29 @@
940 AC_DEFUN([BPERF_CHECK_CORES],
941 [
942 AC_MSG_CHECKING([for number of cores])
943- NUM_CORES=1
944- FOUND_CORES=no
945
946 if test -f /proc/cpuinfo; then
947 # Looks like a Linux (or cygwin) system
948- NUM_CORES=`cat /proc/cpuinfo | grep -c processor`
949+ NUM_CORES=`cat /proc/cpuinfo | grep -cw processor`
950 if test "$NUM_CORES" -eq "0"; then
951 NUM_CORES=`cat /proc/cpuinfo | grep -c ^CPU`
952 fi
953- if test "$NUM_CORES" -ne "0"; then
954- FOUND_CORES=yes
955- fi
956 elif test -x /usr/sbin/sysctl; then
957 # Looks like a MacOSX system
958 NUM_CORES=`/usr/sbin/sysctl -n hw.ncpu`
959- FOUND_CORES=yes
960 elif test "x$OPENJDK_BUILD_OS" = xaix ; then
961- NUM_LCPU=`lparstat -m 2> /dev/null | $GREP -o "lcpu=[[0-9]]*" | $CUT -d "=" -f 2`
962- if test -n "$NUM_LCPU"; then
963- NUM_CORES=$NUM_LCPU
964- FOUND_CORES=yes
965- fi
966+ NUM_CORES=`lparstat -m 2> /dev/null | $GREP -o "lcpu=[[0-9]]*" | $CUT -d "=" -f 2`
967 elif test -n "$NUMBER_OF_PROCESSORS"; then
968 # On windows, look in the env
969 NUM_CORES=$NUMBER_OF_PROCESSORS
970- FOUND_CORES=yes
971 fi
972
973- if test "x$FOUND_CORES" = xyes; then
974- AC_MSG_RESULT([$NUM_CORES])
975- else
976+ if test "$NUM_CORES" -eq "0"; then
977+ NUM_CORES=1
978 AC_MSG_RESULT([could not detect number of cores, defaulting to 1])
979 AC_MSG_WARN([This will disable all parallelism from build!])
980+ else
981+ AC_MSG_RESULT([$NUM_CORES])
982 fi
983 ])
984
985diff --git a/make/autoconf/configure.ac b/make/autoconf/configure.ac
986index df50899..5d48bd9 100644
987--- a/make/autoconf/configure.ac
988+++ b/make/autoconf/configure.ac
989@@ -219,6 +219,9 @@ JDKOPT_SETUP_ADDRESS_SANITIZER
990 # UndefinedBehaviorSanitizer
991 JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER
992
993+# LeakSanitizer
994+JDKOPT_SETUP_LEAK_SANITIZER
995+
996 ###############################################################################
997 #
998 # Check dependencies for external and internal libraries.
999diff --git a/make/autoconf/flags-cflags.m4 b/make/autoconf/flags-cflags.m4
1000index 1fdd014..dee33a4 100644
1001--- a/make/autoconf/flags-cflags.m4
1002+++ b/make/autoconf/flags-cflags.m4
1003@@ -1,5 +1,5 @@
1004 #
1005-# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
1006+# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
1007 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1008 #
1009 # This code is free software; you can redistribute it and/or modify it
1010@@ -189,6 +189,10 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
1011 WARNINGS_ENABLE_ALL_CXXFLAGS="$WARNINGS_ENABLE_ALL_CFLAGS $WARNINGS_ENABLE_ADDITIONAL_CXX"
1012
1013 DISABLED_WARNINGS="unused-parameter unused"
1014+ # gcc10/11 on ppc generate lots of abi warnings about layout of aggregates containing vectors
1015+ if test "x$OPENJDK_TARGET_CPU_ARCH" = "xppc"; then
1016+ DISABLED_WARNINGS="$DISABLED_WARNINGS psabi"
1017+ fi
1018 ;;
1019
1020 clang)
1021@@ -476,8 +480,7 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
1022 ALWAYS_DEFINES_JDK="-DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0602 \
1023 -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -DWIN32 -DIAL"
1024 ALWAYS_DEFINES_JVM="-DNOMINMAX -DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0602 \
1025- -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE \
1026- -D_WINSOCK_DEPRECATED_NO_WARNINGS"
1027+ -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE"
1028 fi
1029
1030 ###############################################################################
1031diff --git a/make/autoconf/jdk-options.m4 b/make/autoconf/jdk-options.m4
1032index babe463..a76fdab 100644
1033--- a/make/autoconf/jdk-options.m4
1034+++ b/make/autoconf/jdk-options.m4
1035@@ -415,7 +415,8 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
1036 CHECK_AVAILABLE: [
1037 AC_MSG_CHECKING([if AddressSanitizer (asan) is available])
1038 if test "x$TOOLCHAIN_TYPE" = "xgcc" ||
1039- test "x$TOOLCHAIN_TYPE" = "xclang"; then
1040+ test "x$TOOLCHAIN_TYPE" = "xclang" ||
1041+ test "x$TOOLCHAIN_TYPE" = "xmicrosoft"; then
1042 AC_MSG_RESULT([yes])
1043 else
1044 AC_MSG_RESULT([no])
1045@@ -423,11 +424,20 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
1046 fi
1047 ],
1048 IF_ENABLED: [
1049- # ASan is simply incompatible with gcc -Wstringop-truncation. See
1050- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85650
1051- # It's harmless to be suppressed in clang as well.
1052- ASAN_CFLAGS="-fsanitize=address -Wno-stringop-truncation -fno-omit-frame-pointer -fno-common -DADDRESS_SANITIZER"
1053- ASAN_LDFLAGS="-fsanitize=address"
1054+ if test "x$TOOLCHAIN_TYPE" = "xgcc" ||
1055+ test "x$TOOLCHAIN_TYPE" = "xclang"; then
1056+ # ASan is simply incompatible with gcc -Wstringop-truncation. See
1057+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85650
1058+ # It's harmless to be suppressed in clang as well.
1059+ ASAN_CFLAGS="-fsanitize=address -Wno-stringop-truncation -fno-omit-frame-pointer -fno-common -DADDRESS_SANITIZER"
1060+ ASAN_LDFLAGS="-fsanitize=address"
1061+ elif test "x$TOOLCHAIN_TYPE" = "xmicrosoft"; then
1062+ # -Oy- is equivalent to -fno-omit-frame-pointer in GCC/Clang.
1063+ ASAN_CFLAGS="-fsanitize=address -Oy- -DADDRESS_SANITIZER"
1064+ # MSVC produces a warning if you pass -fsanitize=address to the linker. It also complains
1065+ $ if -DEBUG is not passed to the linker when building with ASan.
1066+ ASAN_LDFLAGS="-debug"
1067+ fi
1068 JVM_CFLAGS="$JVM_CFLAGS $ASAN_CFLAGS"
1069 JVM_LDFLAGS="$JVM_LDFLAGS $ASAN_LDFLAGS"
1070 CFLAGS_JDKLIB="$CFLAGS_JDKLIB $ASAN_CFLAGS"
1071@@ -442,6 +452,39 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
1072
1073 ###############################################################################
1074 #
1075+# LeakSanitizer
1076+#
1077+AC_DEFUN_ONCE([JDKOPT_SETUP_LEAK_SANITIZER],
1078+[
1079+ UTIL_ARG_ENABLE(NAME: lsan, DEFAULT: false, RESULT: LSAN_ENABLED,
1080+ DESC: [enable LeakSanitizer],
1081+ CHECK_AVAILABLE: [
1082+ AC_MSG_CHECKING([if LeakSanitizer (lsan) is available])
1083+ if test "x$TOOLCHAIN_TYPE" = "xgcc" ||
1084+ test "x$TOOLCHAIN_TYPE" = "xclang"; then
1085+ AC_MSG_RESULT([yes])
1086+ else
1087+ AC_MSG_RESULT([no])
1088+ AVAILABLE=false
1089+ fi
1090+ ],
1091+ IF_ENABLED: [
1092+ LSAN_CFLAGS="-fsanitize=leak -fno-omit-frame-pointer -DLEAK_SANITIZER"
1093+ LSAN_LDFLAGS="-fsanitize=leak"
1094+ JVM_CFLAGS="$JVM_CFLAGS $LSAN_CFLAGS"
1095+ JVM_LDFLAGS="$JVM_LDFLAGS $LSAN_LDFLAGS"
1096+ CFLAGS_JDKLIB="$CFLAGS_JDKLIB $LSAN_CFLAGS"
1097+ CFLAGS_JDKEXE="$CFLAGS_JDKEXE $LSAN_CFLAGS"
1098+ CXXFLAGS_JDKLIB="$CXXFLAGS_JDKLIB $LSAN_CFLAGS"
1099+ CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $LSAN_CFLAGS"
1100+ LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $LSAN_LDFLAGS"
1101+ LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $LSAN_LDFLAGS"
1102+ ])
1103+ AC_SUBST(LSAN_ENABLED)
1104+])
1105+
1106+###############################################################################
1107+#
1108 # UndefinedBehaviorSanitizer
1109 #
1110 AC_DEFUN_ONCE([JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER],
1111diff --git a/make/autoconf/lib-tests.m4 b/make/autoconf/lib-tests.m4
1112index d117a81..4d771f7 100644
1113--- a/make/autoconf/lib-tests.m4
1114+++ b/make/autoconf/lib-tests.m4
1115@@ -61,7 +61,7 @@ AC_DEFUN_ONCE([LIB_TESTS_SETUP_GTEST],
1116
1117 # Verify that the version is the required one.
1118 # This is a simplified version of TOOLCHAIN_CHECK_COMPILER_VERSION
1119- gtest_version="`$GREP GOOGLETEST_VERSION $GTEST_FRAMEWORK_SRC/CMakeLists.txt | $SED -E -e 's/set\(GOOGLETEST_VERSION (.*)\)/\1/'`"
1120+ gtest_version="`$GREP GOOGLETEST_VERSION $GTEST_FRAMEWORK_SRC/CMakeLists.txt | $SED -e 's/set(GOOGLETEST_VERSION \(.*\))/\1/'`"
1121 comparable_actual_version=`$AWK -F. '{ printf("%05d%05d%05d%05d\n", [$]1, [$]2, [$]3, [$]4) }' <<< "$gtest_version"`
1122 comparable_minimum_version=`$AWK -F. '{ printf("%05d%05d%05d%05d\n", [$]1, [$]2, [$]3, [$]4) }' <<< "$GTEST_MINIMUM_VERSION"`
1123 if test $comparable_actual_version -lt $comparable_minimum_version ; then
1124diff --git a/make/autoconf/libraries.m4 b/make/autoconf/libraries.m4
1125index e057626..9e746b4 100644
1126--- a/make/autoconf/libraries.m4
1127+++ b/make/autoconf/libraries.m4
1128@@ -170,8 +170,8 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
1129
1130 if test "x$OPENJDK_TARGET_OS" = xwindows; then
1131 BASIC_JVM_LIBS="$BASIC_JVM_LIBS kernel32.lib user32.lib gdi32.lib winspool.lib \
1132- comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib \
1133- wsock32.lib winmm.lib version.lib psapi.lib"
1134+ comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib powrprof.lib uuid.lib \
1135+ ws2_32.lib winmm.lib version.lib psapi.lib"
1136 fi
1137 LIB_SETUP_JVM_LIBS(BUILD)
1138 LIB_SETUP_JVM_LIBS(TARGET)
1139diff --git a/make/autoconf/spec.gmk.in b/make/autoconf/spec.gmk.in
1140index 93c9d62..ff073c7 100644
1141--- a/make/autoconf/spec.gmk.in
1142+++ b/make/autoconf/spec.gmk.in
1143@@ -448,6 +448,9 @@ JCOV_FILTERS=@JCOV_FILTERS@
1144 # AddressSanitizer
1145 ASAN_ENABLED:=@ASAN_ENABLED@
1146
1147+# LeakSanitizer
1148+LSAN_ENABLED:=@LSAN_ENABLED@
1149+
1150 # UndefinedBehaviorSanitizer
1151 UBSAN_ENABLED:=@UBSAN_ENABLED@
1152 UBSAN_CFLAGS:=@UBSAN_CFLAGS@
1153diff --git a/make/autoconf/util_paths.m4 b/make/autoconf/util_paths.m4
1154index 8909bab..3dd6ea7 100644
1155--- a/make/autoconf/util_paths.m4
1156+++ b/make/autoconf/util_paths.m4
1157@@ -1,5 +1,5 @@
1158 #
1159-# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
1160+# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
1161 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1162 #
1163 # This code is free software; you can redistribute it and/or modify it
1164@@ -521,7 +521,7 @@ AC_DEFUN([UTIL_REMOVE_SYMBOLIC_LINKS],
1165 sym_link_dir=`pwd -P`
1166 # Resolve file symlinks
1167 while test $COUNTER -lt 20; do
1168- ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
1169+ ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP -e '->' | $SED -e 's/.*-> \(.*\)/\1/'`
1170 if test "x$ISLINK" == x; then
1171 # This is not a symbolic link! We are done!
1172 break
1173diff --git a/make/common/MakeIO.gmk b/make/common/MakeIO.gmk
1174index 7b4dd0a..6075e03 100644
1175--- a/make/common/MakeIO.gmk
1176+++ b/make/common/MakeIO.gmk
1177@@ -257,7 +257,7 @@ ifeq ($(HAS_FILE_FUNCTION), true)
1178 else
1179 # Use printf to get consistent behavior on all platforms.
1180 WriteFile = \
1181- $(shell $(PRINTF) "%s" $(call ShellQuote, $1) > $2)
1182+ $(shell $(PRINTF) "%s\n" $(strip $(call ShellQuote, $1)) > $2)
1183 endif
1184
1185 # Param 1 - Text to write
1186@@ -268,5 +268,5 @@ ifeq ($(HAS_FILE_FUNCTION), true)
1187 else
1188 # Use printf to get consistent behavior on all platforms.
1189 AppendFile = \
1190- $(shell $(PRINTF) "%s" $(call ShellQuote, $1) >> $2)
1191+ $(shell $(PRINTF) "%s\n" $(strip $(call ShellQuote, $1)) >> $2)
1192 endif
1193diff --git a/make/common/NativeCompilation.gmk b/make/common/NativeCompilation.gmk
1194index 9f0e443..0d7ab6a 100644
1195--- a/make/common/NativeCompilation.gmk
1196+++ b/make/common/NativeCompilation.gmk
1197@@ -1062,10 +1062,13 @@ define SetupNativeCompilationBody
1198 $1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).debuginfo
1199 # Setup the command line creating debuginfo files, to be run after linking.
1200 # It cannot be run separately since it updates the original target file
1201+ # Creating the debuglink is done in another command rather than all at once
1202+ # so we can run it after strip is called, since strip can sometimes mangle the
1203+ # embedded debuglink, which we want to avoid.
1204 $1_CREATE_DEBUGINFO_CMDS := \
1205- $$($1_OBJCOPY) --only-keep-debug $$($1_TARGET) $$($1_DEBUGINFO_FILES) $$(NEWLINE) \
1206- $(CD) $$($1_SYMBOLS_DIR) && \
1207- $$($1_OBJCOPY) --add-gnu-debuglink=$$($1_DEBUGINFO_FILES) $$($1_TARGET)
1208+ $$($1_OBJCOPY) --only-keep-debug $$($1_TARGET) $$($1_DEBUGINFO_FILES) $$(NEWLINE)
1209+ $1_CREATE_DEBUGLINK_CMDS := $(CD) $$($1_SYMBOLS_DIR) && \
1210+ $$($1_OBJCOPY) --add-gnu-debuglink=$$($1_DEBUGINFO_FILES) $$($1_TARGET)
1211
1212 else ifeq ($(call isTargetOs, aix), true)
1213 # AIX does not provide the equivalent of OBJCOPY to extract debug symbols,
1214@@ -1194,7 +1197,7 @@ define SetupNativeCompilationBody
1215 $1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
1216 $$($1_LIBS) $$($1_EXTRA_LIBS) $$($1_MT) \
1217 $$($1_CREATE_DEBUGINFO_CMDS) $$($1_MANIFEST_VERSION) \
1218- $$($1_STRIP_CMD)
1219+ $$($1_STRIP_CMD) $$($1_CREATE_DEBUGLINK_CMDS)
1220 $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
1221 $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
1222
1223@@ -1257,6 +1260,7 @@ define SetupNativeCompilationBody
1224 test "$$$$?" = "1" ; \
1225 $$($1_CREATE_DEBUGINFO_CMDS)
1226 $$($1_STRIP_CMD)
1227+ $$($1_CREATE_DEBUGLINK_CMDS)
1228 ifeq ($(call isBuildOsEnv, windows.wsl2), true)
1229 $$(CHMOD) +x $$($1_TARGET)
1230 endif
1231@@ -1268,6 +1272,7 @@ define SetupNativeCompilationBody
1232 $$($1_LIBS) $$($1_EXTRA_LIBS)) ; \
1233 $$($1_CREATE_DEBUGINFO_CMDS)
1234 $$($1_STRIP_CMD)
1235+ $$($1_CREATE_DEBUGLINK_CMDS)
1236 endif
1237 ifeq ($(call isTargetOs, windows), true)
1238 ifneq ($$($1_MANIFEST), )
1239diff --git a/make/common/ProcessMarkdown.gmk b/make/common/ProcessMarkdown.gmk
1240index 671d820..b5dc020 100644
1241--- a/make/common/ProcessMarkdown.gmk
1242+++ b/make/common/ProcessMarkdown.gmk
1243@@ -84,7 +84,7 @@ define ProcessMarkdown
1244 $$(call MakeDir, $$(SUPPORT_OUTPUTDIR)/markdown $$(dir $$($1_$2_PANDOC_OUTPUT)))
1245 $$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER), \
1246 $$(PANDOC) $$($1_OPTIONS) -f $$(PANDOC_MARKDOWN_FLAG) \
1247- -t $$($1_FORMAT) --standalone \
1248+ -t $$($1_FORMAT) --eol=lf --standalone \
1249 $$($1_$2_CSS_OPTION) $$($1_$2_OPTIONS_FROM_SRC) $$($1_$2_OPTIONS) \
1250 '$$($1_$2_PANDOC_INPUT)' -o '$$($1_$2_PANDOC_OUTPUT)')
1251 ifneq ($$(findstring $$(LOG_LEVEL), debug trace),)
1252diff --git a/make/common/modules/LauncherCommon.gmk b/make/common/modules/LauncherCommon.gmk
1253index f8ea126..5c13478 100644
1254--- a/make/common/modules/LauncherCommon.gmk
1255+++ b/make/common/modules/LauncherCommon.gmk
1256@@ -150,6 +150,10 @@ define SetupBuildLauncherBody
1257 $1_EXTRA_FILES += $(TOPDIR)/make/data/asan/asan_default_options.c
1258 endif
1259
1260+ ifeq ($(LSAN_ENABLED), true)
1261+ $1_EXTRA_FILES += $(TOPDIR)/make/data/lsan/lsan_default_options.c
1262+ endif
1263+
1264 $$(eval $$(call SetupJdkExecutable, BUILD_LAUNCHER_$1, \
1265 NAME := $1, \
1266 EXTRA_FILES := $$($1_EXTRA_FILES), \
1267diff --git a/make/conf/jib-profiles.js b/make/conf/jib-profiles.js
1268index b443d89..1b866e2 100644
1269--- a/make/conf/jib-profiles.js
1270+++ b/make/conf/jib-profiles.js
1271@@ -813,24 +813,6 @@ var getJibProfilesProfiles = function (input, common, data) {
1272 }
1273 });
1274
1275- // Define the reference implementation profiles. These are basically the same
1276- // as the open profiles, but upload artifacts to a different location.
1277- common.main_profile_names.forEach(function (name) {
1278- var riName = name + "-ri";
1279- var riDebugName = riName + common.debug_suffix;
1280- var openName = name + common.open_suffix;
1281- var openDebugName = openName + common.debug_suffix;
1282- profiles[riName] = clone(profiles[openName]);
1283- profiles[riDebugName] = clone(profiles[openDebugName]);
1284- // Rewrite all remote dirs to "bundles/openjdk/BCL/..."
1285- for (artifactName in profiles[riName].artifacts) {
1286- var artifact = profiles[riName].artifacts[artifactName];
1287- artifact.remote = replaceAll(
1288- "\/GPL\/", "/BCL/",
1289- (artifact.remote != null ? artifact.remote : artifact.local));
1290- }
1291- });
1292-
1293 // For open profiles, the non-debug jdk bundles, need an "open" prefix on the
1294 // remote bundle names, forming the word "openjdk". See JDK-8188789.
1295 common.main_profile_names.forEach(function (name) {
1296@@ -869,7 +851,7 @@ var getJibProfilesProfiles = function (input, common, data) {
1297 [ "linux-aarch64", "linux-x64", "macosx-x64", "macosx-aarch64", "windows-x64" ]
1298 .forEach(function (name) {
1299 var o = artifactData[name]
1300- var jdk_subdir = (o.jdk_subdir != null ? o.jdk_subdir : "jdk-" + data.version);
1301+ var jdk_subdir = "jdk-" + data.version;
1302 var jdk_suffix = (o.jdk_suffix != null ? o.jdk_suffix : "tar.gz");
1303 var pf = o.platform
1304 var jcovName = name + "-jcov";
1305@@ -1010,6 +992,20 @@ var getJibProfilesProfiles = function (input, common, data) {
1306 };
1307 profiles["run-test"] = concatObjects(profiles["run-test"], macosxRunTestExtra);
1308 profiles["run-test-prebuilt"] = concatObjects(profiles["run-test-prebuilt"], macosxRunTestExtra);
1309+ } else if (input.build_os == "windows") {
1310+ // On windows, add the devkit debugger to the path in all the run-test profiles
1311+ // to make them available to the jtreg failure handler.
1312+ var archDir = "x64";
1313+ if (input.build_arch == "aarch64") {
1314+ archDir = "arm64"
1315+ }
1316+ windowsRunTestExtra = {
1317+ environment_path: [
1318+ input.get("devkit", "install_path") + "/10/Debuggers/" + archDir
1319+ ]
1320+ }
1321+ profiles["run-test"] = concatObjects(profiles["run-test"], windowsRunTestExtra);
1322+ profiles["run-test-prebuilt"] = concatObjects(profiles["run-test-prebuilt"], windowsRunTestExtra);
1323 }
1324
1325 // The profile run-test-prebuilt defines src.conf as the src bundle. When
1326@@ -1051,8 +1047,8 @@ var getJibProfilesDependencies = function (input, common) {
1327 var devkit_platform_revisions = {
1328 linux_x64: "gcc11.2.0-OL6.4+1.0",
1329 macosx: "Xcode12.4+1.1",
1330- windows_x64: "VS2022-17.1.0+1.0",
1331- linux_aarch64: "gcc11.2.0-OL7.6+1.0",
1332+ windows_x64: "VS2022-17.1.0+1.1",
1333+ linux_aarch64: input.build_cpu == "x64" ? "gcc11.2.0-OL7.6+1.1" : "gcc11.2.0-OL7.6+1.0",
1334 linux_arm: "gcc8.2.0-Fedora27+1.0",
1335 linux_ppc64le: "gcc8.2.0-Fedora27+1.0",
1336 linux_s390x: "gcc8.2.0-Fedora27+1.0",
1337diff --git a/make/data/asan/asan_default_options.c b/make/data/asan/asan_default_options.c
1338index 140b5c5..9e0887c 100644
1339--- a/make/data/asan/asan_default_options.c
1340+++ b/make/data/asan/asan_default_options.c
1341@@ -1,5 +1,5 @@
1342 /*
1343- * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
1344+ * Copyright (c) 2023, Google and/or its affiliates. All rights reserved.
1345 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1346 *
1347 * This code is free software; you can redistribute it and/or modify it
1348@@ -33,6 +33,8 @@
1349
1350 #if (defined(__GNUC__) && !defined(__clang__)) || __has_attribute(visibility)
1351 #define ATTRIBUTE_DEFAULT_VISIBILITY __attribute__((visibility("default")))
1352+#elif defined(_MSC_VER)
1353+#define ATTRIBUTE_DEFAULT_VISIBILITY __declspec(dllexport)
1354 #else
1355 #define ATTRIBUTE_DEFAULT_VISIBILITY
1356 #endif
1357@@ -43,15 +45,29 @@
1358 #define ATTRIBUTE_USED
1359 #endif
1360
1361+#if defined(_MSC_VER)
1362+#define CDECL __cdecl
1363+#else
1364+#define CDECL
1365+#endif
1366+
1367 // Override weak symbol exposed by ASan to override default options. This is called by ASan
1368 // extremely early during library loading, before main is called. We need to override the default
1369 // options because LSan is enabled by default and Hotspot is not yet compatible with it.
1370 // Additionally we need to prevent ASan from handling SIGSEGV, so that Hotspot's crash handler is
1371 // used. You can override these options by setting the environment variable ASAN_OPTIONS.
1372-ATTRIBUTE_DEFAULT_VISIBILITY ATTRIBUTE_USED const char* __asan_default_options() {
1373+ATTRIBUTE_DEFAULT_VISIBILITY ATTRIBUTE_USED const char* CDECL __asan_default_options() {
1374 return
1375-#ifndef LEAK_SANITIZER
1376+#ifdef LEAK_SANITIZER
1377+ "leak_check_at_exit=0,"
1378+#else
1379+ // ASan bundles LSan, however we only support LSan when it is explicitly requested during
1380+ // configuration. Thus we disable it to match if it was not requested.
1381 "detect_leaks=0,"
1382 #endif
1383- "handle_segv=0";
1384+ "print_suppressions=0,"
1385+ "handle_segv=0,"
1386+ // See https://github.com/google/sanitizers/issues/1322. Hopefully this is resolved
1387+ // at some point and we can remove this option.
1388+ "intercept_tls_get_addr=0";
1389 }
1390diff --git a/make/data/asan/asan_default_options.cpp b/make/data/asan/asan_default_options.cpp
1391index f84ebab..8afb3de 100644
1392--- a/make/data/asan/asan_default_options.cpp
1393+++ b/make/data/asan/asan_default_options.cpp
1394@@ -1,5 +1,5 @@
1395 /*
1396- * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
1397+ * Copyright (c) 2023, Google and/or its affiliates. All rights reserved.
1398 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1399 *
1400 * This code is free software; you can redistribute it and/or modify it
1401diff --git a/make/data/charsetmapping/charsets b/make/data/charsetmapping/charsets
1402index 5932645..4ee272f 100644
1403--- a/make/data/charsetmapping/charsets
1404+++ b/make/data/charsetmapping/charsets
1405@@ -1,5 +1,5 @@
1406 #
1407-# Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
1408+# Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
1409 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1410 #
1411 # This code is free software; you can redistribute it and/or modify it
1412@@ -476,6 +476,11 @@ charset x-IBM874 IBM874
1413 alias ibm-874
1414 alias 874
1415
1416+# alias for GB18030 is generated at runtime
1417+charset GB18030 GB18030
1418+ package sun.nio.cs
1419+ type source
1420+
1421 ########################################################
1422 #
1423 # charsets provided by ExtendedCharsets provider.
1424@@ -563,11 +568,6 @@ charset GBK GBK # Simplified Chinese
1425 alias windows-936
1426 alias CP936
1427
1428-charset GB18030 GB18030
1429- package sun.nio.cs.ext
1430- type template
1431- alias gb18030-2000
1432-
1433 charset GB2312 EUC_CN
1434 package sun.nio.cs.ext
1435 type dbcs
1436diff --git a/make/data/charsetmapping/stdcs-aix b/make/data/charsetmapping/stdcs-aix
1437index f17468b..750308b 100644
1438--- a/make/data/charsetmapping/stdcs-aix
1439+++ b/make/data/charsetmapping/stdcs-aix
1440@@ -7,7 +7,6 @@ Big5_HKSCS
1441 EUC_CN
1442 EUC_KR
1443 GBK
1444-GB18030
1445 IBM856
1446 IBM921
1447 IBM922
1448diff --git a/make/data/charsetmapping/stdcs-linux b/make/data/charsetmapping/stdcs-linux
1449index d7b3b4d..b9e80ca 100644
1450--- a/make/data/charsetmapping/stdcs-linux
1451+++ b/make/data/charsetmapping/stdcs-linux
1452@@ -11,7 +11,6 @@ EUC_JP_LINUX
1453 EUC_JP_Open
1454 EUC_TW
1455 GBK
1456-GB18030
1457 ISO_8859_11
1458 ISO_8859_3
1459 ISO_8859_6
1460diff --git a/make/data/charsetmapping/stdcs-solaris b/make/data/charsetmapping/stdcs-solaris
1461deleted file mode 100644
1462index cf3c01f..0000000
1463--- a/make/data/charsetmapping/stdcs-solaris
1464+++ /dev/null
1465@@ -1,26 +0,0 @@
1466-#
1467-# generate these charsets into sun.nio.cs
1468-#
1469-Big5
1470-Big5_Solaris
1471-Big5_HKSCS # always together with Big5
1472-EUC_CN
1473-EUC_KR
1474-EUC_JP
1475-EUC_JP_LINUX
1476-EUC_JP_Open
1477-EUC_TW
1478-GBK
1479-GB18030
1480-ISO_8859_11
1481-ISO_8859_3
1482-ISO_8859_6
1483-ISO_8859_8
1484-Johab
1485-PCK
1486-TIS_620
1487-JIS_X_0201
1488-JIS_X_0208
1489-JIS_X_0212
1490-JIS_X_0208_Solaris
1491-JIS_X_0212_Solaris
1492diff --git a/make/data/charsetmapping/stdcs-windows b/make/data/charsetmapping/stdcs-windows
1493index 3185e9a..482b699 100644
1494--- a/make/data/charsetmapping/stdcs-windows
1495+++ b/make/data/charsetmapping/stdcs-windows
1496@@ -2,7 +2,6 @@
1497 # generate these charsets into sun.nio.cs
1498 #
1499 GBK
1500-GB18030
1501 Johab
1502 MS1255
1503 MS1256
1504diff --git a/make/data/cldr/common/main/en.xml b/make/data/cldr/common/main/en.xml
1505index 319ef3e..a6c7c0e 100644
1506--- a/make/data/cldr/common/main/en.xml
1507+++ b/make/data/cldr/common/main/en.xml
1508@@ -1193,8 +1193,8 @@ annotations.
1509 <territory type="TM">Turkmenistan</territory>
1510 <territory type="TN">Tunisia</territory>
1511 <territory type="TO">Tonga</territory>
1512- <territory type="TR">Turkey</territory>
1513- <territory type="TR" alt="variant">Türkiye</territory>
1514+ <territory type="TR">Türkiye</territory>
1515+ <territory type="TR" alt="variant">Turkey</territory>
1516 <territory type="TT">Trinidad &amp; Tobago</territory>
1517 <territory type="TV">Tuvalu</territory>
1518 <territory type="TW">Taiwan</territory>
1519diff --git a/make/data/cldr/common/properties/coverageLevels.txt b/make/data/cldr/common/properties/coverageLevels.txt
1520new file mode 100644
1521index 0000000..8191212
1522--- /dev/null
1523+++ b/make/data/cldr/common/properties/coverageLevels.txt
1524@@ -0,0 +1,141 @@
1525+# coverageLevels.txt
1526+# Copyright © 2022 Unicode, Inc.
1527+# CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
1528+# For terms of use, see http://www.unicode.org/copyright.html
1529+#
1530+# Provides the Coverage Level of locales at Basic or Above.
1531+# For more info,see the Locale Coverage Chart for this version.
1532+# Generated by ShowLocaleCoverage.
1533+#
1534+#Locale ; Level
1535+af ; modern
1536+am ; modern
1537+ar ; modern
1538+as ; modern
1539+ast ; basic
1540+az ; modern
1541+be ; modern
1542+bg ; modern
1543+bgc ; basic
1544+bho ; basic
1545+bn ; modern
1546+br ; moderate
1547+brx ; basic
1548+bs ; modern
1549+bs_Cyrl ; basic
1550+ca ; modern
1551+ceb ; moderate
1552+chr ; modern
1553+cs ; modern
1554+cv ; moderate
1555+cy ; modern
1556+da ; modern
1557+de ; modern
1558+doi ; basic
1559+dsb ; modern
1560+el ; modern
1561+en ; modern
1562+es ; modern
1563+et ; modern
1564+eu ; modern
1565+fa ; modern
1566+ff_Adlm ; basic
1567+fi ; modern
1568+fil ; modern
1569+fo ; basic
1570+fr ; modern
1571+ga ; modern
1572+gd ; modern
1573+gl ; modern
1574+gu ; modern
1575+ha ; modern
1576+he ; modern
1577+hi ; modern
1578+hi_Latn ; modern
1579+hr ; modern
1580+hsb ; modern
1581+hu ; modern
1582+hy ; modern
1583+ia ; basic
1584+id ; modern
1585+ig ; modern
1586+is ; modern
1587+it ; modern
1588+ja ; modern
1589+jv ; modern
1590+ka ; modern
1591+kea ; basic
1592+kgp ; basic
1593+kk ; modern
1594+km ; modern
1595+kn ; modern
1596+ko ; modern
1597+kok ; modern
1598+ks ; basic
1599+ks_Deva ; basic
1600+ky ; modern
1601+lo ; modern
1602+lt ; modern
1603+lv ; modern
1604+mai ; basic
1605+mi ; basic
1606+mk ; modern
1607+ml ; modern
1608+mn ; modern
1609+mni ; basic
1610+mr ; modern
1611+ms ; modern
1612+my ; modern
1613+ne ; modern
1614+nl ; modern
1615+nn ; modern
1616+no ; modern
1617+or ; modern
1618+pa ; modern
1619+pcm ; modern
1620+pl ; modern
1621+ps ; modern
1622+pt ; modern
1623+qu ; moderate
1624+raj ; basic
1625+rm ; basic
1626+ro ; modern
1627+ru ; modern
1628+sa ; basic
1629+sat ; basic
1630+sc ; moderate
1631+sd ; modern
1632+sd_Deva ; basic
1633+si ; modern
1634+sk ; modern
1635+sl ; modern
1636+so ; modern
1637+sq ; modern
1638+sr ; modern
1639+su ; basic
1640+sv ; modern
1641+sw ; modern
1642+ta ; modern
1643+te ; modern
1644+tg ; basic
1645+th ; modern
1646+ti ; basic
1647+tk ; modern
1648+to ; basic
1649+tr ; modern
1650+tt ; basic
1651+uk ; modern
1652+ur ; modern
1653+uz ; modern
1654+uz_Cyrl ; basic
1655+vi ; modern
1656+wo ; basic
1657+xh ; moderate
1658+yo ; modern
1659+yrl ; basic
1660+yue ; modern
1661+yue_Hans ; modern
1662+zh ; modern
1663+zh_Hant ; modern
1664+zu ; modern
1665+#EOF
1666diff --git a/make/data/lsan/lsan_default_options.c b/make/data/lsan/lsan_default_options.c
1667new file mode 100644
1668index 0000000..9b86eaa
1669--- /dev/null
1670+++ b/make/data/lsan/lsan_default_options.c
1671@@ -0,0 +1,67 @@
1672+/*
1673+ * Copyright (c) 2023, Google and/or its affiliates. All rights reserved.
1674+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1675+ *
1676+ * This code is free software; you can redistribute it and/or modify it
1677+ * under the terms of the GNU General Public License version 2 only, as
1678+ * published by the Free Software Foundation. Oracle designates this
1679+ * particular file as subject to the "Classpath" exception as provided
1680+ * by Oracle in the LICENSE file that accompanied this code.
1681+ *
1682+ * This code is distributed in the hope that it will be useful, but WITHOUT
1683+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1684+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
1685+ * version 2 for more details (a copy is included in the LICENSE file that
1686+ * accompanied this code).
1687+ *
1688+ * You should have received a copy of the GNU General Public License version
1689+ * 2 along with this work; if not, write to the Free Software Foundation,
1690+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
1691+ *
1692+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
1693+ * or visit www.oracle.com if you need additional information or have any
1694+ * questions.
1695+ */
1696+
1697+#ifndef LEAK_SANITIZER
1698+#error "Build misconfigured, preprocessor macro LEAK_SANITIZER should be defined"
1699+#endif
1700+
1701+#ifndef __has_attribute
1702+#define __has_attribute(x) 0
1703+#endif
1704+
1705+#if (defined(__GNUC__) && !defined(__clang__)) || __has_attribute(visibility)
1706+#define ATTRIBUTE_DEFAULT_VISIBILITY __attribute__((visibility("default")))
1707+#else
1708+#define ATTRIBUTE_DEFAULT_VISIBILITY
1709+#endif
1710+
1711+#if (defined(__GNUC__) && !defined(__clang__)) || __has_attribute(used)
1712+#define ATTRIBUTE_USED __attribute__((used))
1713+#else
1714+#define ATTRIBUTE_USED
1715+#endif
1716+
1717+// Override weak symbol exposed by LSan to override default options. This is called by LSan
1718+// extremely early during library loading, before main is called. We need to override the default
1719+// options because LSan will perform leak checking at program exit. Unfortunately Hotspot does not
1720+// shutdown cleanly at the moment and some leaks occur, we want to ignore these. Instead we
1721+// explicitly perform leak checking early during JVM shutdown.
1722+ATTRIBUTE_DEFAULT_VISIBILITY ATTRIBUTE_USED const char* __lsan_default_options() {
1723+ return
1724+ "print_suppressions=0,"
1725+ "leak_check_at_exit=0,"
1726+ // See https://github.com/google/sanitizers/issues/1322. Hopefully this is resolved
1727+ // at some point and we can remove this option.
1728+ "intercept_tls_get_addr=0";
1729+}
1730+
1731+// Override weak symbol exposed by LSan to override default suppressions. This is called by LSan
1732+// extremely early during library loading, before main is called.
1733+ATTRIBUTE_DEFAULT_VISIBILITY ATTRIBUTE_USED const char* __lsan_default_suppressions() {
1734+ return
1735+ // Remove after JDK-8297688 is resolved.
1736+ "leak:^JLI_MemAlloc$\n"
1737+ "leak:^JLI_StringDup$\n";
1738+}
1739diff --git a/src/jdk.internal.le/windows/classes/module-info.java.extra b/make/data/lsan/lsan_default_options.cpp
1740similarity index 86%
1741rename from src/jdk.internal.le/windows/classes/module-info.java.extra
1742rename to make/data/lsan/lsan_default_options.cpp
1743index 3e791de..72a8bee 100644
1744--- a/src/jdk.internal.le/windows/classes/module-info.java.extra
1745+++ b/make/data/lsan/lsan_default_options.cpp
1746@@ -1,5 +1,5 @@
1747 /*
1748- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
1749+ * Copyright (c) 2023, Google and/or its affiliates. All rights reserved.
1750 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1751 *
1752 * This code is free software; you can redistribute it and/or modify it
1753@@ -23,5 +23,8 @@
1754 * questions.
1755 */
1756
1757+extern "C" {
1758
1759-provides jdk.internal.org.jline.terminal.spi.JnaSupport with jdk.internal.org.jline.terminal.impl.jna.JnaSupportImpl;
1760+#include "./lsan_default_options.c"
1761+
1762+} // extern "C"
1763diff --git a/make/devkit/Tools.gmk b/make/devkit/Tools.gmk
1764index f882ca5..af37f12 100644
1765--- a/make/devkit/Tools.gmk
1766+++ b/make/devkit/Tools.gmk
1767@@ -1,5 +1,5 @@
1768 #
1769-# Copyright (c) 2013, 2022, Oracle and/or its affiliates. All rights reserved.
1770+# Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved.
1771 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1772 #
1773 # This code is free software; you can redistribute it and/or modify it
1774@@ -71,6 +71,7 @@ else ifeq ($(BASE_OS), Fedora)
1775 BASE_URL := http://fedora.riscv.rocks/repos-dist/$(BASE_OS_VERSION)/$(ARCH)/Packages/
1776 else
1777 DEFAULT_OS_VERSION := 27
1778+ LATEST_ARCHIVED_OS_VERSION := 35
1779 ifeq ($(BASE_OS_VERSION), )
1780 BASE_OS_VERSION := $(DEFAULT_OS_VERSION)
1781 endif
1782@@ -79,11 +80,11 @@ else ifeq ($(BASE_OS), Fedora)
1783 else
1784 FEDORA_TYPE := fedora/linux
1785 endif
1786- ARCHIVED := $(shell [ $(BASE_OS_VERSION) -lt $(DEFAULT_OS_VERSION) ] && echo true)
1787- ifeq ($(ARCHIVED),true)
1788- BASE_URL := https://archives.fedoraproject.org/pub/archive/$(FEDORA_TYPE)/releases/$(BASE_OS_VERSION)/Everything/$(ARCH)/os/Packages/
1789- else
1790+ NOT_ARCHIVED := $(shell [ $(BASE_OS_VERSION) -gt $(LATEST_ARCHIVED_OS_VERSION) ] && echo true)
1791+ ifeq ($(NOT_ARCHIVED),true)
1792 BASE_URL := https://dl.fedoraproject.org/pub/$(FEDORA_TYPE)/releases/$(BASE_OS_VERSION)/Everything/$(ARCH)/os/Packages/
1793+ else
1794+ BASE_URL := https://archives.fedoraproject.org/pub/archive/$(FEDORA_TYPE)/releases/$(BASE_OS_VERSION)/Everything/$(ARCH)/os/Packages/
1795 endif
1796 endif
1797 LINUX_VERSION := Fedora_$(BASE_OS_VERSION)
1798@@ -449,7 +450,7 @@ $(BUILDDIR)/$(binutils_ver)/Makefile \
1799 $(PATHPRE) $(ENVS) CFLAGS="-O2 $(CFLAGS)" \
1800 $(BINUTILS_CFG) \
1801 $(CONFIG) \
1802- $(LINKER_CONFIG) \
1803+ $(LINKER_CONFIG) \
1804 --with-sysroot=$(SYSROOT) \
1805 --disable-nls \
1806 --program-prefix=$(TARGET)- \
1807diff --git a/make/devkit/createWindowsDevkit.sh b/make/devkit/createWindowsDevkit.sh
1808index 9e36e3c..0646cb6 100644
1809--- a/make/devkit/createWindowsDevkit.sh
1810+++ b/make/devkit/createWindowsDevkit.sh
1811@@ -1,6 +1,6 @@
1812 #!/bin/bash
1813 #
1814-# Copyright (c) 2015, 2022, Oracle and/or its affiliates. All rights reserved.
1815+# Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
1816 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1817 #
1818 # This code is free software; you can redistribute it and/or modify it
1819@@ -26,6 +26,12 @@
1820
1821 # This script copies parts of a Visual Studio installation into a devkit
1822 # suitable for building OpenJDK and OracleJDK. Needs to run in Cygwin or WSL.
1823+#
1824+# To include the debugger tools for the jtreg failure_handler, those need to
1825+# be explicitly added to the Windows SDK installation first. That is done
1826+# through Windows Settings - Apps, find the Windows Software Development Kit
1827+# installation, click modify, and add the debugger tools.
1828+#
1829 # erik.joelsson@oracle.com
1830
1831 usage_and_exit() {
1832@@ -197,6 +203,17 @@ mkdir -p $DEVKIT_ROOT/$SDK_VERSION/Redist
1833 cp -r "$SDK_INSTALL_DIR/Redist/$UCRT_VERSION/ucrt" $DEVKIT_ROOT/$SDK_VERSION/Redist/
1834 mkdir -p $DEVKIT_ROOT/$SDK_VERSION/include
1835 cp -r "$SDK_INSTALL_DIR/include/$SDK_FULL_VERSION/"* $DEVKIT_ROOT/$SDK_VERSION/include/
1836+if [ -d "$SDK_INSTALL_DIR/Debuggers" ]; then
1837+ mkdir -p $DEVKIT_ROOT/$SDK_VERSION/Debuggers/lib
1838+ cp -r "$SDK_INSTALL_DIR/Debuggers/arm64" $DEVKIT_ROOT/$SDK_VERSION/Debuggers/
1839+ cp -r "$SDK_INSTALL_DIR/Debuggers/x64" $DEVKIT_ROOT/$SDK_VERSION/Debuggers/
1840+ cp -r "$SDK_INSTALL_DIR/Debuggers/x86" $DEVKIT_ROOT/$SDK_VERSION/Debuggers/
1841+ cp -r "$SDK_INSTALL_DIR/Debuggers/lib/arm64" $DEVKIT_ROOT/$SDK_VERSION/Debuggers/lib/
1842+ cp -r "$SDK_INSTALL_DIR/Debuggers/lib/x64" $DEVKIT_ROOT/$SDK_VERSION/Debuggers/lib/
1843+ cp -r "$SDK_INSTALL_DIR/Debuggers/lib/x86" $DEVKIT_ROOT/$SDK_VERSION/Debuggers/lib/
1844+else
1845+ echo "No SDK debuggers found, skipping"
1846+fi
1847
1848 ################################################################################
1849 # Generate devkit.info
1850@@ -211,14 +228,14 @@ echo-info "# This file describes to configure how to interpret the contents of t
1851 echo-info "DEVKIT_NAME=\"Microsoft Visual Studio $VS_VERSION $VS_VERSION_SP (devkit)\""
1852 echo-info "DEVKIT_VS_VERSION=\"$VS_VERSION\""
1853 echo-info ""
1854-echo-info "DEVKIT_TOOLCHAIN_PATH_x86=\"\$DEVKIT_ROOT/VC/bin/x86:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86\""
1855+echo-info "DEVKIT_TOOLCHAIN_PATH_x86=\"\$DEVKIT_ROOT/VC/bin/x86:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86:\$DEVKIT_ROOT/$SDK_VERSION/Debuggers/x86\""
1856 echo-info "DEVKIT_VS_INCLUDE_x86=\"\$DEVKIT_ROOT/VC/include;\$DEVKIT_ROOT/VC/atlmfc/include;\$DEVKIT_ROOT/$SDK_VERSION/include/shared;\$DEVKIT_ROOT/$SDK_VERSION/include/ucrt;\$DEVKIT_ROOT/$SDK_VERSION/include/um;\$DEVKIT_ROOT/$SDK_VERSION/include/winrt\""
1857 echo-info "DEVKIT_VS_LIB_x86=\"\$DEVKIT_ROOT/VC/lib/x86;\$DEVKIT_ROOT/VC/atlmfc/lib/x86;\$DEVKIT_ROOT/$SDK_VERSION/lib/x86\""
1858 echo-info "DEVKIT_MSVCR_DLL_x86=\"\$DEVKIT_ROOT/VC/redist/x86/$MSVCR_DLL\""
1859 echo-info "DEVKIT_MSVCP_DLL_x86=\"\$DEVKIT_ROOT/VC/redist/x86/$MSVCP_DLL\""
1860 echo-info "DEVKIT_UCRT_DLL_DIR_x86=\"\$DEVKIT_ROOT/10/Redist/ucrt/DLLs/x86\""
1861 echo-info ""
1862-echo-info "DEVKIT_TOOLCHAIN_PATH_x86_64=\"\$DEVKIT_ROOT/VC/bin/x64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86\""
1863+echo-info "DEVKIT_TOOLCHAIN_PATH_x86_64=\"\$DEVKIT_ROOT/VC/bin/x64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86:\$DEVKIT_ROOT/$SDK_VERSION/Debuggers/x64\""
1864 echo-info "DEVKIT_VS_INCLUDE_x86_64=\"\$DEVKIT_ROOT/VC/include;\$DEVKIT_ROOT/VC/atlmfc/include;\$DEVKIT_ROOT/$SDK_VERSION/include/shared;\$DEVKIT_ROOT/$SDK_VERSION/include/ucrt;\$DEVKIT_ROOT/$SDK_VERSION/include/um;\$DEVKIT_ROOT/$SDK_VERSION/include/winrt\""
1865 echo-info "DEVKIT_VS_LIB_x86_64=\"\$DEVKIT_ROOT/VC/lib/x64;\$DEVKIT_ROOT/VC/atlmfc/lib/x64;\$DEVKIT_ROOT/$SDK_VERSION/lib/x64\""
1866 echo-info "DEVKIT_MSVCR_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$MSVCR_DLL\""
1867@@ -226,7 +243,7 @@ echo-info "DEVKIT_VCRUNTIME_1_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$VCRUNTIM
1868 echo-info "DEVKIT_MSVCP_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$MSVCP_DLL\""
1869 echo-info "DEVKIT_UCRT_DLL_DIR_x86_64=\"\$DEVKIT_ROOT/10/Redist/ucrt/DLLs/x64\""
1870 echo-info ""
1871-echo-info "DEVKIT_TOOLCHAIN_PATH_aarch64=\"\$DEVKIT_ROOT/VC/bin/arm64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86\""
1872+echo-info "DEVKIT_TOOLCHAIN_PATH_aarch64=\"\$DEVKIT_ROOT/VC/bin/arm64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86:\$DEVKIT_ROOT/$SDK_VERSION/Debuggers/arm64\""
1873 echo-info "DEVKIT_VS_INCLUDE_aarch64=\"\$DEVKIT_ROOT/VC/include;\$DEVKIT_ROOT/VC/atlmfc/include;\$DEVKIT_ROOT/$SDK_VERSION/include/shared;\$DEVKIT_ROOT/$SDK_VERSION/include/ucrt;\$DEVKIT_ROOT/$SDK_VERSION/include/um;\$DEVKIT_ROOT/$SDK_VERSION/include/winrt\""
1874 echo-info "DEVKIT_VS_LIB_aarch64=\"\$DEVKIT_ROOT/VC/lib/arm64;\$DEVKIT_ROOT/VC/atlmfc/lib/arm64;\$DEVKIT_ROOT/$SDK_VERSION/lib/arm64\""
1875 echo-info "DEVKIT_MSVCR_DLL_aarch64=\"\$DEVKIT_ROOT/VC/redist/arm64/$MSVCR_DLL\""
1876diff --git a/make/hotspot/lib/CompileGtest.gmk b/make/hotspot/lib/CompileGtest.gmk
1877index d27cf53..bba3ce1 100644
1878--- a/make/hotspot/lib/CompileGtest.gmk
1879+++ b/make/hotspot/lib/CompileGtest.gmk
1880@@ -32,6 +32,10 @@ ifeq ($(ASAN_ENABLED), true)
1881 GTEST_LAUNCHER_SRC += $(TOPDIR)/make/data/asan/asan_default_options.cpp
1882 endif
1883
1884+ifeq ($(LSAN_ENABLED), true)
1885+ GTEST_LAUNCHER_SRC += $(TOPDIR)/make/data/lsan/lsan_default_options.cpp
1886+endif
1887+
1888 # On Windows, there are no internal debug symbols so must set copying to true
1889 # to get any at all.
1890 ifeq ($(call isTargetOs, windows), true)
1891diff --git a/make/ide/eclipse/CreateWorkspace.gmk b/make/ide/eclipse/CreateWorkspace.gmk
1892new file mode 100644
1893index 0000000..51257d6
1894--- /dev/null
1895+++ b/make/ide/eclipse/CreateWorkspace.gmk
1896@@ -0,0 +1,390 @@
1897+#
1898+# Copyright (c) 2016, 2022, Oracle and/or its affiliates. All rights reserved.
1899+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1900+#
1901+# This code is free software; you can redistribute it and/or modify it
1902+# under the terms of the GNU General Public License version 2 only, as
1903+# published by the Free Software Foundation. Oracle designates this
1904+# particular file as subject to the "Classpath" exception as provided
1905+# by Oracle in the LICENSE file that accompanied this code.
1906+#
1907+# This code is distributed in the hope that it will be useful, but WITHOUT
1908+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1909+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
1910+# version 2 for more details (a copy is included in the LICENSE file that
1911+# accompanied this code).
1912+#
1913+# You should have received a copy of the GNU General Public License version
1914+# 2 along with this work; if not, write to the Free Software Foundation,
1915+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
1916+#
1917+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
1918+# or visit www.oracle.com if you need additional information or have any
1919+# questions.
1920+#
1921+
1922+default: all
1923+
1924+include $(SPEC)
1925+include MakeBase.gmk
1926+include TextFileProcessing.gmk
1927+include Utils.gmk
1928+include Modules.gmk
1929+
1930+JVM_VARIANT := $(JVM_VARIANT_MAIN)
1931+include hotspot/HotspotCommon.gmk
1932+include hotspot/lib/JvmFeatures.gmk
1933+include hotspot/lib/JvmOverrideFiles.gmk
1934+include hotspot/lib/JvmFlags.gmk
1935+
1936+# Random number generation, with the amount of specified digits
1937+# No need to check if the parameter passed is a valid number, the shell will
1938+# be more than happy to complain if it isn't ;)
1939+RandomDigits = \
1940+ $(shell od -An -N8 -d /dev/urandom | sed -e 's| ||g' -e 's|\(.\{$(strip $1)\}\).*|\1|')
1941+
1942+# Modified version of utility from JdkNativeCompilation.gmk
1943+# The full path could be omitted, but it was chosen not to so wildcard
1944+# can work properly for existing directories. The pathsubst below that
1945+# this necessitates is a relatively small price to pay.
1946+FindModuleNativeDirs = \
1947+ $(call uniq, $(wildcard \
1948+ $(TOPDIR)/src/$(strip $1)/$(OPENJDK_TARGET_OS)/native \
1949+ $(TOPDIR)/src/$(strip $1)/$(OPENJDK_TARGET_OS_TYPE)/native \
1950+ $(TOPDIR)/src/$(strip $1)/share/native))
1951+
1952+# Taken from JdkNativeCompilation.gmk
1953+FindJavaHeaderDir = \
1954+ $(if $(strip $1),$(wildcard $(SUPPORT_OUTPUTDIR)/headers/$(strip $1)))
1955+
1956+JAVA_DIRS := $(strip $(foreach module, $(call FindAllModules), \
1957+ $(patsubst $(TOPDIR)/%,%,$(filter-out $(OUTPUTDIR)%, \
1958+ $(call FindModuleSrcDirs, $(module))))))
1959+
1960+NATIVE_DIRS := $(strip $(foreach module, $(call FindAllModules), \
1961+ $(patsubst $(TOPDIR)/%,%,$(call FindModuleNativeDirs, $(module)))))
1962+
1963+# Emit the defines extracted from the list of options specified in the first parameter into
1964+# the language settings file, in Eclipse format.
1965+EmitExtractedDefines = \
1966+ $(shell echo $(1) | grep -o "\-D\s\?")
1967+
1968+################################################################################
1969+# Create an Eclipse Workspace with the specified nature
1970+#
1971+# Parameter 1 is the name of the rule. This name is used as variable prefix,
1972+# and the targets generated are listed in a variable by that name.
1973+#
1974+# Remaining parameter(s) are named arguments:
1975+# NATURE - Which Eclipse Workspace nature to generate for the Workspace. Can
1976+# be one of JAVA, HOTSPOT, NATIVE, or MIXED.
1977+# SHARED - Workspace will share the same directory as the JDK if true. Can be
1978+# either true or false. Defaults to false if not specified.
1979+SetupEclipseWorkspace = $(NamedParamsMacroTemplate)
1980+define SetupEclipseWorkspaceBody
1981+
1982+ $1_NATURES :=
1983+ $1_BUILD_MANAGERS :=
1984+ $1_LINKED_RESOURCES :=
1985+
1986+ ifeq ($$($1_NATURE), )
1987+ $$(error No nature specified for Eclipse Workspace, cannot continue)
1988+ endif
1989+
1990+ ifeq ($$(findstring $$($1_NATURE), JAVA HOTSPOT NATIVE MIXED), )
1991+ $$(error Unrecognised nature $$($1_NATURE) specified for Eclipse Workspace)
1992+ endif
1993+
1994+ ifeq ($$($1_SHARED), )
1995+ $$(info Workspace sharing option not given, assuming non-shared Eclipse Workspace)
1996+ $1_SHARED := false
1997+ else ifeq ($$(findstring $$($1_SHARED), true false), )
1998+ $$(error $$($1_NATURE) is not a boolean word)
1999+ endif
2000+
2001+ ifeq ($$($1_SHARED), true)
2002+ $1_CLASSPATH_FILE := $(TOPDIR)/.classpath
2003+ $1_WORKSPACE_FILE := $(TOPDIR)/.project
2004+ $1_NATIVE_FILE := $(TOPDIR)/.cproject
2005+ $1_SETTINGS_FILE := $(TOPDIR)/.settings/language.settings.xml
2006+ else
2007+ $1_IDE_OUTPUTDIR := $(OUTPUTDIR)/ide/eclipse
2008+ $1_CLASSPATH_FILE := $$($1_IDE_OUTPUTDIR)/.classpath
2009+ $1_WORKSPACE_FILE := $$($1_IDE_OUTPUTDIR)/.project
2010+ $1_NATIVE_FILE := $$($1_IDE_OUTPUTDIR)/.cproject
2011+ $1_SETTINGS_FILE := $$($1_IDE_OUTPUTDIR)/.settings/language.settings.xml
2012+ $$(call MakeDir, $$($1_IDE_OUTPUTDIR))
2013+ endif
2014+
2015+ ifneq ($$(findstring $$($1_NATURE), HOTSPOT NATIVE MIXED), )
2016+ ifeq ($$(call isCompiler, microsoft), true)
2017+ $$(error Visual C++ is not yet supported as an indexer for Native Workspaces!)
2018+ endif
2019+ endif
2020+
2021+ ifneq ($$(findstring $$($1_NATURE), JAVA MIXED), )
2022+
2023+ $1_CLASSPATH :=
2024+
2025+ # Eclipse crashes when processing multiple module-info.java files
2026+ # This is an annoying bug that has not been fixed for some time now
2027+ $1_CLASSPATH += $$(foreach src,$(JAVA_DIRS), \
2028+ <classpathentry excluding="module-info.java|module-info.java.extra" kind="src" path="$$(src)"/>$$(NEWLINE))
2029+
2030+ $$(eval $$(call SetupTextFileProcessing, $1_CREATE_CLASSPATH_FILE, \
2031+ SOURCE_FILES := $(TOPDIR)/make/ide/eclipse/classpath.template, \
2032+ OUTPUT_FILE := $$($1_CLASSPATH_FILE), \
2033+ REPLACEMENTS := \
2034+ @@CLASSPATH@@ => $$($1_CLASSPATH), \
2035+ ))
2036+
2037+ TARGETS += $$($1_CREATE_CLASSPATH_FILE)
2038+
2039+ $1_NATURES += <nature>org.eclipse.jdt.core.javanature</nature>$$(NEWLINE)
2040+
2041+ endif
2042+
2043+ ifneq ($$(findstring $$($1_NATURE), HOTSPOT NATIVE MIXED), )
2044+
2045+ $1_NATIVE_SRCS :=
2046+
2047+ $1_BUILD_MANAGERS += \
2048+ <buildCommand> \
2049+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name> \
2050+ <triggers>clean$$(COMMA)full$$(COMMA)incremental$$(COMMA)</triggers> \
2051+ <arguments> \
2052+ </arguments> \
2053+ </buildCommand> \
2054+ <buildCommand> \
2055+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name> \
2056+ <triggers>full$$(COMMA)incremental$$(COMMA)</triggers> \
2057+ <arguments> \
2058+ </arguments> \
2059+ </buildCommand>$$(NEWLINE)
2060+
2061+ $1_NATURES += \
2062+ <nature>org.eclipse.cdt.core.cnature</nature> \
2063+ <nature>org.eclipse.cdt.core.ccnature</nature> \
2064+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> \
2065+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>$$(NEWLINE)
2066+
2067+ # This is always emitted, no matter which of the 3 natures were selected
2068+ $1_NATIVE_SRCS += \
2069+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src/hotspot"/>$$(NEWLINE)
2070+
2071+ ifneq ($$(findstring $$($1_NATURE), NATIVE MIXED), )
2072+ $1_NATIVE_SRCS += $$(foreach src,$(NATIVE_DIRS), \
2073+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="$$(strip $$(src))"/>$$(NEWLINE))
2074+ endif
2075+
2076+ $1_WORKSPACE_MAJOR := $$(call RandomDigits, 10)
2077+ $1_WORKSPACE_MINOR := $$(call RandomDigits, 9)
2078+
2079+ # FixPath already removes $(FIXPATH) automatically, but if we rely on FixPath
2080+ # to do it for us dir won't be able to handle the converted path (if on Windows).
2081+ # Reversing the order causes dir to mangle the preceeding $(FIXPATH) which breaks
2082+ # the ability of FixPath to remove it, so it has to be manually removed here.
2083+ #
2084+ # Note that the workspace setup system currently does not support Visual C++ when
2085+ # extracting compiler and/or system headers vital to the build!
2086+ $1_ENV := $$(call FixPath, $$(dir $$(patsubst $(FIXPATH), , $(CC))))
2087+
2088+ # Sidestep annoying issue of WSL path conversion not working properly with true
2089+ # Unix paths. Eclipse can't run the WSL make by itself anyway, even if we could
2090+ # properly convert the path.
2091+ ifeq ($$(call isBuildOsEnv, windows.wsl1 windows.wsl2), true)
2092+ $1_MAKE := wsl.exe $(MAKE)
2093+ else
2094+ $1_MAKE := $$(call FixPath, $(MAKE))
2095+ endif
2096+
2097+ $1_MATCHING_MAKE_TARGETS :=
2098+ $1_PLAIN_MAKE_TARGETS := update-build-docs docs gensrc gendata \
2099+ copy java launchers libs hotspot jdk product-images all-images test-image clean
2100+
2101+ # make reconfigure omitted since it is sensitive to which make was used
2102+ ifeq ($$($1_SHARED), true)
2103+ $1_PLAIN_MAKE_TARGETS += dist-clean
2104+ endif
2105+
2106+ $1_MATCHING_MAKE_TARGETS += $$(foreach name,$$($1_PLAIN_MAKE_TARGETS), \
2107+ <target name="$$(strip $$(name))" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder"> \
2108+ <buildCommand>$$($1_MAKE)</buildCommand> \
2109+ <buildArguments>-C $$(call FixPath, $(TOPDIR))</buildArguments> \
2110+ <buildTarget>$$(strip $$(name))</buildTarget> \
2111+ <stopOnError>true</stopOnError> \
2112+ <useDefaultCommand>false</useDefaultCommand> \
2113+ <runAllBuilders>true</runAllBuilders> \
2114+ </target>$$(NEWLINE))
2115+
2116+ $$(eval $$(call SetupTextFileProcessing, $1_CREATE_NATIVE_FILE, \
2117+ SOURCE_FILES := $(TOPDIR)/make/ide/eclipse/native.template, \
2118+ OUTPUT_FILE := $$($1_NATIVE_FILE), \
2119+ REPLACEMENTS := \
2120+ @@DIR@@ => $$(call FixPath, $(TOPDIR)) ; \
2121+ @@ENV@@ => $$($1_ENV) ; \
2122+ @@WORKSPACE@@ => $$($1_WORKSPACE_MAJOR) ; \
2123+ @@MINOR@@ => $$($1_WORKSPACE_MINOR) ; \
2124+ @@MAKE@@ => $$($1_MAKE) ; \
2125+ @@SRC@@ => $$($1_NATIVE_SRCS) ; \
2126+ @@MAKE_TARGETS@@ => $$($1_MATCHING_MAKE_TARGETS), \
2127+ ))
2128+
2129+ TARGETS += $$($1_CREATE_NATIVE_FILE)
2130+
2131+ ifeq ($$($1_SHARED), true)
2132+ $$(call MakeDir, $(TOPDIR)/.settings)
2133+ else
2134+ $$(call MakeDir, $$($1_IDE_OUTPUTDIR)/.settings)
2135+ endif
2136+
2137+ $1_CSETTINGS :=
2138+ $1_CXXSETTINGS :=
2139+
2140+ ifneq ($$(findstring $$($1_NATURE), NATIVE MIXED), )
2141+ $1_CSETTINGS += $$(foreach module, $$(call FindAllModules), $$(if $$(call FindJavaHeaderDir, $$(module)), \
2142+ $$(foreach dirs, $$(strip $$(patsubst $(TOPDIR)/%,%,$$(call FindModuleNativeDirs, $$(module)))), \
2143+ <resource project-relative-path="$$(dirs)"> \
2144+ <entry flags="LOCAL" kind="includePath" name="$$(call FixPath, $$(call FindJavaHeaderDir, $$(module)))"/> \
2145+ $$(if $$(findstring jdk.sctp,$$(module)), <entry flags="LOCAL" kind="includePath" name="$$(call FixPath, $$(call FindJavaHeaderDir, java.base))"/>) \
2146+ </resource>$$(NEWLINE))))
2147+
2148+ # main.c source file used for generic launchers
2149+ $1_CSETTINGS += \
2150+ <resource project-relative-path="src/java.base/share/native/launcher/main.c"> \
2151+ <entry kind="macro" name="LAUNCHER_NAME" value="&quot;$(LAUNCHER_NAME)&quot;"/> \
2152+ </resource>$$(NEWLINE)
2153+ endif
2154+
2155+ # HotSpot first
2156+ $1_CXXSETTINGS += <resource project-relative-path="src/hotspot">$$(NEWLINE)
2157+
2158+ # If only the Java Virtual Machine sources were requested, headers from other parts of
2159+ # the native source that it needs will not be available. Add them as include paths here
2160+ # instead.
2161+ ifeq ($$($1_NATURE), HOTSPOT)
2162+ $1_CXXSETTINGS += $$(foreach src, $$(strip $$(patsubst %,%/include,$$(call FindModuleNativeDirs, java.base))), \
2163+ $(X) $(X)<entry flags="LOCAL" kind="includePath" name="$$(call FixPath, $$(src))"/>$$(NEWLINE))
2164+ $1_CXXSETTINGS += $(X) $(X)<entry flags="LOCAL" kind="includePath" name="$$(call FixPath, $(TOPDIR)/src/java.base/share/native/libjimage)"/>$$(NEWLINE)
2165+ endif
2166+
2167+ $1_CXXSETTINGS += $(X) $(X)<entry flags="LOCAL" kind="includePath" name="$$(call FixPath, $(JVM_VARIANT_OUTPUTDIR)/gensrc)"/>$$(NEWLINE)
2168+
2169+ ifeq ($$(call check-jvm-feature, compiler2), true)
2170+ $1_CXXSETTINGS += $(X) $(X)<entry flags="LOCAL" kind="includePath" name="$$(call FixPath, $(JVM_VARIANT_OUTPUTDIR)/gensrc/adfiles)"/>$$(NEWLINE)
2171+ endif
2172+
2173+ $1_CXXSETTINGS += </resource>$$(NEWLINE)
2174+
2175+ $1_CXXSETTINGS += \
2176+ <resource project-relative-path="src/hotspot/share/runtime/abstract_vm_version.cpp"> \
2177+ <entry kind="macro" name="HOTSPOT_VERSION_STRING" value="&quot;$(VERSION_STRING)&quot;"/> \
2178+ <entry kind="macro" name="DEBUG_LEVEL" value="&quot;$(DEBUG_LEVEL)&quot;"/> \
2179+ <entry kind="macro" name="HOTSPOT_BUILD_USER" value="&quot;$(USERNAME)&quot;"/> \
2180+ <entry kind="macro" name="HOTSPOT_VM_DISTRO" value="&quot;$(HOTSPOT_VM_DISTRO)&quot;"/> \
2181+ <entry kind="macro" name="CPU" value="&quot;$(OPENJDK_TARGET_CPU_VM_VERSION)&quot;"/> \
2182+ <entry kind="macro" name="HOTSPOT_BUILD_TIME" value="&quot;$(if $(HOTSPOT_BUILD_TIME),$(HOTSPOT_BUILD_TIME),$(call EpochToISO8601,$(shell $(DATE) +"%s")))&quot;"/> \
2183+ </resource> \
2184+ <resource project-relative-path="src/hotspot/share/runtime/arguments.cpp"> \
2185+ <entry kind="macro" name="HOTSPOT_VERSION_STRING" value="&quot;$(VERSION_STRING)&quot;"/> \
2186+ <entry kind="macro" name="DEBUG_LEVEL" value="&quot;$(DEBUG_LEVEL)&quot;"/> \
2187+ <entry kind="macro" name="HOTSPOT_BUILD_USER" value="&quot;$(USERNAME)&quot;"/> \
2188+ <entry kind="macro" name="HOTSPOT_VM_DISTRO" value="&quot;$(HOTSPOT_VM_DISTRO)&quot;"/> \
2189+ <entry kind="macro" name="CPU" value="&quot;$(OPENJDK_TARGET_CPU_VM_VERSION)&quot;"/> \
2190+ <entry kind="macro" name="HOTSPOT_BUILD_TIME" value="&quot;$(if $(HOTSPOT_BUILD_TIME),$(HOTSPOT_BUILD_TIME),$(call EpochToISO8601,$(shell $(DATE) +"%s")))&quot;"/> \
2191+ </resource>$$(NEWLINE)
2192+
2193+ # Now the rest of the C++ sources in the codebase
2194+ ifneq ($$(findstring $$($1_NATURE), NATIVE MIXED), )
2195+ $1_CXXSETTINGS += $$(foreach module, $$(call FindAllModules), $$(if $$(call FindJavaHeaderDir, $$(module)), \
2196+ $$(foreach dirs, $$(strip $$(patsubst $(TOPDIR)/%,%,$$(call FindModuleNativeDirs, $$(module)))), \
2197+ <resource project-relative-path="$$(dirs)"> \
2198+ <entry flags="LOCAL" kind="includePath" name="$$(call FixPath, $$(call FindJavaHeaderDir, $$(module)))"/> \
2199+ </resource>$$(NEWLINE))))
2200+ endif
2201+
2202+ $$(eval $$(call SetupTextFileProcessing, $1_CREATE_SETTINGS_FILE, \
2203+ SOURCE_FILES := $(TOPDIR)/make/ide/eclipse/settings.template, \
2204+ OUTPUT_FILE := $$($1_SETTINGS_FILE), \
2205+ REPLACEMENTS := \
2206+ @@WORKSPACE@@ => $$($1_WORKSPACE_MAJOR) ; \
2207+ @@CSETTINGS@@ => $$($1_CSETTINGS) ; \
2208+ @@CXXSETTINGS@@ => $$($1_CXXSETTINGS), \
2209+ ))
2210+
2211+ TARGETS += $$($1_CREATE_SETTINGS_FILE)
2212+
2213+ endif
2214+
2215+ ifeq ($$($1_SHARED), false)
2216+ ifneq ($$(findstring $$($1_NATURE), JAVA MIXED), )
2217+ $1_LINKED_RESOURCES += $$(foreach src,$(JAVA_DIRS), \
2218+ <link> \
2219+ <name>$$(strip $$(src))</name> \
2220+ <type>2</type> \
2221+ <location>$$(subst \\,/,$$(call FixPath, $(TOPDIR)/$$(src)))</location> \
2222+ </link>$$(NEWLINE))
2223+ endif
2224+
2225+ ifneq ($$(findstring $$($1_NATURE), HOTSPOT NATIVE MIXED), )
2226+ # CDT includes a Makefile editor, so if CDT support was indicated there's no harm in
2227+ # including the make sources as well, since the cost of indexing them is miniscule
2228+ $1_LINKED_RESOURCES += \
2229+ <link> \
2230+ <name>make</name> \
2231+ <type>2</type> \
2232+ <location>$$(subst \\,/,$$(call FixPath, $(TOPDIR)/make))</location> \
2233+ </link> \
2234+ <link> \
2235+ <name>src/hotspot</name> \
2236+ <type>2</type> \
2237+ <location>$$(subst \\,/,$$(call FixPath, $(TOPDIR)/src/hotspot))</location> \
2238+ </link>$$(NEWLINE)
2239+ endif
2240+
2241+ ifneq ($$(findstring $$($1_NATURE), NATIVE MIXED), )
2242+ $1_LINKED_RESOURCES += $$(foreach src,$(NATIVE_DIRS), \
2243+ <link> \
2244+ <name>$$(strip $$(src))</name> \
2245+ <type>2</type> \
2246+ <location>$$(subst \\,/,$$(call FixPath, $(TOPDIR)/$$(src)))</location> \
2247+ </link>$$(NEWLINE))
2248+ endif
2249+ endif
2250+
2251+ $$(eval $$(call SetupTextFileProcessing, $1_CREATE_WORKSPACE_FILE, \
2252+ SOURCE_FILES := $(TOPDIR)/make/ide/eclipse/workspace.template, \
2253+ OUTPUT_FILE := $$($1_WORKSPACE_FILE), \
2254+ REPLACEMENTS := \
2255+ @@BUILD_MANAGERS@@ => $$($1_BUILD_MANAGERS) ; \
2256+ @@NATURES@@ => $$($1_NATURES) ; \
2257+ @@LINKED_RESOURCES@@ => $$($1_LINKED_RESOURCES), \
2258+ ))
2259+
2260+ TARGETS += $$($1_CREATE_WORKSPACE_FILE)
2261+
2262+endef
2263+
2264+ifeq ($(WORKSPACE), java)
2265+ $(eval $(call SetupEclipseWorkspace, SETUP_WORKSPACE, \
2266+ NATURE := JAVA, \
2267+ SHARED := $(SHARED), \
2268+ ))
2269+else ifeq ($(WORKSPACE), hotspot)
2270+ $(eval $(call SetupEclipseWorkspace, SETUP_WORKSPACE, \
2271+ NATURE := HOTSPOT, \
2272+ SHARED := $(SHARED), \
2273+ ))
2274+else ifeq ($(WORKSPACE), native)
2275+ $(eval $(call SetupEclipseWorkspace, SETUP_WORKSPACE, \
2276+ NATURE := NATIVE, \
2277+ SHARED := $(SHARED), \
2278+ ))
2279+else
2280+ $(eval $(call SetupEclipseWorkspace, SETUP_WORKSPACE, \
2281+ NATURE := MIXED, \
2282+ SHARED := $(SHARED), \
2283+ ))
2284+endif
2285+
2286+all: $(TARGETS)
2287diff --git a/make/ide/eclipse/classpath.template b/make/ide/eclipse/classpath.template
2288new file mode 100644
2289index 0000000..6900cd7
2290--- /dev/null
2291+++ b/make/ide/eclipse/classpath.template
2292@@ -0,0 +1,4 @@
2293+<?xml version="1.0" encoding="UTF-8"?>
2294+<classpath>
2295+ @@CLASSPATH@@
2296+</classpath>
2297diff --git a/make/ide/eclipse/native.template b/make/ide/eclipse/native.template
2298new file mode 100644
2299index 0000000..37f0a7a
2300--- /dev/null
2301+++ b/make/ide/eclipse/native.template
2302@@ -0,0 +1,56 @@
2303+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2304+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
2305+ <storageModule moduleId="org.eclipse.cdt.core.language.mapping">
2306+ <project-mappings>
2307+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="org.eclipse.cdt.core.c"/>
2308+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="org.eclipse.cdt.core.c"/>
2309+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="org.eclipse.cdt.core.c++"/>
2310+ <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="org.eclipse.cdt.core.c++"/>
2311+ </project-mappings>
2312+ </storageModule>
2313+
2314+ <storageModule moduleId="scannerConfiguration">
2315+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
2316+ </storageModule>
2317+
2318+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
2319+
2320+ <storageModule moduleId="org.eclipse.cdt.core.settings">
2321+ <cconfiguration id="cdt.managedbuild.toolchain.gnu.cross.base.@@WORKSPACE@@">
2322+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
2323+
2324+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.cross.base.@@WORKSPACE@@" moduleId="org.eclipse.cdt.core.settings" name="C/C++">
2325+ <externalSettings/>
2326+ <extensions>
2327+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
2328+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
2329+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
2330+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
2331+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
2332+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
2333+ </extensions>
2334+ </storageModule>
2335+
2336+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
2337+ <configuration buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.cross.base.@@WORKSPACE@@" name="C/C++" parent="org.eclipse.cdt.build.core.emptycfg">
2338+ <folderInfo id="cdt.managedbuild.toolchain.gnu.cross.base.@@WORKSPACE@@.@@MINOR@@" name="/" resourcePath="">
2339+ <toolChain id="cdt.managedbuild.toolchain.gnu.cross.base.@@MINOR@@" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.base">
2340+ <option id="cdt.managedbuild.option.gnu.cross.path.@@MINOR@@" name="Path" superClass="cdt.managedbuild.option.gnu.cross.path" value="@@ENV@@" valueType="string"/>
2341+ <targetPlatform archList="all" binaryParser="" id="cdt.managedbuild.targetPlatform.gnu.cross.@@WORKSPACE@@" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
2342+ <builder command="@@MAKE@@" arguments="-C @@DIR@@" id="cdt.managedbuild.builder.gnu.cross.@@MINOR@@" incrementalBuildTarget="jdk" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="false" superClass="cdt.managedbuild.builder.gnu.cross"/>
2343+ </toolChain>
2344+ </folderInfo>
2345+ <sourceEntries>
2346+ @@SRC@@
2347+ </sourceEntries>
2348+ </configuration>
2349+ </storageModule>
2350+ </cconfiguration>
2351+ </storageModule>
2352+
2353+ <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets">
2354+ <buildTargets>
2355+ @@MAKE_TARGETS@@
2356+ </buildTargets>
2357+ </storageModule>
2358+</cproject>
2359diff --git a/make/ide/eclipse/settings.template b/make/ide/eclipse/settings.template
2360new file mode 100644
2361index 0000000..346c0f6
2362--- /dev/null
2363+++ b/make/ide/eclipse/settings.template
2364@@ -0,0 +1,22 @@
2365+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2366+<project>
2367+ <configuration id="cdt.managedbuild.toolchain.gnu.cross.base.@@WORKSPACE@@" name="C/C++">
2368+ <extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
2369+ <provider build-parser-id="" cdb-modified-time="" class="org.eclipse.cdt.managedbuilder.internal.language.settings.providers.CompilationDatabaseParser" id="org.eclipse.cdt.managedbuilder.core.CompilationDatabaseParser" name="Compilation Database Parser" prefer-non-shared="true" store-entries-with-project="true"/>
2370+ <provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuildCommandParser" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser" keep-relative-paths="false" name="CDT GCC Build Output Parser" parameter="([^/\\\\]*)((g?cc)|([gc]\+\+)|(clang))" prefer-non-shared="true" store-entries-with-project="true"/>
2371+ <provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="true" env-hash="" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true" store-entries-with-project="true">
2372+ <language-scope id="org.eclipse.cdt.core.c"/>
2373+ <language-scope id="org.eclipse.cdt.core.c++"/>
2374+ </provider>
2375+ <provider class="org.eclipse.cdt.core.language.settings.providers.LanguageSettingsGenericProvider" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider" name="CDT User Setting Entries" prefer-non-shared="true" store-entries-with-project="true">
2376+ <language id="org.eclipse.cdt.core.c">
2377+ @@CSETTINGS@@
2378+ </language>
2379+
2380+ <language id="org.eclipse.cdt.core.c++">
2381+ @@CXXSETTINGS@@
2382+ </language>
2383+ </provider>
2384+ </extension>
2385+ </configuration>
2386+</project>
2387diff --git a/make/ide/eclipse/workspace.template b/make/ide/eclipse/workspace.template
2388new file mode 100644
2389index 0000000..328ee0c
2390--- /dev/null
2391+++ b/make/ide/eclipse/workspace.template
2392@@ -0,0 +1,16 @@
2393+<?xml version="1.0" encoding="UTF-8"?>
2394+<projectDescription>
2395+ <name>jdk</name>
2396+ <comment>The HotSpot Virtual Machine, Runtime Environment, and Development Kit</comment>
2397+ <projects>
2398+ </projects>
2399+ <buildSpec>
2400+ @@BUILD_MANAGERS@@
2401+ </buildSpec>
2402+ <natures>
2403+ @@NATURES@@
2404+ </natures>
2405+ <linkedResources>
2406+ @@LINKED_RESOURCES@@
2407+ </linkedResources>
2408+</projectDescription>
2409diff --git a/make/ide/idea/jdk/template/src/idea/JdkIdeaAntLogger.java b/make/ide/idea/jdk/template/src/idea/JdkIdeaAntLogger.java
2410index d58fa40..9634fb9 100644
2411--- a/make/ide/idea/jdk/template/src/idea/JdkIdeaAntLogger.java
2412+++ b/make/ide/idea/jdk/template/src/idea/JdkIdeaAntLogger.java
2413@@ -54,7 +54,7 @@ public final class JdkIdeaAntLogger extends DefaultLogger {
2414 /**
2415 * This is just a way to pass in customized binary string predicates;
2416 *
2417- * TODO: replace with @code{BiPredicate<String, String>} and method reference when moving to 8
2418+ * TODO: replace with {@code BiPredicate<String, String>} and method reference when moving to 8
2419 */
2420 enum StringBinaryPredicate {
2421 CONTAINS() {
2422diff --git a/make/ide/idea/langtools/template/src/idea/LangtoolsIdeaAntLogger.java b/make/ide/idea/langtools/template/src/idea/LangtoolsIdeaAntLogger.java
2423index 11ebfbf..8eb5313 100644
2424--- a/make/ide/idea/langtools/template/src/idea/LangtoolsIdeaAntLogger.java
2425+++ b/make/ide/idea/langtools/template/src/idea/LangtoolsIdeaAntLogger.java
2426@@ -54,7 +54,7 @@ public final class LangtoolsIdeaAntLogger extends DefaultLogger {
2427 /**
2428 * This is just a way to pass in customized binary string predicates;
2429 *
2430- * TODO: replace with @code{BiPredicate<String, String>} and method reference when moving to 8
2431+ * TODO: replace with {@code BiPredicate<String, String>} and method reference when moving to 8
2432 */
2433 enum StringBinaryPredicate {
2434 CONTAINS() {
2435diff --git a/make/ide/visualstudio/hotspot/CreateVSProject.gmk b/make/ide/visualstudio/hotspot/CreateVSProject.gmk
2436index 2f1b7e0..17051fd 100644
2437--- a/make/ide/visualstudio/hotspot/CreateVSProject.gmk
2438+++ b/make/ide/visualstudio/hotspot/CreateVSProject.gmk
2439@@ -35,8 +35,8 @@ ifeq ($(call isTargetOs, windows), true)
2440 # The next part is a bit hacky. We include the CompileJvm.gmk to be
2441 # able to extract flags, but we do not wish to execute the rules.
2442
2443- # Use server as base for defines and includes
2444- JVM_VARIANT=server
2445+ # Use primary variant for defines and includes
2446+ JVM_VARIANT := $(JVM_VARIANT_MAIN)
2447
2448 include HotspotCommon.gmk
2449 include lib/CompileJvm.gmk
2450diff --git a/make/jdk/src/classes/build/tools/charsetmapping/SPI.java b/make/jdk/src/classes/build/tools/charsetmapping/SPI.java
2451index 3ed09fd..15e0b9f 100644
2452--- a/make/jdk/src/classes/build/tools/charsetmapping/SPI.java
2453+++ b/make/jdk/src/classes/build/tools/charsetmapping/SPI.java
2454@@ -1,5 +1,5 @@
2455 /*
2456- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
2457+ * Copyright (c) 2018, 2023, Oracle and/or its affiliates. All rights reserved.
2458 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
2459 *
2460 * This code is free software; you can redistribute it and/or modify it
2461@@ -50,18 +50,19 @@ public class SPI {
2462 out.println(line);
2463 } else {
2464 charsets.values()
2465- .stream()
2466- .filter(cs -> cs.pkgName.equals("sun.nio.cs.ext") &&
2467- !cs.isInternal &&
2468- (cs.os == null || cs.os.equals(os)))
2469- .forEach( cs -> {
2470- out.printf(" charset(\"%s\", \"%s\",%n", cs.csName, cs.clzName);
2471- out.printf(" new String[] {%n");
2472- for (String alias : cs.aliases) {
2473- out.printf(" \"%s\",%n", alias);
2474- }
2475- out.printf(" });%n%n");
2476- });
2477+ .stream()
2478+ .filter(cs -> cs.pkgName.equals("sun.nio.cs.ext") &&
2479+ !cs.isInternal &&
2480+ (cs.os == null || cs.os.equals(os)))
2481+ .forEach( cs -> {
2482+ out.printf(" charset(\"%s\", \"%s\",%n", cs.csName, cs.clzName);
2483+ out.printf(" new String[] {%n");
2484+ for (String alias : cs.aliases) {
2485+ out.printf(" \"%s\",%n",
2486+ alias);
2487+ }
2488+ out.printf(" });%n%n");
2489+ });
2490 }
2491 }
2492 } else if (type.startsWith("stdcs")) { // StandardCharsets.java
2493@@ -93,8 +94,15 @@ public class SPI {
2494 .filter(cs -> cs.pkgName.equals("sun.nio.cs"))
2495 .forEach( cs -> {
2496 if (cs.aliases == null || cs.aliases.length == 0) {
2497- out.printf(" static String[] aliases_%s() { return null; }%n%n",
2498- cs.clzName);
2499+ if (cs.csName.equals("GB18030")) {
2500+ out.printf(" static String[] aliases_GB18030() { return new String[] {%n");
2501+ out.printf(" GB18030.IS_2000 ? \"gb18030-2000\" : \"gb18030-2022\"%n");
2502+ out.printf(" };%n");
2503+ out.printf(" }%n%n");
2504+ } else {
2505+ out.printf(" static String[] aliases_%s() { return null; }%n%n",
2506+ cs.clzName);
2507+ }
2508 } else {
2509 boolean methodEnd = true;
2510 // non-final for SJIS and MS932 to support sun.nio.cs.map
2511diff --git a/make/jdk/src/classes/build/tools/classlist/HelloClasslist.java b/make/jdk/src/classes/build/tools/classlist/HelloClasslist.java
2512index ed11801..d24aee5 100644
2513--- a/make/jdk/src/classes/build/tools/classlist/HelloClasslist.java
2514+++ b/make/jdk/src/classes/build/tools/classlist/HelloClasslist.java
2515@@ -1,5 +1,5 @@
2516 /*
2517- * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2518+ * Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved.
2519 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
2520 *
2521 * This code is free software; you can redistribute it and/or modify it
2522@@ -147,6 +147,12 @@ public class HelloClasslist {
2523 invoke(handle("staticMethod_V", MethodType.methodType(void.class)));
2524
2525 LOGGER.log(Level.FINE, "New Date: " + newDate + " - old: " + oldDate);
2526+
2527+ // The Striped64$Cell is loaded rarely only when there's a contention among
2528+ // multiple threads performing LongAdder.increment(). This results in
2529+ // an inconsistency in the classlist between builds (see JDK-8295951).
2530+ // To avoid the problem, load the class explicitly.
2531+ Class<?> striped64Class = Class.forName("java.util.concurrent.atomic.Striped64$Cell");
2532 }
2533
2534 public HelloClasslist() {}
2535diff --git a/make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java b/make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java
2536index d6c5022..17ecb75 100644
2537--- a/make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java
2538+++ b/make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java
2539@@ -69,6 +69,7 @@ public class CLDRConverter {
2540 private static String WINZONES_SOURCE_FILE;
2541 private static String PLURALS_SOURCE_FILE;
2542 private static String DAYPERIODRULE_SOURCE_FILE;
2543+ private static String COVERAGELEVELS_FILE;
2544 static String DESTINATION_DIR = "build/gensrc";
2545
2546 static final String LOCALE_NAME_PREFIX = "locale.displayname.";
2547@@ -258,6 +259,7 @@ public class CLDRConverter {
2548 WINZONES_SOURCE_FILE = CLDR_BASE + "/supplemental/windowsZones.xml";
2549 PLURALS_SOURCE_FILE = CLDR_BASE + "/supplemental/plurals.xml";
2550 DAYPERIODRULE_SOURCE_FILE = CLDR_BASE + "/supplemental/dayPeriods.xml";
2551+ COVERAGELEVELS_FILE = CLDR_BASE + "/properties/coverageLevels.txt";
2552
2553 if (BASE_LOCALES.isEmpty()) {
2554 setupBaseLocales("en-US");
2555@@ -359,13 +361,18 @@ public class CLDRConverter {
2556 private static List<Bundle> readBundleList() throws Exception {
2557 List<Bundle> retList = new ArrayList<>();
2558 Path path = FileSystems.getDefault().getPath(SOURCE_FILE_DIR);
2559+ var coverageMap = coverageLevelsMap();
2560 try (DirectoryStream<Path> dirStr = Files.newDirectoryStream(path)) {
2561 for (Path entry : dirStr) {
2562 String fileName = entry.getFileName().toString();
2563 if (fileName.endsWith(".xml")) {
2564 String id = fileName.substring(0, fileName.indexOf('.'));
2565 Locale cldrLoc = Locale.forLanguageTag(toLanguageTag(id));
2566- StringBuilder sb = getCandLocales(cldrLoc);
2567+ List<Locale> candList = getCandidateLocales(cldrLoc);
2568+ if (!"root".equals(id) && candList.stream().noneMatch(coverageMap::containsKey)) {
2569+ continue;
2570+ }
2571+ StringBuilder sb = getCandLocales(candList);
2572 if (sb.indexOf("root") == -1) {
2573 sb.append("root");
2574 }
2575@@ -510,8 +517,7 @@ public class CLDRConverter {
2576 parser.parse(srcfile, handler);
2577 }
2578
2579- private static StringBuilder getCandLocales(Locale cldrLoc) {
2580- List<Locale> candList = getCandidateLocales(cldrLoc);
2581+ private static StringBuilder getCandLocales(List<Locale> candList) {
2582 StringBuilder sb = new StringBuilder();
2583 for (Locale loc : candList) {
2584 if (!loc.equals(Locale.ROOT)) {
2585@@ -1195,6 +1201,26 @@ public class CLDRConverter {
2586 }));
2587 }
2588
2589+ private static Map<Locale, String> coverageLevelsMap() throws Exception {
2590+ // First, parse `coverageLevels.txt` file
2591+ var covMap = Files.readAllLines(Path.of(COVERAGELEVELS_FILE)).stream()
2592+ .filter(line -> !line.isBlank() && !line.startsWith("#"))
2593+ .map(line -> line.split("[\s\t]*;[\s\t]*", 3))
2594+ .filter(a -> a[1].matches("basic|moderate|modern|comprehensive"))
2595+ .collect(Collectors.toMap(
2596+ a -> Locale.forLanguageTag(a[0].replaceAll("_", "-")),
2597+ a -> a[1],
2598+ (v1, v2) -> v2, // should never happen
2599+ HashMap::new));
2600+
2601+ // Add other common (non-seed) locales (below `basic` coverage level) as of v42
2602+ ResourceBundle.getBundle(CLDRConverter.class.getPackageName() + ".OtherCommonLocales")
2603+ .keySet()
2604+ .forEach(k -> covMap.put(Locale.forLanguageTag(k), ""));
2605+
2606+ return covMap;
2607+ }
2608+
2609 // for debug
2610 static void dumpMap(Map<String, Object> map) {
2611 map.entrySet().stream()
2612diff --git a/make/jdk/src/classes/build/tools/cldrconverter/OtherCommonLocales.properties b/make/jdk/src/classes/build/tools/cldrconverter/OtherCommonLocales.properties
2613new file mode 100644
2614index 0000000..b7bb733
2615--- /dev/null
2616+++ b/make/jdk/src/classes/build/tools/cldrconverter/OtherCommonLocales.properties
2617@@ -0,0 +1,140 @@
2618+#
2619+# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
2620+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
2621+#
2622+# This code is free software; you can redistribute it and/or modify it
2623+# under the terms of the GNU General Public License version 2 only, as
2624+# published by the Free Software Foundation. Oracle designates this
2625+# particular file as subject to the "Classpath" exception as provided
2626+# by Oracle in the LICENSE file that accompanied this code.
2627+#
2628+# This code is distributed in the hope that it will be useful, but WITHOUT
2629+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
2630+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
2631+# version 2 for more details (a copy is included in the LICENSE file that
2632+# accompanied this code).
2633+#
2634+# You should have received a copy of the GNU General Public License version
2635+# 2 along with this work; if not, write to the Free Software Foundation,
2636+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
2637+#
2638+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2639+# or visit www.oracle.com if you need additional information or have any
2640+# questions.
2641+#
2642+
2643+# Other common (non-seed) locales that are below `Basic` coverage level
2644+# as of CLDR v42 (Extracted from
2645+# https://github.com/unicode-org/cldr-staging/blob/main/docs/charts/42/tsv/locale-coverage.tsv)
2646+
2647+agq=Aghem
2648+ak=Akan
2649+ann=Obolo
2650+asa=Asu
2651+az-Cyrl=Azerbaijani (Cyrillic)
2652+bas=Basaa
2653+bem=Bemba
2654+bez=Bena
2655+bm=Bambara
2656+bo=Tibetan
2657+ccp=Chakma
2658+ce=Chechen
2659+cgg=Chiga
2660+ckb=Central Kurdish
2661+dav=Taita
2662+dje=Zarma
2663+dua=Duala
2664+dyo=Jola-Fonyi
2665+dz=Dzongkha
2666+ebu=Embu
2667+ee=Ewe
2668+eo=Esperanto
2669+ewo=Ewondo
2670+ff=Fula
2671+frr=Northern Frisian
2672+fur=Friulian
2673+fy=Western Frisian
2674+gsw=Swiss German
2675+guz=Gusii
2676+gv=Manx
2677+haw=Hawaiian
2678+ii=Sichuan Yi
2679+jgo=Ngomba
2680+jmc=Machame
2681+kab=Kabyle
2682+kam=Kamba
2683+kde=Makonde
2684+khq=Koyra Chiini
2685+ki=Kikuyu
2686+kkj=Kako
2687+kl=Kalaallisut
2688+kln=Kalenjin
2689+ksb=Shambala
2690+ksf=Bafia
2691+ksh=Colognian
2692+ku=Kurdish
2693+kw=Cornish
2694+lag=Langi
2695+lb=Luxembourgish
2696+lg=Ganda
2697+lkt=Lakota
2698+ln=Lingala
2699+lrc=Northern Luri
2700+lu=Luba-Katanga
2701+luo=Luo
2702+luy=Luyia
2703+mas=Masai
2704+mdf=Moksha
2705+mer=Meru
2706+mfe=Morisyen
2707+mg=Malagasy
2708+mgh=Makhuwa-Meetto
2709+mgo=Meta��
2710+mt=Maltese
2711+mua=Mundang
2712+mzn=Mazanderani
2713+naq=Nama
2714+nd=North Ndebele
2715+nds=Low German
2716+nmg=Kwasio
2717+nnh=Ngiemboon
2718+nus=Nuer
2719+nyn=Nyankole
2720+oc=Occitan
2721+om=Oromo
2722+os=Ossetic
2723+pa-Arab=Punjabi (Arabic)
2724+pis=Pijin
2725+rn=Rundi
2726+rof=Rombo
2727+rw=Kinyarwanda
2728+rwk=Rwa
2729+sah=Yakut
2730+saq=Samburu
2731+sbp=Sangu
2732+se=Northern Sami
2733+seh=Sena
2734+ses=Koyraboro Senni
2735+sg=Sango
2736+shi=Tachelhit
2737+shi-Latn=Tachelhit (Latin)
2738+smn=Inari Sami
2739+sms=Skolt Sami
2740+sn=Shona
2741+teo=Teso
2742+tok=Toki Pona
2743+twq=Tasawaq
2744+tzm=Central Atlas Tamazight
2745+ug=Uyghur
2746+uz-Arab=Uzbek (Arabic)
2747+vai=Vai
2748+vai-Latn=Vai (Latin)
2749+vun=Vunjo
2750+wae=Walser
2751+xog=Soga
2752+yav=Yangben
2753+yi=Yiddish
2754+zgh=Standard Moroccan Tamazight
2755+
2756+# Not listed, but existed
2757+sr-Latn=Serbian (Latin)
2758diff --git a/make/jdk/src/classes/build/tools/depend/Depend.java b/make/jdk/src/classes/build/tools/depend/Depend.java
2759index ce58ced..4dcf130 100644
2760--- a/make/jdk/src/classes/build/tools/depend/Depend.java
2761+++ b/make/jdk/src/classes/build/tools/depend/Depend.java
2762@@ -33,6 +33,7 @@ import com.sun.source.tree.MemberReferenceTree;
2763 import com.sun.source.tree.MemberSelectTree;
2764 import com.sun.source.tree.MethodTree;
2765 import com.sun.source.tree.ModifiersTree;
2766+import com.sun.source.tree.PrimitiveTypeTree;
2767 import com.sun.source.tree.Tree;
2768 import com.sun.source.tree.VariableTree;
2769 import java.io.File;
2770@@ -140,9 +141,12 @@ public class Depend implements Plugin {
2771 public void init(JavacTask jt, String... args) {
2772 addExports();
2773
2774+ Path internalAPIDigestFile;
2775+ Map<String, String> internalAPI = new HashMap<>();
2776 AtomicBoolean noApiChange = new AtomicBoolean();
2777+ Context context = ((BasicJavacTask) jt).getContext();
2778+ JavaCompiler compiler = JavaCompiler.instance(context);
2779 try {
2780- Context context = ((BasicJavacTask) jt).getContext();
2781 Options options = Options.instance(context);
2782 String modifiedInputs = options.get("modifiedInputs");
2783 if (modifiedInputs == null) {
2784@@ -157,8 +161,18 @@ public class Depend implements Plugin {
2785 Set<Path> modified = Files.readAllLines(Paths.get(modifiedInputs)).stream()
2786 .map(Paths::get)
2787 .collect(Collectors.toSet());
2788- Path internalAPIDigestFile = Paths.get(internalAPIPath);
2789- JavaCompiler compiler = JavaCompiler.instance(context);
2790+ internalAPIDigestFile = Paths.get(internalAPIPath);
2791+ if (Files.isReadable(internalAPIDigestFile)) {
2792+ try {
2793+ Files.readAllLines(internalAPIDigestFile, StandardCharsets.UTF_8)
2794+ .forEach(line -> {
2795+ String[] keyAndValue = line.split("=");
2796+ internalAPI.put(keyAndValue[0], keyAndValue[1]);
2797+ });
2798+ } catch (IOException ex) {
2799+ throw new IllegalStateException(ex);
2800+ }
2801+ }
2802 Class<?> initialFileParserIntf = Class.forName("com.sun.tools.javac.main.JavaCompiler$InitialFileParserIntf");
2803 Class<?> initialFileParser = Class.forName("com.sun.tools.javac.main.JavaCompiler$InitialFileParser");
2804 Field initialParserKeyField = initialFileParser.getDeclaredField("initialParserKey");
2805@@ -169,7 +183,7 @@ public class Depend implements Plugin {
2806 new Class<?>[] {initialFileParserIntf},
2807 new FilteredInitialFileParser(compiler,
2808 modified,
2809- internalAPIDigestFile,
2810+ internalAPI,
2811 noApiChange,
2812 debug));
2813 context.<Object>put(key, initialParserInstance);
2814@@ -213,7 +227,17 @@ public class Depend implements Plugin {
2815 }
2816 }
2817 }
2818- if (te.getKind() == Kind.COMPILATION && !noApiChange.get()) {
2819+ if (te.getKind() == Kind.COMPILATION && !noApiChange.get() &&
2820+ compiler.errorCount() == 0) {
2821+ try (OutputStream out = Files.newOutputStream(internalAPIDigestFile)) {
2822+ String hashes = internalAPI.entrySet()
2823+ .stream()
2824+ .map(e -> e.getKey() + "=" + e.getValue())
2825+ .collect(Collectors.joining("\n"));
2826+ out.write(hashes.getBytes(StandardCharsets.UTF_8));
2827+ } catch (IOException ex) {
2828+ throw new IllegalStateException(ex);
2829+ }
2830 String previousSignature = null;
2831 File digestFile = new File(args[0]);
2832 try (InputStream in = new FileInputStream(digestFile)) {
2833@@ -258,20 +282,8 @@ public class Depend implements Plugin {
2834
2835 private com.sun.tools.javac.util.List<JCCompilationUnit> doFilteredParse(
2836 JavaCompiler compiler, Iterable<JavaFileObject> fileObjects, Set<Path> modified,
2837- Path internalAPIDigestFile, AtomicBoolean noApiChange,
2838+ Map<String, String> internalAPI, AtomicBoolean noApiChange,
2839 boolean debug) {
2840- Map<String, String> internalAPI = new LinkedHashMap<>();
2841- if (Files.isReadable(internalAPIDigestFile)) {
2842- try {
2843- Files.readAllLines(internalAPIDigestFile, StandardCharsets.UTF_8)
2844- .forEach(line -> {
2845- String[] keyAndValue = line.split("=");
2846- internalAPI.put(keyAndValue[0], keyAndValue[1]);
2847- });
2848- } catch (IOException ex) {
2849- throw new IllegalStateException(ex);
2850- }
2851- }
2852 Map<JavaFileObject, JCCompilationUnit> files2CUT = new IdentityHashMap<>();
2853 boolean fullRecompile = modified.stream()
2854 .map(Path::toString)
2855@@ -289,7 +301,6 @@ public class Depend implements Plugin {
2856 result.add(parsed);
2857 }
2858 }
2859-
2860 if (fullRecompile) {
2861 for (JavaFileObject jfo : fileObjects) {
2862 if (!modified.contains(Path.of(jfo.getName()))) {
2863@@ -301,15 +312,6 @@ public class Depend implements Plugin {
2864 result.add(parsed);
2865 }
2866 }
2867- try (OutputStream out = Files.newOutputStream(internalAPIDigestFile)) {
2868- String hashes = internalAPI.entrySet()
2869- .stream()
2870- .map(e -> e.getKey() + "=" + e.getValue())
2871- .collect(Collectors.joining("\n"));
2872- out.write(hashes.getBytes(StandardCharsets.UTF_8));
2873- } catch (IOException ex) {
2874- throw new IllegalStateException(ex);
2875- }
2876 } else {
2877 noApiChange.set(true);
2878 }
2879@@ -835,7 +837,7 @@ public class Depend implements Plugin {
2880 !isPrivate(((VariableTree) m).getModifiers()) ||
2881 isRecordComponent((VariableTree) m);
2882 case BLOCK -> false;
2883- default -> throw new IllegalStateException("Unexpected tree kind: " + m.getKind());
2884+ default -> false;
2885 };
2886 }
2887
2888@@ -878,24 +880,30 @@ public class Depend implements Plugin {
2889 return super.visitModifiers(node, p);
2890 }
2891
2892+ @Override
2893+ public Void visitPrimitiveType(PrimitiveTypeTree node, Void p) {
2894+ update(node.getPrimitiveTypeKind().name());
2895+ return super.visitPrimitiveType(node, p);
2896+ }
2897+
2898 }
2899
2900 private class FilteredInitialFileParser implements InvocationHandler {
2901
2902 private final JavaCompiler compiler;
2903 private final Set<Path> modified;
2904- private final Path internalAPIDigestFile;
2905+ private final Map<String, String> internalAPI;
2906 private final AtomicBoolean noApiChange;
2907 private final boolean debug;
2908
2909 public FilteredInitialFileParser(JavaCompiler compiler,
2910 Set<Path> modified,
2911- Path internalAPIDigestFile,
2912+ Map<String, String> internalAPI,
2913 AtomicBoolean noApiChange,
2914 boolean debug) {
2915 this.compiler = compiler;
2916 this.modified = modified;
2917- this.internalAPIDigestFile = internalAPIDigestFile;
2918+ this.internalAPI = internalAPI;
2919 this.noApiChange = noApiChange;
2920 this.debug = debug;
2921 }
2922@@ -907,7 +915,7 @@ public class Depend implements Plugin {
2923 case "parse" -> doFilteredParse(compiler,
2924 (Iterable<JavaFileObject>) args[0],
2925 modified,
2926- internalAPIDigestFile,
2927+ internalAPI,
2928 noApiChange,
2929 debug);
2930 default -> throw new UnsupportedOperationException();
2931diff --git a/make/jdk/src/classes/build/tools/depend/DependTest.java b/make/jdk/src/classes/build/tools/depend/DependTest.java
2932index 1b45184..810397b 100644
2933--- a/make/jdk/src/classes/build/tools/depend/DependTest.java
2934+++ b/make/jdk/src/classes/build/tools/depend/DependTest.java
2935@@ -28,6 +28,7 @@ import com.sun.source.util.Plugin;
2936 import java.io.File;
2937 import java.io.IOException;
2938 import java.io.OutputStream;
2939+import java.io.Writer;
2940 import java.net.URI;
2941 import java.net.URISyntaxException;
2942 import java.nio.file.Files;
2943@@ -54,6 +55,8 @@ public class DependTest {
2944 test.testRecords();
2945 test.testImports();
2946 test.testModifiers();
2947+ test.testPrimitiveTypeChanges();
2948+ test.testWithErrors();
2949 }
2950
2951 public void testMethods() throws Exception {
2952@@ -302,6 +305,27 @@ public class DependTest {
2953 "package test; public record Test (int x, int y) {" +
2954 "public Test (int x, int y, int z) { this(x, y); } }", // additional ctr
2955 true);
2956+ doOrdinaryTest("package test; public record Test (int x) { }",
2957+ "package test; public record Test (long x) { unresolved f; }", //erroneous record member, should not crash
2958+ false);
2959+ }
2960+
2961+ public void testPrimitiveTypeChanges() throws Exception {
2962+ doOrdinaryTest("package test; public record Test (int x) { }",
2963+ "package test; public record Test (long x) { }",
2964+ true);
2965+ doOrdinaryTest("package test; public record Test (int x) { }",
2966+ "package test; public record Test (Integer x) { }",
2967+ true);
2968+ doOrdinaryTest("package test; public record Test (Integer x) { }",
2969+ "package test; public record Test (int x) { }",
2970+ true);
2971+ }
2972+
2973+ public void testWithErrors() throws Exception {
2974+ doOrdinaryTest("package test; public record Test (int x) { }",
2975+ "package test; public record Test (long x) { static unresolved f; }",
2976+ false); //the API change should not be recorded for code with errors
2977 }
2978
2979 private final JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
2980@@ -310,6 +334,7 @@ public class DependTest {
2981 private Path scratchClasses;
2982 private Path apiHash;
2983 private Path treeHash;
2984+ private Path modifiedFiles;
2985
2986 private void setupClass() throws IOException {
2987 depend = Paths.get(Depend.class.getProtectionDomain().getCodeSource().getLocation().getPath());
2988@@ -328,6 +353,7 @@ public class DependTest {
2989
2990 apiHash = scratch.resolve("api");
2991 treeHash = scratch.resolve("tree");
2992+ modifiedFiles = scratch.resolve("modified-files");
2993 }
2994
2995 private void doOrdinaryTest(String codeBefore, String codeAfter, boolean hashChangeExpected) throws Exception {
2996@@ -335,11 +361,16 @@ public class DependTest {
2997 }
2998
2999 private void doOrdinaryTest(String codeBefore, String codeAfter, boolean apiHashChangeExpected, boolean treeHashChangeExpected) throws Exception {
3000+ try (Writer out = Files.newBufferedWriter(modifiedFiles)) {
3001+ out.append("module-info.java\n");
3002+ out.append("test.Test.java\n");
3003+ }
3004 List<String> options =
3005 Arrays.asList("-d", scratchClasses.toString(),
3006 "-processorpath", depend.toString() + File.pathSeparator + scratchServices.toString(),
3007- "-Xplugin:depend " + apiHash.toString() + " " + treeHash.toString(),
3008- "-XDmodifiedInputs=build-all");
3009+ "-Xplugin:depend " + apiHash.toString(),
3010+ "-XDinternalAPIPath=" + treeHash.toString(),
3011+ "-XDmodifiedInputs=" + modifiedFiles.toString());
3012 List<TestJavaFileObject> beforeFiles =
3013 Arrays.asList(new TestJavaFileObject("module-info", "module m { exports test; }"),
3014 new TestJavaFileObject("test.Test", codeBefore));
3015@@ -369,11 +400,19 @@ public class DependTest {
3016 }
3017
3018 private void doModuleTest(String codeBefore, String codeAfter, boolean apiHashChangeExpected, boolean treeHashChangeExpected) throws Exception {
3019+ try (Writer out = Files.newBufferedWriter(modifiedFiles)) {
3020+ out.append("module-info.java\n");
3021+ out.append("test.Test1.java\n");
3022+ out.append("test.Test2.java\n");
3023+ out.append("test.TestImpl1.java\n");
3024+ out.append("test.TestImpl2.java\n");
3025+ }
3026 List<String> options =
3027 Arrays.asList("-d", scratchClasses.toString(),
3028 "-processorpath", depend.toString() + File.pathSeparator + scratchServices.toString(),
3029 "-Xplugin:depend " + apiHash.toString() + " " + treeHash.toString(),
3030- "-XDmodifiedInputs=build-all");
3031+ "-XDinternalAPIPath=" + treeHash.toString(),
3032+ "-XDmodifiedInputs=" + modifiedFiles.toString());
3033 List<TestJavaFileObject> beforeFiles =
3034 Arrays.asList(new TestJavaFileObject("module-info", codeBefore),
3035 new TestJavaFileObject("test.Test1", "package test; public interface Test1 {}"),
3036@@ -406,10 +445,12 @@ public class DependTest {
3037
3038 private static final class TestJavaFileObject extends SimpleJavaFileObject {
3039
3040+ private final String className;
3041 private final String code;
3042
3043 public TestJavaFileObject(String className, String code) throws URISyntaxException {
3044 super(new URI("mem:/" + className.replace('.', '/') + ".java"), Kind.SOURCE);
3045+ this.className = className;
3046 this.code = code;
3047 }
3048
3049@@ -418,5 +459,10 @@ public class DependTest {
3050 return code;
3051 }
3052
3053+ @Override
3054+ public String getName() {
3055+ return className + ".java";
3056+ }
3057+
3058 }
3059 }
3060diff --git a/make/modules/java.base/Java.gmk b/make/modules/java.base/Java.gmk
3061index 25c14d2..3c867e2 100644
3062--- a/make/modules/java.base/Java.gmk
3063+++ b/make/modules/java.base/Java.gmk
3064@@ -25,7 +25,9 @@
3065
3066 DOCLINT += -Xdoclint:all/protected \
3067 '-Xdoclint/package:java.*,javax.*'
3068-JAVAC_FLAGS += -XDstringConcat=inline
3069+JAVAC_FLAGS += -XDstringConcat=inline \
3070+ --enable-preview
3071+DISABLED_WARNINGS_java += preview
3072 COPY += .icu .dat .spp .nrm content-types.properties \
3073 hijrah-config-Hijrah-umalqura_islamic-umalqura.properties
3074 CLEAN += intrinsic.properties
3075@@ -33,7 +35,9 @@ CLEAN += intrinsic.properties
3076 EXCLUDE_FILES += \
3077 $(TOPDIR)/src/java.base/share/classes/jdk/internal/module/ModuleLoaderMap.java
3078
3079-EXCLUDES += java/lang/doc-files
3080+EXCLUDES += java/lang/doc-files \
3081+ jdk/internal/classfile/snippet-files \
3082+ jdk/internal/classfile/components/snippet-files
3083
3084 # Exclude BreakIterator classes that are just used in compile process to generate
3085 # data files and shouldn't go in the product
3086diff --git a/make/modules/java.base/Lib.gmk b/make/modules/java.base/Lib.gmk
3087index 3b78257..93c0a36 100644
3088--- a/make/modules/java.base/Lib.gmk
3089+++ b/make/modules/java.base/Lib.gmk
3090@@ -47,8 +47,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBNET, \
3091 DISABLED_WARNINGS_gcc_NetworkInterface.c := unused-function, \
3092 DISABLED_WARNINGS_clang_net_util_md.c := format-nonliteral, \
3093 DISABLED_WARNINGS_microsoft_InetAddress.c := 4244, \
3094- DISABLED_WARNINGS_microsoft_NetworkInterface.c := 4133, \
3095- DISABLED_WARNINGS_microsoft_NetworkInterface_winXP.c := 4133, \
3096 DISABLED_WARNINGS_microsoft_ResolverConfigurationImpl.c := 4996, \
3097 LDFLAGS := $(LDFLAGS_JDKLIB) \
3098 $(call SET_SHARED_LIBRARY_ORIGIN), \
3099diff --git a/make/modules/java.desktop/lib/Awt2dLibraries.gmk b/make/modules/java.desktop/lib/Awt2dLibraries.gmk
3100index 96576bb..47cfea0 100644
3101--- a/make/modules/java.desktop/lib/Awt2dLibraries.gmk
3102+++ b/make/modules/java.desktop/lib/Awt2dLibraries.gmk
3103@@ -451,7 +451,7 @@ else
3104 -DHB_NO_PRAGMA_GCC_DIAGNOSTIC
3105 endif
3106 ifeq ($(call isTargetOs, linux macosx), true)
3107- HARFBUZZ_CFLAGS += -DHAVE_INTEL_ATOMIC_PRIMITIVES
3108+ HARFBUZZ_CFLAGS += -DHAVE_INTEL_ATOMIC_PRIMITIVES -DHB_NO_VISIBILITY
3109 endif
3110
3111 # Early re-canonizing has to be disabled to workaround an internal XlC compiler error
3112diff --git a/make/modules/java.security.jgss/Lib.gmk b/make/modules/java.security.jgss/Lib.gmk
3113index d9f6114..5f5de81 100644
3114--- a/make/modules/java.security.jgss/Lib.gmk
3115+++ b/make/modules/java.security.jgss/Lib.gmk
3116@@ -64,9 +64,7 @@ ifneq ($(BUILD_CRYPTO), false)
3117 CFLAGS := $(CFLAGS_JDKLIB), \
3118 LDFLAGS := $(LDFLAGS_JDKLIB) \
3119 $(call SET_SHARED_LIBRARY_ORIGIN), \
3120- LIBS := advapi32.lib Secur32.lib netapi32.lib kernel32.lib user32.lib \
3121- gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib \
3122- ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib, \
3123+ LIBS := advapi32.lib Secur32.lib kernel32.lib ws2_32.lib, \
3124 ))
3125
3126 TARGETS += $(BUILD_LIBW2K_LSA_AUTH)
3127diff --git a/make/modules/jdk.internal.vm.ci/Java.gmk b/make/modules/jdk.internal.vm.ci/Java.gmk
3128index ad4991e..8720c97 100644
3129--- a/make/modules/jdk.internal.vm.ci/Java.gmk
3130+++ b/make/modules/jdk.internal.vm.ci/Java.gmk
3131@@ -26,13 +26,5 @@
3132 # -parameters provides method's parameters information in class file,
3133 # JVMCI compilers make use of that information for various sanity checks.
3134 # Don't use Indy strings concatenation to have good JVMCI startup performance.
3135-# The exports are needed since JVMCI is dynamically exported (see
3136-# jdk.vm.ci.services.internal.ReflectionAccessJDK::openJVMCITo).
3137
3138 JAVAC_FLAGS += -parameters -XDstringConcat=inline
3139-
3140-## WORKAROUND jdk.internal.vm.ci source structure issue
3141-JVMCI_MODULESOURCEPATH := $(MODULESOURCEPATH) \
3142- $(subst /$(MODULE)/,/*/, $(filter-out %processor/src, \
3143- $(wildcard $(TOPDIR)/src/$(MODULE)/share/classes/*/src)))
3144-MODULESOURCEPATH := $(call PathList, $(JVMCI_MODULESOURCEPATH))
3145diff --git a/make/modules/jdk.jartool/Java.gmk b/make/modules/jdk.jartool/Java.gmk
3146index 1cf56a3..016c2bc 100644
3147--- a/make/modules/jdk.jartool/Java.gmk
3148+++ b/make/modules/jdk.jartool/Java.gmk
3149@@ -25,3 +25,5 @@
3150
3151 DISABLED_WARNINGS_java += missing-explicit-ctor
3152 JAVAC_FLAGS += -XDstringConcat=inline
3153+JAVAC_FLAGS += --enable-preview
3154+DISABLED_WARNINGS_java += preview
3155diff --git a/make/test/BuildMicrobenchmark.gmk b/make/test/BuildMicrobenchmark.gmk
3156index 1c89328..9c20b23 100644
3157--- a/make/test/BuildMicrobenchmark.gmk
3158+++ b/make/test/BuildMicrobenchmark.gmk
3159@@ -96,6 +96,15 @@ $(eval $(call SetupJavaCompilation, BUILD_JDK_MICROBENCHMARK, \
3160 BIN := $(MICROBENCHMARK_CLASSES), \
3161 JAVAC_FLAGS := --add-exports java.base/sun.security.util=ALL-UNNAMED \
3162 --add-exports java.base/sun.invoke.util=ALL-UNNAMED \
3163+ --add-exports java.base/jdk.internal.classfile=ALL-UNNAMED \
3164+ --add-exports java.base/jdk.internal.classfile.attribute=ALL-UNNAMED \
3165+ --add-exports java.base/jdk.internal.classfile.constantpool=ALL-UNNAMED \
3166+ --add-exports java.base/jdk.internal.classfile.instruction=ALL-UNNAMED \
3167+ --add-exports java.base/jdk.internal.classfile.java.lang.constant=ALL-UNNAMED \
3168+ --add-exports java.base/jdk.internal.classfile.components=ALL-UNNAMED \
3169+ --add-exports java.base/jdk.internal.classfile.impl=ALL-UNNAMED \
3170+ --add-exports java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
3171+ --add-exports java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED \
3172 --add-exports java.base/jdk.internal.vm=ALL-UNNAMED \
3173 --enable-preview, \
3174 JAVA_FLAGS := --add-modules jdk.unsupported --limit-modules java.management \
3175diff --git a/make/test/BuildTestLib.gmk b/make/test/BuildTestLib.gmk
3176index f677d25..b9f0320 100644
3177--- a/make/test/BuildTestLib.gmk
3178+++ b/make/test/BuildTestLib.gmk
3179@@ -1,5 +1,5 @@
3180 #
3181-# Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
3182+# Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
3183 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3184 #
3185 # This code is free software; you can redistribute it and/or modify it
3186@@ -36,10 +36,11 @@ TEST_LIB_SUPPORT := $(SUPPORT_OUTPUTDIR)/test/lib
3187
3188 $(eval $(call SetupJavaCompilation, BUILD_WB_JAR, \
3189 TARGET_RELEASE := $(TARGET_RELEASE_NEWJDK_UPGRADED), \
3190- SRC := $(TEST_LIB_SOURCE_DIR)/sun $(TEST_LIB_SOURCE_DIR)/jdk/test/whitebox/parser, \
3191+ SRC := $(TEST_LIB_SOURCE_DIR)/jdk/test/whitebox/parser, \
3192 BIN := $(TEST_LIB_SUPPORT)/wb_classes, \
3193 JAR := $(TEST_LIB_SUPPORT)/wb.jar, \
3194- DISABLED_WARNINGS := deprecation removal, \
3195+ DISABLED_WARNINGS := deprecation removal preview, \
3196+ JAVAC_FLAGS := --enable-preview, \
3197 ))
3198
3199 TARGETS += $(BUILD_WB_JAR)
3200@@ -51,7 +52,8 @@ $(eval $(call SetupJavaCompilation, BUILD_TEST_LIB_JAR, \
3201 BIN := $(TEST_LIB_SUPPORT)/test-lib_classes, \
3202 HEADERS := $(TEST_LIB_SUPPORT)/test-lib_headers, \
3203 JAR := $(TEST_LIB_SUPPORT)/test-lib.jar, \
3204- DISABLED_WARNINGS := try deprecation rawtypes unchecked serial cast removal, \
3205+ DISABLED_WARNINGS := try deprecation rawtypes unchecked serial cast removal preview, \
3206+ JAVAC_FLAGS := --enable-preview, \
3207 ))
3208
3209 TARGETS += $(BUILD_TEST_LIB_JAR)
3210diff --git a/make/test/JtregNativeHotspot.gmk b/make/test/JtregNativeHotspot.gmk
3211index 5c7126b..1d58c72 100644
3212--- a/make/test/JtregNativeHotspot.gmk
3213+++ b/make/test/JtregNativeHotspot.gmk
3214@@ -1521,7 +1521,13 @@ endif
3215 ifeq ($(ASAN_ENABLED), true)
3216 # Any executable which launches the JVM and uses a custom launcher needs to explicitly link in the
3217 # default ASan options.
3218- BUILD_HOTSPOT_JTREG_EXTRA_FILES := $(TOPDIR)/make/data/asan/asan_default_options.c
3219+ BUILD_HOTSPOT_JTREG_EXTRA_FILES += $(TOPDIR)/make/data/asan/asan_default_options.c
3220+endif
3221+
3222+ifeq ($(LSAN_ENABLED), true)
3223+ # Any executable which launches the JVM and uses a custom launcher needs to explicitly link in the
3224+ # default LSan options.
3225+ BUILD_HOTSPOT_JTREG_EXTRA_FILES += $(TOPDIR)/make/data/lsan/lsan_default_options.c
3226 endif
3227
3228 # This evaluation is expensive and should only be done if this target was
3229diff --git a/make/test/JtregNativeJdk.gmk b/make/test/JtregNativeJdk.gmk
3230index ba3135b..34d6bff 100644
3231--- a/make/test/JtregNativeJdk.gmk
3232+++ b/make/test/JtregNativeJdk.gmk
3233@@ -135,7 +135,13 @@ endif
3234 ifeq ($(ASAN_ENABLED), true)
3235 # Any executable which launches the JVM and uses a custom launcher needs to explicitly link in the
3236 # default ASan options.
3237- BUILD_JDK_JTREG_EXTRA_FILES := $(TOPDIR)/make/data/asan/asan_default_options.c
3238+ BUILD_JDK_JTREG_EXTRA_FILES += $(TOPDIR)/make/data/asan/asan_default_options.c
3239+endif
3240+
3241+ifeq ($(LSAN_ENABLED), true)
3242+ # Any executable which launches the JVM and uses a custom launcher needs to explicitly link in the
3243+ # default LSan options.
3244+ BUILD_JDK_JTREG_EXTRA_FILES += $(TOPDIR)/make/data/lsan/lsan_default_options.c
3245 endif
3246
3247 # This evaluation is expensive and should only be done if this target was
3248diff --git a/src/demo/share/jfc/SwingSet2/resources/swingset_de.properties b/src/demo/share/jfc/SwingSet2/resources/swingset_de.properties
3249index 578a1c8..fca26a5 100644
3250--- a/src/demo/share/jfc/SwingSet2/resources/swingset_de.properties
3251+++ b/src/demo/share/jfc/SwingSet2/resources/swingset_de.properties
3252@@ -1,4 +1,4 @@
3253-# Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
3254+# Copyright (c) 2010, 2022, Oracle and/or its affiliates. All rights reserved.
3255 #
3256 # Redistribution and use in source and binary forms, with or without
3257 # modification, are permitted provided that the following conditions
3258@@ -671,4 +671,3 @@ TreeDemo.accessible_description=Diese Demo zeigt ein Beispiel f\u00FCr die Verwe
3259 TreeDemo.tooltip=JTree-Demo
3260 TreeDemo.name=Baumdemo
3261 TreeDemo.music=Musik
3262-
3263diff --git a/src/demo/share/jfc/SwingSet2/resources/swingset_ja.properties b/src/demo/share/jfc/SwingSet2/resources/swingset_ja.properties
3264index cb99c27..77f97e5 100644
3265--- a/src/demo/share/jfc/SwingSet2/resources/swingset_ja.properties
3266+++ b/src/demo/share/jfc/SwingSet2/resources/swingset_ja.properties
3267@@ -1,4 +1,4 @@
3268-# Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
3269+# Copyright (c) 2010, 2022, Oracle and/or its affiliates. All rights reserved.
3270 #
3271 # Redistribution and use in source and binary forms, with or without
3272 # modification, are permitted provided that the following conditions
3273@@ -48,7 +48,7 @@ SourceCode.loading=<html><body bgcolor="#ffffff">\u30BD\u30FC\u30B9\u30FB\u30B3\
3274
3275 ### Status ###
3276
3277-Status.loading=\u8AAD\u8FBC\u307F\u4E2D:
3278+Status.loading=\u8AAD\u8FBC\u307F\u4E2D:
3279 Status.popupMenuAccessible=Shift+F10: \u30DD\u30C3\u30D7\u30A2\u30C3\u30D7\u30FB\u30E1\u30CB\u30E5\u30FC\u306E\u6709\u52B9\u5316
3280
3281 ### Menu Bar ###
3282@@ -184,7 +184,7 @@ MultiMenu.single_accessible_description=SwingSet2\u306E\u30A6\u30A3\u30F3\u30C9\
3283
3284 ### Button Demo ###
3285
3286-ButtonDemo.accessible_description=ButtonDemo\u3067\u306F\u3001JButton\u3001JRadioButton\u3001JToggleButton\u304A\u3088\u3073JCheckBox\u306E\u4F7F\u7528\u4F8B\u3092\u7D39\u4ECB\u3057\u307E\u3059
3287+ButtonDemo.accessible_description=ButtonDemo\u3067\u306F\u3001JButton\u3001JRadioButton\u3001JToggleButton\u304A\u3088\u3073JCheckBox\u306E\u4F7F\u7528\u4F8B\u3092\u7D39\u4ECB\u3057\u307E\u3059
3288 ButtonDemo.tooltip=JButton\u3001JRadioButton\u3001JToggleButton\u3001JCheckbox\u30C7\u30E2
3289 ButtonDemo.name=Button\u30C7\u30E2
3290
3291@@ -202,16 +202,16 @@ ButtonDemo.imagetogglebuttons=\u30A4\u30E1\u30FC\u30B8\u30FB\u30C8\u30B0\u30EB\u
3292 ButtonDemo.textcheckboxes=\u30C6\u30AD\u30B9\u30C8\u30FB\u30C1\u30A7\u30C3\u30AF\u30FB\u30DC\u30C3\u30AF\u30B9
3293 ButtonDemo.imagecheckboxes=\u30A4\u30E1\u30FC\u30B8\u30FB\u30C1\u30A7\u30C3\u30AF\u30FB\u30DC\u30C3\u30AF\u30B9
3294
3295-ButtonDemo.button1=1
3296+ButtonDemo.button1=1
3297 ButtonDemo.button2=2
3298 ButtonDemo.button3=<html><font size=2 color=red><bold>3</font></html>
3299
3300-ButtonDemo.radio1=\u30DC\u30BF\u30F31
3301+ButtonDemo.radio1=\u30DC\u30BF\u30F31
3302 ButtonDemo.radio2=\u30DC\u30BF\u30F32
3303 ButtonDemo.radio3=\u30DC\u30BF\u30F33
3304 ButtonDemo.radioX=<html><font size=2 color=red>3<bold>(HTML)</bold></font></html>
3305
3306-ButtonDemo.check1=1
3307+ButtonDemo.check1=1
3308 ButtonDemo.check2=2
3309 ButtonDemo.check3=3
3310 ButtonDemo.checkX=<html><font size=2 color=red>3<bold>(HTML)</bold></font></html>
3311@@ -219,7 +219,7 @@ ButtonDemo.checkX=<html><font size=2 color=red>3<bold>(HTML)</bold></font></html
3312 ButtonDemo.customradio=\u30AB\u30B9\u30BF\u30E0\u306E"\u30E1\u30BF\u30EA\u30C3\u30AF\u8ABF"\u30E9\u30B8\u30AA\u30FB\u30DC\u30BF\u30F3
3313 ButtonDemo.customcheck=\u30AB\u30B9\u30BF\u30E0\u306E\u96FB\u7403\u30C1\u30A7\u30C3\u30AF\u30FB\u30DC\u30C3\u30AF\u30B9
3314
3315-ButtonDemo.phone=\u96FB\u8A71
3316+ButtonDemo.phone=\u96FB\u8A71
3317 ButtonDemo.write=\u66F8\u8FBC\u307F
3318 ButtonDemo.peace=\u30D4\u30FC\u30B9
3319
3320@@ -427,7 +427,7 @@ ProgressBarDemo.stop_button=\u30C6\u30AD\u30B9\u30C8\u306E\u30ED\u30FC\u30C9\u50
3321 ProgressBarDemo.accessible_text_loading_progress=\u30C6\u30AD\u30B9\u30C8\u306E\u30ED\u30FC\u30C9\u4E2D
3322 ProgressBarDemo.accessible_text_area_name=\u30ED\u30FC\u30C9\u4E2D\u306E\u30C6\u30AD\u30B9\u30C8
3323
3324-ProgressBarDemo.accessible_text_area_description=\u3053\u306EJTextArea\u306B\u306F\u3001\u30C6\u30AD\u30B9\u30C8\u304C\u4E00\u5EA6\u306B1\u6587\u5B57\u305A\u3064\u30D0\u30C3\u30D5\u30A1\u304B\u3089\u57CB\u3081\u8FBC\u307E\u308C\u3066\u3044\u307E\u3059\u3002\u30A6\u30A3\u30F3\u30C9\u30A6\u306E\u4E0B\u90E8\u306B\u3042\u308B\u30D7\u30ED\u30B0\u30EC\u30B9\u30FB\u30D0\u30FC\u306B\u3001\u30ED\u30FC\u30C9\u51E6\u7406\u306E\u9032\u6357\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002
3325+ProgressBarDemo.accessible_text_area_description=\u3053\u306EJTextArea\u306B\u306F\u3001\u30C6\u30AD\u30B9\u30C8\u304C\u4E00\u5EA6\u306B1\u6587\u5B57\u305A\u3064\u30D0\u30C3\u30D5\u30A1\u304B\u3089\u57CB\u3081\u8FBC\u307E\u308C\u3066\u3044\u307E\u3059\u3002\u30A6\u30A3\u30F3\u30C9\u30A6\u306E\u4E0B\u90E8\u306B\u3042\u308B\u30D7\u30ED\u30B0\u30EC\u30B9\u30FB\u30D0\u30FC\u306B\u3001\u30ED\u30FC\u30C9\u51E6\u7406\u306E\u9032\u6357\u304C\u8868\u793A\u3055\u308C\u307E\u3059
3326
3327 ProgressBarDemo.text=\u7121\u9650\u306E\u733F\u304C\u7121\u9650\u6570\u306E\u30BF\u30A4\u30D7\u30E9\u30A4\u30BF\u3067\u5165\u529B\u3057\u7D9A\u3051\u308C\u3070\u3001\u3044\u3064\u304B\u306F\u4EBA\u985E\u306E\u5049\u5927\u306A\u4F5C\u54C1\u304C\u3067\u304D\u3042\u304C\u308B\u3068\u4FD7\u306B\u3044\u308F\u308C\u3066\u3044\u307E\u3059\u3002\n\u73FE\u5728\u306E\u9AD8\u901F\u51E6\u7406\u30B3\u30F3\u30D4\u30E5\u30FC\u30BF\u3092\u4F7F\u7528\u3059\u308C\u3070\u3001\u3053\u306E\u7406\u8AD6\u3092\u30C6\u30B9\u30C8\n\u3067\u304D\u307E\u3059... \n\n\tLzskd jfy 92y;ho4 th;qlh sd 6yty;q2 hnlj 8sdf. Djfy 92y;ho4, th;qxhz d7yty; \n\tQ0hnlj 23&&^ (# ljask djf y92y; fy92y; Sd6y ty;q2h nl jk la gfa harvin garvel\n\tlasdfsd a83sl la8z ks8l 92y;ho4 th;qlh sd 6yty;q2 hnlj 8sdf. Djfy 92y;ho4,\n\tth;qxhz d7yty; Q0hnlj 23&&^ nknod mrs88 jsd79lfm#%$JLaoz6df lso7dj f2 jfls\n\t67d9ol1@2fou99s 1lkj2 @l.k1 2; a89o7aljf 1l3i7ou8 d8l3 lqwerty0092 #1!\n\tja9o do8lkjj139rojsd9**!l6*hd # ljasd78 l2awkjad78 3ol7asljf 3 ldif && l.js\n\tLl ls ewan la8uj 23lll7u 8l 3h hhxx8 8d lsd fixx 891lkjno99sl d8l@@@!!8#8\n\tdfoil jarooda mklaoorj nowai the smisthliylka jkdlfjiw ladajadra lthhheeejfjl\n\tdkddooolda bub mirznod of the koojgaf!! But 2 be or not to be... that is the\n\tquestion. Then when shall we three meet again In thunder, lightning, or in\n\train? When the hurlyburly's done, When the battle's lost and won. That will\n\tbe ere the set of sun. Where the place? Upon the heath. There to meet with\n\tMacbeth. But hath forth not to want..... a banana, or to be.... a banana.\n\tBanana, I knew him banana. Banana banana. Banana banana banana banana.\n\n\n\n\nWell... hmm.... it seemed like a good idea...
3328
3329@@ -451,7 +451,7 @@ SliderDemo.accessible_description=\u3053\u306E\u30C7\u30E2\u3067\u306F\u3001JSli
3330 SliderDemo.tooltip=JSlider\u30C7\u30E2
3331 SliderDemo.name=Slider\u30C7\u30E2
3332
3333-SliderDemo.slidervalue=Slider\u306E\u5024:
3334+SliderDemo.slidervalue=Slider\u306E\u5024:
3335 SliderDemo.horizontal=\u6C34\u5E73
3336 SliderDemo.vertical=\u5782\u76F4
3337 SliderDemo.plain=\u30D7\u30EC\u30FC\u30F3
3338@@ -671,4 +671,3 @@ TreeDemo.accessible_description=\u3053\u306E\u30C7\u30E2\u3067\u306F\u3001JTree\
3339 TreeDemo.tooltip=JTree\u30C7\u30E2
3340 TreeDemo.name=Tree\u30C7\u30E2
3341 TreeDemo.music=\u97F3\u697D
3342-
3343diff --git a/src/demo/share/jfc/SwingSet2/resources/swingset_zh_CN.properties b/src/demo/share/jfc/SwingSet2/resources/swingset_zh_CN.properties
3344index 211e0d7..12d3c88 100644
3345--- a/src/demo/share/jfc/SwingSet2/resources/swingset_zh_CN.properties
3346+++ b/src/demo/share/jfc/SwingSet2/resources/swingset_zh_CN.properties
3347@@ -1,4 +1,4 @@
3348-# Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
3349+# Copyright (c) 2010, 2022, Oracle and/or its affiliates. All rights reserved.
3350 #
3351 # Redistribution and use in source and binary forms, with or without
3352 # modification, are permitted provided that the following conditions
3353@@ -48,7 +48,7 @@ SourceCode.loading=<html><body bgcolor="#ffffff">\u6B63\u5728\u52A0\u8F7D\u548C\
3354
3355 ### Status ###
3356
3357-Status.loading=\u6B63\u5728\u52A0\u8F7D:
3358+Status.loading=\u6B63\u5728\u52A0\u8F7D:
3359 Status.popupMenuAccessible=\u8BF7\u6309 Shift-F10 \u7EC4\u5408\u952E\u6FC0\u6D3B\u5F39\u51FA\u5F0F\u83DC\u5355
3360
3361 ### Menu Bar ###
3362@@ -184,7 +184,7 @@ MultiMenu.single_accessible_description=\u5728\u5C4F\u5E55\u4E0A\u521B\u5EFA Swi
3363
3364 ### Button Demo ###
3365
3366-ButtonDemo.accessible_description=ButtonDemo \u663E\u793A\u4E86\u4F7F\u7528 JButton, JRadioButton, JToggleButton \u548C JCheckBox \u7684\u793A\u4F8B
3367+ButtonDemo.accessible_description=ButtonDemo \u663E\u793A\u4E86\u4F7F\u7528 JButton, JRadioButton, JToggleButton \u548C JCheckBox \u7684\u793A\u4F8B
3368 ButtonDemo.tooltip=JButton, JRadioButton, JToggleButton, JCheckbox \u6F14\u793A
3369 ButtonDemo.name=\u6309\u94AE\u6F14\u793A
3370
3371@@ -202,16 +202,16 @@ ButtonDemo.imagetogglebuttons=\u56FE\u50CF\u5207\u6362\u6309\u94AE
3372 ButtonDemo.textcheckboxes=\u6587\u672C\u590D\u9009\u6846
3373 ButtonDemo.imagecheckboxes=\u56FE\u50CF\u590D\u9009\u6846
3374
3375-ButtonDemo.button1=\u4E00
3376+ButtonDemo.button1=\u4E00
3377 ButtonDemo.button2=\u4E8C
3378 ButtonDemo.button3=<html><font size=2 color=red><bold>\u4E09!</font></html>
3379
3380-ButtonDemo.radio1=\u5355\u9009\u4E00
3381+ButtonDemo.radio1=\u5355\u9009\u4E00
3382 ButtonDemo.radio2=\u5355\u9009\u4E8C
3383 ButtonDemo.radio3=\u5355\u9009\u4E09
3384 ButtonDemo.radioX=<html><font size=2 color=red>\u4E09<bold> (HTML!)</bold></font></html>
3385
3386-ButtonDemo.check1=\u4E00
3387+ButtonDemo.check1=\u4E00
3388 ButtonDemo.check2=\u4E8C
3389 ButtonDemo.check3=\u4E09
3390 ButtonDemo.checkX=<html><font size=2 color=red>\u4E09<bold> (HTML!)</bold></font></html>
3391@@ -219,7 +219,7 @@ ButtonDemo.checkX=<html><font size=2 color=red>\u4E09<bold> (HTML!)</bold></font
3392 ButtonDemo.customradio=\u5B9A\u5236 "chrome" \u5355\u9009\u6309\u94AE\u3002
3393 ButtonDemo.customcheck=\u5B9A\u5236\u201C\u706F\u6CE1\u201D\u590D\u9009\u6846\u3002
3394
3395-ButtonDemo.phone=\u7535\u8BDD
3396+ButtonDemo.phone=\u7535\u8BDD
3397 ButtonDemo.write=\u5199
3398 ButtonDemo.peace=\u5E73\u9759
3399
3400@@ -427,7 +427,7 @@ ProgressBarDemo.stop_button=\u505C\u6B62\u52A0\u8F7D\u6587\u672C
3401 ProgressBarDemo.accessible_text_loading_progress=\u6587\u672C\u52A0\u8F7D\u8FDB\u5EA6
3402 ProgressBarDemo.accessible_text_area_name=\u52A0\u8F7D\u7684\u6587\u672C\u6B63\u5728\u9010\u6E10\u589E\u591A
3403
3404-ProgressBarDemo.accessible_text_area_description=\u8FD9\u4E2A JTextArea \u7531\u6765\u81EA\u7F13\u51B2\u533A\u7684\u6587\u672C\u9010\u4E2A\u5B57\u7B26\u5730\u586B\u5145, \u540C\u65F6\u7A97\u53E3\u5E95\u90E8\u7684\u8FDB\u5EA6\u680F\u5C06\u663E\u793A\u52A0\u8F7D\u7684\u8FDB\u5EA6
3405+ProgressBarDemo.accessible_text_area_description=\u8FD9\u4E2A JTextArea \u7531\u6765\u81EA\u7F13\u51B2\u533A\u7684\u6587\u672C\u9010\u4E2A\u5B57\u7B26\u5730\u586B\u5145\uFF0C\u540C\u65F6\u7A97\u53E3\u5E95\u90E8\u7684\u8FDB\u5EA6\u680F\u5C06\u663E\u793A\u52A0\u8F7D\u7684\u8FDB\u5EA6
3406
3407 ProgressBarDemo.text=\u5E38\u8A00\u9053: \u5982\u679C\u65E0\u6570\u53EA\u7334\u5B50\u5728\u65E0\u6570\u53F0\u6253\u5B57\u673A\u4E0A\u6572\u51FB\u952E\u76D8, \u6700\u7EC8\n\u5C06\u5F62\u6210\u4EBA\u7C7B\u5386\u53F2\u4E0A\u6240\u6709\u4F1F\u5927\u7684\u8457\u4F5C\u3002\u73B0\u5728, \u6211\u4EEC\u53EF\u4EE5\u4F7F\u7528\u5F53\u4ECA\u7684\u9AD8\u901F\u8BA1\u7B97\u673A\u6765\u68C0\u9A8C\n\u8FD9\u4E00\u7406\u8BBA\u4E86... \n\n\tLzskd jfy 92y;ho4 th;qlh sd 6yty;q2 hnlj 8sdf. Djfy 92y;ho4, th;qxhz d7yty; \n\tQ0hnlj 23&&^ (# ljask djf y92y; fy92y; Sd6y ty;q2h nl jk la gfa harvin garvel\n\tlasdfsd a83sl la8z ks8l 92y;ho4 th;qlh sd 6yty;q2 hnlj 8sdf. Djfy 92y;ho4,\n\tth;qxhz d7yty; Q0hnlj 23&&^ nknod mrs88 jsd79lfm#%$JLaoz6df lso7dj f2 jfls\n\t67d9ol1@2fou99s 1lkj2 @l.k1 2; a89o7aljf 1l3i7ou8 d8l3 lqwerty0092 #1!\n\tja9o do8lkjj139rojsd9**!l6*hd # ljasd78 l2awkjad78 3ol7asljf 3 ldif && l.js\n\tLl ls ewan la8uj 23lll7u 8l 3h hhxx8 8d lsd fixx 891lkjno99sl d8l@@@!!8#8\n\tdfoil jarooda mklaoorj nowai the smisthliylka jkdlfjiw ladajadra lthhheeejfjl\n\tdkddooolda bub mirznod of the koojgaf!! But 2 be or not to be... that is the\n\tquestion. Then when shall we three meet again In thunder, lightning, or in\n\train? When the hurlyburly's done, When the battle's lost and won. That will\n\tbe ere the set of sun. Where the place? Upon the heath. There to meet with\n\tMacbeth. But hath forth not to want..... a banana, or to be.... a banana.\n\tBanana, I knew him banana. Banana banana. Banana banana banana banana.\n\n\n\n\n\u5662, \u8FD9\u770B\u8D77\u6765\u662F\u4E2A\u597D\u4E3B\u610F...
3408
3409@@ -451,7 +451,7 @@ SliderDemo.accessible_description=\u6B64\u6F14\u793A\u663E\u793A\u4E86\u4F7F\u75
3410 SliderDemo.tooltip=JSlider \u6F14\u793A
3411 SliderDemo.name=\u6ED1\u5757\u6F14\u793A
3412
3413-SliderDemo.slidervalue=\u6ED1\u5757\u503C:
3414+SliderDemo.slidervalue=\u6ED1\u5757\u503C:
3415 SliderDemo.horizontal=\u6C34\u5E73
3416 SliderDemo.vertical=\u5782\u76F4
3417 SliderDemo.plain=\u65E0\u683C\u5F0F
3418@@ -671,4 +671,3 @@ TreeDemo.accessible_description=\u6B64\u6F14\u793A\u663E\u793A\u4E86\u4F7F\u7528
3419 TreeDemo.tooltip=JTree \u6F14\u793A
3420 TreeDemo.name=\u6811\u6F14\u793A
3421 TreeDemo.music=\u97F3\u4E50
3422-
3423diff --git a/src/hotspot/cpu/aarch64/aarch64.ad b/src/hotspot/cpu/aarch64/aarch64.ad
3424index 6868c49..b604b6a 100644
3425--- a/src/hotspot/cpu/aarch64/aarch64.ad
3426+++ b/src/hotspot/cpu/aarch64/aarch64.ad
3427@@ -1191,6 +1191,10 @@ public:
3428
3429 // predicate controlling addressing modes
3430 bool size_fits_all_mem_uses(AddPNode* addp, int shift);
3431+
3432+ // Convert BootTest condition to Assembler condition.
3433+ // Replicate the logic of cmpOpOper::ccode() and cmpOpUOper::ccode().
3434+ Assembler::Condition to_assembler_cond(BoolTest::mask cond);
3435 %}
3436
3437 source %{
3438@@ -2301,6 +2305,12 @@ const bool Matcher::match_rule_supported(int opcode) {
3439 ret_value = false;
3440 }
3441 break;
3442+ case Op_ExpandBits:
3443+ case Op_CompressBits:
3444+ if (!(UseSVE > 1 && VM_Version::supports_svebitperm())) {
3445+ ret_value = false;
3446+ }
3447+ break;
3448 }
3449
3450 return ret_value; // Per default match rules are supported.
3451@@ -2521,6 +2531,50 @@ bool size_fits_all_mem_uses(AddPNode* addp, int shift) {
3452 return true;
3453 }
3454
3455+// Convert BootTest condition to Assembler condition.
3456+// Replicate the logic of cmpOpOper::ccode() and cmpOpUOper::ccode().
3457+Assembler::Condition to_assembler_cond(BoolTest::mask cond) {
3458+ Assembler::Condition result;
3459+ switch(cond) {
3460+ case BoolTest::eq:
3461+ result = Assembler::EQ; break;
3462+ case BoolTest::ne:
3463+ result = Assembler::NE; break;
3464+ case BoolTest::le:
3465+ result = Assembler::LE; break;
3466+ case BoolTest::ge:
3467+ result = Assembler::GE; break;
3468+ case BoolTest::lt:
3469+ result = Assembler::LT; break;
3470+ case BoolTest::gt:
3471+ result = Assembler::GT; break;
3472+ case BoolTest::ule:
3473+ result = Assembler::LS; break;
3474+ case BoolTest::uge:
3475+ result = Assembler::HS; break;
3476+ case BoolTest::ult:
3477+ result = Assembler::LO; break;
3478+ case BoolTest::ugt:
3479+ result = Assembler::HI; break;
3480+ case BoolTest::overflow:
3481+ result = Assembler::VS; break;
3482+ case BoolTest::no_overflow:
3483+ result = Assembler::VC; break;
3484+ default:
3485+ ShouldNotReachHere();
3486+ return Assembler::Condition(-1);
3487+ }
3488+
3489+ // Check conversion
3490+ if (cond & BoolTest::unsigned_compare) {
3491+ assert(cmpOpUOper((BoolTest::mask)((int)cond & ~(BoolTest::unsigned_compare))).ccode() == result, "Invalid conversion");
3492+ } else {
3493+ assert(cmpOpOper(cond).ccode() == result, "Invalid conversion");
3494+ }
3495+
3496+ return result;
3497+}
3498+
3499 // Binary src (Replicate con)
3500 bool is_valid_sve_arith_imm_pattern(Node* n, Node* m) {
3501 if (n == NULL || m == NULL) {
3502@@ -4257,6 +4311,17 @@ operand immI_positive()
3503 interface(CONST_INTER);
3504 %}
3505
3506+// BoolTest condition for signed compare
3507+operand immI_cmp_cond()
3508+%{
3509+ predicate(n->get_int() < (int)(BoolTest::unsigned_compare));
3510+ match(ConI);
3511+
3512+ op_cost(0);
3513+ format %{ %}
3514+ interface(CONST_INTER);
3515+%}
3516+
3517 operand immL_255()
3518 %{
3519 predicate(n->get_long() == 255L);
3520@@ -8931,14 +8996,12 @@ instruct compareAndSwapNAcq(iRegINoSp res, indirect mem, iRegNNoSp oldval, iRegN
3521 // can't check the type of memory ordering here, so we always emit a
3522 // STLXR.
3523
3524-// This section is generated from aarch64_ad_cas.m4
3525-
3526+// This section is generated from cas.m4
3527
3528
3529 // This pattern is generated automatically from cas.m4.
3530 // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
3531 instruct compareAndExchangeB(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
3532-
3533 match(Set res (CompareAndExchangeB mem (Binary oldval newval)));
3534 ins_cost(2 * VOLATILE_REF_COST);
3535 effect(TEMP_DEF res, KILL cr);
3536@@ -8957,7 +9020,6 @@ instruct compareAndExchangeB(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
3537 // This pattern is generated automatically from cas.m4.
3538 // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
3539 instruct compareAndExchangeS(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
3540-
3541 match(Set res (CompareAndExchangeS mem (Binary oldval newval)));
3542 ins_cost(2 * VOLATILE_REF_COST);
3543 effect(TEMP_DEF res, KILL cr);
3544@@ -8976,7 +9038,6 @@ instruct compareAndExchangeS(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
3545 // This pattern is generated automatically from cas.m4.
3546 // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
3547 instruct compareAndExchangeI(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
3548-
3549 match(Set res (CompareAndExchangeI mem (Binary oldval newval)));
3550 ins_cost(2 * VOLATILE_REF_COST);
3551 effect(TEMP_DEF res, KILL cr);
3552@@ -8994,7 +9055,6 @@ instruct compareAndExchangeI(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
3553 // This pattern is generated automatically from cas.m4.
3554 // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
3555 instruct compareAndExchangeL(iRegLNoSp res, indirect mem, iRegL oldval, iRegL newval, rFlagsReg cr) %{
3556-
3557 match(Set res (CompareAndExchangeL mem (Binary oldval newval)));
3558 ins_cost(2 * VOLATILE_REF_COST);
3559 effect(TEMP_DEF res, KILL cr);
3560@@ -9012,7 +9072,6 @@ instruct compareAndExchangeL(iRegLNoSp res, indirect mem, iRegL oldval, iRegL ne
3561 // This pattern is generated automatically from cas.m4.
3562 // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
3563 instruct compareAndExchangeN(iRegNNoSp res, indirect mem, iRegN oldval, iRegN newval, rFlagsReg cr) %{
3564-
3565 match(Set res (CompareAndExchangeN mem (Binary oldval newval)));
3566 ins_cost(2 * VOLATILE_REF_COST);
3567 effect(TEMP_DEF res, KILL cr);
3568@@ -9158,7 +9217,6 @@ instruct compareAndExchangePAcq(iRegPNoSp res, indirect mem, iRegP oldval, iRegP
3569 // This pattern is generated automatically from cas.m4.
3570 // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
3571 instruct weakCompareAndSwapB(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
3572-
3573 match(Set res (WeakCompareAndSwapB mem (Binary oldval newval)));
3574 ins_cost(2 * VOLATILE_REF_COST);
3575 effect(KILL cr);
3576@@ -9178,7 +9236,6 @@ instruct weakCompareAndSwapB(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
3577 // This pattern is generated automatically from cas.m4.
3578 // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
3579 instruct weakCompareAndSwapS(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
3580-
3581 match(Set res (WeakCompareAndSwapS mem (Binary oldval newval)));
3582 ins_cost(2 * VOLATILE_REF_COST);
3583 effect(KILL cr);
3584@@ -9198,7 +9255,6 @@ instruct weakCompareAndSwapS(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
3585 // This pattern is generated automatically from cas.m4.
3586 // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
3587 instruct weakCompareAndSwapI(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
3588-
3589 match(Set res (WeakCompareAndSwapI mem (Binary oldval newval)));
3590 ins_cost(2 * VOLATILE_REF_COST);
3591 effect(KILL cr);
3592@@ -9218,7 +9274,6 @@ instruct weakCompareAndSwapI(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
3593 // This pattern is generated automatically from cas.m4.
3594 // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
3595 instruct weakCompareAndSwapL(iRegINoSp res, indirect mem, iRegL oldval, iRegL newval, rFlagsReg cr) %{
3596-
3597 match(Set res (WeakCompareAndSwapL mem (Binary oldval newval)));
3598 ins_cost(2 * VOLATILE_REF_COST);
3599 effect(KILL cr);
3600@@ -9238,7 +9293,6 @@ instruct weakCompareAndSwapL(iRegINoSp res, indirect mem, iRegL oldval, iRegL ne
3601 // This pattern is generated automatically from cas.m4.
3602 // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
3603 instruct weakCompareAndSwapN(iRegINoSp res, indirect mem, iRegN oldval, iRegN newval, rFlagsReg cr) %{
3604-
3605 match(Set res (WeakCompareAndSwapN mem (Binary oldval newval)));
3606 ins_cost(2 * VOLATILE_REF_COST);
3607 effect(KILL cr);
3608@@ -14056,6 +14110,31 @@ instruct maxI_immM1_reg(iRegINoSp dst, immI_M1 imm, iRegIorL2I src)
3609 %}
3610 %}
3611
3612+// This pattern is automatically generated from aarch64_ad.m4
3613+// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
3614+instruct bits_reverse_I(iRegINoSp dst, iRegIorL2I src)
3615+%{
3616+ match(Set dst (ReverseI src));
3617+ ins_cost(INSN_COST);
3618+ format %{ "rbitw $dst, $src" %}
3619+ ins_encode %{
3620+ __ rbitw($dst$$Register, $src$$Register);
3621+ %}
3622+ ins_pipe(ialu_reg);
3623+%}
3624+
3625+// This pattern is automatically generated from aarch64_ad.m4
3626+// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
3627+instruct bits_reverse_L(iRegLNoSp dst, iRegL src)
3628+%{
3629+ match(Set dst (ReverseL src));
3630+ ins_cost(INSN_COST);
3631+ format %{ "rbit $dst, $src" %}
3632+ ins_encode %{
3633+ __ rbit($dst$$Register, $src$$Register);
3634+ %}
3635+ ins_pipe(ialu_reg);
3636+%}
3637
3638
3639 // END This section of the file is automatically generated. Do not edit --------------
3640@@ -14964,8 +15043,7 @@ instruct convF2HF_reg_reg(iRegINoSp dst, vRegF src, vRegF tmp) %{
3641 %}
3642 effect(TEMP tmp);
3643 ins_encode %{
3644- __ fcvtsh($tmp$$FloatRegister, $src$$FloatRegister);
3645- __ smov($dst$$Register, $tmp$$FloatRegister, __ H, 0);
3646+ __ flt_to_flt16($dst$$Register, $src$$FloatRegister, $tmp$$FloatRegister);
3647 %}
3648 ins_pipe(pipe_slow);
3649 %}
3650@@ -14977,8 +15055,7 @@ instruct convHF2F_reg_reg(vRegF dst, iRegINoSp src, vRegF tmp) %{
3651 %}
3652 effect(TEMP tmp);
3653 ins_encode %{
3654- __ mov($tmp$$FloatRegister, __ H, 0, $src$$Register);
3655- __ fcvths($dst$$FloatRegister, $tmp$$FloatRegister);
3656+ __ flt16_to_flt($dst$$FloatRegister, $src$$Register, $tmp$$FloatRegister);
3657 %}
3658 ins_pipe(pipe_slow);
3659 %}
3660@@ -17325,6 +17402,157 @@ instruct encode_ascii_array(iRegP_R2 src, iRegP_R1 dst, iRegI_R3 len,
3661 ins_pipe(pipe_class_memory);
3662 %}
3663
3664+//----------------------------- CompressBits/ExpandBits ------------------------
3665+
3666+instruct compressBitsI_reg(iRegINoSp dst, iRegIorL2I src, iRegIorL2I mask,
3667+ vRegF tdst, vRegF tsrc, vRegF tmask) %{
3668+ match(Set dst (CompressBits src mask));
3669+ effect(TEMP tdst, TEMP tsrc, TEMP tmask);
3670+ format %{ "mov $tsrc, $src\n\t"
3671+ "mov $tmask, $mask\n\t"
3672+ "bext $tdst, $tsrc, $tmask\n\t"
3673+ "mov $dst, $tdst"
3674+ %}
3675+ ins_encode %{
3676+ __ mov($tsrc$$FloatRegister, __ S, 0, $src$$Register);
3677+ __ mov($tmask$$FloatRegister, __ S, 0, $mask$$Register);
3678+ __ sve_bext($tdst$$FloatRegister, __ S, $tsrc$$FloatRegister, $tmask$$FloatRegister);
3679+ __ mov($dst$$Register, $tdst$$FloatRegister, __ S, 0);
3680+ %}
3681+ ins_pipe(pipe_slow);
3682+%}
3683+
3684+instruct compressBitsI_memcon(iRegINoSp dst, memory4 mem, immI mask,
3685+ vRegF tdst, vRegF tsrc, vRegF tmask) %{
3686+ match(Set dst (CompressBits (LoadI mem) mask));
3687+ effect(TEMP tdst, TEMP tsrc, TEMP tmask);
3688+ format %{ "ldrs $tsrc, $mem\n\t"
3689+ "ldrs $tmask, $mask\n\t"
3690+ "bext $tdst, $tsrc, $tmask\n\t"
3691+ "mov $dst, $tdst"
3692+ %}
3693+ ins_encode %{
3694+ loadStore(C2_MacroAssembler(&cbuf), &MacroAssembler::ldrs, $tsrc$$FloatRegister, $mem->opcode(),
3695+ as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 4);
3696+ __ ldrs($tmask$$FloatRegister, $constantaddress($mask));
3697+ __ sve_bext($tdst$$FloatRegister, __ S, $tsrc$$FloatRegister, $tmask$$FloatRegister);
3698+ __ mov($dst$$Register, $tdst$$FloatRegister, __ S, 0);
3699+ %}
3700+ ins_pipe(pipe_slow);
3701+%}
3702+
3703+instruct compressBitsL_reg(iRegLNoSp dst, iRegL src, iRegL mask,
3704+ vRegD tdst, vRegD tsrc, vRegD tmask) %{
3705+ match(Set dst (CompressBits src mask));
3706+ effect(TEMP tdst, TEMP tsrc, TEMP tmask);
3707+ format %{ "mov $tsrc, $src\n\t"
3708+ "mov $tmask, $mask\n\t"
3709+ "bext $tdst, $tsrc, $tmask\n\t"
3710+ "mov $dst, $tdst"
3711+ %}
3712+ ins_encode %{
3713+ __ mov($tsrc$$FloatRegister, __ D, 0, $src$$Register);
3714+ __ mov($tmask$$FloatRegister, __ D, 0, $mask$$Register);
3715+ __ sve_bext($tdst$$FloatRegister, __ D, $tsrc$$FloatRegister, $tmask$$FloatRegister);
3716+ __ mov($dst$$Register, $tdst$$FloatRegister, __ D, 0);
3717+ %}
3718+ ins_pipe(pipe_slow);
3719+%}
3720+
3721+instruct compressBitsL_memcon(iRegLNoSp dst, memory8 mem, immL mask,
3722+ vRegF tdst, vRegF tsrc, vRegF tmask) %{
3723+ match(Set dst (CompressBits (LoadL mem) mask));
3724+ effect(TEMP tdst, TEMP tsrc, TEMP tmask);
3725+ format %{ "ldrd $tsrc, $mem\n\t"
3726+ "ldrd $tmask, $mask\n\t"
3727+ "bext $tdst, $tsrc, $tmask\n\t"
3728+ "mov $dst, $tdst"
3729+ %}
3730+ ins_encode %{
3731+ loadStore(C2_MacroAssembler(&cbuf), &MacroAssembler::ldrd, $tsrc$$FloatRegister, $mem->opcode(),
3732+ as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 8);
3733+ __ ldrd($tmask$$FloatRegister, $constantaddress($mask));
3734+ __ sve_bext($tdst$$FloatRegister, __ D, $tsrc$$FloatRegister, $tmask$$FloatRegister);
3735+ __ mov($dst$$Register, $tdst$$FloatRegister, __ D, 0);
3736+ %}
3737+ ins_pipe(pipe_slow);
3738+%}
3739+
3740+instruct expandBitsI_reg(iRegINoSp dst, iRegIorL2I src, iRegIorL2I mask,
3741+ vRegF tdst, vRegF tsrc, vRegF tmask) %{
3742+ match(Set dst (ExpandBits src mask));
3743+ effect(TEMP tdst, TEMP tsrc, TEMP tmask);
3744+ format %{ "mov $tsrc, $src\n\t"
3745+ "mov $tmask, $mask\n\t"
3746+ "bdep $tdst, $tsrc, $tmask\n\t"
3747+ "mov $dst, $tdst"
3748+ %}
3749+ ins_encode %{
3750+ __ mov($tsrc$$FloatRegister, __ S, 0, $src$$Register);
3751+ __ mov($tmask$$FloatRegister, __ S, 0, $mask$$Register);
3752+ __ sve_bdep($tdst$$FloatRegister, __ S, $tsrc$$FloatRegister, $tmask$$FloatRegister);
3753+ __ mov($dst$$Register, $tdst$$FloatRegister, __ S, 0);
3754+ %}
3755+ ins_pipe(pipe_slow);
3756+%}
3757+
3758+instruct expandBitsI_memcon(iRegINoSp dst, memory4 mem, immI mask,
3759+ vRegF tdst, vRegF tsrc, vRegF tmask) %{
3760+ match(Set dst (ExpandBits (LoadI mem) mask));
3761+ effect(TEMP tdst, TEMP tsrc, TEMP tmask);
3762+ format %{ "ldrs $tsrc, $mem\n\t"
3763+ "ldrs $tmask, $mask\n\t"
3764+ "bdep $tdst, $tsrc, $tmask\n\t"
3765+ "mov $dst, $tdst"
3766+ %}
3767+ ins_encode %{
3768+ loadStore(C2_MacroAssembler(&cbuf), &MacroAssembler::ldrs, $tsrc$$FloatRegister, $mem->opcode(),
3769+ as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 4);
3770+ __ ldrs($tmask$$FloatRegister, $constantaddress($mask));
3771+ __ sve_bdep($tdst$$FloatRegister, __ S, $tsrc$$FloatRegister, $tmask$$FloatRegister);
3772+ __ mov($dst$$Register, $tdst$$FloatRegister, __ S, 0);
3773+ %}
3774+ ins_pipe(pipe_slow);
3775+%}
3776+
3777+instruct expandBitsL_reg(iRegLNoSp dst, iRegL src, iRegL mask,
3778+ vRegD tdst, vRegD tsrc, vRegD tmask) %{
3779+ match(Set dst (ExpandBits src mask));
3780+ effect(TEMP tdst, TEMP tsrc, TEMP tmask);
3781+ format %{ "mov $tsrc, $src\n\t"
3782+ "mov $tmask, $mask\n\t"
3783+ "bdep $tdst, $tsrc, $tmask\n\t"
3784+ "mov $dst, $tdst"
3785+ %}
3786+ ins_encode %{
3787+ __ mov($tsrc$$FloatRegister, __ D, 0, $src$$Register);
3788+ __ mov($tmask$$FloatRegister, __ D, 0, $mask$$Register);
3789+ __ sve_bdep($tdst$$FloatRegister, __ D, $tsrc$$FloatRegister, $tmask$$FloatRegister);
3790+ __ mov($dst$$Register, $tdst$$FloatRegister, __ D, 0);
3791+ %}
3792+ ins_pipe(pipe_slow);
3793+%}
3794+
3795+
3796+instruct expandBitsL_memcon(iRegINoSp dst, memory8 mem, immL mask,
3797+ vRegF tdst, vRegF tsrc, vRegF tmask) %{
3798+ match(Set dst (ExpandBits (LoadL mem) mask));
3799+ effect(TEMP tdst, TEMP tsrc, TEMP tmask);
3800+ format %{ "ldrd $tsrc, $mem\n\t"
3801+ "ldrd $tmask, $mask\n\t"
3802+ "bdep $tdst, $tsrc, $tmask\n\t"
3803+ "mov $dst, $tdst"
3804+ %}
3805+ ins_encode %{
3806+ loadStore(C2_MacroAssembler(&cbuf), &MacroAssembler::ldrd, $tsrc$$FloatRegister, $mem->opcode(),
3807+ as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 8);
3808+ __ ldrd($tmask$$FloatRegister, $constantaddress($mask));
3809+ __ sve_bdep($tdst$$FloatRegister, __ D, $tsrc$$FloatRegister, $tmask$$FloatRegister);
3810+ __ mov($dst$$Register, $tdst$$FloatRegister, __ D, 0);
3811+ %}
3812+ ins_pipe(pipe_slow);
3813+%}
3814+
3815 // ============================================================================
3816 // This name is KNOWN by the ADLC and cannot be changed.
3817 // The ADLC forces a 'TypeRawPtr::BOTTOM' output type
3818diff --git a/src/hotspot/cpu/aarch64/aarch64_ad.m4 b/src/hotspot/cpu/aarch64/aarch64_ad.m4
3819index 4b4d79a..f56e383 100644
3820--- a/src/hotspot/cpu/aarch64/aarch64_ad.m4
3821+++ b/src/hotspot/cpu/aarch64/aarch64_ad.m4
3822@@ -615,4 +615,19 @@ MINMAX_DRAW_INSN(Max, I, _, 1, gt)
3823 MINMAX_DRAW_INSN(Max, I, _, 1, gt, rev)
3824 MINMAX_DRAW_INSN(Max, I, _, M1, ge)
3825 MINMAX_DRAW_INSN(Max, I, _, M1, ge, rev)
3826-
3827+dnl
3828+define(`BITS_REVERSE', `// This pattern is automatically generated from aarch64_ad.m4
3829+// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
3830+instruct bits_reverse_$1(iReg$1NoSp dst, iReg$1`'ORL2I($1) src)
3831+%{
3832+ match(Set dst (Reverse$1 src));
3833+ ins_cost(INSN_COST);
3834+ format %{ "$2 $dst, $src" %}
3835+ ins_encode %{
3836+ __ $2($dst$$Register, $src$$Register);
3837+ %}
3838+ ins_pipe(ialu_reg);
3839+%}
3840+')dnl
3841+BITS_REVERSE(I, rbitw)
3842+BITS_REVERSE(L, rbit)
3843diff --git a/src/hotspot/cpu/aarch64/aarch64_vector.ad b/src/hotspot/cpu/aarch64/aarch64_vector.ad
3844index 3142787..4c3523b 100644
3845--- a/src/hotspot/cpu/aarch64/aarch64_vector.ad
3846+++ b/src/hotspot/cpu/aarch64/aarch64_vector.ad
3847@@ -5137,6 +5137,61 @@ instruct vmaskcmp_neon(vReg dst, vReg src1, vReg src2, immI cond) %{
3848 ins_pipe(pipe_slow);
3849 %}
3850
3851+instruct vmaskcmp_zeroI_neon(vReg dst, vReg src, immI0 zero, immI_cmp_cond cond) %{
3852+ predicate(UseSVE == 0);
3853+ match(Set dst (VectorMaskCmp (Binary src (ReplicateB zero)) cond));
3854+ match(Set dst (VectorMaskCmp (Binary src (ReplicateS zero)) cond));
3855+ match(Set dst (VectorMaskCmp (Binary src (ReplicateI zero)) cond));
3856+ format %{ "vmaskcmp_zeroI_neon $dst, $src, #0, $cond" %}
3857+ ins_encode %{
3858+ Assembler::Condition condition = to_assembler_cond((BoolTest::mask)$cond$$constant);
3859+ BasicType bt = Matcher::vector_element_basic_type(this);
3860+ uint length_in_bytes = Matcher::vector_length_in_bytes(this);
3861+ __ neon_compare_zero($dst$$FloatRegister, bt, $src$$FloatRegister,
3862+ condition, /* isQ */ length_in_bytes == 16);
3863+ %}
3864+ ins_pipe(pipe_slow);
3865+%}
3866+
3867+instruct vmaskcmp_zeroL_neon(vReg dst, vReg src, immL0 zero, immI_cmp_cond cond) %{
3868+ predicate(UseSVE == 0);
3869+ match(Set dst (VectorMaskCmp (Binary src (ReplicateL zero)) cond));
3870+ format %{ "vmaskcmp_zeroL_neon $dst, $src, #0, $cond" %}
3871+ ins_encode %{
3872+ Assembler::Condition condition = to_assembler_cond((BoolTest::mask)$cond$$constant);
3873+ uint length_in_bytes = Matcher::vector_length_in_bytes(this);
3874+ __ neon_compare_zero($dst$$FloatRegister, T_LONG, $src$$FloatRegister,
3875+ condition, /* isQ */ length_in_bytes == 16);
3876+ %}
3877+ ins_pipe(pipe_slow);
3878+%}
3879+
3880+instruct vmaskcmp_zeroF_neon(vReg dst, vReg src, immF0 zero, immI_cmp_cond cond) %{
3881+ predicate(UseSVE == 0);
3882+ match(Set dst (VectorMaskCmp (Binary src (ReplicateF zero)) cond));
3883+ format %{ "vmaskcmp_zeroF_neon $dst, $src, #0, $cond" %}
3884+ ins_encode %{
3885+ Assembler::Condition condition = to_assembler_cond((BoolTest::mask)$cond$$constant);
3886+ uint length_in_bytes = Matcher::vector_length_in_bytes(this);
3887+ __ neon_compare_zero($dst$$FloatRegister, T_FLOAT, $src$$FloatRegister,
3888+ condition, /* isQ */ length_in_bytes == 16);
3889+ %}
3890+ ins_pipe(pipe_slow);
3891+%}
3892+
3893+instruct vmaskcmp_zeroD_neon(vReg dst, vReg src, immD0 zero, immI_cmp_cond cond) %{
3894+ predicate(UseSVE == 0);
3895+ match(Set dst (VectorMaskCmp (Binary src (ReplicateD zero)) cond));
3896+ format %{ "vmaskcmp_zeroD_neon $dst, $src, #0, $cond" %}
3897+ ins_encode %{
3898+ Assembler::Condition condition = to_assembler_cond((BoolTest::mask)$cond$$constant);
3899+ uint length_in_bytes = Matcher::vector_length_in_bytes(this);
3900+ __ neon_compare_zero($dst$$FloatRegister, T_DOUBLE, $src$$FloatRegister,
3901+ condition, /* isQ */ length_in_bytes == 16);
3902+ %}
3903+ ins_pipe(pipe_slow);
3904+%}
3905+
3906 instruct vmaskcmp_sve(pReg dst, vReg src1, vReg src2, immI cond, rFlagsReg cr) %{
3907 predicate(UseSVE > 0);
3908 match(Set dst (VectorMaskCmp (Binary src1 src2) cond));
3909@@ -5689,6 +5744,18 @@ instruct vmask_gen_imm(pReg pd, immL con, rFlagsReg cr) %{
3910 ins_pipe(pipe_slow);
3911 %}
3912
3913+instruct vmask_gen_sub(pReg pd, iRegL src1, iRegL src2, rFlagsReg cr) %{
3914+ predicate(UseSVE > 0);
3915+ match(Set pd (VectorMaskGen (SubL src1 src2)));
3916+ effect(KILL cr);
3917+ format %{ "vmask_gen_sub $pd, $src2, $src1\t# KILL cr" %}
3918+ ins_encode %{
3919+ BasicType bt = Matcher::vector_element_basic_type(this);
3920+ __ sve_whilelo($pd$$PRegister, __ elemType_to_regVariant(bt), $src2$$Register, $src1$$Register);
3921+ %}
3922+ ins_pipe(pipe_slow);
3923+%}
3924+
3925 // ------------------------------ Popcount vector ------------------------------
3926
3927 // vector popcount - INT
3928diff --git a/src/hotspot/cpu/aarch64/aarch64_vector_ad.m4 b/src/hotspot/cpu/aarch64/aarch64_vector_ad.m4
3929index 9c45839..277c972 100644
3930--- a/src/hotspot/cpu/aarch64/aarch64_vector_ad.m4
3931+++ b/src/hotspot/cpu/aarch64/aarch64_vector_ad.m4
3932@@ -3553,6 +3553,42 @@ instruct vmaskcmp_neon(vReg dst, vReg src1, vReg src2, immI cond) %{
3933 ins_pipe(pipe_slow);
3934 %}
3935
3936+instruct vmaskcmp_zeroI_neon(vReg dst, vReg src, immI0 zero, immI_cmp_cond cond) %{
3937+ predicate(UseSVE == 0);
3938+ match(Set dst (VectorMaskCmp (Binary src (ReplicateB zero)) cond));
3939+ match(Set dst (VectorMaskCmp (Binary src (ReplicateS zero)) cond));
3940+ match(Set dst (VectorMaskCmp (Binary src (ReplicateI zero)) cond));
3941+ format %{ "vmaskcmp_zeroI_neon $dst, $src, #0, $cond" %}
3942+ ins_encode %{
3943+ Assembler::Condition condition = to_assembler_cond((BoolTest::mask)$cond$$constant);
3944+ BasicType bt = Matcher::vector_element_basic_type(this);
3945+ uint length_in_bytes = Matcher::vector_length_in_bytes(this);
3946+ __ neon_compare_zero($dst$$FloatRegister, bt, $src$$FloatRegister,
3947+ condition, /* isQ */ length_in_bytes == 16);
3948+ %}
3949+ ins_pipe(pipe_slow);
3950+%}
3951+dnl
3952+dnl VMASKCMP_ZERO_NEON($1, $2 )
3953+dnl VMASKCMP_ZERO_NEON(type, basic_type)
3954+define(`VMASKCMP_ZERO_NEON', `
3955+instruct vmaskcmp_zero$1_neon(vReg dst, vReg src, imm`$1'0 zero, immI_cmp_cond cond) %{
3956+ predicate(UseSVE == 0);
3957+ match(Set dst (VectorMaskCmp (Binary src (Replicate$1 zero)) cond));
3958+ format %{ "vmaskcmp_zero$1_neon $dst, $src, #0, $cond" %}
3959+ ins_encode %{
3960+ Assembler::Condition condition = to_assembler_cond((BoolTest::mask)$cond$$constant);
3961+ uint length_in_bytes = Matcher::vector_length_in_bytes(this);
3962+ __ neon_compare_zero($dst$$FloatRegister, $2, $src$$FloatRegister,
3963+ condition, /* isQ */ length_in_bytes == 16);
3964+ %}
3965+ ins_pipe(pipe_slow);
3966+%}')dnl
3967+dnl
3968+VMASKCMP_ZERO_NEON(L, T_LONG)
3969+VMASKCMP_ZERO_NEON(F, T_FLOAT)
3970+VMASKCMP_ZERO_NEON(D, T_DOUBLE)
3971+
3972 instruct vmaskcmp_sve(pReg dst, vReg src1, vReg src2, immI cond, rFlagsReg cr) %{
3973 predicate(UseSVE > 0);
3974 match(Set dst (VectorMaskCmp (Binary src1 src2) cond));
3975@@ -4072,6 +4108,18 @@ instruct vmask_gen_imm(pReg pd, immL con, rFlagsReg cr) %{
3976 ins_pipe(pipe_slow);
3977 %}
3978
3979+instruct vmask_gen_sub(pReg pd, iRegL src1, iRegL src2, rFlagsReg cr) %{
3980+ predicate(UseSVE > 0);
3981+ match(Set pd (VectorMaskGen (SubL src1 src2)));
3982+ effect(KILL cr);
3983+ format %{ "vmask_gen_sub $pd, $src2, $src1\t# KILL cr" %}
3984+ ins_encode %{
3985+ BasicType bt = Matcher::vector_element_basic_type(this);
3986+ __ sve_whilelo($pd$$PRegister, __ elemType_to_regVariant(bt), $src2$$Register, $src1$$Register);
3987+ %}
3988+ ins_pipe(pipe_slow);
3989+%}
3990+
3991 // ------------------------------ Popcount vector ------------------------------
3992
3993 // vector popcount - INT
3994diff --git a/src/hotspot/cpu/aarch64/assembler_aarch64.hpp b/src/hotspot/cpu/aarch64/assembler_aarch64.hpp
3995index 3f266f4..6ef17c9 100644
3996--- a/src/hotspot/cpu/aarch64/assembler_aarch64.hpp
3997+++ b/src/hotspot/cpu/aarch64/assembler_aarch64.hpp
3998@@ -2653,12 +2653,6 @@ template<typename R, typename... Rx>
3999 INSN(cnt, 0, 0b100000010110, 0); // accepted arrangements: T8B, T16B
4000 INSN(uaddlp, 1, 0b100000001010, 2); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
4001 INSN(uaddlv, 1, 0b110000001110, 1); // accepted arrangements: T8B, T16B, T4H, T8H, T4S
4002- // Zero compare.
4003- INSN(cmeq, 0, 0b100000100110, 3); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
4004- INSN(cmge, 1, 0b100000100010, 3); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
4005- INSN(cmgt, 0, 0b100000100010, 3); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
4006- INSN(cmle, 1, 0b100000100110, 3); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
4007- INSN(cmlt, 0, 0b100000101010, 3); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
4008
4009 #undef INSN
4010
4011@@ -3190,6 +3184,48 @@ public:
4012
4013 #undef INSN
4014
4015+ // AdvSIMD compare with zero (vector)
4016+ void cm(Condition cond, FloatRegister Vd, SIMD_Arrangement T, FloatRegister Vn) {
4017+ starti;
4018+ assert(T != T1Q && T != T1D, "invalid arrangement");
4019+ int cond_op;
4020+ switch (cond) {
4021+ case EQ: cond_op = 0b001; break;
4022+ case GE: cond_op = 0b100; break;
4023+ case GT: cond_op = 0b000; break;
4024+ case LE: cond_op = 0b101; break;
4025+ case LT: cond_op = 0b010; break;
4026+ default:
4027+ ShouldNotReachHere();
4028+ break;
4029+ }
4030+
4031+ f(0, 31), f((int)T & 1, 30), f((cond_op >> 2) & 1, 29);
4032+ f(0b01110, 28, 24), f((int)T >> 1, 23, 22), f(0b10000010, 21, 14);
4033+ f(cond_op & 0b11, 13, 12), f(0b10, 11, 10), rf(Vn, 5), rf(Vd, 0);
4034+ }
4035+
4036+ // AdvSIMD Floating-point compare with zero (vector)
4037+ void fcm(Condition cond, FloatRegister Vd, SIMD_Arrangement T, FloatRegister Vn) {
4038+ starti;
4039+ assert(T == T2S || T == T4S || T == T2D, "invalid arrangement");
4040+ int cond_op;
4041+ switch (cond) {
4042+ case EQ: cond_op = 0b010; break;
4043+ case GT: cond_op = 0b000; break;
4044+ case GE: cond_op = 0b001; break;
4045+ case LE: cond_op = 0b011; break;
4046+ case LT: cond_op = 0b100; break;
4047+ default:
4048+ ShouldNotReachHere();
4049+ break;
4050+ }
4051+
4052+ f(0, 31), f((int)T & 1, 30), f(cond_op & 1, 29), f(0b011101, 28, 23);
4053+ f(((int)(T >> 1) & 1), 22), f(0b10000011, 21, 14);
4054+ f((cond_op >> 1) & 0b11, 13, 12), f(0b10, 11, 10), rf(Vn, 5), rf(Vd, 0);
4055+ }
4056+
4057 void ext(FloatRegister Vd, SIMD_Arrangement T, FloatRegister Vn, FloatRegister Vm, int index)
4058 {
4059 starti;
4060diff --git a/src/hotspot/cpu/aarch64/bytes_aarch64.hpp b/src/hotspot/cpu/aarch64/bytes_aarch64.hpp
4061index 672f03b..6d4a18d 100644
4062--- a/src/hotspot/cpu/aarch64/bytes_aarch64.hpp
4063+++ b/src/hotspot/cpu/aarch64/bytes_aarch64.hpp
4064@@ -27,6 +27,7 @@
4065 #define CPU_AARCH64_BYTES_AARCH64_HPP
4066
4067 #include "memory/allStatic.hpp"
4068+#include "utilities/byteswap.hpp"
4069
4070 class Bytes: AllStatic {
4071 public:
4072@@ -44,23 +45,13 @@ class Bytes: AllStatic {
4073 // Efficient reading and writing of unaligned unsigned data in Java
4074 // byte ordering (i.e. big-endian ordering). Byte-order reversal is
4075 // needed since x86 CPUs use little-endian format.
4076- static inline u2 get_Java_u2(address p) { return swap_u2(get_native_u2(p)); }
4077- static inline u4 get_Java_u4(address p) { return swap_u4(get_native_u4(p)); }
4078- static inline u8 get_Java_u8(address p) { return swap_u8(get_native_u8(p)); }
4079+ static inline u2 get_Java_u2(address p) { return byteswap(get_native_u2(p)); }
4080+ static inline u4 get_Java_u4(address p) { return byteswap(get_native_u4(p)); }
4081+ static inline u8 get_Java_u8(address p) { return byteswap(get_native_u8(p)); }
4082
4083- static inline void put_Java_u2(address p, u2 x) { put_native_u2(p, swap_u2(x)); }
4084- static inline void put_Java_u4(address p, u4 x) { put_native_u4(p, swap_u4(x)); }
4085- static inline void put_Java_u8(address p, u8 x) { put_native_u8(p, swap_u8(x)); }
4086-
4087-
4088- // Efficient swapping of byte ordering
4089- static inline u2 swap_u2(u2 x); // compiler-dependent implementation
4090- static inline u4 swap_u4(u4 x); // compiler-dependent implementation
4091- static inline u8 swap_u8(u8 x);
4092+ static inline void put_Java_u2(address p, u2 x) { put_native_u2(p, byteswap(x)); }
4093+ static inline void put_Java_u4(address p, u4 x) { put_native_u4(p, byteswap(x)); }
4094+ static inline void put_Java_u8(address p, u8 x) { put_native_u8(p, byteswap(x)); }
4095 };
4096
4097-
4098-// The following header contains the implementations of swap_u2, swap_u4, and swap_u8[_base]
4099-#include OS_CPU_HEADER(bytes)
4100-
4101 #endif // CPU_AARCH64_BYTES_AARCH64_HPP
4102diff --git a/src/hotspot/cpu/aarch64/c1_CodeStubs_aarch64.cpp b/src/hotspot/cpu/aarch64/c1_CodeStubs_aarch64.cpp
4103index 4a60b88..59d721e 100644
4104--- a/src/hotspot/cpu/aarch64/c1_CodeStubs_aarch64.cpp
4105+++ b/src/hotspot/cpu/aarch64/c1_CodeStubs_aarch64.cpp
4106@@ -63,18 +63,6 @@ void CounterOverflowStub::emit_code(LIR_Assembler* ce) {
4107 __ b(_continuation);
4108 }
4109
4110-RangeCheckStub::RangeCheckStub(CodeEmitInfo* info, LIR_Opr index, LIR_Opr array)
4111- : _index(index), _array(array), _throw_index_out_of_bounds_exception(false) {
4112- assert(info != NULL, "must have info");
4113- _info = new CodeEmitInfo(info);
4114-}
4115-
4116-RangeCheckStub::RangeCheckStub(CodeEmitInfo* info, LIR_Opr index)
4117- : _index(index), _array(), _throw_index_out_of_bounds_exception(true) {
4118- assert(info != NULL, "must have info");
4119- _info = new CodeEmitInfo(info);
4120-}
4121-
4122 void RangeCheckStub::emit_code(LIR_Assembler* ce) {
4123 __ bind(_entry);
4124 if (_info->deoptimize_on_exception()) {
4125@@ -208,14 +196,6 @@ void NewObjectArrayStub::emit_code(LIR_Assembler* ce) {
4126 assert(_result->as_register() == r0, "result must in r0");
4127 __ b(_continuation);
4128 }
4129-// Implementation of MonitorAccessStubs
4130-
4131-MonitorEnterStub::MonitorEnterStub(LIR_Opr obj_reg, LIR_Opr lock_reg, CodeEmitInfo* info)
4132-: MonitorAccessStub(obj_reg, lock_reg)
4133-{
4134- _info = new CodeEmitInfo(info);
4135-}
4136-
4137
4138 void MonitorEnterStub::emit_code(LIR_Assembler* ce) {
4139 assert(__ rsp_offset() == 0, "frame size should be fixed");
4140diff --git a/src/hotspot/cpu/aarch64/c1_Defs_aarch64.hpp b/src/hotspot/cpu/aarch64/c1_Defs_aarch64.hpp
4141index e92c538..9470caa 100644
4142--- a/src/hotspot/cpu/aarch64/c1_Defs_aarch64.hpp
4143+++ b/src/hotspot/cpu/aarch64/c1_Defs_aarch64.hpp
4144@@ -1,5 +1,5 @@
4145 /*
4146- * Copyright (c) 2000, 2022, Oracle and/or its affiliates. All rights reserved.
4147+ * Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
4148 * Copyright (c) 2014, Red Hat Inc. All rights reserved.
4149 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4150 *
4151@@ -82,4 +82,9 @@ enum {
4152 pd_two_operand_lir_form = false
4153 };
4154
4155+// the number of stack required by ArrayCopyStub
4156+enum {
4157+ pd_arraycopystub_reserved_argument_area_size = 2
4158+};
4159+
4160 #endif // CPU_AARCH64_C1_DEFS_AARCH64_HPP
4161diff --git a/src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp
4162index be91a35..ef21b75 100644
4163--- a/src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp
4164+++ b/src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp
4165@@ -1,5 +1,5 @@
4166 /*
4167- * Copyright (c) 2000, 2022, Oracle and/or its affiliates. All rights reserved.
4168+ * Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
4169 * Copyright (c) 2014, 2020, Red Hat Inc. All rights reserved.
4170 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4171 *
4172@@ -1814,10 +1814,12 @@ void LIR_Assembler::arith_op(LIR_Code code, LIR_Opr left, LIR_Opr right, LIR_Opr
4173 void LIR_Assembler::arith_fpu_implementation(LIR_Code code, int left_index, int right_index, int dest_index, bool pop_fpu_stack) { Unimplemented(); }
4174
4175
4176-void LIR_Assembler::intrinsic_op(LIR_Code code, LIR_Opr value, LIR_Opr unused, LIR_Opr dest, LIR_Op* op) {
4177+void LIR_Assembler::intrinsic_op(LIR_Code code, LIR_Opr value, LIR_Opr tmp, LIR_Opr dest, LIR_Op* op) {
4178 switch(code) {
4179 case lir_abs : __ fabsd(dest->as_double_reg(), value->as_double_reg()); break;
4180 case lir_sqrt: __ fsqrtd(dest->as_double_reg(), value->as_double_reg()); break;
4181+ case lir_f2hf: __ flt_to_flt16(dest->as_register(), value->as_float_reg(), tmp->as_float_reg()); break;
4182+ case lir_hf2f: __ flt16_to_flt(dest->as_float_reg(), value->as_register(), tmp->as_float_reg()); break;
4183 default : ShouldNotReachHere();
4184 }
4185 }
4186@@ -3185,7 +3187,8 @@ void LIR_Assembler::atomic_op(LIR_Code code, LIR_Opr src, LIR_Opr data, LIR_Opr
4187 __ encode_heap_oop(rscratch2, obj);
4188 obj = rscratch2;
4189 }
4190- assert_different_registers(obj, addr.base(), tmp, rscratch1, dst);
4191+ assert_different_registers(obj, addr.base(), tmp, rscratch1);
4192+ assert_different_registers(dst, addr.base(), tmp, rscratch1);
4193 __ lea(tmp, addr);
4194 (_masm->*xchg)(dst, obj, tmp);
4195 if (is_oop && UseCompressedOops) {
4196diff --git a/src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp b/src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp
4197index a281501..2d12590 100644
4198--- a/src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp
4199+++ b/src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp
4200@@ -1,5 +1,5 @@
4201 /*
4202- * Copyright (c) 2005, 2022, Oracle and/or its affiliates. All rights reserved.
4203+ * Copyright (c) 2005, 2023, Oracle and/or its affiliates. All rights reserved.
4204 * Copyright (c) 2014, Red Hat Inc. All rights reserved.
4205 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4206 *
4207@@ -752,20 +752,35 @@ void LIRGenerator::do_MathIntrinsic(Intrinsic* x) {
4208 switch (x->id()) {
4209 case vmIntrinsics::_dabs:
4210 case vmIntrinsics::_dsqrt:
4211- case vmIntrinsics::_dsqrt_strict: {
4212+ case vmIntrinsics::_dsqrt_strict:
4213+ case vmIntrinsics::_floatToFloat16:
4214+ case vmIntrinsics::_float16ToFloat: {
4215 assert(x->number_of_arguments() == 1, "wrong type");
4216 LIRItem value(x->argument_at(0), this);
4217 value.load_item();
4218+ LIR_Opr src = value.result();
4219 LIR_Opr dst = rlock_result(x);
4220
4221 switch (x->id()) {
4222 case vmIntrinsics::_dsqrt:
4223 case vmIntrinsics::_dsqrt_strict: {
4224- __ sqrt(value.result(), dst, LIR_OprFact::illegalOpr);
4225+ __ sqrt(src, dst, LIR_OprFact::illegalOpr);
4226 break;
4227 }
4228 case vmIntrinsics::_dabs: {
4229- __ abs(value.result(), dst, LIR_OprFact::illegalOpr);
4230+ __ abs(src, dst, LIR_OprFact::illegalOpr);
4231+ break;
4232+ }
4233+ case vmIntrinsics::_floatToFloat16: {
4234+ LIR_Opr tmp = new_register(T_FLOAT);
4235+ __ move(LIR_OprFact::floatConst(-0.0), tmp);
4236+ __ f2hf(src, dst, tmp);
4237+ break;
4238+ }
4239+ case vmIntrinsics::_float16ToFloat: {
4240+ LIR_Opr tmp = new_register(T_FLOAT);
4241+ __ move(LIR_OprFact::floatConst(-0.0), tmp);
4242+ __ hf2f(src, dst, tmp);
4243 break;
4244 }
4245 default:
4246diff --git a/src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp
4247index 3aa7acf..1fd71eb 100644
4248--- a/src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp
4249+++ b/src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp
4250@@ -108,7 +108,7 @@ int C1_MacroAssembler::lock_object(Register hdr, Register obj, Register disp_hdr
4251 // significant 2 bits cleared and page_size is a power of 2
4252 mov(rscratch1, sp);
4253 sub(hdr, hdr, rscratch1);
4254- ands(hdr, hdr, aligned_mask - os::vm_page_size());
4255+ ands(hdr, hdr, aligned_mask - (int)os::vm_page_size());
4256 // for recursive locking, the result is zero => save it in the displaced header
4257 // location (NULL in the displaced hdr location indicates recursive locking)
4258 str(hdr, Address(disp_hdr, 0));
4259diff --git a/src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp
4260index 121b2b9..ceb8712 100644
4261--- a/src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp
4262+++ b/src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp
4263@@ -925,7 +925,7 @@ void C2_MacroAssembler::neon_compare(FloatRegister dst, BasicType bt, FloatRegis
4264 case BoolTest::eq: fcmeq(dst, size, src1, src2); break;
4265 case BoolTest::ne: {
4266 fcmeq(dst, size, src1, src2);
4267- notr(dst, T16B, dst);
4268+ notr(dst, isQ ? T16B : T8B, dst);
4269 break;
4270 }
4271 case BoolTest::ge: fcmge(dst, size, src1, src2); break;
4272@@ -941,7 +941,7 @@ void C2_MacroAssembler::neon_compare(FloatRegister dst, BasicType bt, FloatRegis
4273 case BoolTest::eq: cmeq(dst, size, src1, src2); break;
4274 case BoolTest::ne: {
4275 cmeq(dst, size, src1, src2);
4276- notr(dst, T16B, dst);
4277+ notr(dst, isQ ? T16B : T8B, dst);
4278 break;
4279 }
4280 case BoolTest::ge: cmge(dst, size, src1, src2); break;
4281@@ -959,6 +959,26 @@ void C2_MacroAssembler::neon_compare(FloatRegister dst, BasicType bt, FloatRegis
4282 }
4283 }
4284
4285+void C2_MacroAssembler::neon_compare_zero(FloatRegister dst, BasicType bt, FloatRegister src,
4286+ Condition cond, bool isQ) {
4287+ SIMD_Arrangement size = esize2arrangement((unsigned)type2aelembytes(bt), isQ);
4288+ if (bt == T_FLOAT || bt == T_DOUBLE) {
4289+ if (cond == Assembler::NE) {
4290+ fcm(Assembler::EQ, dst, size, src);
4291+ notr(dst, isQ ? T16B : T8B, dst);
4292+ } else {
4293+ fcm(cond, dst, size, src);
4294+ }
4295+ } else {
4296+ if (cond == Assembler::NE) {
4297+ cm(Assembler::EQ, dst, size, src);
4298+ notr(dst, isQ ? T16B : T8B, dst);
4299+ } else {
4300+ cm(cond, dst, size, src);
4301+ }
4302+ }
4303+}
4304+
4305 // Compress the least significant bit of each byte to the rightmost and clear
4306 // the higher garbage bits.
4307 void C2_MacroAssembler::bytemask_compress(Register dst) {
4308diff --git a/src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp b/src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp
4309index 1c4c53f..16cf209 100644
4310--- a/src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp
4311+++ b/src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp
4312@@ -1,5 +1,5 @@
4313 /*
4314- * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved.
4315+ * Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved.
4316 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4317 *
4318 * This code is free software; you can redistribute it and/or modify it
4319@@ -35,9 +35,6 @@
4320 enum shift_kind kind = Assembler::LSL, unsigned shift = 0);
4321
4322 public:
4323- void emit_entry_barrier_stub(C2EntryBarrierStub* stub);
4324- static int entry_barrier_stub_size();
4325-
4326 void string_compare(Register str1, Register str2,
4327 Register cnt1, Register cnt2, Register result,
4328 Register tmp1, Register tmp2, FloatRegister vtmp1,
4329@@ -82,6 +79,9 @@
4330 void neon_compare(FloatRegister dst, BasicType bt, FloatRegister src1,
4331 FloatRegister src2, int cond, bool isQ);
4332
4333+ void neon_compare_zero(FloatRegister dst, BasicType bt, FloatRegister src,
4334+ Condition cond, bool isQ);
4335+
4336 void sve_compare(PRegister pd, BasicType bt, PRegister pg,
4337 FloatRegister zn, FloatRegister zm, int cond);
4338
4339diff --git a/src/hotspot/cpu/aarch64/cas.m4 b/src/hotspot/cpu/aarch64/cas.m4
4340index 780182f..f8aac0c 100644
4341--- a/src/hotspot/cpu/aarch64/cas.m4
4342+++ b/src/hotspot/cpu/aarch64/cas.m4
4343@@ -19,7 +19,7 @@ dnl Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
4344 dnl or visit www.oracle.com if you need additional information or have any
4345 dnl questions.
4346 dnl
4347-dnl
4348+dnl
4349 dnl Process this file with m4 cas.m4 to generate the CAE and wCAS
4350 dnl instructions used in aarch64.ad.
4351 dnl
4352@@ -33,19 +33,23 @@ dnl
4353 // can't check the type of memory ordering here, so we always emit a
4354 // STLXR.
4355
4356-// This section is generated from aarch64_ad_cas.m4
4357-
4358+// This section is generated from cas.m4
4359
4360+dnl Return Arg1 with two spaces before it. We need this because m4
4361+dnl strips leading spaces from macro args.
4362+define(`INDENT', ` $1')dnl
4363+dnl
4364 define(`CAS_INSN',
4365 `
4366 // This pattern is generated automatically from cas.m4.
4367 // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
4368 instruct compareAndExchange$1$6(iReg$2NoSp res, indirect mem, iReg$2 oldval, iReg$2 newval, rFlagsReg cr) %{
4369- ifelse($1$6,PAcq,'predicate(needs_acquiring_load_exclusive(n) && (n->as_LoadStore()->barrier_data() == 0));`,
4370- $1,P,'predicate(n->as_LoadStore()->barrier_data() == 0);`,
4371- $6,Acq,'predicate(needs_acquiring_load_exclusive(n));`)
4372+ifelse($1$6,PAcq,INDENT(predicate(needs_acquiring_load_exclusive(n) && (n->as_LoadStore()->barrier_data() == 0));),
4373+ $1,P,INDENT(predicate(n->as_LoadStore()->barrier_data() == 0);),
4374+ $6,Acq,INDENT(predicate(needs_acquiring_load_exclusive(n));),
4375+ `dnl')
4376 match(Set res (CompareAndExchange$1 mem (Binary oldval newval)));
4377- ifelse($6,Acq,'ins_cost(VOLATILE_REF_COST);`,' ins_cost(2 * VOLATILE_REF_COST);`)
4378+ ifelse($6,Acq,'ins_cost(VOLATILE_REF_COST);`,'ins_cost(2 * VOLATILE_REF_COST);`)
4379 effect(TEMP_DEF res, KILL cr);
4380 format %{
4381 "cmpxchg$5`'ifelse($6,Acq,_acq,) $res = $mem, $oldval, $newval\t# ($3, weak) if $mem == $oldval then $mem <-- $newval"
4382@@ -62,9 +66,9 @@ define(`CAS_INSN4',
4383 // This pattern is generated automatically from cas.m4.
4384 // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
4385 instruct compareAndExchange$1$7(iReg$2NoSp res, indirect mem, iReg$2 oldval, iReg$2 newval, rFlagsReg cr) %{
4386- ifelse($7,Acq,'predicate(needs_acquiring_load_exclusive(n));`)
4387+ifelse($7,Acq,INDENT(predicate(needs_acquiring_load_exclusive(n));),`dnl')
4388 match(Set res (CompareAndExchange$1 mem (Binary oldval newval)));
4389- ifelse($7,Acq,'ins_cost(VOLATILE_REF_COST);`,' ins_cost(2 * VOLATILE_REF_COST);`)
4390+ ifelse($7,Acq,'ins_cost(VOLATILE_REF_COST);`,'ins_cost(2 * VOLATILE_REF_COST);`)
4391 effect(TEMP_DEF res, KILL cr);
4392 format %{
4393 "cmpxchg$5`'ifelse($7,Acq,_acq,) $res = $mem, $oldval, $newval\t# ($3, weak) if $mem == $oldval then $mem <-- $newval"
4394@@ -96,9 +100,9 @@ define(`CAS_INSN2',
4395 // This pattern is generated automatically from cas.m4.
4396 // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
4397 instruct weakCompareAndSwap$1$6(iRegINoSp res, indirect mem, iReg$2 oldval, iReg$2 newval, rFlagsReg cr) %{
4398- ifelse($6,Acq,' predicate(needs_acquiring_load_exclusive(n));`)
4399+ifelse($6,Acq,INDENT(predicate(needs_acquiring_load_exclusive(n));),`dnl')
4400 match(Set res (WeakCompareAndSwap$1 mem (Binary oldval newval)));
4401- ifelse($6,Acq,'ins_cost(VOLATILE_REF_COST);`,' ins_cost(2 * VOLATILE_REF_COST);`)
4402+ ifelse($6,Acq,'ins_cost(VOLATILE_REF_COST);`,'ins_cost(2 * VOLATILE_REF_COST);`)
4403 effect(KILL cr);
4404 format %{
4405 "cmpxchg$5`'ifelse($6,Acq,_acq,) $res = $mem, $oldval, $newval\t# ($3, weak) if $mem == $oldval then $mem <-- $newval"
4406@@ -117,11 +121,12 @@ define(`CAS_INSN3',
4407 // This pattern is generated automatically from cas.m4.
4408 // DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
4409 instruct weakCompareAndSwap$1$6(iRegINoSp res, indirect mem, iReg$2 oldval, iReg$2 newval, rFlagsReg cr) %{
4410- ifelse($1$6,PAcq,'predicate(needs_acquiring_load_exclusive(n) && (n->as_LoadStore()->barrier_data() == 0));`,
4411- $1,P,'predicate(n->as_LoadStore()->barrier_data() == 0);`,
4412- $6,Acq,'predicate(needs_acquiring_load_exclusive(n));`)
4413+ifelse($1$6,PAcq,INDENT(predicate(needs_acquiring_load_exclusive(n) && (n->as_LoadStore()->barrier_data() == 0));),
4414+ $1,P,INDENT(predicate(n->as_LoadStore()->barrier_data() == 0);),
4415+ $6,Acq,INDENT(predicate(needs_acquiring_load_exclusive(n));),
4416+ `dnl')
4417 match(Set res (WeakCompareAndSwap$1 mem (Binary oldval newval)));
4418- ifelse($6,Acq,'ins_cost(VOLATILE_REF_COST);`,' ins_cost(2 * VOLATILE_REF_COST);`)
4419+ ifelse($6,Acq,'ins_cost(VOLATILE_REF_COST);`,'ins_cost(2 * VOLATILE_REF_COST);`)
4420 effect(KILL cr);
4421 format %{
4422 "cmpxchg$5`'ifelse($6,Acq,_acq,) $res = $mem, $oldval, $newval\t# ($3, weak) if $mem == $oldval then $mem <-- $newval"
4423diff --git a/src/hotspot/cpu/aarch64/codeBuffer_aarch64.cpp b/src/hotspot/cpu/aarch64/codeBuffer_aarch64.cpp
4424index 3bc12a1..7d49970 100644
4425--- a/src/hotspot/cpu/aarch64/codeBuffer_aarch64.cpp
4426+++ b/src/hotspot/cpu/aarch64/codeBuffer_aarch64.cpp
4427@@ -30,7 +30,7 @@ void CodeBuffer::share_trampoline_for(address dest, int caller_offset) {
4428 if (_shared_trampoline_requests == nullptr) {
4429 constexpr unsigned init_size = 8;
4430 constexpr unsigned max_size = 256;
4431- _shared_trampoline_requests = new SharedTrampolineRequests(init_size, max_size);
4432+ _shared_trampoline_requests = new (mtCompiler)SharedTrampolineRequests(init_size, max_size);
4433 }
4434
4435 bool created;
4436@@ -42,6 +42,8 @@ void CodeBuffer::share_trampoline_for(address dest, int caller_offset) {
4437 _finalize_stubs = true;
4438 }
4439
4440+#define __ masm.
4441+
4442 static bool emit_shared_trampolines(CodeBuffer* cb, CodeBuffer::SharedTrampolineRequests* requests) {
4443 if (requests == nullptr) {
4444 return true;
4445@@ -49,39 +51,35 @@ static bool emit_shared_trampolines(CodeBuffer* cb, CodeBuffer::SharedTrampoline
4446
4447 MacroAssembler masm(cb);
4448
4449- bool p_succeeded = true;
4450 auto emit = [&](address dest, const CodeBuffer::Offsets &offsets) {
4451- masm.set_code_section(cb->stubs());
4452- if (!is_aligned(masm.offset(), wordSize)) {
4453- if (cb->stubs()->maybe_expand_to_ensure_remaining(NativeInstruction::instruction_size) && cb->blob() == NULL) {
4454- ciEnv::current()->record_failure("CodeCache is full");
4455- p_succeeded = false;
4456- return p_succeeded;
4457- }
4458- masm.align(wordSize);
4459- }
4460-
4461+ assert(cb->stubs()->remaining() >= MacroAssembler::max_trampoline_stub_size(), "pre-allocated trampolines");
4462 LinkedListIterator<int> it(offsets.head());
4463 int offset = *it.next();
4464- for (; !it.is_empty(); offset = *it.next()) {
4465- masm.relocate(trampoline_stub_Relocation::spec(cb->insts()->start() + offset));
4466- }
4467- masm.set_code_section(cb->insts());
4468+ address stub = __ emit_trampoline_stub(offset, dest);
4469+ assert(stub, "pre-allocated trampolines");
4470
4471- address stub = masm.emit_trampoline_stub(offset, dest);
4472- if (stub == nullptr) {
4473- ciEnv::current()->record_failure("CodeCache is full");
4474- p_succeeded = false;
4475+ address reloc_pc = cb->stubs()->end() - NativeCallTrampolineStub::instruction_size;
4476+ while (!it.is_empty()) {
4477+ offset = *it.next();
4478+ address caller_pc = cb->insts()->start() + offset;
4479+ cb->stubs()->relocate(reloc_pc, trampoline_stub_Relocation::spec(caller_pc));
4480 }
4481-
4482- return p_succeeded;
4483+ return true;
4484 };
4485
4486- requests->iterate(emit);
4487+ assert(requests->number_of_entries() >= 1, "at least one");
4488+ const int total_requested_size = MacroAssembler::max_trampoline_stub_size() * requests->number_of_entries();
4489+ if (cb->stubs()->maybe_expand_to_ensure_remaining(total_requested_size) && cb->blob() == NULL) {
4490+ ciEnv::current()->record_failure("CodeCache is full");
4491+ return false;
4492+ }
4493
4494- return p_succeeded;
4495+ requests->iterate(emit);
4496+ return true;
4497 }
4498
4499+#undef __
4500+
4501 bool CodeBuffer::pd_finalize_stubs() {
4502 return emit_shared_stubs_to_interp<MacroAssembler>(this, _shared_stub_to_interp_requests)
4503 && emit_shared_trampolines(this, _shared_trampoline_requests);
4504diff --git a/src/hotspot/cpu/aarch64/compiledIC_aarch64.cpp b/src/hotspot/cpu/aarch64/compiledIC_aarch64.cpp
4505index e922fc1..d09375f 100644
4506--- a/src/hotspot/cpu/aarch64/compiledIC_aarch64.cpp
4507+++ b/src/hotspot/cpu/aarch64/compiledIC_aarch64.cpp
4508@@ -1,5 +1,5 @@
4509 /*
4510- * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
4511+ * Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
4512 * Copyright (c) 2014, 2018, Red Hat Inc. All rights reserved.
4513 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4514 *
4515@@ -71,15 +71,14 @@ address CompiledStaticCall::emit_to_interp_stub(CodeBuffer &cbuf, address mark)
4516 #undef __
4517
4518 int CompiledStaticCall::to_interp_stub_size() {
4519- // isb; movk; movz; movz; movk; movz; movz; br
4520- return 8 * NativeInstruction::instruction_size;
4521+ return MacroAssembler::static_call_stub_size();
4522 }
4523
4524 int CompiledStaticCall::to_trampoline_stub_size() {
4525 // Somewhat pessimistically, we count 3 instructions here (although
4526 // there are only two) because we sometimes emit an alignment nop.
4527 // Trampoline stubs are always word aligned.
4528- return 3 * NativeInstruction::instruction_size + wordSize;
4529+ return MacroAssembler::max_trampoline_stub_size();
4530 }
4531
4532 // Relocation entries for call stub, compiled java to interpreter.
4533diff --git a/src/hotspot/cpu/aarch64/downcallLinker_aarch64.cpp b/src/hotspot/cpu/aarch64/downcallLinker_aarch64.cpp
4534index 9f74009..9c9d78e 100644
4535--- a/src/hotspot/cpu/aarch64/downcallLinker_aarch64.cpp
4536+++ b/src/hotspot/cpu/aarch64/downcallLinker_aarch64.cpp
4537@@ -1,5 +1,5 @@
4538 /*
4539- * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved.
4540+ * Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved.
4541 * Copyright (c) 2019, Arm Limited. All rights reserved.
4542 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4543 *
4544@@ -90,7 +90,8 @@ public:
4545 }
4546 };
4547
4548-static const int native_invoker_code_size = 1024;
4549+static const int native_invoker_code_base_size = 256;
4550+static const int native_invoker_size_per_arg = 8;
4551
4552 RuntimeStub* DowncallLinker::make_downcall_stub(BasicType* signature,
4553 int num_args,
4554@@ -100,8 +101,9 @@ RuntimeStub* DowncallLinker::make_downcall_stub(BasicType* signature,
4555 const GrowableArray<VMStorage>& output_registers,
4556 bool needs_return_buffer,
4557 int captured_state_mask) {
4558- int locs_size = 64;
4559- CodeBuffer code("nep_invoker_blob", native_invoker_code_size, locs_size);
4560+ int code_size = native_invoker_code_base_size + (num_args * native_invoker_size_per_arg);
4561+ int locs_size = 1; // must be non-zero
4562+ CodeBuffer code("nep_invoker_blob", code_size, locs_size);
4563 DowncallStubGenerator g(&code, signature, num_args, ret_bt, abi,
4564 input_registers, output_registers,
4565 needs_return_buffer, captured_state_mask);
4566diff --git a/src/hotspot/cpu/aarch64/foreignGlobals_aarch64.cpp b/src/hotspot/cpu/aarch64/foreignGlobals_aarch64.cpp
4567index e20c7e4..90c1942 100644
4568--- a/src/hotspot/cpu/aarch64/foreignGlobals_aarch64.cpp
4569+++ b/src/hotspot/cpu/aarch64/foreignGlobals_aarch64.cpp
4570@@ -176,6 +176,10 @@ static void move_stack(MacroAssembler* masm, Register tmp_reg, int in_stk_bias,
4571 static void move_v128(MacroAssembler* masm, int out_stk_bias,
4572 FloatRegister from_reg, VMStorage to_reg) {
4573 switch (to_reg.type()) {
4574+ case StorageType::INTEGER:
4575+ assert(to_reg.segment_mask() == REG64_MASK, "only moves to 64-bit registers supported");
4576+ masm->fmovd(as_Register(to_reg), from_reg);
4577+ break;
4578 case StorageType::VECTOR:
4579 assert(to_reg.segment_mask() == V128_MASK, "only moves to v128 registers supported");
4580 masm->fmovd(as_FloatRegister(to_reg), from_reg);
4581diff --git a/src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp
4582index 90b9b64..316548a 100644
4583--- a/src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp
4584+++ b/src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp
4585@@ -119,6 +119,111 @@ void BarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators
4586 }
4587 }
4588
4589+void BarrierSetAssembler::copy_load_at(MacroAssembler* masm,
4590+ DecoratorSet decorators,
4591+ BasicType type,
4592+ size_t bytes,
4593+ Register dst1,
4594+ Register dst2,
4595+ Address src,
4596+ Register tmp) {
4597+ if (bytes == 1) {
4598+ assert(dst2 == noreg, "invariant");
4599+ __ ldrb(dst1, src);
4600+ } else if (bytes == 2) {
4601+ assert(dst2 == noreg, "invariant");
4602+ __ ldrh(dst1, src);
4603+ } else if (bytes == 4) {
4604+ assert(dst2 == noreg, "invariant");
4605+ __ ldrw(dst1, src);
4606+ } else if (bytes == 8) {
4607+ assert(dst2 == noreg, "invariant");
4608+ __ ldr(dst1, src);
4609+ } else if (bytes == 16) {
4610+ assert(dst2 != noreg, "invariant");
4611+ assert(dst2 != dst1, "invariant");
4612+ __ ldp(dst1, dst2, src);
4613+ } else {
4614+ // Not the right size
4615+ ShouldNotReachHere();
4616+ }
4617+ if ((decorators & ARRAYCOPY_CHECKCAST) != 0 && UseCompressedOops) {
4618+ __ decode_heap_oop(dst1);
4619+ }
4620+}
4621+
4622+void BarrierSetAssembler::copy_store_at(MacroAssembler* masm,
4623+ DecoratorSet decorators,
4624+ BasicType type,
4625+ size_t bytes,
4626+ Address dst,
4627+ Register src1,
4628+ Register src2,
4629+ Register tmp1,
4630+ Register tmp2,
4631+ Register tmp3) {
4632+ if ((decorators & ARRAYCOPY_CHECKCAST) != 0 && UseCompressedOops) {
4633+ __ encode_heap_oop(src1);
4634+ }
4635+ if (bytes == 1) {
4636+ assert(src2 == noreg, "invariant");
4637+ __ strb(src1, dst);
4638+ } else if (bytes == 2) {
4639+ assert(src2 == noreg, "invariant");
4640+ __ strh(src1, dst);
4641+ } else if (bytes == 4) {
4642+ assert(src2 == noreg, "invariant");
4643+ __ strw(src1, dst);
4644+ } else if (bytes == 8) {
4645+ assert(src2 == noreg, "invariant");
4646+ __ str(src1, dst);
4647+ } else if (bytes == 16) {
4648+ assert(src2 != noreg, "invariant");
4649+ assert(src2 != src1, "invariant");
4650+ __ stp(src1, src2, dst);
4651+ } else {
4652+ // Not the right size
4653+ ShouldNotReachHere();
4654+ }
4655+}
4656+
4657+void BarrierSetAssembler::copy_load_at(MacroAssembler* masm,
4658+ DecoratorSet decorators,
4659+ BasicType type,
4660+ size_t bytes,
4661+ FloatRegister dst1,
4662+ FloatRegister dst2,
4663+ Address src,
4664+ Register tmp1,
4665+ Register tmp2,
4666+ FloatRegister vec_tmp) {
4667+ if (bytes == 32) {
4668+ __ ldpq(dst1, dst2, src);
4669+ } else {
4670+ ShouldNotReachHere();
4671+ }
4672+}
4673+
4674+void BarrierSetAssembler::copy_store_at(MacroAssembler* masm,
4675+ DecoratorSet decorators,
4676+ BasicType type,
4677+ size_t bytes,
4678+ Address dst,
4679+ FloatRegister src1,
4680+ FloatRegister src2,
4681+ Register tmp1,
4682+ Register tmp2,
4683+ Register tmp3,
4684+ FloatRegister vec_tmp1,
4685+ FloatRegister vec_tmp2,
4686+ FloatRegister vec_tmp3) {
4687+ if (bytes == 32) {
4688+ __ stpq(src1, src2, dst);
4689+ } else {
4690+ ShouldNotReachHere();
4691+ }
4692+}
4693+
4694 void BarrierSetAssembler::try_resolve_jobject_in_native(MacroAssembler* masm, Register jni_env,
4695 Register obj, Register tmp, Label& slowpath) {
4696 // If mask changes we need to ensure that the inverse is still encodable as an immediate
4697@@ -299,3 +404,18 @@ void BarrierSetAssembler::c2i_entry_barrier(MacroAssembler* masm) {
4698 __ bind(method_live);
4699 }
4700
4701+void BarrierSetAssembler::check_oop(MacroAssembler* masm, Register obj, Register tmp1, Register tmp2, Label& error) {
4702+ // Check if the oop is in the right area of memory
4703+ __ mov(tmp2, (intptr_t) Universe::verify_oop_mask());
4704+ __ andr(tmp1, obj, tmp2);
4705+ __ mov(tmp2, (intptr_t) Universe::verify_oop_bits());
4706+
4707+ // Compare tmp1 and tmp2. We don't use a compare
4708+ // instruction here because the flags register is live.
4709+ __ eor(tmp1, tmp1, tmp2);
4710+ __ cbnz(tmp1, error);
4711+
4712+ // make sure klass is 'reasonable', which is not zero.
4713+ __ load_klass(obj, obj); // get klass
4714+ __ cbz(obj, error); // if klass is NULL it is broken
4715+}
4716diff --git a/src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp b/src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp
4717index f308603..bfe9df8 100644
4718--- a/src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp
4719+++ b/src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp
4720@@ -48,6 +48,52 @@ public:
4721 Register src, Register dst, Register count, RegSet saved_regs) {}
4722 virtual void arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop,
4723 Register start, Register count, Register tmp, RegSet saved_regs) {}
4724+
4725+ virtual void copy_load_at(MacroAssembler* masm,
4726+ DecoratorSet decorators,
4727+ BasicType type,
4728+ size_t bytes,
4729+ Register dst1,
4730+ Register dst2,
4731+ Address src,
4732+ Register tmp);
4733+
4734+ virtual void copy_store_at(MacroAssembler* masm,
4735+ DecoratorSet decorators,
4736+ BasicType type,
4737+ size_t bytes,
4738+ Address dst,
4739+ Register src1,
4740+ Register src2,
4741+ Register tmp1,
4742+ Register tmp2,
4743+ Register tmp3);
4744+
4745+ virtual void copy_load_at(MacroAssembler* masm,
4746+ DecoratorSet decorators,
4747+ BasicType type,
4748+ size_t bytes,
4749+ FloatRegister dst1,
4750+ FloatRegister dst2,
4751+ Address src,
4752+ Register tmp1,
4753+ Register tmp2,
4754+ FloatRegister vec_tmp);
4755+
4756+ virtual void copy_store_at(MacroAssembler* masm,
4757+ DecoratorSet decorators,
4758+ BasicType type,
4759+ size_t bytes,
4760+ Address dst,
4761+ FloatRegister src1,
4762+ FloatRegister src2,
4763+ Register tmp1,
4764+ Register tmp2,
4765+ Register tmp3,
4766+ FloatRegister vec_tmp1,
4767+ FloatRegister vec_tmp2,
4768+ FloatRegister vec_tmp3);
4769+
4770 virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
4771 Register dst, Address src, Register tmp1, Register tmp2);
4772 virtual void store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
4773@@ -72,6 +118,8 @@ public:
4774 virtual void nmethod_entry_barrier(MacroAssembler* masm, Label* slow_path, Label* continuation, Label* guard);
4775 virtual void c2i_entry_barrier(MacroAssembler* masm);
4776
4777+ virtual void check_oop(MacroAssembler* masm, Register obj, Register tmp1, Register tmp2, Label& error);
4778+
4779 virtual bool supports_instruction_patching() {
4780 NMethodPatchingType patching_type = nmethod_patching_type();
4781 return patching_type == NMethodPatchingType::conc_instruction_and_data_patch ||
4782diff --git a/src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp
4783index 0693a2c..6f4d201 100644
4784--- a/src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp
4785+++ b/src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp
4786@@ -1,5 +1,5 @@
4787 /*
4788- * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved.
4789+ * Copyright (c) 2019, 2023, Oracle and/or its affiliates. All rights reserved.
4790 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4791 *
4792 * This code is free software; you can redistribute it and/or modify it
4793@@ -444,6 +444,19 @@ void ZBarrierSetAssembler::generate_c2_load_barrier_stub(MacroAssembler* masm, Z
4794 __ b(*stub->continuation());
4795 }
4796
4797+#endif // COMPILER2
4798+
4799 #undef __
4800+#define __ masm->
4801
4802-#endif // COMPILER2
4803+void ZBarrierSetAssembler::check_oop(MacroAssembler* masm, Register obj, Register tmp1, Register tmp2, Label& error) {
4804+ // Check if mask is good.
4805+ // verifies that ZAddressBadMask & r0 == 0
4806+ __ ldr(tmp2, Address(rthread, ZThreadLocalData::address_bad_mask_offset()));
4807+ __ andr(tmp1, obj, tmp2);
4808+ __ cbnz(tmp1, error);
4809+
4810+ BarrierSetAssembler::check_oop(masm, obj, tmp1, tmp2, error);
4811+}
4812+
4813+#undef __
4814diff --git a/src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.hpp b/src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.hpp
4815index ac32d91..c852dac 100644
4816--- a/src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.hpp
4817+++ b/src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.hpp
4818@@ -97,6 +97,8 @@ public:
4819 void generate_c2_load_barrier_stub(MacroAssembler* masm,
4820 ZLoadBarrierStubC2* stub) const;
4821 #endif // COMPILER2
4822+
4823+ void check_oop(MacroAssembler* masm, Register obj, Register tmp1, Register tmp2, Label& error);
4824 };
4825
4826 #endif // CPU_AARCH64_GC_Z_ZBARRIERSETASSEMBLER_AARCH64_HPP
4827diff --git a/src/hotspot/cpu/aarch64/globals_aarch64.hpp b/src/hotspot/cpu/aarch64/globals_aarch64.hpp
4828index bc1e3ba..046c0ef 100644
4829--- a/src/hotspot/cpu/aarch64/globals_aarch64.hpp
4830+++ b/src/hotspot/cpu/aarch64/globals_aarch64.hpp
4831@@ -1,5 +1,5 @@
4832 /*
4833- * Copyright (c) 2000, 2022, Oracle and/or its affiliates. All rights reserved.
4834+ * Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
4835 * Copyright (c) 2015, 2019, Red Hat Inc. All rights reserved.
4836 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4837 *
4838@@ -88,6 +88,8 @@ define_pd_global(intx, InlineSmallCode, 1000);
4839 "Use Neon for CRC32 computation") \
4840 product(bool, UseCRC32, false, \
4841 "Use CRC32 instructions for CRC32 computation") \
4842+ product(bool, UseCryptoPmullForCRC32, false, \
4843+ "Use Crypto PMULL instructions for CRC32 computation") \
4844 product(bool, UseSIMDForMemoryOps, false, \
4845 "Use SIMD instructions in generated memory move code") \
4846 product(bool, UseSIMDForArrayEquals, true, \
4847diff --git a/src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp b/src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp
4848index 2857c44..c6611b8 100644
4849--- a/src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp
4850+++ b/src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp
4851@@ -1,5 +1,5 @@
4852 /*
4853- * Copyright (c) 2003, 2022, Oracle and/or its affiliates. All rights reserved.
4854+ * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved.
4855 * Copyright (c) 2014, 2020, Red Hat Inc. All rights reserved.
4856 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4857 *
4858@@ -802,7 +802,7 @@ void InterpreterMacroAssembler::lock_object(Register lock_reg)
4859 // copy
4860 mov(rscratch1, sp);
4861 sub(swap_reg, swap_reg, rscratch1);
4862- ands(swap_reg, swap_reg, (uint64_t)(7 - os::vm_page_size()));
4863+ ands(swap_reg, swap_reg, (uint64_t)(7 - (int)os::vm_page_size()));
4864
4865 // Save the test result, for recursive case, the result is zero
4866 str(swap_reg, Address(lock_reg, mark_offset));
4867diff --git a/src/hotspot/cpu/aarch64/jvmciCodeInstaller_aarch64.cpp b/src/hotspot/cpu/aarch64/jvmciCodeInstaller_aarch64.cpp
4868index e0d9d6c..6ffb9aa 100644
4869--- a/src/hotspot/cpu/aarch64/jvmciCodeInstaller_aarch64.cpp
4870+++ b/src/hotspot/cpu/aarch64/jvmciCodeInstaller_aarch64.cpp
4871@@ -130,21 +130,21 @@ void CodeInstaller::pd_relocate_JavaMethod(CodeBuffer &cbuf, methodHandle& metho
4872 assert(!method->is_static(), "cannot call static method with invokeinterface");
4873 NativeCall* call = nativeCall_at(_instructions->start() + pc_offset);
4874 _instructions->relocate(call->instruction_address(), virtual_call_Relocation::spec(_invoke_mark_pc));
4875- call->trampoline_jump(cbuf, SharedRuntime::get_resolve_virtual_call_stub());
4876+ call->trampoline_jump(cbuf, SharedRuntime::get_resolve_virtual_call_stub(), JVMCI_CHECK);
4877 break;
4878 }
4879 case INVOKESTATIC: {
4880 assert(method->is_static(), "cannot call non-static method with invokestatic");
4881 NativeCall* call = nativeCall_at(_instructions->start() + pc_offset);
4882 _instructions->relocate(call->instruction_address(), relocInfo::static_call_type);
4883- call->trampoline_jump(cbuf, SharedRuntime::get_resolve_static_call_stub());
4884+ call->trampoline_jump(cbuf, SharedRuntime::get_resolve_static_call_stub(), JVMCI_CHECK);
4885 break;
4886 }
4887 case INVOKESPECIAL: {
4888 assert(!method->is_static(), "cannot call static method with invokespecial");
4889 NativeCall* call = nativeCall_at(_instructions->start() + pc_offset);
4890 _instructions->relocate(call->instruction_address(), relocInfo::opt_virtual_call_type);
4891- call->trampoline_jump(cbuf, SharedRuntime::get_resolve_opt_virtual_call_stub());
4892+ call->trampoline_jump(cbuf, SharedRuntime::get_resolve_opt_virtual_call_stub(), JVMCI_CHECK);
4893 break;
4894 }
4895 default:
4896diff --git a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
4897index 8cd6d80..ce8ccc8 100644
4898--- a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
4899+++ b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
4900@@ -926,8 +926,7 @@ address MacroAssembler::trampoline_call(Address entry) {
4901 address MacroAssembler::emit_trampoline_stub(int insts_call_instruction_offset,
4902 address dest) {
4903 // Max stub size: alignment nop, TrampolineStub.
4904- address stub = start_a_stub(NativeInstruction::instruction_size
4905- + NativeCallTrampolineStub::instruction_size);
4906+ address stub = start_a_stub(max_trampoline_stub_size());
4907 if (stub == NULL) {
4908 return NULL; // CodeBuffer::expand failed
4909 }
4910@@ -959,6 +958,11 @@ address MacroAssembler::emit_trampoline_stub(int insts_call_instruction_offset,
4911 return stub_start_addr;
4912 }
4913
4914+int MacroAssembler::max_trampoline_stub_size() {
4915+ // Max stub size: alignment nop, TrampolineStub.
4916+ return NativeInstruction::instruction_size + NativeCallTrampolineStub::instruction_size;
4917+}
4918+
4919 void MacroAssembler::emit_static_call_stub() {
4920 // CompiledDirectStaticCall::set_to_interpreted knows the
4921 // exact layout of this stub.
4922@@ -971,6 +975,11 @@ void MacroAssembler::emit_static_call_stub() {
4923 br(rscratch1);
4924 }
4925
4926+int MacroAssembler::static_call_stub_size() {
4927+ // isb; movk; movz; movz; movk; movz; movz; br
4928+ return 8 * NativeInstruction::instruction_size;
4929+}
4930+
4931 void MacroAssembler::c2bool(Register x) {
4932 // implements x == 0 ? 0 : 1
4933 // note: must only look at least-significant byte of x
4934@@ -3594,6 +3603,65 @@ void MacroAssembler::update_word_crc32(Register crc, Register v, Register tmp,
4935 eor(crc, crc, tmp);
4936 }
4937
4938+void MacroAssembler::kernel_crc32_using_crypto_pmull(Register crc, Register buf,
4939+ Register len, Register tmp0, Register tmp1, Register tmp2, Register tmp3) {
4940+ Label CRC_by4_loop, CRC_by1_loop, CRC_less128, CRC_by128_pre, CRC_by32_loop, CRC_less32, L_exit;
4941+ assert_different_registers(crc, buf, len, tmp0, tmp1, tmp2);
4942+
4943+ subs(tmp0, len, 384);
4944+ mvnw(crc, crc);
4945+ br(Assembler::GE, CRC_by128_pre);
4946+ BIND(CRC_less128);
4947+ subs(len, len, 32);
4948+ br(Assembler::GE, CRC_by32_loop);
4949+ BIND(CRC_less32);
4950+ adds(len, len, 32 - 4);
4951+ br(Assembler::GE, CRC_by4_loop);
4952+ adds(len, len, 4);
4953+ br(Assembler::GT, CRC_by1_loop);
4954+ b(L_exit);
4955+
4956+ BIND(CRC_by32_loop);
4957+ ldp(tmp0, tmp1, Address(buf));
4958+ crc32x(crc, crc, tmp0);
4959+ ldp(tmp2, tmp3, Address(buf, 16));
4960+ crc32x(crc, crc, tmp1);
4961+ add(buf, buf, 32);
4962+ crc32x(crc, crc, tmp2);
4963+ subs(len, len, 32);
4964+ crc32x(crc, crc, tmp3);
4965+ br(Assembler::GE, CRC_by32_loop);
4966+ cmn(len, (u1)32);
4967+ br(Assembler::NE, CRC_less32);
4968+ b(L_exit);
4969+
4970+ BIND(CRC_by4_loop);
4971+ ldrw(tmp0, Address(post(buf, 4)));
4972+ subs(len, len, 4);
4973+ crc32w(crc, crc, tmp0);
4974+ br(Assembler::GE, CRC_by4_loop);
4975+ adds(len, len, 4);
4976+ br(Assembler::LE, L_exit);
4977+ BIND(CRC_by1_loop);
4978+ ldrb(tmp0, Address(post(buf, 1)));
4979+ subs(len, len, 1);
4980+ crc32b(crc, crc, tmp0);
4981+ br(Assembler::GT, CRC_by1_loop);
4982+ b(L_exit);
4983+
4984+ BIND(CRC_by128_pre);
4985+ kernel_crc32_common_fold_using_crypto_pmull(crc, buf, len, tmp0, tmp1, tmp2,
4986+ 4*256*sizeof(juint) + 8*sizeof(juint));
4987+ mov(crc, 0);
4988+ crc32x(crc, crc, tmp0);
4989+ crc32x(crc, crc, tmp1);
4990+
4991+ cbnz(len, CRC_less128);
4992+
4993+ BIND(L_exit);
4994+ mvnw(crc, crc);
4995+}
4996+
4997 void MacroAssembler::kernel_crc32_using_crc32(Register crc, Register buf,
4998 Register len, Register tmp0, Register tmp1, Register tmp2,
4999 Register tmp3) {
5000@@ -3705,6 +3773,11 @@ void MacroAssembler::kernel_crc32(Register crc, Register buf, Register len,
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches