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
diff --git a/.gitignore b/.gitignore
index 6787b23..452e9f5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,3 +18,6 @@ NashornProfile.txt
18/src/utils/LogCompilation/target/18/src/utils/LogCompilation/target/
19/.project/19/.project/
20/.settings/20/.settings/
21/.project
22/.classpath
23/.cproject
diff --git a/configure b/configure
21old mode 10075524old mode 100755
22new mode 10064425new mode 100644
diff --git a/debian/changelog b/debian/changelog
index fdaaea7..c1d0379 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
1openjdk-21 (21~14ea~us1-0ubuntu1) UNRELEASED; urgency=medium
2
3 * OpenJDK 21 snapshot, Build 14.
4 * d/copyright, d/watch: implement uscan repackaging (LP: #2011749).
5
6 -- Vladimir Petko <vladimir.petko@canonical.com> Fri, 17 Mar 2023 13:31:13 +1300
7
1openjdk-21 (21~7ea-1ubuntu1) lunar; urgency=medium8openjdk-21 (21~7ea-1ubuntu1) lunar; urgency=medium
29
3 * debian/JB-jre-headless.postinst.in: trigger ca-certificates-java after jre10 * debian/JB-jre-headless.postinst.in: trigger ca-certificates-java after jre
diff --git a/debian/copyright b/debian/copyright
index fe5b751..805ef8c 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,3 +1,27 @@
1Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
2Files-Excluded:
3 .github/*
4 .gitattributes
5 src/java.desktop/share/native/liblcms/cms*.c
6 src/java.desktop/share/native/liblcms/lcms2*.h
7 src/java.base/share/native/libzip/zlib/*
8 src/java.desktop/share/native/libsplashscreen/giflib/*
9 src/java.desktop/share/native/libsplashscreen/libpng/*
10 src/java.smartcardio/unix/native/libj2pcsc/MUSCLE/*
11 src/java.desktop/share/native/libjavajpeg/jc*
12 src/java.desktop/share/native/libjavajpeg/jd*
13 src/java.desktop/share/native/libjavajpeg/je*
14 src/java.desktop/share/native/libjavajpeg/jf*
15 src/java.desktop/share/native/libjavajpeg/ji*.c
16 src/java.desktop/share/native/libjavajpeg/jm*
17 src/java.desktop/share/native/libjavajpeg/jpegi*
18 src/java.desktop/share/native/libjavajpeg/jpeglib.h
19 src/java.desktop/share/native/libjavajpeg/jq*
20 src/java.desktop/share/native/libjavajpeg/jv*
21 src/java.desktop/share/native/libjavajpeg/ju*
22 src/java.desktop/share/native/libjavajpeg/README
23Comment: Exclude bundled library sources, Github Actions and git attributes.
24
1This package was debianized by Matthias Klose <doko@ubuntu.com> on25This package was debianized by Matthias Klose <doko@ubuntu.com> on
2Wed, 08 Aug 2007 15:55:39 +0200.26Wed, 08 Aug 2007 15:55:39 +0200.
327
@@ -19,7 +43,7 @@ Copyright:
1943
20OpenJDK:44OpenJDK:
21 Copyright © 1996-2007 Sun Microsystems, Inc.45 Copyright © 1996-2007 Sun Microsystems, Inc.
22 Copyright © 1996-2021 Oracle and/or its affiliates.46 Copyright © 1996-2023 Oracle and/or its affiliates.
23 For third party copyrights see below (copies from the third party readme).47 For third party copyrights see below (copies from the third party readme).
24 Portions Copyright © 1993-2014 IBM Corp.48 Portions Copyright © 1993-2014 IBM Corp.
25 Portions Copyright © 1997 Eastman Kodak Company.49 Portions Copyright © 1997 Eastman Kodak Company.
@@ -36,7 +60,7 @@ Java Access Bridge:
36 Portions Copyright © 2002-2007 Darren Kenny <darren.kenny@sun.com>60 Portions Copyright © 2002-2007 Darren Kenny <darren.kenny@sun.com>
3761
38Packaging:62Packaging:
39 Copyright © 2007-2021 Canonical Ltd.63 Copyright © 2007-2023 Canonical Ltd.
4064
41------------------------------------------------------------------------------65------------------------------------------------------------------------------
42License:66License:
diff --git a/debian/patches/jaw-classpath.diff b/debian/patches/jaw-classpath.diff
index 6644d05..c9972c1 100644
--- a/debian/patches/jaw-classpath.diff
+++ b/debian/patches/jaw-classpath.diff
@@ -2,9 +2,9 @@ Fix finding the Java ATK wrapper, see #900912
22
3--- a/src/hotspot/os/linux/os_linux.cpp3--- a/src/hotspot/os/linux/os_linux.cpp
4+++ b/src/hotspot/os/linux/os_linux.cpp4+++ b/src/hotspot/os/linux/os_linux.cpp
5@@ -450,6 +450,7 @@ void os::init_system_properties_values()5@@ -482,6 +482,7 @@
6 if (!set_boot_path('/', ':')) {6 if (!set_boot_path('/', ':')) {
7 vm_exit_during_initialization("Failed setting boot class path.", NULL);7 vm_exit_during_initialization("Failed setting boot class path.", nullptr);
8 }8 }
9+ Arguments::append_sysclasspath("/usr/share/java/java-atk-wrapper.jar");9+ Arguments::append_sysclasspath("/usr/share/java/java-atk-wrapper.jar");
10 }10 }
diff --git a/debian/patches/jaw-optional.diff b/debian/patches/jaw-optional.diff
index 80f5c01..6abbeb0 100644
--- a/debian/patches/jaw-optional.diff
+++ b/debian/patches/jaw-optional.diff
@@ -6,7 +6,7 @@ Make failing to load the Java ATK wrapper non-fatal
66
7--- a/src/java.desktop/share/classes/java/awt/Toolkit.java7--- a/src/java.desktop/share/classes/java/awt/Toolkit.java
8+++ b/src/java.desktop/share/classes/java/awt/Toolkit.java8+++ b/src/java.desktop/share/classes/java/awt/Toolkit.java
9@@ -598,7 +598,11 @@ public abstract class Toolkit {9@@ -598,7 +598,11 @@
10 toolkit = new HeadlessToolkit(toolkit);10 toolkit = new HeadlessToolkit(toolkit);
11 }11 }
12 if (!GraphicsEnvironment.isHeadless()) {12 if (!GraphicsEnvironment.isHeadless()) {
diff --git a/debian/patches/mips.diff b/debian/patches/mips.diff
index cbffefd..99f597d 100644
--- a/debian/patches/mips.diff
+++ b/debian/patches/mips.diff
@@ -2,7 +2,7 @@
22
3--- a/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c3--- a/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c
4+++ b/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c4+++ b/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c
5@@ -156,7 +156,7 @@ static fdopendir_func* my_fdopendir_func5@@ -156,7 +156,7 @@
6 /**6 /**
7 * fstatat missing from glibc on Linux.7 * fstatat missing from glibc on Linux.
8 */8 */
diff --git a/debian/patches/reproducible-build-jmod.diff b/debian/patches/reproducible-build-jmod.diff
index fe7ebe3..0ce9b9d 100644
--- a/debian/patches/reproducible-build-jmod.diff
+++ b/debian/patches/reproducible-build-jmod.diff
@@ -12,7 +12,7 @@ Forwarded: not-needed
1212
13--- a/make/CreateJmods.gmk13--- a/make/CreateJmods.gmk
14+++ b/make/CreateJmods.gmk14+++ b/make/CreateJmods.gmk
15@@ -242,6 +242,15 @@ endif15@@ -242,6 +242,15 @@
16 16
17 # Create jmods in the support dir and then move them into place to keep the17 # Create jmods in the support dir and then move them into place to keep the
18 # module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times.18 # module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times.
@@ -28,7 +28,7 @@ Forwarded: not-needed
28 $(eval $(call SetupExecute, create_$(JMOD_FILE), \28 $(eval $(call SetupExecute, create_$(JMOD_FILE), \
29 WARN := Creating $(INTERIM_MSG)$(JMOD_FILE), \29 WARN := Creating $(INTERIM_MSG)$(JMOD_FILE), \
30 DEPS := $(DEPS), \30 DEPS := $(DEPS), \
31@@ -253,7 +262,7 @@ $(eval $(call SetupExecute, create_$(JMO31@@ -253,7 +262,7 @@
32 --module-path $(JMODS_DIR) $(JMOD_FLAGS) \32 --module-path $(JMODS_DIR) $(JMOD_FLAGS) \
33 --date $(SOURCE_DATE_ISO_8601) \33 --date $(SOURCE_DATE_ISO_8601) \
34 $(JMODS_SUPPORT_DIR)/$(JMOD_FILE), \34 $(JMODS_SUPPORT_DIR)/$(JMOD_FILE), \
diff --git a/debian/patches/reproducible-character-data.diff b/debian/patches/reproducible-character-data.diff
index c42e63e..140c52d 100644
--- a/debian/patches/reproducible-character-data.diff
+++ b/debian/patches/reproducible-character-data.diff
@@ -3,7 +3,7 @@ Author: Emmanuel Bourg <ebourg@apache.org>
3Forwarded: no3Forwarded: no
4--- a/make/jdk/src/classes/build/tools/generatecharacter/GenerateCharacter.java4--- a/make/jdk/src/classes/build/tools/generatecharacter/GenerateCharacter.java
5+++ b/make/jdk/src/classes/build/tools/generatecharacter/GenerateCharacter.java5+++ b/make/jdk/src/classes/build/tools/generatecharacter/GenerateCharacter.java
6@@ -1729,7 +1729,7 @@ OUTER: for (int i = 0; i < n; i += m) {6@@ -1729,7 +1729,7 @@
7 }7 }
8 commentStart = (Csyntax ? "/*" : "//");8 commentStart = (Csyntax ? "/*" : "//");
9 commentEnd = (Csyntax ? " */" : "");9 commentEnd = (Csyntax ? " */" : "");
diff --git a/debian/patches/reproducible-module-info.diff b/debian/patches/reproducible-module-info.diff
index 08eb58a..1d18991 100644
--- a/debian/patches/reproducible-module-info.diff
+++ b/debian/patches/reproducible-module-info.diff
@@ -3,7 +3,7 @@ Author: Emmanuel Bourg <ebourg@apache.org>
3Forwarded: no3Forwarded: no
4--- a/make/jdk/src/classes/build/tools/module/GenModuleInfoSource.java4--- a/make/jdk/src/classes/build/tools/module/GenModuleInfoSource.java
5+++ b/make/jdk/src/classes/build/tools/module/GenModuleInfoSource.java5+++ b/make/jdk/src/classes/build/tools/module/GenModuleInfoSource.java
6@@ -156,9 +156,10 @@ public class GenModuleInfoSource {6@@ -156,9 +156,10 @@
7 if (l.trim().startsWith("module ")) {7 if (l.trim().startsWith("module ")) {
8 if (debug) {8 if (debug) {
9 // print URI rather than file path to avoid escape9 // print URI rather than file path to avoid escape
diff --git a/debian/rules b/debian/rules
index ea31397..34c2676 100755
--- a/debian/rules
+++ b/debian/rules
@@ -101,7 +101,7 @@ else
101endif101endif
102jvmver = 1.21.0102jvmver = 1.21.0
103shortver = 21103shortver = 21
104v_debian := $(shell echo $(PKGVERSION) | sed 's/ea//')104v_debian := $(shell echo $(PKGVERSION) | sed 's/ea//' | sed 's/\~us[[:digit:]]\+//')
105v_upstream := $(shell echo $(v_debian) | sed 's/-[^-][^-]*$$//')105v_upstream := $(shell echo $(v_debian) | sed 's/-[^-][^-]*$$//')
106v_pkgrel := $(shell echo $(v_debian) | sed 's/^.*-//')106v_pkgrel := $(shell echo $(v_debian) | sed 's/^.*-//')
107# FIXME. currently v_upstream like 11~4107# FIXME. currently v_upstream like 11~4
diff --git a/debian/watch b/debian/watch
index a84d31e..a957fc7 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,4 +1,9 @@
1version=41version=4
2opts="filenamemangle=s%(?:.*?)?jdk-(\d[\d.]*\+\d[\d]*)\.tar\.gz%<project>-$1.tar.gz%, dversionmangle=s/~/+/;s/ea//" \2opts=\
3repack,\
4compression=xz,\
5repacksuffix=ea~us1,\
6oversionmangle=s/\+/\~/,\
7dversionmangle=s/~\d*\~us\d*$/\+\d*/, \
3 https://github.com/openjdk/jdk/tags \8 https://github.com/openjdk/jdk/tags \
4 (?:.*?/)?jdk-(19\+\d[\d]*)\.tar\.gz debian uupdate9 (?:.*?/)?jdk-(21\+\d[\d]*)\.tar\.gz
diff --git a/doc/building.html b/doc/building.html
index 533a123..e90669a 100644
--- a/doc/building.html
+++ b/doc/building.html
@@ -1087,7 +1087,7 @@ home, i.e. the top directory, containing <code>lib/jtreg.jar</code>
1087etc.</p>1087etc.</p>
1088<p>The <a href="https://wiki.openjdk.org/display/Adoption">Adoption1088<p>The <a href="https://wiki.openjdk.org/display/Adoption">Adoption
1089Group</a> provides recent builds of jtreg <a1089Group</a> provides recent builds of jtreg <a
1090href="https://ci.adoptopenjdk.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/">here</a>.1090href="https://ci.adoptium.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/">here</a>.
1091Download the latest <code>.tar.gz</code> file, unpack it, and point1091Download the latest <code>.tar.gz</code> file, unpack it, and point
1092<code>--with-jtreg</code> to the <code>jtreg</code> directory that you1092<code>--with-jtreg</code> to the <code>jtreg</code> directory that you
1093just unpacked.</p>1093just unpacked.</p>
diff --git a/doc/building.md b/doc/building.md
index 3e65230..65ff750 100644
--- a/doc/building.md
+++ b/doc/building.md
@@ -860,7 +860,7 @@ containing `lib/jtreg.jar` etc.
860860
861The [Adoption Group](https://wiki.openjdk.org/display/Adoption) provides861The [Adoption Group](https://wiki.openjdk.org/display/Adoption) provides
862recent builds of jtreg [here](862recent builds of jtreg [here](
863https://ci.adoptopenjdk.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/).863https://ci.adoptium.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/).
864Download the latest `.tar.gz` file, unpack it, and point `--with-jtreg` to the864Download the latest `.tar.gz` file, unpack it, and point `--with-jtreg` to the
865`jtreg` directory that you just unpacked.865`jtreg` directory that you just unpacked.
866866
diff --git a/doc/hotspot-style.html b/doc/hotspot-style.html
index 777d69b..ced607d 100644
--- a/doc/hotspot-style.html
+++ b/doc/hotspot-style.html
@@ -82,6 +82,7 @@ id="toc-uniform-initialization">Uniform Initialization</a></li>
82id="toc-local-function-objects">Local Function Objects</a></li>82id="toc-local-function-objects">Local Function Objects</a></li>
83<li><a href="#inheriting-constructors"83<li><a href="#inheriting-constructors"
84id="toc-inheriting-constructors">Inheriting constructors</a></li>84id="toc-inheriting-constructors">Inheriting constructors</a></li>
85<li><a href="#attributes" id="toc-attributes">Attributes</a></li>
85<li><a href="#additional-permitted-features"86<li><a href="#additional-permitted-features"
86id="toc-additional-permitted-features">Additional Permitted87id="toc-additional-permitted-features">Additional Permitted
87Features</a></li>88Features</a></li>
@@ -597,10 +598,17 @@ conventions might appear jarring and reduce readability.</p></li>
597<code>std::nothrow</code>, and <code>std::nothrow_t</code>.</li>598<code>std::nothrow</code>, and <code>std::nothrow_t</code>.</li>
598<li><code>#include &lt;limits&gt;</code> to use599<li><code>#include &lt;limits&gt;</code> to use
599<code>std::numeric_limits</code>.</li>600<code>std::numeric_limits</code>.</li>
600<li><code>#include &lt;type_traits&gt;</code>.</li>601<li><code>#include &lt;type_traits&gt;</code> with some restrictions,
602listed below.</li>
601<li><code>#include &lt;cstddef&gt;</code> to use603<li><code>#include &lt;cstddef&gt;</code> to use
602<code>std::nullptr_t</code> and <code>std::max_align_t</code>.</li>604<code>std::nullptr_t</code> and <code>std::max_align_t</code>.</li>
603</ul>605</ul>
606<p>Certain restrictions apply to the declarations provided by
607<code>&lt;type_traits&gt;</code>.</p>
608<ul>
609<li>The <code>alignof</code> operator should be used rather than
610<code>std::alignment_of&lt;&gt;</code>.</li>
611</ul>
604<p>TODO: Rather than directly #including (permitted) Standard Library612<p>TODO: Rather than directly #including (permitted) Standard Library
605headers, use a convention of #including wrapper headers (in some613headers, use a convention of #including wrapper headers (in some
606location like hotspot/shared/stdcpp). This provides a single place for614location like hotspot/shared/stdcpp). This provides a single place for
@@ -1057,9 +1065,36 @@ using C++17 or later. It is also enabled by default for
1057C++11/14, as the change is considered a Defect Report that applies to1065C++11/14, as the change is considered a Defect Report that applies to
1058those versions. Earlier versions of gcc don't have that option, and1066those versions. Earlier versions of gcc don't have that option, and
1059other supported compilers may not have anything similar.</p>1067other supported compilers may not have anything similar.</p>
1068<h3 id="attributes">Attributes</h3>
1069<p>The use of some attributes (<a
1070href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf">n2761</a>)
1071(listed below) is permitted. (Note that some of the attributes defined
1072in that paper didn't make it into the final specification.)</p>
1073<p>Attributes are syntactically permitted in a broad set of locations,
1074but specific attributes are only permitted in a subset of those
1075locations. In some cases an attribute that appertains to a given element
1076may be placed in any of several locations with the same meaning. In
1077those cases HotSpot has a preferred location.</p>
1078<ul>
1079<li>An attribute that appertains to a function is placed at the
1080beginning of the function's declaration, rather than between the
1081function name and the parameter list.</li>
1082</ul>
1083<p>Only the following attributes are permitted:</p>
1084<ul>
1085<li><code>[[noreturn]]</code></li>
1086</ul>
1087<p>The following attributes are expressly forbidden:</p>
1088<ul>
1089<li><code>[[carries_dependency]]</code> - Related to
1090<code>memory_order_consume</code>.</li>
1091<li><code>[[deprecated]]</code> - Not relevant in HotSpot code.</li>
1092</ul>
1060<h3 id="additional-permitted-features">Additional Permitted1093<h3 id="additional-permitted-features">Additional Permitted
1061Features</h3>1094Features</h3>
1062<ul>1095<ul>
1096<li><p><code>alignof</code> (<a
1097href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf">n2341</a>)</p></li>
1063<li><p><code>constexpr</code> (<a1098<li><p><code>constexpr</code> (<a
1064href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf">n2235</a>)1099href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf">n2235</a>)
1065(<a1100(<a
@@ -1149,9 +1184,6 @@ initialization or destruction. Initialization order problems can be
1149difficult to deal with and lead to surprises, as can destruction1184difficult to deal with and lead to surprises, as can destruction
1150ordering. HotSpot doesn't generally try to cleanup on exit, and running1185ordering. HotSpot doesn't generally try to cleanup on exit, and running
1151destructors at exit can also lead to problems.</p></li>1186destructors at exit can also lead to problems.</p></li>
1152<li><p><code>[[deprecated]]</code> attribute (<a
1153href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html">n3760</a>)
1154— Not relevant in HotSpot code.</p></li>
1155<li><p>Avoid most operator overloading, preferring named functions. When1187<li><p>Avoid most operator overloading, preferring named functions. When
1156operator overloading is used, ensure the semantics conform to the normal1188operator overloading is used, ensure the semantics conform to the normal
1157expected behavior of the operation.</p></li>1189expected behavior of the operation.</p></li>
@@ -1171,8 +1203,6 @@ href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm">n2541</
1171href="https://isocpp.org/files/papers/N3651.pdf">n3651</a>)</p></li>1203href="https://isocpp.org/files/papers/N3651.pdf">n3651</a>)</p></li>
1172<li><p>Member initializers and aggregates (<a1204<li><p>Member initializers and aggregates (<a
1173href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html">n3653</a>)</p></li>1205href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html">n3653</a>)</p></li>
1174<li><p><code>[[noreturn]]</code> attribute (<a
1175href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf">n2761</a>)</p></li>
1176<li><p>Rvalue references and move semantics</p></li>1206<li><p>Rvalue references and move semantics</p></li>
1177</ul>1207</ul>
1178</body>1208</body>
diff --git a/doc/hotspot-style.md b/doc/hotspot-style.md
index 5554534..9743c77 100644
--- a/doc/hotspot-style.md
+++ b/doc/hotspot-style.md
@@ -572,9 +572,13 @@ There are a few exceptions to this rule.
572572
573* `#include <new>` to use placement `new`, `std::nothrow`, and `std::nothrow_t`.573* `#include <new>` to use placement `new`, `std::nothrow`, and `std::nothrow_t`.
574* `#include <limits>` to use `std::numeric_limits`.574* `#include <limits>` to use `std::numeric_limits`.
575* `#include <type_traits>`.575* `#include <type_traits>` with some restrictions, listed below.
576* `#include <cstddef>` to use `std::nullptr_t` and `std::max_align_t`.576* `#include <cstddef>` to use `std::nullptr_t` and `std::max_align_t`.
577577
578Certain restrictions apply to the declarations provided by `<type_traits>`.
579
580* The `alignof` operator should be used rather than `std::alignment_of<>`.
581
578TODO: Rather than directly \#including (permitted) Standard Library582TODO: Rather than directly \#including (permitted) Standard Library
579headers, use a convention of \#including wrapper headers (in some583headers, use a convention of \#including wrapper headers (in some
580location like hotspot/shared/stdcpp). This provides a single place584location like hotspot/shared/stdcpp). This provides a single place
@@ -1054,8 +1058,37 @@ and other supported compilers may not have anything similar.
1054[p0136r1]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0136r1.html1058[p0136r1]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0136r1.html
1055 "p0136r1"1059 "p0136r1"
10561060
1061### Attributes
1062
1063The use of some attributes
1064([n2761](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf))
1065(listed below) is permitted. (Note that some of the attributes defined in
1066that paper didn't make it into the final specification.)
1067
1068Attributes are syntactically permitted in a broad set of locations, but
1069specific attributes are only permitted in a subset of those locations. In
1070some cases an attribute that appertains to a given element may be placed in
1071any of several locations with the same meaning. In those cases HotSpot has a
1072preferred location.
1073
1074* An attribute that appertains to a function is placed at the beginning of the
1075function's declaration, rather than between the function name and the parameter
1076list.
1077
1078Only the following attributes are permitted:
1079
1080* `[[noreturn]]`
1081
1082The following attributes are expressly forbidden:
1083
1084* `[[carries_dependency]]` - Related to `memory_order_consume`.
1085* `[[deprecated]]` - Not relevant in HotSpot code.
1086
1057### Additional Permitted Features1087### Additional Permitted Features
10581088
1089* `alignof`
1090([n2341](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf))
1091
1059* `constexpr`1092* `constexpr`
1060([n2235](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf))1093([n2235](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf))
1061([n3652](https://isocpp.org/files/papers/N3652.html))1094([n3652](https://isocpp.org/files/papers/N3652.html))
@@ -1153,10 +1186,6 @@ difficult to deal with and lead to surprises, as can destruction
1153ordering. HotSpot doesn't generally try to cleanup on exit, and1186ordering. HotSpot doesn't generally try to cleanup on exit, and
1154running destructors at exit can also lead to problems.1187running destructors at exit can also lead to problems.
11551188
1156* `[[deprecated]]` attribute
1157([n3760](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html)) &mdash;
1158Not relevant in HotSpot code.
1159
1160* Avoid most operator overloading, preferring named functions. When1189* Avoid most operator overloading, preferring named functions. When
1161operator overloading is used, ensure the semantics conform to the1190operator overloading is used, ensure the semantics conform to the
1162normal expected behavior of the operation.1191normal expected behavior of the operation.
@@ -1181,9 +1210,6 @@ features that have not yet been discussed.
1181* Member initializers and aggregates1210* Member initializers and aggregates
1182([n3653](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html))1211([n3653](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html))
11831212
1184* `[[noreturn]]` attribute
1185([n2761](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf))
1186
1187* Rvalue references and move semantics1213* Rvalue references and move semantics
11881214
1189[ADL]: https://en.cppreference.com/w/cpp/language/adl1215[ADL]: https://en.cppreference.com/w/cpp/language/adl
diff --git a/doc/ide.html b/doc/ide.html
index d6e5103..18d4561 100644
--- a/doc/ide.html
+++ b/doc/ide.html
@@ -79,6 +79,45 @@ native source. After configuring, the project is generated using:</p>
79<code>ide\hotspot-visualstudio</code> subfolder of the build output79<code>ide\hotspot-visualstudio</code> subfolder of the build output
80folder. The file can be opened in Visual Studio via80folder. The file can be opened in Visual Studio via
81<code>File -&gt; Open -&gt; Project/Solution</code>.</p>81<code>File -&gt; Open -&gt; Project/Solution</code>.</p>
82<h4 id="eclipse-cdt">Eclipse CDT</h4>
83<p>The make system can generate an Eclipse CDT Workspace that enables
84Eclipse indexing for the C and C++ sources throughout the entire
85codebase, as well as registering all common make targets to be runnable
86from the Eclipse explorer. This can be done after configuring by
87running:</p>
88<pre><code>make eclipse-native-env</code></pre>
89<p>After this is run, simply open and import the workspace in Eclipse
90through
91<code>File -&gt; Import -&gt; Projects from Folder or Archive</code> and
92at <code>Import source</code> click on the directory
93<code>ide\eclipse</code>, which can be found in the build output
94folder.</p>
95<p>If this doesn't work, you can also try
96<code>File -&gt; Import -&gt; Existing Projects into Workspace</code>
97instead.</p>
98<p>Setting up an Eclipse Workspace is relatively lightweight compared to
99other supported IDEs, but requires that your CDT installation has Cross
100GCC support enabled at the moment, even if you aren't cross compiling.
101The Visual C++ compiler is, at present, not supported as an indexer.</p>
102<p>If desired, you can instead request make to only include indexing
103support for just the Java Virtual Machine instead of the entire native
104codebase, by running:</p>
105<pre><code>make eclipse-hotspot-env</code></pre>
106<p>If you think your particular Eclipse installation can handle the
107strain, the make system also supports generating a combined Java and
108C/C++ Workspace for Eclipse which can then conveniently switch between
109Java and C/C++ natures during development by running:</p>
110<pre><code>make eclipse-mixed-env</code></pre>
111<p>Do note that this generates all features that come with both Java and
112C/C++ natures.</p>
113<p>By default, the Eclipse Workspace is located in the ide subdirectory
114in the build output. To share the JDK's source directory with the
115Eclipse Workspace, you can instead run:</p>
116<pre><code>make eclipse-shared-&lt;ENV&gt;-env</code></pre>
117<p>Eclipse support in the JDK is relatively new, so do keep in mind that
118not everything may work at the moment. As such, the resulting Workspace
119also has compilation database parsing support enabled, so you can pass
120Eclipse the compile commands file (see below) if all else fails.</p>
82<h4 id="compilation-database">Compilation Database</h4>121<h4 id="compilation-database">Compilation Database</h4>
83<p>The make system can generate generic native code indexing support in122<p>The make system can generate generic native code indexing support in
84the form of a <a123the form of a <a
@@ -105,5 +144,28 @@ select the folder where you ran the above script.</p>
105<p>In order to run the tests from the IDE, you can use the JTReg plugin.144<p>In order to run the tests from the IDE, you can use the JTReg plugin.
106Instructions for building and using the plugin can be found <a145Instructions for building and using the plugin can be found <a
107href="https://github.com/openjdk/jtreg/tree/master/plugins/idea">here</a>.</p>146href="https://github.com/openjdk/jtreg/tree/master/plugins/idea">here</a>.</p>
147<h4 id="eclipse">Eclipse</h4>
148<p>Eclipse JDT is a widely used Java IDE and has been for a very long
149time, being a popular choice alongside IntelliJ IDEA for Java
150development. Likewise, the JDK now includes support for developing its
151Java sources with Eclipse, which can be achieved by setting up a Java
152Workspace by running:</p>
153<pre><code>make eclipse-java-env</code></pre>
154<p>After the workspace has been generated you can import it in the same
155way as you would with Eclipse CDT:</p>
156<p>Follow
157<code>File -&gt; Import -&gt; Projects from Folder or Archive</code> and
158select the <code>ide\eclipse</code> directory in the build output folder
159to import the newly created Java Workspace.</p>
160<p>If doing so results in an error, you can also import the JDK via
161<code>File -&gt; Import -&gt; Existing Projects into Workspace</code> as
162a last resort.</p>
163<p>Alternatively, if you want a Java Workspace inside the JDK's source
164directory, you can instead run:</p>
165<pre><code>make eclipse-shared-java-env</code></pre>
166<p>As mentioned above for Eclipse CDT, you can create a combined Java
167and C/C++ Workspace which can conveniently switch between Java and C/C++
168natures during development by running:</p>
169<pre><code>make eclipse-mixed-env</code></pre>
108</body>170</body>
109</html>171</html>
diff --git a/doc/ide.md b/doc/ide.md
index f0a419c..3a1c9de 100644
--- a/doc/ide.md
+++ b/doc/ide.md
@@ -56,6 +56,63 @@ This creates a file named `jvm.vcxproj` in `ide\hotspot-visualstudio`
56subfolder of the build output folder. The file can be opened in Visual Studio56subfolder of the build output folder. The file can be opened in Visual Studio
57via `File -> Open -> Project/Solution`.57via `File -> Open -> Project/Solution`.
5858
59#### Eclipse CDT
60
61The make system can generate an Eclipse CDT Workspace that enables Eclipse
62indexing for the C and C++ sources throughout the entire codebase, as well as
63registering all common make targets to be runnable from the Eclipse explorer.
64This can be done after configuring by running:
65
66```
67make eclipse-native-env
68```
69
70After this is run, simply open and import the workspace in Eclipse through
71`File -> Import -> Projects from Folder or Archive` and at
72`Import source` click on the directory `ide\eclipse`, which can be
73found in the build output folder.
74
75If this doesn't work, you can also try
76`File -> Import -> Existing Projects into Workspace`
77instead.
78
79Setting up an Eclipse Workspace is relatively lightweight compared to other
80supported IDEs, but requires that your CDT installation has Cross GCC support
81enabled at the moment, even if you aren't cross compiling. The Visual C++
82compiler is, at present, not supported as an indexer.
83
84If desired, you can instead request make to only include indexing support for
85just the Java Virtual Machine instead of the entire native codebase, by running:
86
87```
88make eclipse-hotspot-env
89```
90
91If you think your particular Eclipse installation can handle the strain, the
92make system also supports generating a combined Java and C/C++ Workspace for
93Eclipse which can then conveniently switch between Java and C/C++ natures
94during development by running:
95
96```
97make eclipse-mixed-env
98```
99
100Do note that this generates all features that come with both Java and C/C++
101natures.
102
103By default, the Eclipse Workspace is located in the ide subdirectory in the
104build output. To share the JDK's source directory with the Eclipse Workspace,
105you can instead run:
106
107```
108make eclipse-shared-<ENV>-env
109```
110
111Eclipse support in the JDK is relatively new, so do keep in mind that not
112everything may work at the moment. As such, the resulting Workspace also
113has compilation database parsing support enabled, so you can pass Eclipse
114the compile commands file (see below) if all else fails.
115
59#### Compilation Database116#### Compilation Database
60117
61The make system can generate generic native code indexing support in the form of118The make system can generate generic native code indexing support in the form of
@@ -96,3 +153,40 @@ as the SDK to use.
96In order to run the tests from the IDE, you can use the JTReg plugin.153In order to run the tests from the IDE, you can use the JTReg plugin.
97Instructions for building and using the plugin can be found154Instructions for building and using the plugin can be found
98[here](https://github.com/openjdk/jtreg/tree/master/plugins/idea).155[here](https://github.com/openjdk/jtreg/tree/master/plugins/idea).
156
157#### Eclipse
158
159Eclipse JDT is a widely used Java IDE and has been for a very long time, being
160a popular choice alongside IntelliJ IDEA for Java development. Likewise, the
161JDK now includes support for developing its Java sources with Eclipse, which
162can be achieved by setting up a Java Workspace by running:
163
164```
165make eclipse-java-env
166```
167
168After the workspace has been generated you can import it in the same way as
169you would with Eclipse CDT:
170
171Follow `File -> Import -> Projects from Folder or Archive` and select the
172`ide\eclipse` directory in the build output folder to import the newly created
173Java Workspace.
174
175If doing so results in an error, you can also import the JDK via
176`File -> Import -> Existing Projects into Workspace`
177as a last resort.
178
179Alternatively, if you want a Java Workspace inside the JDK's source directory,
180you can instead run:
181
182```
183make eclipse-shared-java-env
184```
185
186As mentioned above for Eclipse CDT, you can create a combined Java and C/C++
187Workspace which can conveniently switch between Java and C/C++ natures during
188development by running:
189
190```
191make eclipse-mixed-env
192```
diff --git a/doc/testing.html b/doc/testing.html
index 9962b6b..37d4df6 100644
--- a/doc/testing.html
+++ b/doc/testing.html
@@ -578,12 +578,13 @@ directories.</p>
578<p>For more notes about the PKCS11 tests, please refer to578<p>For more notes about the PKCS11 tests, please refer to
579test/jdk/sun/security/pkcs11/README.</p>579test/jdk/sun/security/pkcs11/README.</p>
580<h3 id="client-ui-tests">Client UI Tests</h3>580<h3 id="client-ui-tests">Client UI Tests</h3>
581<h4 id="system-key-shortcuts">System key shortcuts</h4>
581<p>Some Client UI tests use key sequences which may be reserved by the582<p>Some Client UI tests use key sequences which may be reserved by the
582operating system. Usually that causes the test failure. So it is highly583operating system. Usually that causes the test failure. So it is highly
583recommended to disable system key shortcuts prior testing. The steps to584recommended to disable system key shortcuts prior testing. The steps to
584access and disable system key shortcuts for various platforms are585access and disable system key shortcuts for various platforms are
585provided below.</p>586provided below.</p>
586<h4 id="macos">MacOS</h4>587<h5 id="macos">macOS</h5>
587<p>Choose Apple menu; System Preferences, click Keyboard, then click588<p>Choose Apple menu; System Preferences, click Keyboard, then click
588Shortcuts; select or deselect desired shortcut.</p>589Shortcuts; select or deselect desired shortcut.</p>
589<p>For example,590<p>For example,
@@ -594,17 +595,41 @@ operating system. To run the test correctly the default global key
594shortcut should be disabled using the steps described above, and then595shortcut should be disabled using the steps described above, and then
595deselect "Turn keyboard access on or off" option which is responsible596deselect "Turn keyboard access on or off" option which is responsible
596for <code>CTRL + F1</code> combination.</p>597for <code>CTRL + F1</code> combination.</p>
597<h4 id="linux">Linux</h4>598<h5 id="linux">Linux</h5>
598<p>Open the Activities overview and start typing Settings; Choose599<p>Open the Activities overview and start typing Settings; Choose
599Settings, click Devices, then click Keyboard; set or override desired600Settings, click Devices, then click Keyboard; set or override desired
600shortcut.</p>601shortcut.</p>
601<h4 id="windows">Windows</h4>602<h5 id="windows">Windows</h5>
602<p>Type <code>gpedit</code> in the Search and then click Edit group603<p>Type <code>gpedit</code> in the Search and then click Edit group
603policy; navigate to User Configuration -&gt; Administrative Templates604policy; navigate to User Configuration -&gt; Administrative Templates
604-&gt; Windows Components -&gt; File Explorer; in the right-side pane605-&gt; Windows Components -&gt; File Explorer; in the right-side pane
605look for "Turn off Windows key hotkeys" and double click on it; enable606look for "Turn off Windows key hotkeys" and double click on it; enable
606or disable hotkeys.</p>607or disable hotkeys.</p>
607<p>Note: restart is required to make the settings take effect.</p>608<p>Note: restart is required to make the settings take effect.</p>
609<h4 id="robot-api">Robot API</h4>
610<p>Most automated Client UI tests use <code>Robot</code> API to control
611the UI. Usually, the default operating system settings need to be
612adjusted for Robot to work correctly. The detailed steps how to access
613and update these settings for different platforms are provided
614below.</p>
615<h5 id="macos-1">macOS</h5>
616<p><code>Robot</code> is not permitted to control your Mac by default
617since macOS 10.15. To allow it, choose Apple menu -&gt; System Settings,
618click Privacy &amp; Security; then click Accessibility and ensure the
619following apps are allowed to control your computer: <em>Java</em> and
620<em>Terminal</em>. If the tests are run from an IDE, the IDE should be
621granted this permission too.</p>
622<h5 id="windows-1">Windows</h5>
623<p>On Windows if Cygwin terminal is used to run the tests, there is a
624delay in focus transfer. Usually it causes automated UI test failure. To
625disable the delay, type <code>regedit</code> in the Search and then
626select Registry Editor; navigate to the following key:
627<code>HKEY_CURRENT_USER\Control Panel\Desktop</code>; make sure the
628<code>ForegroundLockTimeout</code> value is set to 0.</p>
629<p>Additional information about Client UI tests configuration for
630various operating systems can be obtained at <a
631href="https://wiki.openjdk.org/display/ClientLibs/Automated+client+GUI+testing+system+set+up+requirements">Automated
632client GUI testing system set up requirements</a></p>
608<h2 id="editing-this-document">Editing this document</h2>633<h2 id="editing-this-document">Editing this document</h2>
609<p>If you want to contribute changes to this document, edit634<p>If you want to contribute changes to this document, edit
610<code>doc/testing.md</code> and then run635<code>doc/testing.md</code> and then run
diff --git a/doc/testing.md b/doc/testing.md
index 9535388..3de0c26 100644
--- a/doc/testing.md
+++ b/doc/testing.md
@@ -606,12 +606,14 @@ test/jdk/sun/security/pkcs11/README.
606606
607### Client UI Tests607### Client UI Tests
608608
609#### System key shortcuts
610
609Some Client UI tests use key sequences which may be reserved by the operating611Some Client UI tests use key sequences which may be reserved by the operating
610system. Usually that causes the test failure. So it is highly recommended to612system. Usually that causes the test failure. So it is highly recommended to
611disable system key shortcuts prior testing. The steps to access and disable613disable system key shortcuts prior testing. The steps to access and disable
612system key shortcuts for various platforms are provided below.614system key shortcuts for various platforms are provided below.
613615
614#### MacOS616##### macOS
615617
616Choose Apple menu; System Preferences, click Keyboard, then click Shortcuts;618Choose Apple menu; System Preferences, click Keyboard, then click Shortcuts;
617select or deselect desired shortcut.619select or deselect desired shortcut.
@@ -624,12 +626,12 @@ test correctly the default global key shortcut should be disabled using the
624steps described above, and then deselect "Turn keyboard access on or off"626steps described above, and then deselect "Turn keyboard access on or off"
625option which is responsible for `CTRL + F1` combination.627option which is responsible for `CTRL + F1` combination.
626628
627#### Linux629##### Linux
628630
629Open the Activities overview and start typing Settings; Choose Settings, click631Open the Activities overview and start typing Settings; Choose Settings, click
630Devices, then click Keyboard; set or override desired shortcut.632Devices, then click Keyboard; set or override desired shortcut.
631633
632#### Windows634##### Windows
633635
634Type `gpedit` in the Search and then click Edit group policy; navigate to User636Type `gpedit` in the Search and then click Edit group policy; navigate to User
635Configuration -> Administrative Templates -> Windows Components -> File637Configuration -> Administrative Templates -> Windows Components -> File
@@ -638,6 +640,33 @@ double click on it; enable or disable hotkeys.
638640
639Note: restart is required to make the settings take effect.641Note: restart is required to make the settings take effect.
640642
643#### Robot API
644
645Most automated Client UI tests use `Robot` API to control the UI. Usually,
646the default operating system settings need to be adjusted for Robot
647to work correctly. The detailed steps how to access and update these settings
648for different platforms are provided below.
649
650##### macOS
651
652`Robot` is not permitted to control your Mac by default since
653macOS 10.15. To allow it, choose Apple menu -> System Settings, click
654Privacy & Security; then click Accessibility and ensure the following apps are
655allowed to control your computer: *Java* and *Terminal*. If the tests are run
656from an IDE, the IDE should be granted this permission too.
657
658##### Windows
659
660On Windows if Cygwin terminal is used to run the tests, there is a delay in
661focus transfer. Usually it causes automated UI test failure. To disable the
662delay, type `regedit` in the Search and then select Registry Editor; navigate
663to the following key: `HKEY_CURRENT_USER\Control Panel\Desktop`; make sure
664the `ForegroundLockTimeout` value is set to 0.
665
666Additional information about Client UI tests configuration for various operating
667systems can be obtained at [Automated client GUI testing system set up
668requirements](https://wiki.openjdk.org/display/ClientLibs/Automated+client+GUI+testing+system+set+up+requirements)
669
641## Editing this document670## Editing this document
642671
643If you want to contribute changes to this document, edit `doc/testing.md` and672If you want to contribute changes to this document, edit `doc/testing.md` and
diff --git a/make/Bundles.gmk b/make/Bundles.gmk
index 9dc5f96..e6955bf 100644
--- a/make/Bundles.gmk
+++ b/make/Bundles.gmk
@@ -1,5 +1,5 @@
1#1#
2# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.2# Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved.
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#4#
5# This code is free software; you can redistribute it and/or modify it5# This code is free software; you can redistribute it and/or modify it
@@ -449,7 +449,7 @@ ifneq ($(filter jcov-bundles, $(MAKECMDGOALS)), )
449 BUNDLE_NAME := $(JCOV_BUNDLE_NAME), \449 BUNDLE_NAME := $(JCOV_BUNDLE_NAME), \
450 FILES := $(JCOV_BUNDLE_FILES), \450 FILES := $(JCOV_BUNDLE_FILES), \
451 BASE_DIRS := $(JCOV_IMAGE_DIR), \451 BASE_DIRS := $(JCOV_IMAGE_DIR), \
452 SUBDIR := $(JDK_BUNDLE_SUBDIR), \452 SUBDIR := jdk-$(VERSION_NUMBER), \
453 ))453 ))
454454
455 JCOV_TARGETS += $(BUILD_JCOV_BUNDLE)455 JCOV_TARGETS += $(BUILD_JCOV_BUNDLE)
diff --git a/make/CompileToolsJdk.gmk b/make/CompileToolsJdk.gmk
index d937cdd..dceca48 100644
--- a/make/CompileToolsJdk.gmk
+++ b/make/CompileToolsJdk.gmk
@@ -1,5 +1,5 @@
1#1#
2# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.2# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#4#
5# This code is free software; you can redistribute it and/or modify it5# This code is free software; you can redistribute it and/or modify it
@@ -69,6 +69,13 @@ $(eval $(call SetupCopyFiles,COPY_NIMBUS_TEMPLATES, \
6969
70TARGETS += $(COPY_NIMBUS_TEMPLATES)70TARGETS += $(COPY_NIMBUS_TEMPLATES)
7171
72$(eval $(call SetupCopyFiles,COPY_CLDRCONVERTER_PROPERTIES, \
73 SRC := $(TOPDIR)/make/jdk/src/classes/build/tools/cldrconverter, \
74 DEST := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes/build/tools/cldrconverter, \
75 FILES := $(wildcard $(TOPDIR)/make/jdk/src/classes/build/tools/cldrconverter/*.properties)))
76
77TARGETS += $(COPY_CLDRCONVERTER_PROPERTIES)
78
72################################################################################79################################################################################
7380
74$(eval $(call SetupJavaCompilation, COMPILE_DEPEND, \81$(eval $(call SetupJavaCompilation, COMPILE_DEPEND, \
diff --git a/make/Docs.gmk b/make/Docs.gmk
index 33d531e..515f1c7 100644
--- a/make/Docs.gmk
+++ b/make/Docs.gmk
@@ -110,12 +110,14 @@ JAVA_WARNINGS_ARE_ERRORS ?= -Werror
110JAVADOC_OPTIONS := -use -keywords -notimestamp \110JAVADOC_OPTIONS := -use -keywords -notimestamp \
111 -encoding ISO-8859-1 -docencoding UTF-8 -breakiterator \111 -encoding ISO-8859-1 -docencoding UTF-8 -breakiterator \
112 -splitIndex --system none -javafx --expand-requires transitive \112 -splitIndex --system none -javafx --expand-requires transitive \
113 --enable-preview -source $(JDK_SOURCE_TARGET_VERSION) \
113 --override-methods=summary114 --override-methods=summary
114115
115# The reference options must stay stable to allow for comparisons across the116# The reference options must stay stable to allow for comparisons across the
116# development cycle.117# development cycle.
117REFERENCE_OPTIONS := -XDignore.symbol.file=true -use -keywords -notimestamp \118REFERENCE_OPTIONS := -XDignore.symbol.file=true -use -keywords -notimestamp \
118 -encoding ISO-8859-1 -breakiterator -splitIndex --system none \119 -encoding ISO-8859-1 -breakiterator -splitIndex --system none \
120 --enable-preview -source $(JDK_SOURCE_TARGET_VERSION) \
119 -html5 -javafx --expand-requires transitive121 -html5 -javafx --expand-requires transitive
120122
121# Should we add DRAFT stamps to the generated javadoc?123# Should we add DRAFT stamps to the generated javadoc?
diff --git a/make/Main.gmk b/make/Main.gmk
index fec5d26..3c7c30c 100644
--- a/make/Main.gmk
+++ b/make/Main.gmk
@@ -257,6 +257,46 @@ $(eval $(call SetupTarget, hotspot-ide-project, \
257 ARGS := -I$(TOPDIR)/make/hotspot, \257 ARGS := -I$(TOPDIR)/make/hotspot, \
258))258))
259259
260$(eval $(call SetupTarget, eclipse-java-env, \
261 MAKEFILE := ide/eclipse/CreateWorkspace, \
262 ARGS := --always-make WORKSPACE=java SHARED=false, \
263))
264
265$(eval $(call SetupTarget, eclipse-hotspot-env, \
266 MAKEFILE := ide/eclipse/CreateWorkspace, \
267 ARGS := --always-make WORKSPACE=hotspot SHARED=false, \
268))
269
270$(eval $(call SetupTarget, eclipse-native-env, \
271 MAKEFILE := ide/eclipse/CreateWorkspace, \
272 ARGS := --always-make WORKSPACE=native SHARED=false, \
273))
274
275$(eval $(call SetupTarget, eclipse-mixed-env, \
276 MAKEFILE := ide/eclipse/CreateWorkspace, \
277 ARGS := --always-make SHARED=false, \
278))
279
280$(eval $(call SetupTarget, eclipse-shared-java-env, \
281 MAKEFILE := ide/eclipse/CreateWorkspace, \
282 ARGS := --always-make WORKSPACE=java SHARED=true, \
283))
284
285$(eval $(call SetupTarget, eclipse-shared-hotspot-env, \
286 MAKEFILE := ide/eclipse/CreateWorkspace, \
287 ARGS := --always-make WORKSPACE=hotspot SHARED=true, \
288))
289
290$(eval $(call SetupTarget, eclipse-shared-native-env, \
291 MAKEFILE := ide/eclipse/CreateWorkspace, \
292 ARGS := --always-make WORKSPACE=native SHARED=true, \
293))
294
295$(eval $(call SetupTarget, eclipse-shared-mixed-env, \
296 MAKEFILE := ide/eclipse/CreateWorkspace, \
297 ARGS := --always-make SHARED=true, \
298))
299
260ALL_TARGETS += $(HOTSPOT_VARIANT_TARGETS) $(HOTSPOT_VARIANT_GENSRC_TARGETS) \300ALL_TARGETS += $(HOTSPOT_VARIANT_TARGETS) $(HOTSPOT_VARIANT_GENSRC_TARGETS) \
261 $(HOTSPOT_VARIANT_LIBS_TARGETS)301 $(HOTSPOT_VARIANT_LIBS_TARGETS)
262302
diff --git a/make/ReleaseFile.gmk b/make/ReleaseFile.gmk
index 0424e2f..5e8d123 100644
--- a/make/ReleaseFile.gmk
+++ b/make/ReleaseFile.gmk
@@ -51,6 +51,7 @@ define create-info-file
51 $(if $(VENDOR_VERSION_STRING), \51 $(if $(VENDOR_VERSION_STRING), \
52 $(call info-file-item, "IMPLEMENTOR_VERSION", "$(VENDOR_VERSION_STRING)"))52 $(call info-file-item, "IMPLEMENTOR_VERSION", "$(VENDOR_VERSION_STRING)"))
53 $(call info-file-item, "JAVA_VERSION_DATE", "$(VERSION_DATE)")53 $(call info-file-item, "JAVA_VERSION_DATE", "$(VERSION_DATE)")
54 $(call info-file-item, "JAVA_RUNTIME_VERSION", "$(VERSION_STRING)")
54 $(call info-file-item, "OS_NAME", "$(RELEASE_FILE_OS_NAME)")55 $(call info-file-item, "OS_NAME", "$(RELEASE_FILE_OS_NAME)")
55 $(call info-file-item, "OS_ARCH", "$(RELEASE_FILE_OS_ARCH)")56 $(call info-file-item, "OS_ARCH", "$(RELEASE_FILE_OS_ARCH)")
56 $(call info-file-item, "LIBC", "$(RELEASE_FILE_LIBC)")57 $(call info-file-item, "LIBC", "$(RELEASE_FILE_LIBC)")
diff --git a/make/RunTests.gmk b/make/RunTests.gmk
index 894e095..5034207 100644
--- a/make/RunTests.gmk
+++ b/make/RunTests.gmk
@@ -592,7 +592,16 @@ define SetupRunMicroTestBody
592 endif592 endif
593593
594 # Set library path for native dependencies594 # Set library path for native dependencies
595 $1_JMH_JVM_ARGS := -Djava.library.path=$$(TEST_IMAGE_DIR)/micro/native595 $1_JMH_JVM_ARGS := -Djava.library.path=$$(TEST_IMAGE_DIR)/micro/native \
596 --add-exports java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
597 --add-exports java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED \
598 --add-exports java.base/jdk.internal.classfile=ALL-UNNAMED \
599 --add-exports java.base/jdk.internal.classfile.attribute=ALL-UNNAMED \
600 --add-exports java.base/jdk.internal.classfile.constantpool=ALL-UNNAMED \
601 --add-exports java.base/jdk.internal.classfile.instruction=ALL-UNNAMED \
602 --add-exports java.base/jdk.internal.classfile.java.lang.constant=ALL-UNNAMED \
603 --add-exports java.base/jdk.internal.classfile.components=ALL-UNNAMED \
604 --add-exports java.base/jdk.internal.classfile.impl=ALL-UNNAMED
596605
597 ifneq ($$(MICRO_VM_OPTIONS)$$(MICRO_JAVA_OPTIONS), )606 ifneq ($$(MICRO_VM_OPTIONS)$$(MICRO_JAVA_OPTIONS), )
598 $1_JMH_JVM_ARGS += $$(MICRO_VM_OPTIONS) $$(MICRO_JAVA_OPTIONS)607 $1_JMH_JVM_ARGS += $$(MICRO_VM_OPTIONS) $$(MICRO_JAVA_OPTIONS)
diff --git a/make/autoconf/basic_tools.m4 b/make/autoconf/basic_tools.m4
index aeec136..c21ca52 100644
--- a/make/autoconf/basic_tools.m4
+++ b/make/autoconf/basic_tools.m4
@@ -286,7 +286,7 @@ AC_DEFUN([BASIC_CHECK_TAR],
286 if test "x$TAR_TYPE" = "xgnu"; then286 if test "x$TAR_TYPE" = "xgnu"; then
287 TAR_INCLUDE_PARAM="T"287 TAR_INCLUDE_PARAM="T"
288 TAR_SUPPORTS_TRANSFORM="true"288 TAR_SUPPORTS_TRANSFORM="true"
289 elif test "x$TAR_TYPE" = "aix"; then289 elif test "x$TAR_TYPE" = "xaix"; then
290 # -L InputList of aix tar: name of file listing the files and directories290 # -L InputList of aix tar: name of file listing the files and directories
291 # that need to be archived or extracted291 # that need to be archived or extracted
292 TAR_INCLUDE_PARAM="L"292 TAR_INCLUDE_PARAM="L"
@@ -434,7 +434,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_PANDOC],
434434
435 if test "x$PANDOC" != x; then435 if test "x$PANDOC" != x; then
436 AC_MSG_CHECKING([for pandoc version])436 AC_MSG_CHECKING([for pandoc version])
437 PANDOC_VERSION=`$PANDOC --version 2>&1 | $HEAD -1 | $CUT -d " " -f 2`437 PANDOC_VERSION=`$PANDOC --version 2>&1 | $TR -d '\r' | $HEAD -1 | $CUT -d " " -f 2`
438 AC_MSG_RESULT([$PANDOC_VERSION])438 AC_MSG_RESULT([$PANDOC_VERSION])
439439
440 if test "x$PANDOC_VERSION" != x$RECOMMENDED_PANDOC_VERSION; then440 if test "x$PANDOC_VERSION" != x$RECOMMENDED_PANDOC_VERSION; then
@@ -443,7 +443,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_PANDOC],
443443
444 PANDOC_MARKDOWN_FLAG="markdown"444 PANDOC_MARKDOWN_FLAG="markdown"
445 AC_MSG_CHECKING([if the pandoc smart extension needs to be disabled for markdown])445 AC_MSG_CHECKING([if the pandoc smart extension needs to be disabled for markdown])
446 if $PANDOC --list-extensions | $GREP -q '\+smart'; then446 if $PANDOC --list-extensions | $GREP -q '+smart'; then
447 AC_MSG_RESULT([yes])447 AC_MSG_RESULT([yes])
448 PANDOC_MARKDOWN_FLAG="markdown-smart"448 PANDOC_MARKDOWN_FLAG="markdown-smart"
449 else449 else
diff --git a/make/autoconf/boot-jdk.m4 b/make/autoconf/boot-jdk.m4
index 85a77d2..960a8ff 100644
--- a/make/autoconf/boot-jdk.m4
+++ b/make/autoconf/boot-jdk.m4
@@ -1,5 +1,5 @@
1#1#
2# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.2# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#4#
5# This code is free software; you can redistribute it and/or modify it5# This code is free software; you can redistribute it and/or modify it
@@ -382,7 +382,7 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
382 # Finally, set some other options...382 # Finally, set some other options...
383383
384 # Determine if the boot jdk jar supports the --date option384 # Determine if the boot jdk jar supports the --date option
385 if $JAR --help 2>&1 | $GREP -q "\-\-date=TIMESTAMP"; then385 if $JAR --help 2>&1 | $GREP -q -e "--date=TIMESTAMP"; then
386 BOOT_JDK_JAR_SUPPORTS_DATE=true386 BOOT_JDK_JAR_SUPPORTS_DATE=true
387 else387 else
388 BOOT_JDK_JAR_SUPPORTS_DATE=false388 BOOT_JDK_JAR_SUPPORTS_DATE=false
diff --git a/make/autoconf/build-aux/config.guess b/make/autoconf/build-aux/config.guess
index dbb441f..afdf7cb 100644
--- a/make/autoconf/build-aux/config.guess
+++ b/make/autoconf/build-aux/config.guess
@@ -68,11 +68,11 @@ if test $? = 0; then
68fi68fi
6969
70# Test and fix wsl70# Test and fix wsl
71echo $OUT | grep unknown-linux-gnu > /dev/null 2> /dev/null71echo $OUT | grep '\(unknown\|pc\)-linux-gnu' > /dev/null 2> /dev/null
72if test $? = 0; then72if test $? = 0; then
73 uname -r | grep -i microsoft > /dev/null 2> /dev/null73 uname -r | grep -i microsoft > /dev/null 2> /dev/null
74 if test $? = 0; then74 if test $? = 0; then
75 OUT=`echo $OUT | sed -e 's/unknown-linux-gnu/pc-wsl/'`75 OUT=`echo $OUT | sed -e 's/\(unknown\|pc\)-linux-gnu/pc-wsl/'`
76 fi76 fi
77fi77fi
7878
diff --git a/make/autoconf/build-performance.m4 b/make/autoconf/build-performance.m4
index 52d143e..3f0ab1b 100644
--- a/make/autoconf/build-performance.m4
+++ b/make/autoconf/build-performance.m4
@@ -1,5 +1,5 @@
1#1#
2# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.2# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#4#
5# This code is free software; you can redistribute it and/or modify it5# This code is free software; you can redistribute it and/or modify it
@@ -26,39 +26,29 @@
26AC_DEFUN([BPERF_CHECK_CORES],26AC_DEFUN([BPERF_CHECK_CORES],
27[27[
28 AC_MSG_CHECKING([for number of cores])28 AC_MSG_CHECKING([for number of cores])
29 NUM_CORES=1
30 FOUND_CORES=no
3129
32 if test -f /proc/cpuinfo; then30 if test -f /proc/cpuinfo; then
33 # Looks like a Linux (or cygwin) system31 # Looks like a Linux (or cygwin) system
34 NUM_CORES=`cat /proc/cpuinfo | grep -c processor`32 NUM_CORES=`cat /proc/cpuinfo | grep -cw processor`
35 if test "$NUM_CORES" -eq "0"; then33 if test "$NUM_CORES" -eq "0"; then
36 NUM_CORES=`cat /proc/cpuinfo | grep -c ^CPU`34 NUM_CORES=`cat /proc/cpuinfo | grep -c ^CPU`
37 fi35 fi
38 if test "$NUM_CORES" -ne "0"; then
39 FOUND_CORES=yes
40 fi
41 elif test -x /usr/sbin/sysctl; then36 elif test -x /usr/sbin/sysctl; then
42 # Looks like a MacOSX system37 # Looks like a MacOSX system
43 NUM_CORES=`/usr/sbin/sysctl -n hw.ncpu`38 NUM_CORES=`/usr/sbin/sysctl -n hw.ncpu`
44 FOUND_CORES=yes
45 elif test "x$OPENJDK_BUILD_OS" = xaix ; then39 elif test "x$OPENJDK_BUILD_OS" = xaix ; then
46 NUM_LCPU=`lparstat -m 2> /dev/null | $GREP -o "lcpu=[[0-9]]*" | $CUT -d "=" -f 2`40 NUM_CORES=`lparstat -m 2> /dev/null | $GREP -o "lcpu=[[0-9]]*" | $CUT -d "=" -f 2`
47 if test -n "$NUM_LCPU"; then
48 NUM_CORES=$NUM_LCPU
49 FOUND_CORES=yes
50 fi
51 elif test -n "$NUMBER_OF_PROCESSORS"; then41 elif test -n "$NUMBER_OF_PROCESSORS"; then
52 # On windows, look in the env42 # On windows, look in the env
53 NUM_CORES=$NUMBER_OF_PROCESSORS43 NUM_CORES=$NUMBER_OF_PROCESSORS
54 FOUND_CORES=yes
55 fi44 fi
5645
57 if test "x$FOUND_CORES" = xyes; then46 if test "$NUM_CORES" -eq "0"; then
58 AC_MSG_RESULT([$NUM_CORES])47 NUM_CORES=1
59 else
60 AC_MSG_RESULT([could not detect number of cores, defaulting to 1])48 AC_MSG_RESULT([could not detect number of cores, defaulting to 1])
61 AC_MSG_WARN([This will disable all parallelism from build!])49 AC_MSG_WARN([This will disable all parallelism from build!])
50 else
51 AC_MSG_RESULT([$NUM_CORES])
62 fi52 fi
63])53])
6454
diff --git a/make/autoconf/configure.ac b/make/autoconf/configure.ac
index df50899..5d48bd9 100644
--- a/make/autoconf/configure.ac
+++ b/make/autoconf/configure.ac
@@ -219,6 +219,9 @@ JDKOPT_SETUP_ADDRESS_SANITIZER
219# UndefinedBehaviorSanitizer219# UndefinedBehaviorSanitizer
220JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER220JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER
221221
222# LeakSanitizer
223JDKOPT_SETUP_LEAK_SANITIZER
224
222###############################################################################225###############################################################################
223#226#
224# Check dependencies for external and internal libraries.227# Check dependencies for external and internal libraries.
diff --git a/make/autoconf/flags-cflags.m4 b/make/autoconf/flags-cflags.m4
index 1fdd014..dee33a4 100644
--- a/make/autoconf/flags-cflags.m4
+++ b/make/autoconf/flags-cflags.m4
@@ -1,5 +1,5 @@
1#1#
2# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.2# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#4#
5# This code is free software; you can redistribute it and/or modify it5# This code is free software; you can redistribute it and/or modify it
@@ -189,6 +189,10 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
189 WARNINGS_ENABLE_ALL_CXXFLAGS="$WARNINGS_ENABLE_ALL_CFLAGS $WARNINGS_ENABLE_ADDITIONAL_CXX"189 WARNINGS_ENABLE_ALL_CXXFLAGS="$WARNINGS_ENABLE_ALL_CFLAGS $WARNINGS_ENABLE_ADDITIONAL_CXX"
190190
191 DISABLED_WARNINGS="unused-parameter unused"191 DISABLED_WARNINGS="unused-parameter unused"
192 # gcc10/11 on ppc generate lots of abi warnings about layout of aggregates containing vectors
193 if test "x$OPENJDK_TARGET_CPU_ARCH" = "xppc"; then
194 DISABLED_WARNINGS="$DISABLED_WARNINGS psabi"
195 fi
192 ;;196 ;;
193197
194 clang)198 clang)
@@ -476,8 +480,7 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
476 ALWAYS_DEFINES_JDK="-DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0602 \480 ALWAYS_DEFINES_JDK="-DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0602 \
477 -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -DWIN32 -DIAL"481 -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -DWIN32 -DIAL"
478 ALWAYS_DEFINES_JVM="-DNOMINMAX -DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0602 \482 ALWAYS_DEFINES_JVM="-DNOMINMAX -DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0602 \
479 -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE \483 -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE"
480 -D_WINSOCK_DEPRECATED_NO_WARNINGS"
481 fi484 fi
482485
483 ###############################################################################486 ###############################################################################
diff --git a/make/autoconf/jdk-options.m4 b/make/autoconf/jdk-options.m4
index babe463..a76fdab 100644
--- a/make/autoconf/jdk-options.m4
+++ b/make/autoconf/jdk-options.m4
@@ -415,7 +415,8 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
415 CHECK_AVAILABLE: [415 CHECK_AVAILABLE: [
416 AC_MSG_CHECKING([if AddressSanitizer (asan) is available])416 AC_MSG_CHECKING([if AddressSanitizer (asan) is available])
417 if test "x$TOOLCHAIN_TYPE" = "xgcc" ||417 if test "x$TOOLCHAIN_TYPE" = "xgcc" ||
418 test "x$TOOLCHAIN_TYPE" = "xclang"; then418 test "x$TOOLCHAIN_TYPE" = "xclang" ||
419 test "x$TOOLCHAIN_TYPE" = "xmicrosoft"; then
419 AC_MSG_RESULT([yes])420 AC_MSG_RESULT([yes])
420 else421 else
421 AC_MSG_RESULT([no])422 AC_MSG_RESULT([no])
@@ -423,11 +424,20 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
423 fi424 fi
424 ],425 ],
425 IF_ENABLED: [426 IF_ENABLED: [
426 # ASan is simply incompatible with gcc -Wstringop-truncation. See427 if test "x$TOOLCHAIN_TYPE" = "xgcc" ||
427 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85650428 test "x$TOOLCHAIN_TYPE" = "xclang"; then
428 # It's harmless to be suppressed in clang as well.429 # ASan is simply incompatible with gcc -Wstringop-truncation. See
429 ASAN_CFLAGS="-fsanitize=address -Wno-stringop-truncation -fno-omit-frame-pointer -fno-common -DADDRESS_SANITIZER"430 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85650
430 ASAN_LDFLAGS="-fsanitize=address"431 # It's harmless to be suppressed in clang as well.
432 ASAN_CFLAGS="-fsanitize=address -Wno-stringop-truncation -fno-omit-frame-pointer -fno-common -DADDRESS_SANITIZER"
433 ASAN_LDFLAGS="-fsanitize=address"
434 elif test "x$TOOLCHAIN_TYPE" = "xmicrosoft"; then
435 # -Oy- is equivalent to -fno-omit-frame-pointer in GCC/Clang.
436 ASAN_CFLAGS="-fsanitize=address -Oy- -DADDRESS_SANITIZER"
437 # MSVC produces a warning if you pass -fsanitize=address to the linker. It also complains
438 $ if -DEBUG is not passed to the linker when building with ASan.
439 ASAN_LDFLAGS="-debug"
440 fi
431 JVM_CFLAGS="$JVM_CFLAGS $ASAN_CFLAGS"441 JVM_CFLAGS="$JVM_CFLAGS $ASAN_CFLAGS"
432 JVM_LDFLAGS="$JVM_LDFLAGS $ASAN_LDFLAGS"442 JVM_LDFLAGS="$JVM_LDFLAGS $ASAN_LDFLAGS"
433 CFLAGS_JDKLIB="$CFLAGS_JDKLIB $ASAN_CFLAGS"443 CFLAGS_JDKLIB="$CFLAGS_JDKLIB $ASAN_CFLAGS"
@@ -442,6 +452,39 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
442452
443###############################################################################453###############################################################################
444#454#
455# LeakSanitizer
456#
457AC_DEFUN_ONCE([JDKOPT_SETUP_LEAK_SANITIZER],
458[
459 UTIL_ARG_ENABLE(NAME: lsan, DEFAULT: false, RESULT: LSAN_ENABLED,
460 DESC: [enable LeakSanitizer],
461 CHECK_AVAILABLE: [
462 AC_MSG_CHECKING([if LeakSanitizer (lsan) is available])
463 if test "x$TOOLCHAIN_TYPE" = "xgcc" ||
464 test "x$TOOLCHAIN_TYPE" = "xclang"; then
465 AC_MSG_RESULT([yes])
466 else
467 AC_MSG_RESULT([no])
468 AVAILABLE=false
469 fi
470 ],
471 IF_ENABLED: [
472 LSAN_CFLAGS="-fsanitize=leak -fno-omit-frame-pointer -DLEAK_SANITIZER"
473 LSAN_LDFLAGS="-fsanitize=leak"
474 JVM_CFLAGS="$JVM_CFLAGS $LSAN_CFLAGS"
475 JVM_LDFLAGS="$JVM_LDFLAGS $LSAN_LDFLAGS"
476 CFLAGS_JDKLIB="$CFLAGS_JDKLIB $LSAN_CFLAGS"
477 CFLAGS_JDKEXE="$CFLAGS_JDKEXE $LSAN_CFLAGS"
478 CXXFLAGS_JDKLIB="$CXXFLAGS_JDKLIB $LSAN_CFLAGS"
479 CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $LSAN_CFLAGS"
480 LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $LSAN_LDFLAGS"
481 LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $LSAN_LDFLAGS"
482 ])
483 AC_SUBST(LSAN_ENABLED)
484])
485
486###############################################################################
487#
445# UndefinedBehaviorSanitizer488# UndefinedBehaviorSanitizer
446#489#
447AC_DEFUN_ONCE([JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER],490AC_DEFUN_ONCE([JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER],
diff --git a/make/autoconf/lib-tests.m4 b/make/autoconf/lib-tests.m4
index d117a81..4d771f7 100644
--- a/make/autoconf/lib-tests.m4
+++ b/make/autoconf/lib-tests.m4
@@ -61,7 +61,7 @@ AC_DEFUN_ONCE([LIB_TESTS_SETUP_GTEST],
6161
62 # Verify that the version is the required one.62 # Verify that the version is the required one.
63 # This is a simplified version of TOOLCHAIN_CHECK_COMPILER_VERSION63 # This is a simplified version of TOOLCHAIN_CHECK_COMPILER_VERSION
64 gtest_version="`$GREP GOOGLETEST_VERSION $GTEST_FRAMEWORK_SRC/CMakeLists.txt | $SED -E -e 's/set\(GOOGLETEST_VERSION (.*)\)/\1/'`"64 gtest_version="`$GREP GOOGLETEST_VERSION $GTEST_FRAMEWORK_SRC/CMakeLists.txt | $SED -e 's/set(GOOGLETEST_VERSION \(.*\))/\1/'`"
65 comparable_actual_version=`$AWK -F. '{ printf("%05d%05d%05d%05d\n", [$]1, [$]2, [$]3, [$]4) }' <<< "$gtest_version"`65 comparable_actual_version=`$AWK -F. '{ printf("%05d%05d%05d%05d\n", [$]1, [$]2, [$]3, [$]4) }' <<< "$gtest_version"`
66 comparable_minimum_version=`$AWK -F. '{ printf("%05d%05d%05d%05d\n", [$]1, [$]2, [$]3, [$]4) }' <<< "$GTEST_MINIMUM_VERSION"`66 comparable_minimum_version=`$AWK -F. '{ printf("%05d%05d%05d%05d\n", [$]1, [$]2, [$]3, [$]4) }' <<< "$GTEST_MINIMUM_VERSION"`
67 if test $comparable_actual_version -lt $comparable_minimum_version ; then67 if test $comparable_actual_version -lt $comparable_minimum_version ; then
diff --git a/make/autoconf/libraries.m4 b/make/autoconf/libraries.m4
index e057626..9e746b4 100644
--- a/make/autoconf/libraries.m4
+++ b/make/autoconf/libraries.m4
@@ -170,8 +170,8 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
170170
171 if test "x$OPENJDK_TARGET_OS" = xwindows; then171 if test "x$OPENJDK_TARGET_OS" = xwindows; then
172 BASIC_JVM_LIBS="$BASIC_JVM_LIBS kernel32.lib user32.lib gdi32.lib winspool.lib \172 BASIC_JVM_LIBS="$BASIC_JVM_LIBS kernel32.lib user32.lib gdi32.lib winspool.lib \
173 comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib \173 comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib powrprof.lib uuid.lib \
174 wsock32.lib winmm.lib version.lib psapi.lib"174 ws2_32.lib winmm.lib version.lib psapi.lib"
175 fi175 fi
176 LIB_SETUP_JVM_LIBS(BUILD)176 LIB_SETUP_JVM_LIBS(BUILD)
177 LIB_SETUP_JVM_LIBS(TARGET)177 LIB_SETUP_JVM_LIBS(TARGET)
diff --git a/make/autoconf/spec.gmk.in b/make/autoconf/spec.gmk.in
index 93c9d62..ff073c7 100644
--- a/make/autoconf/spec.gmk.in
+++ b/make/autoconf/spec.gmk.in
@@ -448,6 +448,9 @@ JCOV_FILTERS=@JCOV_FILTERS@
448# AddressSanitizer448# AddressSanitizer
449ASAN_ENABLED:=@ASAN_ENABLED@449ASAN_ENABLED:=@ASAN_ENABLED@
450450
451# LeakSanitizer
452LSAN_ENABLED:=@LSAN_ENABLED@
453
451# UndefinedBehaviorSanitizer454# UndefinedBehaviorSanitizer
452UBSAN_ENABLED:=@UBSAN_ENABLED@455UBSAN_ENABLED:=@UBSAN_ENABLED@
453UBSAN_CFLAGS:=@UBSAN_CFLAGS@456UBSAN_CFLAGS:=@UBSAN_CFLAGS@
diff --git a/make/autoconf/util_paths.m4 b/make/autoconf/util_paths.m4
index 8909bab..3dd6ea7 100644
--- a/make/autoconf/util_paths.m4
+++ b/make/autoconf/util_paths.m4
@@ -1,5 +1,5 @@
1#1#
2# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.2# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#4#
5# This code is free software; you can redistribute it and/or modify it5# This code is free software; you can redistribute it and/or modify it
@@ -521,7 +521,7 @@ AC_DEFUN([UTIL_REMOVE_SYMBOLIC_LINKS],
521 sym_link_dir=`pwd -P`521 sym_link_dir=`pwd -P`
522 # Resolve file symlinks522 # Resolve file symlinks
523 while test $COUNTER -lt 20; do523 while test $COUNTER -lt 20; do
524 ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`524 ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP -e '->' | $SED -e 's/.*-> \(.*\)/\1/'`
525 if test "x$ISLINK" == x; then525 if test "x$ISLINK" == x; then
526 # This is not a symbolic link! We are done!526 # This is not a symbolic link! We are done!
527 break527 break
diff --git a/make/common/MakeIO.gmk b/make/common/MakeIO.gmk
index 7b4dd0a..6075e03 100644
--- a/make/common/MakeIO.gmk
+++ b/make/common/MakeIO.gmk
@@ -257,7 +257,7 @@ ifeq ($(HAS_FILE_FUNCTION), true)
257else257else
258 # Use printf to get consistent behavior on all platforms.258 # Use printf to get consistent behavior on all platforms.
259 WriteFile = \259 WriteFile = \
260 $(shell $(PRINTF) "%s" $(call ShellQuote, $1) > $2)260 $(shell $(PRINTF) "%s\n" $(strip $(call ShellQuote, $1)) > $2)
261endif261endif
262262
263# Param 1 - Text to write263# Param 1 - Text to write
@@ -268,5 +268,5 @@ ifeq ($(HAS_FILE_FUNCTION), true)
268else268else
269 # Use printf to get consistent behavior on all platforms.269 # Use printf to get consistent behavior on all platforms.
270 AppendFile = \270 AppendFile = \
271 $(shell $(PRINTF) "%s" $(call ShellQuote, $1) >> $2)271 $(shell $(PRINTF) "%s\n" $(strip $(call ShellQuote, $1)) >> $2)
272endif272endif
diff --git a/make/common/NativeCompilation.gmk b/make/common/NativeCompilation.gmk
index 9f0e443..0d7ab6a 100644
--- a/make/common/NativeCompilation.gmk
+++ b/make/common/NativeCompilation.gmk
@@ -1062,10 +1062,13 @@ define SetupNativeCompilationBody
1062 $1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).debuginfo1062 $1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).debuginfo
1063 # Setup the command line creating debuginfo files, to be run after linking.1063 # Setup the command line creating debuginfo files, to be run after linking.
1064 # It cannot be run separately since it updates the original target file1064 # It cannot be run separately since it updates the original target file
1065 # Creating the debuglink is done in another command rather than all at once
1066 # so we can run it after strip is called, since strip can sometimes mangle the
1067 # embedded debuglink, which we want to avoid.
1065 $1_CREATE_DEBUGINFO_CMDS := \1068 $1_CREATE_DEBUGINFO_CMDS := \
1066 $$($1_OBJCOPY) --only-keep-debug $$($1_TARGET) $$($1_DEBUGINFO_FILES) $$(NEWLINE) \1069 $$($1_OBJCOPY) --only-keep-debug $$($1_TARGET) $$($1_DEBUGINFO_FILES) $$(NEWLINE)
1067 $(CD) $$($1_SYMBOLS_DIR) && \1070 $1_CREATE_DEBUGLINK_CMDS := $(CD) $$($1_SYMBOLS_DIR) && \
1068 $$($1_OBJCOPY) --add-gnu-debuglink=$$($1_DEBUGINFO_FILES) $$($1_TARGET)1071 $$($1_OBJCOPY) --add-gnu-debuglink=$$($1_DEBUGINFO_FILES) $$($1_TARGET)
10691072
1070 else ifeq ($(call isTargetOs, aix), true)1073 else ifeq ($(call isTargetOs, aix), true)
1071 # AIX does not provide the equivalent of OBJCOPY to extract debug symbols,1074 # AIX does not provide the equivalent of OBJCOPY to extract debug symbols,
@@ -1194,7 +1197,7 @@ define SetupNativeCompilationBody
1194 $1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \1197 $1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
1195 $$($1_LIBS) $$($1_EXTRA_LIBS) $$($1_MT) \1198 $$($1_LIBS) $$($1_EXTRA_LIBS) $$($1_MT) \
1196 $$($1_CREATE_DEBUGINFO_CMDS) $$($1_MANIFEST_VERSION) \1199 $$($1_CREATE_DEBUGINFO_CMDS) $$($1_MANIFEST_VERSION) \
1197 $$($1_STRIP_CMD)1200 $$($1_STRIP_CMD) $$($1_CREATE_DEBUGLINK_CMDS)
1198 $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \1201 $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
1199 $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)1202 $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
12001203
@@ -1257,6 +1260,7 @@ define SetupNativeCompilationBody
1257 test "$$$$?" = "1" ; \1260 test "$$$$?" = "1" ; \
1258 $$($1_CREATE_DEBUGINFO_CMDS)1261 $$($1_CREATE_DEBUGINFO_CMDS)
1259 $$($1_STRIP_CMD)1262 $$($1_STRIP_CMD)
1263 $$($1_CREATE_DEBUGLINK_CMDS)
1260 ifeq ($(call isBuildOsEnv, windows.wsl2), true)1264 ifeq ($(call isBuildOsEnv, windows.wsl2), true)
1261 $$(CHMOD) +x $$($1_TARGET)1265 $$(CHMOD) +x $$($1_TARGET)
1262 endif1266 endif
@@ -1268,6 +1272,7 @@ define SetupNativeCompilationBody
1268 $$($1_LIBS) $$($1_EXTRA_LIBS)) ; \1272 $$($1_LIBS) $$($1_EXTRA_LIBS)) ; \
1269 $$($1_CREATE_DEBUGINFO_CMDS)1273 $$($1_CREATE_DEBUGINFO_CMDS)
1270 $$($1_STRIP_CMD)1274 $$($1_STRIP_CMD)
1275 $$($1_CREATE_DEBUGLINK_CMDS)
1271 endif1276 endif
1272 ifeq ($(call isTargetOs, windows), true)1277 ifeq ($(call isTargetOs, windows), true)
1273 ifneq ($$($1_MANIFEST), )1278 ifneq ($$($1_MANIFEST), )
diff --git a/make/common/ProcessMarkdown.gmk b/make/common/ProcessMarkdown.gmk
index 671d820..b5dc020 100644
--- a/make/common/ProcessMarkdown.gmk
+++ b/make/common/ProcessMarkdown.gmk
@@ -84,7 +84,7 @@ define ProcessMarkdown
84 $$(call MakeDir, $$(SUPPORT_OUTPUTDIR)/markdown $$(dir $$($1_$2_PANDOC_OUTPUT)))84 $$(call MakeDir, $$(SUPPORT_OUTPUTDIR)/markdown $$(dir $$($1_$2_PANDOC_OUTPUT)))
85 $$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER), \85 $$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER), \
86 $$(PANDOC) $$($1_OPTIONS) -f $$(PANDOC_MARKDOWN_FLAG) \86 $$(PANDOC) $$($1_OPTIONS) -f $$(PANDOC_MARKDOWN_FLAG) \
87 -t $$($1_FORMAT) --standalone \87 -t $$($1_FORMAT) --eol=lf --standalone \
88 $$($1_$2_CSS_OPTION) $$($1_$2_OPTIONS_FROM_SRC) $$($1_$2_OPTIONS) \88 $$($1_$2_CSS_OPTION) $$($1_$2_OPTIONS_FROM_SRC) $$($1_$2_OPTIONS) \
89 '$$($1_$2_PANDOC_INPUT)' -o '$$($1_$2_PANDOC_OUTPUT)')89 '$$($1_$2_PANDOC_INPUT)' -o '$$($1_$2_PANDOC_OUTPUT)')
90 ifneq ($$(findstring $$(LOG_LEVEL), debug trace),)90 ifneq ($$(findstring $$(LOG_LEVEL), debug trace),)
diff --git a/make/common/modules/LauncherCommon.gmk b/make/common/modules/LauncherCommon.gmk
index f8ea126..5c13478 100644
--- a/make/common/modules/LauncherCommon.gmk
+++ b/make/common/modules/LauncherCommon.gmk
@@ -150,6 +150,10 @@ define SetupBuildLauncherBody
150 $1_EXTRA_FILES += $(TOPDIR)/make/data/asan/asan_default_options.c150 $1_EXTRA_FILES += $(TOPDIR)/make/data/asan/asan_default_options.c
151 endif151 endif
152152
153 ifeq ($(LSAN_ENABLED), true)
154 $1_EXTRA_FILES += $(TOPDIR)/make/data/lsan/lsan_default_options.c
155 endif
156
153 $$(eval $$(call SetupJdkExecutable, BUILD_LAUNCHER_$1, \157 $$(eval $$(call SetupJdkExecutable, BUILD_LAUNCHER_$1, \
154 NAME := $1, \158 NAME := $1, \
155 EXTRA_FILES := $$($1_EXTRA_FILES), \159 EXTRA_FILES := $$($1_EXTRA_FILES), \
diff --git a/make/conf/jib-profiles.js b/make/conf/jib-profiles.js
index b443d89..1b866e2 100644
--- a/make/conf/jib-profiles.js
+++ b/make/conf/jib-profiles.js
@@ -813,24 +813,6 @@ var getJibProfilesProfiles = function (input, common, data) {
813 }813 }
814 });814 });
815815
816 // Define the reference implementation profiles. These are basically the same
817 // as the open profiles, but upload artifacts to a different location.
818 common.main_profile_names.forEach(function (name) {
819 var riName = name + "-ri";
820 var riDebugName = riName + common.debug_suffix;
821 var openName = name + common.open_suffix;
822 var openDebugName = openName + common.debug_suffix;
823 profiles[riName] = clone(profiles[openName]);
824 profiles[riDebugName] = clone(profiles[openDebugName]);
825 // Rewrite all remote dirs to "bundles/openjdk/BCL/..."
826 for (artifactName in profiles[riName].artifacts) {
827 var artifact = profiles[riName].artifacts[artifactName];
828 artifact.remote = replaceAll(
829 "\/GPL\/", "/BCL/",
830 (artifact.remote != null ? artifact.remote : artifact.local));
831 }
832 });
833
834 // For open profiles, the non-debug jdk bundles, need an "open" prefix on the816 // For open profiles, the non-debug jdk bundles, need an "open" prefix on the
835 // remote bundle names, forming the word "openjdk". See JDK-8188789.817 // remote bundle names, forming the word "openjdk". See JDK-8188789.
836 common.main_profile_names.forEach(function (name) {818 common.main_profile_names.forEach(function (name) {
@@ -869,7 +851,7 @@ var getJibProfilesProfiles = function (input, common, data) {
869 [ "linux-aarch64", "linux-x64", "macosx-x64", "macosx-aarch64", "windows-x64" ]851 [ "linux-aarch64", "linux-x64", "macosx-x64", "macosx-aarch64", "windows-x64" ]
870 .forEach(function (name) {852 .forEach(function (name) {
871 var o = artifactData[name]853 var o = artifactData[name]
872 var jdk_subdir = (o.jdk_subdir != null ? o.jdk_subdir : "jdk-" + data.version);854 var jdk_subdir = "jdk-" + data.version;
873 var jdk_suffix = (o.jdk_suffix != null ? o.jdk_suffix : "tar.gz");855 var jdk_suffix = (o.jdk_suffix != null ? o.jdk_suffix : "tar.gz");
874 var pf = o.platform856 var pf = o.platform
875 var jcovName = name + "-jcov";857 var jcovName = name + "-jcov";
@@ -1010,6 +992,20 @@ var getJibProfilesProfiles = function (input, common, data) {
1010 };992 };
1011 profiles["run-test"] = concatObjects(profiles["run-test"], macosxRunTestExtra);993 profiles["run-test"] = concatObjects(profiles["run-test"], macosxRunTestExtra);
1012 profiles["run-test-prebuilt"] = concatObjects(profiles["run-test-prebuilt"], macosxRunTestExtra);994 profiles["run-test-prebuilt"] = concatObjects(profiles["run-test-prebuilt"], macosxRunTestExtra);
995 } else if (input.build_os == "windows") {
996 // On windows, add the devkit debugger to the path in all the run-test profiles
997 // to make them available to the jtreg failure handler.
998 var archDir = "x64";
999 if (input.build_arch == "aarch64") {
1000 archDir = "arm64"
1001 }
1002 windowsRunTestExtra = {
1003 environment_path: [
1004 input.get("devkit", "install_path") + "/10/Debuggers/" + archDir
1005 ]
1006 }
1007 profiles["run-test"] = concatObjects(profiles["run-test"], windowsRunTestExtra);
1008 profiles["run-test-prebuilt"] = concatObjects(profiles["run-test-prebuilt"], windowsRunTestExtra);
1013 }1009 }
10141010
1015 // The profile run-test-prebuilt defines src.conf as the src bundle. When1011 // The profile run-test-prebuilt defines src.conf as the src bundle. When
@@ -1051,8 +1047,8 @@ var getJibProfilesDependencies = function (input, common) {
1051 var devkit_platform_revisions = {1047 var devkit_platform_revisions = {
1052 linux_x64: "gcc11.2.0-OL6.4+1.0",1048 linux_x64: "gcc11.2.0-OL6.4+1.0",
1053 macosx: "Xcode12.4+1.1",1049 macosx: "Xcode12.4+1.1",
1054 windows_x64: "VS2022-17.1.0+1.0",1050 windows_x64: "VS2022-17.1.0+1.1",
1055 linux_aarch64: "gcc11.2.0-OL7.6+1.0",1051 linux_aarch64: input.build_cpu == "x64" ? "gcc11.2.0-OL7.6+1.1" : "gcc11.2.0-OL7.6+1.0",
1056 linux_arm: "gcc8.2.0-Fedora27+1.0",1052 linux_arm: "gcc8.2.0-Fedora27+1.0",
1057 linux_ppc64le: "gcc8.2.0-Fedora27+1.0",1053 linux_ppc64le: "gcc8.2.0-Fedora27+1.0",
1058 linux_s390x: "gcc8.2.0-Fedora27+1.0",1054 linux_s390x: "gcc8.2.0-Fedora27+1.0",
diff --git a/make/data/asan/asan_default_options.c b/make/data/asan/asan_default_options.c
index 140b5c5..9e0887c 100644
--- a/make/data/asan/asan_default_options.c
+++ b/make/data/asan/asan_default_options.c
@@ -1,5 +1,5 @@
1/*1/*
2 * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.2 * Copyright (c) 2023, Google and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *4 *
5 * This code is free software; you can redistribute it and/or modify it5 * This code is free software; you can redistribute it and/or modify it
@@ -33,6 +33,8 @@
3333
34#if (defined(__GNUC__) && !defined(__clang__)) || __has_attribute(visibility)34#if (defined(__GNUC__) && !defined(__clang__)) || __has_attribute(visibility)
35#define ATTRIBUTE_DEFAULT_VISIBILITY __attribute__((visibility("default")))35#define ATTRIBUTE_DEFAULT_VISIBILITY __attribute__((visibility("default")))
36#elif defined(_MSC_VER)
37#define ATTRIBUTE_DEFAULT_VISIBILITY __declspec(dllexport)
36#else38#else
37#define ATTRIBUTE_DEFAULT_VISIBILITY39#define ATTRIBUTE_DEFAULT_VISIBILITY
38#endif40#endif
@@ -43,15 +45,29 @@
43#define ATTRIBUTE_USED45#define ATTRIBUTE_USED
44#endif46#endif
4547
48#if defined(_MSC_VER)
49#define CDECL __cdecl
50#else
51#define CDECL
52#endif
53
46// Override weak symbol exposed by ASan to override default options. This is called by ASan54// Override weak symbol exposed by ASan to override default options. This is called by ASan
47// extremely early during library loading, before main is called. We need to override the default55// extremely early during library loading, before main is called. We need to override the default
48// options because LSan is enabled by default and Hotspot is not yet compatible with it.56// options because LSan is enabled by default and Hotspot is not yet compatible with it.
49// Additionally we need to prevent ASan from handling SIGSEGV, so that Hotspot's crash handler is57// Additionally we need to prevent ASan from handling SIGSEGV, so that Hotspot's crash handler is
50// used. You can override these options by setting the environment variable ASAN_OPTIONS.58// used. You can override these options by setting the environment variable ASAN_OPTIONS.
51ATTRIBUTE_DEFAULT_VISIBILITY ATTRIBUTE_USED const char* __asan_default_options() {59ATTRIBUTE_DEFAULT_VISIBILITY ATTRIBUTE_USED const char* CDECL __asan_default_options() {
52 return60 return
53#ifndef LEAK_SANITIZER61#ifdef LEAK_SANITIZER
62 "leak_check_at_exit=0,"
63#else
64 // ASan bundles LSan, however we only support LSan when it is explicitly requested during
65 // configuration. Thus we disable it to match if it was not requested.
54 "detect_leaks=0,"66 "detect_leaks=0,"
55#endif67#endif
56 "handle_segv=0";68 "print_suppressions=0,"
69 "handle_segv=0,"
70 // See https://github.com/google/sanitizers/issues/1322. Hopefully this is resolved
71 // at some point and we can remove this option.
72 "intercept_tls_get_addr=0";
57}73}
diff --git a/make/data/asan/asan_default_options.cpp b/make/data/asan/asan_default_options.cpp
index f84ebab..8afb3de 100644
--- a/make/data/asan/asan_default_options.cpp
+++ b/make/data/asan/asan_default_options.cpp
@@ -1,5 +1,5 @@
1/*1/*
2 * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.2 * Copyright (c) 2023, Google and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *4 *
5 * This code is free software; you can redistribute it and/or modify it5 * This code is free software; you can redistribute it and/or modify it
diff --git a/make/data/charsetmapping/charsets b/make/data/charsetmapping/charsets
index 5932645..4ee272f 100644
--- a/make/data/charsetmapping/charsets
+++ b/make/data/charsetmapping/charsets
@@ -1,5 +1,5 @@
1#1#
2# Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.2# Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#4#
5# This code is free software; you can redistribute it and/or modify it5# This code is free software; you can redistribute it and/or modify it
@@ -476,6 +476,11 @@ charset x-IBM874 IBM874
476 alias ibm-874476 alias ibm-874
477 alias 874477 alias 874
478478
479# alias for GB18030 is generated at runtime
480charset GB18030 GB18030
481 package sun.nio.cs
482 type source
483
479########################################################484########################################################
480#485#
481# charsets provided by ExtendedCharsets provider.486# charsets provided by ExtendedCharsets provider.
@@ -563,11 +568,6 @@ charset GBK GBK # Simplified Chinese
563 alias windows-936568 alias windows-936
564 alias CP936569 alias CP936
565570
566charset GB18030 GB18030
567 package sun.nio.cs.ext
568 type template
569 alias gb18030-2000
570
571charset GB2312 EUC_CN571charset GB2312 EUC_CN
572 package sun.nio.cs.ext572 package sun.nio.cs.ext
573 type dbcs573 type dbcs
diff --git a/make/data/charsetmapping/stdcs-aix b/make/data/charsetmapping/stdcs-aix
index f17468b..750308b 100644
--- a/make/data/charsetmapping/stdcs-aix
+++ b/make/data/charsetmapping/stdcs-aix
@@ -7,7 +7,6 @@ Big5_HKSCS
7EUC_CN7EUC_CN
8EUC_KR8EUC_KR
9GBK9GBK
10GB18030
11IBM85610IBM856
12IBM92111IBM921
13IBM92212IBM922
diff --git a/make/data/charsetmapping/stdcs-linux b/make/data/charsetmapping/stdcs-linux
index d7b3b4d..b9e80ca 100644
--- a/make/data/charsetmapping/stdcs-linux
+++ b/make/data/charsetmapping/stdcs-linux
@@ -11,7 +11,6 @@ EUC_JP_LINUX
11EUC_JP_Open11EUC_JP_Open
12EUC_TW12EUC_TW
13GBK13GBK
14GB18030
15ISO_8859_1114ISO_8859_11
16ISO_8859_315ISO_8859_3
17ISO_8859_616ISO_8859_6
diff --git a/make/data/charsetmapping/stdcs-solaris b/make/data/charsetmapping/stdcs-solaris
18deleted file mode 10064417deleted file mode 100644
index cf3c01f..0000000
--- a/make/data/charsetmapping/stdcs-solaris
+++ /dev/null
@@ -1,26 +0,0 @@
1#
2# generate these charsets into sun.nio.cs
3#
4Big5
5Big5_Solaris
6Big5_HKSCS # always together with Big5
7EUC_CN
8EUC_KR
9EUC_JP
10EUC_JP_LINUX
11EUC_JP_Open
12EUC_TW
13GBK
14GB18030
15ISO_8859_11
16ISO_8859_3
17ISO_8859_6
18ISO_8859_8
19Johab
20PCK
21TIS_620
22JIS_X_0201
23JIS_X_0208
24JIS_X_0212
25JIS_X_0208_Solaris
26JIS_X_0212_Solaris
diff --git a/make/data/charsetmapping/stdcs-windows b/make/data/charsetmapping/stdcs-windows
index 3185e9a..482b699 100644
--- a/make/data/charsetmapping/stdcs-windows
+++ b/make/data/charsetmapping/stdcs-windows
@@ -2,7 +2,6 @@
2# generate these charsets into sun.nio.cs2# generate these charsets into sun.nio.cs
3#3#
4GBK4GBK
5GB18030
6Johab5Johab
7MS12556MS1255
8MS12567MS1256
diff --git a/make/data/cldr/common/main/en.xml b/make/data/cldr/common/main/en.xml
index 319ef3e..a6c7c0e 100644
--- a/make/data/cldr/common/main/en.xml
+++ b/make/data/cldr/common/main/en.xml
@@ -1193,8 +1193,8 @@ annotations.
1193 <territory type="TM">Turkmenistan</territory>1193 <territory type="TM">Turkmenistan</territory>
1194 <territory type="TN">Tunisia</territory>1194 <territory type="TN">Tunisia</territory>
1195 <territory type="TO">Tonga</territory>1195 <territory type="TO">Tonga</territory>
1196 <territory type="TR">Turkey</territory>1196 <territory type="TR">Türkiye</territory>
1197 <territory type="TR" alt="variant">Türkiye</territory>1197 <territory type="TR" alt="variant">Turkey</territory>
1198 <territory type="TT">Trinidad &amp; Tobago</territory>1198 <territory type="TT">Trinidad &amp; Tobago</territory>
1199 <territory type="TV">Tuvalu</territory>1199 <territory type="TV">Tuvalu</territory>
1200 <territory type="TW">Taiwan</territory>1200 <territory type="TW">Taiwan</territory>
diff --git a/make/data/cldr/common/properties/coverageLevels.txt b/make/data/cldr/common/properties/coverageLevels.txt
1201new file mode 1006441201new file mode 100644
index 0000000..8191212
--- /dev/null
+++ b/make/data/cldr/common/properties/coverageLevels.txt
@@ -0,0 +1,141 @@
1# coverageLevels.txt
2# Copyright © 2022 Unicode, Inc.
3# CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
4# For terms of use, see http://www.unicode.org/copyright.html
5#
6# Provides the Coverage Level of locales at Basic or Above.
7# For more info,see the Locale Coverage Chart for this version.
8# Generated by ShowLocaleCoverage.
9#
10#Locale ; Level
11af ; modern
12am ; modern
13ar ; modern
14as ; modern
15ast ; basic
16az ; modern
17be ; modern
18bg ; modern
19bgc ; basic
20bho ; basic
21bn ; modern
22br ; moderate
23brx ; basic
24bs ; modern
25bs_Cyrl ; basic
26ca ; modern
27ceb ; moderate
28chr ; modern
29cs ; modern
30cv ; moderate
31cy ; modern
32da ; modern
33de ; modern
34doi ; basic
35dsb ; modern
36el ; modern
37en ; modern
38es ; modern
39et ; modern
40eu ; modern
41fa ; modern
42ff_Adlm ; basic
43fi ; modern
44fil ; modern
45fo ; basic
46fr ; modern
47ga ; modern
48gd ; modern
49gl ; modern
50gu ; modern
51ha ; modern
52he ; modern
53hi ; modern
54hi_Latn ; modern
55hr ; modern
56hsb ; modern
57hu ; modern
58hy ; modern
59ia ; basic
60id ; modern
61ig ; modern
62is ; modern
63it ; modern
64ja ; modern
65jv ; modern
66ka ; modern
67kea ; basic
68kgp ; basic
69kk ; modern
70km ; modern
71kn ; modern
72ko ; modern
73kok ; modern
74ks ; basic
75ks_Deva ; basic
76ky ; modern
77lo ; modern
78lt ; modern
79lv ; modern
80mai ; basic
81mi ; basic
82mk ; modern
83ml ; modern
84mn ; modern
85mni ; basic
86mr ; modern
87ms ; modern
88my ; modern
89ne ; modern
90nl ; modern
91nn ; modern
92no ; modern
93or ; modern
94pa ; modern
95pcm ; modern
96pl ; modern
97ps ; modern
98pt ; modern
99qu ; moderate
100raj ; basic
101rm ; basic
102ro ; modern
103ru ; modern
104sa ; basic
105sat ; basic
106sc ; moderate
107sd ; modern
108sd_Deva ; basic
109si ; modern
110sk ; modern
111sl ; modern
112so ; modern
113sq ; modern
114sr ; modern
115su ; basic
116sv ; modern
117sw ; modern
118ta ; modern
119te ; modern
120tg ; basic
121th ; modern
122ti ; basic
123tk ; modern
124to ; basic
125tr ; modern
126tt ; basic
127uk ; modern
128ur ; modern
129uz ; modern
130uz_Cyrl ; basic
131vi ; modern
132wo ; basic
133xh ; moderate
134yo ; modern
135yrl ; basic
136yue ; modern
137yue_Hans ; modern
138zh ; modern
139zh_Hant ; modern
140zu ; modern
141#EOF
diff --git a/make/data/lsan/lsan_default_options.c b/make/data/lsan/lsan_default_options.c
0new file mode 100644142new file mode 100644
index 0000000..9b86eaa
--- /dev/null
+++ b/make/data/lsan/lsan_default_options.c
@@ -0,0 +1,67 @@
1/*
2 * Copyright (c) 2023, Google and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26#ifndef LEAK_SANITIZER
27#error "Build misconfigured, preprocessor macro LEAK_SANITIZER should be defined"
28#endif
29
30#ifndef __has_attribute
31#define __has_attribute(x) 0
32#endif
33
34#if (defined(__GNUC__) && !defined(__clang__)) || __has_attribute(visibility)
35#define ATTRIBUTE_DEFAULT_VISIBILITY __attribute__((visibility("default")))
36#else
37#define ATTRIBUTE_DEFAULT_VISIBILITY
38#endif
39
40#if (defined(__GNUC__) && !defined(__clang__)) || __has_attribute(used)
41#define ATTRIBUTE_USED __attribute__((used))
42#else
43#define ATTRIBUTE_USED
44#endif
45
46// Override weak symbol exposed by LSan to override default options. This is called by LSan
47// extremely early during library loading, before main is called. We need to override the default
48// options because LSan will perform leak checking at program exit. Unfortunately Hotspot does not
49// shutdown cleanly at the moment and some leaks occur, we want to ignore these. Instead we
50// explicitly perform leak checking early during JVM shutdown.
51ATTRIBUTE_DEFAULT_VISIBILITY ATTRIBUTE_USED const char* __lsan_default_options() {
52 return
53 "print_suppressions=0,"
54 "leak_check_at_exit=0,"
55 // See https://github.com/google/sanitizers/issues/1322. Hopefully this is resolved
56 // at some point and we can remove this option.
57 "intercept_tls_get_addr=0";
58}
59
60// Override weak symbol exposed by LSan to override default suppressions. This is called by LSan
61// extremely early during library loading, before main is called.
62ATTRIBUTE_DEFAULT_VISIBILITY ATTRIBUTE_USED const char* __lsan_default_suppressions() {
63 return
64 // Remove after JDK-8297688 is resolved.
65 "leak:^JLI_MemAlloc$\n"
66 "leak:^JLI_StringDup$\n";
67}
diff --git a/src/jdk.internal.le/windows/classes/module-info.java.extra b/make/data/lsan/lsan_default_options.cpp
0similarity index 86%68similarity index 86%
1rename from src/jdk.internal.le/windows/classes/module-info.java.extra69rename from src/jdk.internal.le/windows/classes/module-info.java.extra
2rename to make/data/lsan/lsan_default_options.cpp70rename to make/data/lsan/lsan_default_options.cpp
index 3e791de..72a8bee 100644
--- a/src/jdk.internal.le/windows/classes/module-info.java.extra
+++ b/make/data/lsan/lsan_default_options.cpp
@@ -1,5 +1,5 @@
1/*1/*
2 * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.2 * Copyright (c) 2023, Google and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *4 *
5 * This code is free software; you can redistribute it and/or modify it5 * This code is free software; you can redistribute it and/or modify it
@@ -23,5 +23,8 @@
23 * questions.23 * questions.
24 */24 */
2525
26extern "C" {
2627
27provides jdk.internal.org.jline.terminal.spi.JnaSupport with jdk.internal.org.jline.terminal.impl.jna.JnaSupportImpl;28#include "./lsan_default_options.c"
29
30} // extern "C"
diff --git a/make/devkit/Tools.gmk b/make/devkit/Tools.gmk
index f882ca5..af37f12 100644
--- a/make/devkit/Tools.gmk
+++ b/make/devkit/Tools.gmk
@@ -1,5 +1,5 @@
1#1#
2# Copyright (c) 2013, 2022, Oracle and/or its affiliates. All rights reserved.2# Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved.
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#4#
5# This code is free software; you can redistribute it and/or modify it5# This code is free software; you can redistribute it and/or modify it
@@ -71,6 +71,7 @@ else ifeq ($(BASE_OS), Fedora)
71 BASE_URL := http://fedora.riscv.rocks/repos-dist/$(BASE_OS_VERSION)/$(ARCH)/Packages/71 BASE_URL := http://fedora.riscv.rocks/repos-dist/$(BASE_OS_VERSION)/$(ARCH)/Packages/
72 else72 else
73 DEFAULT_OS_VERSION := 2773 DEFAULT_OS_VERSION := 27
74 LATEST_ARCHIVED_OS_VERSION := 35
74 ifeq ($(BASE_OS_VERSION), )75 ifeq ($(BASE_OS_VERSION), )
75 BASE_OS_VERSION := $(DEFAULT_OS_VERSION)76 BASE_OS_VERSION := $(DEFAULT_OS_VERSION)
76 endif77 endif
@@ -79,11 +80,11 @@ else ifeq ($(BASE_OS), Fedora)
79 else80 else
80 FEDORA_TYPE := fedora/linux81 FEDORA_TYPE := fedora/linux
81 endif82 endif
82 ARCHIVED := $(shell [ $(BASE_OS_VERSION) -lt $(DEFAULT_OS_VERSION) ] && echo true)83 NOT_ARCHIVED := $(shell [ $(BASE_OS_VERSION) -gt $(LATEST_ARCHIVED_OS_VERSION) ] && echo true)
83 ifeq ($(ARCHIVED),true)84 ifeq ($(NOT_ARCHIVED),true)
84 BASE_URL := https://archives.fedoraproject.org/pub/archive/$(FEDORA_TYPE)/releases/$(BASE_OS_VERSION)/Everything/$(ARCH)/os/Packages/
85 else
86 BASE_URL := https://dl.fedoraproject.org/pub/$(FEDORA_TYPE)/releases/$(BASE_OS_VERSION)/Everything/$(ARCH)/os/Packages/85 BASE_URL := https://dl.fedoraproject.org/pub/$(FEDORA_TYPE)/releases/$(BASE_OS_VERSION)/Everything/$(ARCH)/os/Packages/
86 else
87 BASE_URL := https://archives.fedoraproject.org/pub/archive/$(FEDORA_TYPE)/releases/$(BASE_OS_VERSION)/Everything/$(ARCH)/os/Packages/
87 endif88 endif
88 endif89 endif
89 LINUX_VERSION := Fedora_$(BASE_OS_VERSION)90 LINUX_VERSION := Fedora_$(BASE_OS_VERSION)
@@ -449,7 +450,7 @@ $(BUILDDIR)/$(binutils_ver)/Makefile \
449 $(PATHPRE) $(ENVS) CFLAGS="-O2 $(CFLAGS)" \450 $(PATHPRE) $(ENVS) CFLAGS="-O2 $(CFLAGS)" \
450 $(BINUTILS_CFG) \451 $(BINUTILS_CFG) \
451 $(CONFIG) \452 $(CONFIG) \
452 $(LINKER_CONFIG) \453 $(LINKER_CONFIG) \
453 --with-sysroot=$(SYSROOT) \454 --with-sysroot=$(SYSROOT) \
454 --disable-nls \455 --disable-nls \
455 --program-prefix=$(TARGET)- \456 --program-prefix=$(TARGET)- \
diff --git a/make/devkit/createWindowsDevkit.sh b/make/devkit/createWindowsDevkit.sh
index 9e36e3c..0646cb6 100644
--- a/make/devkit/createWindowsDevkit.sh
+++ b/make/devkit/createWindowsDevkit.sh
@@ -1,6 +1,6 @@
1#!/bin/bash1#!/bin/bash
2#2#
3# Copyright (c) 2015, 2022, Oracle and/or its affiliates. All rights reserved.3# Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
4# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.4# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5#5#
6# This code is free software; you can redistribute it and/or modify it6# This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,12 @@
2626
27# This script copies parts of a Visual Studio installation into a devkit27# This script copies parts of a Visual Studio installation into a devkit
28# suitable for building OpenJDK and OracleJDK. Needs to run in Cygwin or WSL.28# suitable for building OpenJDK and OracleJDK. Needs to run in Cygwin or WSL.
29#
30# To include the debugger tools for the jtreg failure_handler, those need to
31# be explicitly added to the Windows SDK installation first. That is done
32# through Windows Settings - Apps, find the Windows Software Development Kit
33# installation, click modify, and add the debugger tools.
34#
29# erik.joelsson@oracle.com35# erik.joelsson@oracle.com
3036
31usage_and_exit() {37usage_and_exit() {
@@ -197,6 +203,17 @@ mkdir -p $DEVKIT_ROOT/$SDK_VERSION/Redist
197cp -r "$SDK_INSTALL_DIR/Redist/$UCRT_VERSION/ucrt" $DEVKIT_ROOT/$SDK_VERSION/Redist/203cp -r "$SDK_INSTALL_DIR/Redist/$UCRT_VERSION/ucrt" $DEVKIT_ROOT/$SDK_VERSION/Redist/
198mkdir -p $DEVKIT_ROOT/$SDK_VERSION/include204mkdir -p $DEVKIT_ROOT/$SDK_VERSION/include
199cp -r "$SDK_INSTALL_DIR/include/$SDK_FULL_VERSION/"* $DEVKIT_ROOT/$SDK_VERSION/include/205cp -r "$SDK_INSTALL_DIR/include/$SDK_FULL_VERSION/"* $DEVKIT_ROOT/$SDK_VERSION/include/
206if [ -d "$SDK_INSTALL_DIR/Debuggers" ]; then
207 mkdir -p $DEVKIT_ROOT/$SDK_VERSION/Debuggers/lib
208 cp -r "$SDK_INSTALL_DIR/Debuggers/arm64" $DEVKIT_ROOT/$SDK_VERSION/Debuggers/
209 cp -r "$SDK_INSTALL_DIR/Debuggers/x64" $DEVKIT_ROOT/$SDK_VERSION/Debuggers/
210 cp -r "$SDK_INSTALL_DIR/Debuggers/x86" $DEVKIT_ROOT/$SDK_VERSION/Debuggers/
211 cp -r "$SDK_INSTALL_DIR/Debuggers/lib/arm64" $DEVKIT_ROOT/$SDK_VERSION/Debuggers/lib/
212 cp -r "$SDK_INSTALL_DIR/Debuggers/lib/x64" $DEVKIT_ROOT/$SDK_VERSION/Debuggers/lib/
213 cp -r "$SDK_INSTALL_DIR/Debuggers/lib/x86" $DEVKIT_ROOT/$SDK_VERSION/Debuggers/lib/
214else
215 echo "No SDK debuggers found, skipping"
216fi
200217
201################################################################################218################################################################################
202# Generate devkit.info219# Generate devkit.info
@@ -211,14 +228,14 @@ echo-info "# This file describes to configure how to interpret the contents of t
211echo-info "DEVKIT_NAME=\"Microsoft Visual Studio $VS_VERSION $VS_VERSION_SP (devkit)\""228echo-info "DEVKIT_NAME=\"Microsoft Visual Studio $VS_VERSION $VS_VERSION_SP (devkit)\""
212echo-info "DEVKIT_VS_VERSION=\"$VS_VERSION\""229echo-info "DEVKIT_VS_VERSION=\"$VS_VERSION\""
213echo-info ""230echo-info ""
214echo-info "DEVKIT_TOOLCHAIN_PATH_x86=\"\$DEVKIT_ROOT/VC/bin/x86:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86\""231echo-info "DEVKIT_TOOLCHAIN_PATH_x86=\"\$DEVKIT_ROOT/VC/bin/x86:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86:\$DEVKIT_ROOT/$SDK_VERSION/Debuggers/x86\""
215echo-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\""232echo-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\""
216echo-info "DEVKIT_VS_LIB_x86=\"\$DEVKIT_ROOT/VC/lib/x86;\$DEVKIT_ROOT/VC/atlmfc/lib/x86;\$DEVKIT_ROOT/$SDK_VERSION/lib/x86\""233echo-info "DEVKIT_VS_LIB_x86=\"\$DEVKIT_ROOT/VC/lib/x86;\$DEVKIT_ROOT/VC/atlmfc/lib/x86;\$DEVKIT_ROOT/$SDK_VERSION/lib/x86\""
217echo-info "DEVKIT_MSVCR_DLL_x86=\"\$DEVKIT_ROOT/VC/redist/x86/$MSVCR_DLL\""234echo-info "DEVKIT_MSVCR_DLL_x86=\"\$DEVKIT_ROOT/VC/redist/x86/$MSVCR_DLL\""
218echo-info "DEVKIT_MSVCP_DLL_x86=\"\$DEVKIT_ROOT/VC/redist/x86/$MSVCP_DLL\""235echo-info "DEVKIT_MSVCP_DLL_x86=\"\$DEVKIT_ROOT/VC/redist/x86/$MSVCP_DLL\""
219echo-info "DEVKIT_UCRT_DLL_DIR_x86=\"\$DEVKIT_ROOT/10/Redist/ucrt/DLLs/x86\""236echo-info "DEVKIT_UCRT_DLL_DIR_x86=\"\$DEVKIT_ROOT/10/Redist/ucrt/DLLs/x86\""
220echo-info ""237echo-info ""
221echo-info "DEVKIT_TOOLCHAIN_PATH_x86_64=\"\$DEVKIT_ROOT/VC/bin/x64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86\""238echo-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\""
222echo-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\""239echo-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\""
223echo-info "DEVKIT_VS_LIB_x86_64=\"\$DEVKIT_ROOT/VC/lib/x64;\$DEVKIT_ROOT/VC/atlmfc/lib/x64;\$DEVKIT_ROOT/$SDK_VERSION/lib/x64\""240echo-info "DEVKIT_VS_LIB_x86_64=\"\$DEVKIT_ROOT/VC/lib/x64;\$DEVKIT_ROOT/VC/atlmfc/lib/x64;\$DEVKIT_ROOT/$SDK_VERSION/lib/x64\""
224echo-info "DEVKIT_MSVCR_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$MSVCR_DLL\""241echo-info "DEVKIT_MSVCR_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$MSVCR_DLL\""
@@ -226,7 +243,7 @@ echo-info "DEVKIT_VCRUNTIME_1_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$VCRUNTIM
226echo-info "DEVKIT_MSVCP_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$MSVCP_DLL\""243echo-info "DEVKIT_MSVCP_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$MSVCP_DLL\""
227echo-info "DEVKIT_UCRT_DLL_DIR_x86_64=\"\$DEVKIT_ROOT/10/Redist/ucrt/DLLs/x64\""244echo-info "DEVKIT_UCRT_DLL_DIR_x86_64=\"\$DEVKIT_ROOT/10/Redist/ucrt/DLLs/x64\""
228echo-info ""245echo-info ""
229echo-info "DEVKIT_TOOLCHAIN_PATH_aarch64=\"\$DEVKIT_ROOT/VC/bin/arm64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86\""246echo-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\""
230echo-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\""247echo-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\""
231echo-info "DEVKIT_VS_LIB_aarch64=\"\$DEVKIT_ROOT/VC/lib/arm64;\$DEVKIT_ROOT/VC/atlmfc/lib/arm64;\$DEVKIT_ROOT/$SDK_VERSION/lib/arm64\""248echo-info "DEVKIT_VS_LIB_aarch64=\"\$DEVKIT_ROOT/VC/lib/arm64;\$DEVKIT_ROOT/VC/atlmfc/lib/arm64;\$DEVKIT_ROOT/$SDK_VERSION/lib/arm64\""
232echo-info "DEVKIT_MSVCR_DLL_aarch64=\"\$DEVKIT_ROOT/VC/redist/arm64/$MSVCR_DLL\""249echo-info "DEVKIT_MSVCR_DLL_aarch64=\"\$DEVKIT_ROOT/VC/redist/arm64/$MSVCR_DLL\""
diff --git a/make/hotspot/lib/CompileGtest.gmk b/make/hotspot/lib/CompileGtest.gmk
index d27cf53..bba3ce1 100644
--- a/make/hotspot/lib/CompileGtest.gmk
+++ b/make/hotspot/lib/CompileGtest.gmk
@@ -32,6 +32,10 @@ ifeq ($(ASAN_ENABLED), true)
32 GTEST_LAUNCHER_SRC += $(TOPDIR)/make/data/asan/asan_default_options.cpp32 GTEST_LAUNCHER_SRC += $(TOPDIR)/make/data/asan/asan_default_options.cpp
33endif33endif
3434
35ifeq ($(LSAN_ENABLED), true)
36 GTEST_LAUNCHER_SRC += $(TOPDIR)/make/data/lsan/lsan_default_options.cpp
37endif
38
35# On Windows, there are no internal debug symbols so must set copying to true39# On Windows, there are no internal debug symbols so must set copying to true
36# to get any at all.40# to get any at all.
37ifeq ($(call isTargetOs, windows), true)41ifeq ($(call isTargetOs, windows), true)
diff --git a/make/ide/eclipse/CreateWorkspace.gmk b/make/ide/eclipse/CreateWorkspace.gmk
38new file mode 10064442new file mode 100644
index 0000000..51257d6
--- /dev/null
+++ b/make/ide/eclipse/CreateWorkspace.gmk
@@ -0,0 +1,390 @@
1#
2# Copyright (c) 2016, 2022, Oracle and/or its affiliates. All rights reserved.
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#
5# This code is free software; you can redistribute it and/or modify it
6# under the terms of the GNU General Public License version 2 only, as
7# published by the Free Software Foundation. Oracle designates this
8# particular file as subject to the "Classpath" exception as provided
9# by Oracle in the LICENSE file that accompanied this code.
10#
11# This code is distributed in the hope that it will be useful, but WITHOUT
12# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14# version 2 for more details (a copy is included in the LICENSE file that
15# accompanied this code).
16#
17# You should have received a copy of the GNU General Public License version
18# 2 along with this work; if not, write to the Free Software Foundation,
19# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20#
21# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22# or visit www.oracle.com if you need additional information or have any
23# questions.
24#
25
26default: all
27
28include $(SPEC)
29include MakeBase.gmk
30include TextFileProcessing.gmk
31include Utils.gmk
32include Modules.gmk
33
34JVM_VARIANT := $(JVM_VARIANT_MAIN)
35include hotspot/HotspotCommon.gmk
36include hotspot/lib/JvmFeatures.gmk
37include hotspot/lib/JvmOverrideFiles.gmk
38include hotspot/lib/JvmFlags.gmk
39
40# Random number generation, with the amount of specified digits
41# No need to check if the parameter passed is a valid number, the shell will
42# be more than happy to complain if it isn't ;)
43RandomDigits = \
44 $(shell od -An -N8 -d /dev/urandom | sed -e 's| ||g' -e 's|\(.\{$(strip $1)\}\).*|\1|')
45
46# Modified version of utility from JdkNativeCompilation.gmk
47# The full path could be omitted, but it was chosen not to so wildcard
48# can work properly for existing directories. The pathsubst below that
49# this necessitates is a relatively small price to pay.
50FindModuleNativeDirs = \
51 $(call uniq, $(wildcard \
52 $(TOPDIR)/src/$(strip $1)/$(OPENJDK_TARGET_OS)/native \
53 $(TOPDIR)/src/$(strip $1)/$(OPENJDK_TARGET_OS_TYPE)/native \
54 $(TOPDIR)/src/$(strip $1)/share/native))
55
56# Taken from JdkNativeCompilation.gmk
57FindJavaHeaderDir = \
58 $(if $(strip $1),$(wildcard $(SUPPORT_OUTPUTDIR)/headers/$(strip $1)))
59
60JAVA_DIRS := $(strip $(foreach module, $(call FindAllModules), \
61 $(patsubst $(TOPDIR)/%,%,$(filter-out $(OUTPUTDIR)%, \
62 $(call FindModuleSrcDirs, $(module))))))
63
64NATIVE_DIRS := $(strip $(foreach module, $(call FindAllModules), \
65 $(patsubst $(TOPDIR)/%,%,$(call FindModuleNativeDirs, $(module)))))
66
67# Emit the defines extracted from the list of options specified in the first parameter into
68# the language settings file, in Eclipse format.
69EmitExtractedDefines = \
70 $(shell echo $(1) | grep -o "\-D\s\?")
71
72################################################################################
73# Create an Eclipse Workspace with the specified nature
74#
75# Parameter 1 is the name of the rule. This name is used as variable prefix,
76# and the targets generated are listed in a variable by that name.
77#
78# Remaining parameter(s) are named arguments:
79# NATURE - Which Eclipse Workspace nature to generate for the Workspace. Can
80# be one of JAVA, HOTSPOT, NATIVE, or MIXED.
81# SHARED - Workspace will share the same directory as the JDK if true. Can be
82# either true or false. Defaults to false if not specified.
83SetupEclipseWorkspace = $(NamedParamsMacroTemplate)
84define SetupEclipseWorkspaceBody
85
86 $1_NATURES :=
87 $1_BUILD_MANAGERS :=
88 $1_LINKED_RESOURCES :=
89
90 ifeq ($$($1_NATURE), )
91 $$(error No nature specified for Eclipse Workspace, cannot continue)
92 endif
93
94 ifeq ($$(findstring $$($1_NATURE), JAVA HOTSPOT NATIVE MIXED), )
95 $$(error Unrecognised nature $$($1_NATURE) specified for Eclipse Workspace)
96 endif
97
98 ifeq ($$($1_SHARED), )
99 $$(info Workspace sharing option not given, assuming non-shared Eclipse Workspace)
100 $1_SHARED := false
101 else ifeq ($$(findstring $$($1_SHARED), true false), )
102 $$(error $$($1_NATURE) is not a boolean word)
103 endif
104
105 ifeq ($$($1_SHARED), true)
106 $1_CLASSPATH_FILE := $(TOPDIR)/.classpath
107 $1_WORKSPACE_FILE := $(TOPDIR)/.project
108 $1_NATIVE_FILE := $(TOPDIR)/.cproject
109 $1_SETTINGS_FILE := $(TOPDIR)/.settings/language.settings.xml
110 else
111 $1_IDE_OUTPUTDIR := $(OUTPUTDIR)/ide/eclipse
112 $1_CLASSPATH_FILE := $$($1_IDE_OUTPUTDIR)/.classpath
113 $1_WORKSPACE_FILE := $$($1_IDE_OUTPUTDIR)/.project
114 $1_NATIVE_FILE := $$($1_IDE_OUTPUTDIR)/.cproject
115 $1_SETTINGS_FILE := $$($1_IDE_OUTPUTDIR)/.settings/language.settings.xml
116 $$(call MakeDir, $$($1_IDE_OUTPUTDIR))
117 endif
118
119 ifneq ($$(findstring $$($1_NATURE), HOTSPOT NATIVE MIXED), )
120 ifeq ($$(call isCompiler, microsoft), true)
121 $$(error Visual C++ is not yet supported as an indexer for Native Workspaces!)
122 endif
123 endif
124
125 ifneq ($$(findstring $$($1_NATURE), JAVA MIXED), )
126
127 $1_CLASSPATH :=
128
129 # Eclipse crashes when processing multiple module-info.java files
130 # This is an annoying bug that has not been fixed for some time now
131 $1_CLASSPATH += $$(foreach src,$(JAVA_DIRS), \
132 <classpathentry excluding="module-info.java|module-info.java.extra" kind="src" path="$$(src)"/>$$(NEWLINE))
133
134 $$(eval $$(call SetupTextFileProcessing, $1_CREATE_CLASSPATH_FILE, \
135 SOURCE_FILES := $(TOPDIR)/make/ide/eclipse/classpath.template, \
136 OUTPUT_FILE := $$($1_CLASSPATH_FILE), \
137 REPLACEMENTS := \
138 @@CLASSPATH@@ => $$($1_CLASSPATH), \
139 ))
140
141 TARGETS += $$($1_CREATE_CLASSPATH_FILE)
142
143 $1_NATURES += <nature>org.eclipse.jdt.core.javanature</nature>$$(NEWLINE)
144
145 endif
146
147 ifneq ($$(findstring $$($1_NATURE), HOTSPOT NATIVE MIXED), )
148
149 $1_NATIVE_SRCS :=
150
151 $1_BUILD_MANAGERS += \
152 <buildCommand> \
153 <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name> \
154 <triggers>clean$$(COMMA)full$$(COMMA)incremental$$(COMMA)</triggers> \
155 <arguments> \
156 </arguments> \
157 </buildCommand> \
158 <buildCommand> \
159 <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name> \
160 <triggers>full$$(COMMA)incremental$$(COMMA)</triggers> \
161 <arguments> \
162 </arguments> \
163 </buildCommand>$$(NEWLINE)
164
165 $1_NATURES += \
166 <nature>org.eclipse.cdt.core.cnature</nature> \
167 <nature>org.eclipse.cdt.core.ccnature</nature> \
168 <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> \
169 <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>$$(NEWLINE)
170
171 # This is always emitted, no matter which of the 3 natures were selected
172 $1_NATIVE_SRCS += \
173 <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src/hotspot"/>$$(NEWLINE)
174
175 ifneq ($$(findstring $$($1_NATURE), NATIVE MIXED), )
176 $1_NATIVE_SRCS += $$(foreach src,$(NATIVE_DIRS), \
177 <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="$$(strip $$(src))"/>$$(NEWLINE))
178 endif
179
180 $1_WORKSPACE_MAJOR := $$(call RandomDigits, 10)
181 $1_WORKSPACE_MINOR := $$(call RandomDigits, 9)
182
183 # FixPath already removes $(FIXPATH) automatically, but if we rely on FixPath
184 # to do it for us dir won't be able to handle the converted path (if on Windows).
185 # Reversing the order causes dir to mangle the preceeding $(FIXPATH) which breaks
186 # the ability of FixPath to remove it, so it has to be manually removed here.
187 #
188 # Note that the workspace setup system currently does not support Visual C++ when
189 # extracting compiler and/or system headers vital to the build!
190 $1_ENV := $$(call FixPath, $$(dir $$(patsubst $(FIXPATH), , $(CC))))
191
192 # Sidestep annoying issue of WSL path conversion not working properly with true
193 # Unix paths. Eclipse can't run the WSL make by itself anyway, even if we could
194 # properly convert the path.
195 ifeq ($$(call isBuildOsEnv, windows.wsl1 windows.wsl2), true)
196 $1_MAKE := wsl.exe $(MAKE)
197 else
198 $1_MAKE := $$(call FixPath, $(MAKE))
199 endif
200
201 $1_MATCHING_MAKE_TARGETS :=
202 $1_PLAIN_MAKE_TARGETS := update-build-docs docs gensrc gendata \
203 copy java launchers libs hotspot jdk product-images all-images test-image clean
204
205 # make reconfigure omitted since it is sensitive to which make was used
206 ifeq ($$($1_SHARED), true)
207 $1_PLAIN_MAKE_TARGETS += dist-clean
208 endif
209
210 $1_MATCHING_MAKE_TARGETS += $$(foreach name,$$($1_PLAIN_MAKE_TARGETS), \
211 <target name="$$(strip $$(name))" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder"> \
212 <buildCommand>$$($1_MAKE)</buildCommand> \
213 <buildArguments>-C $$(call FixPath, $(TOPDIR))</buildArguments> \
214 <buildTarget>$$(strip $$(name))</buildTarget> \
215 <stopOnError>true</stopOnError> \
216 <useDefaultCommand>false</useDefaultCommand> \
217 <runAllBuilders>true</runAllBuilders> \
218 </target>$$(NEWLINE))
219
220 $$(eval $$(call SetupTextFileProcessing, $1_CREATE_NATIVE_FILE, \
221 SOURCE_FILES := $(TOPDIR)/make/ide/eclipse/native.template, \
222 OUTPUT_FILE := $$($1_NATIVE_FILE), \
223 REPLACEMENTS := \
224 @@DIR@@ => $$(call FixPath, $(TOPDIR)) ; \
225 @@ENV@@ => $$($1_ENV) ; \
226 @@WORKSPACE@@ => $$($1_WORKSPACE_MAJOR) ; \
227 @@MINOR@@ => $$($1_WORKSPACE_MINOR) ; \
228 @@MAKE@@ => $$($1_MAKE) ; \
229 @@SRC@@ => $$($1_NATIVE_SRCS) ; \
230 @@MAKE_TARGETS@@ => $$($1_MATCHING_MAKE_TARGETS), \
231 ))
232
233 TARGETS += $$($1_CREATE_NATIVE_FILE)
234
235 ifeq ($$($1_SHARED), true)
236 $$(call MakeDir, $(TOPDIR)/.settings)
237 else
238 $$(call MakeDir, $$($1_IDE_OUTPUTDIR)/.settings)
239 endif
240
241 $1_CSETTINGS :=
242 $1_CXXSETTINGS :=
243
244 ifneq ($$(findstring $$($1_NATURE), NATIVE MIXED), )
245 $1_CSETTINGS += $$(foreach module, $$(call FindAllModules), $$(if $$(call FindJavaHeaderDir, $$(module)), \
246 $$(foreach dirs, $$(strip $$(patsubst $(TOPDIR)/%,%,$$(call FindModuleNativeDirs, $$(module)))), \
247 <resource project-relative-path="$$(dirs)"> \
248 <entry flags="LOCAL" kind="includePath" name="$$(call FixPath, $$(call FindJavaHeaderDir, $$(module)))"/> \
249 $$(if $$(findstring jdk.sctp,$$(module)), <entry flags="LOCAL" kind="includePath" name="$$(call FixPath, $$(call FindJavaHeaderDir, java.base))"/>) \
250 </resource>$$(NEWLINE))))
251
252 # main.c source file used for generic launchers
253 $1_CSETTINGS += \
254 <resource project-relative-path="src/java.base/share/native/launcher/main.c"> \
255 <entry kind="macro" name="LAUNCHER_NAME" value="&quot;$(LAUNCHER_NAME)&quot;"/> \
256 </resource>$$(NEWLINE)
257 endif
258
259 # HotSpot first
260 $1_CXXSETTINGS += <resource project-relative-path="src/hotspot">$$(NEWLINE)
261
262 # If only the Java Virtual Machine sources were requested, headers from other parts of
263 # the native source that it needs will not be available. Add them as include paths here
264 # instead.
265 ifeq ($$($1_NATURE), HOTSPOT)
266 $1_CXXSETTINGS += $$(foreach src, $$(strip $$(patsubst %,%/include,$$(call FindModuleNativeDirs, java.base))), \
267 $(X) $(X)<entry flags="LOCAL" kind="includePath" name="$$(call FixPath, $$(src))"/>$$(NEWLINE))
268 $1_CXXSETTINGS += $(X) $(X)<entry flags="LOCAL" kind="includePath" name="$$(call FixPath, $(TOPDIR)/src/java.base/share/native/libjimage)"/>$$(NEWLINE)
269 endif
270
271 $1_CXXSETTINGS += $(X) $(X)<entry flags="LOCAL" kind="includePath" name="$$(call FixPath, $(JVM_VARIANT_OUTPUTDIR)/gensrc)"/>$$(NEWLINE)
272
273 ifeq ($$(call check-jvm-feature, compiler2), true)
274 $1_CXXSETTINGS += $(X) $(X)<entry flags="LOCAL" kind="includePath" name="$$(call FixPath, $(JVM_VARIANT_OUTPUTDIR)/gensrc/adfiles)"/>$$(NEWLINE)
275 endif
276
277 $1_CXXSETTINGS += </resource>$$(NEWLINE)
278
279 $1_CXXSETTINGS += \
280 <resource project-relative-path="src/hotspot/share/runtime/abstract_vm_version.cpp"> \
281 <entry kind="macro" name="HOTSPOT_VERSION_STRING" value="&quot;$(VERSION_STRING)&quot;"/> \
282 <entry kind="macro" name="DEBUG_LEVEL" value="&quot;$(DEBUG_LEVEL)&quot;"/> \
283 <entry kind="macro" name="HOTSPOT_BUILD_USER" value="&quot;$(USERNAME)&quot;"/> \
284 <entry kind="macro" name="HOTSPOT_VM_DISTRO" value="&quot;$(HOTSPOT_VM_DISTRO)&quot;"/> \
285 <entry kind="macro" name="CPU" value="&quot;$(OPENJDK_TARGET_CPU_VM_VERSION)&quot;"/> \
286 <entry kind="macro" name="HOTSPOT_BUILD_TIME" value="&quot;$(if $(HOTSPOT_BUILD_TIME),$(HOTSPOT_BUILD_TIME),$(call EpochToISO8601,$(shell $(DATE) +"%s")))&quot;"/> \
287 </resource> \
288 <resource project-relative-path="src/hotspot/share/runtime/arguments.cpp"> \
289 <entry kind="macro" name="HOTSPOT_VERSION_STRING" value="&quot;$(VERSION_STRING)&quot;"/> \
290 <entry kind="macro" name="DEBUG_LEVEL" value="&quot;$(DEBUG_LEVEL)&quot;"/> \
291 <entry kind="macro" name="HOTSPOT_BUILD_USER" value="&quot;$(USERNAME)&quot;"/> \
292 <entry kind="macro" name="HOTSPOT_VM_DISTRO" value="&quot;$(HOTSPOT_VM_DISTRO)&quot;"/> \
293 <entry kind="macro" name="CPU" value="&quot;$(OPENJDK_TARGET_CPU_VM_VERSION)&quot;"/> \
294 <entry kind="macro" name="HOTSPOT_BUILD_TIME" value="&quot;$(if $(HOTSPOT_BUILD_TIME),$(HOTSPOT_BUILD_TIME),$(call EpochToISO8601,$(shell $(DATE) +"%s")))&quot;"/> \
295 </resource>$$(NEWLINE)
296
297 # Now the rest of the C++ sources in the codebase
298 ifneq ($$(findstring $$($1_NATURE), NATIVE MIXED), )
299 $1_CXXSETTINGS += $$(foreach module, $$(call FindAllModules), $$(if $$(call FindJavaHeaderDir, $$(module)), \
300 $$(foreach dirs, $$(strip $$(patsubst $(TOPDIR)/%,%,$$(call FindModuleNativeDirs, $$(module)))), \
301 <resource project-relative-path="$$(dirs)"> \
302 <entry flags="LOCAL" kind="includePath" name="$$(call FixPath, $$(call FindJavaHeaderDir, $$(module)))"/> \
303 </resource>$$(NEWLINE))))
304 endif
305
306 $$(eval $$(call SetupTextFileProcessing, $1_CREATE_SETTINGS_FILE, \
307 SOURCE_FILES := $(TOPDIR)/make/ide/eclipse/settings.template, \
308 OUTPUT_FILE := $$($1_SETTINGS_FILE), \
309 REPLACEMENTS := \
310 @@WORKSPACE@@ => $$($1_WORKSPACE_MAJOR) ; \
311 @@CSETTINGS@@ => $$($1_CSETTINGS) ; \
312 @@CXXSETTINGS@@ => $$($1_CXXSETTINGS), \
313 ))
314
315 TARGETS += $$($1_CREATE_SETTINGS_FILE)
316
317 endif
318
319 ifeq ($$($1_SHARED), false)
320 ifneq ($$(findstring $$($1_NATURE), JAVA MIXED), )
321 $1_LINKED_RESOURCES += $$(foreach src,$(JAVA_DIRS), \
322 <link> \
323 <name>$$(strip $$(src))</name> \
324 <type>2</type> \
325 <location>$$(subst \\,/,$$(call FixPath, $(TOPDIR)/$$(src)))</location> \
326 </link>$$(NEWLINE))
327 endif
328
329 ifneq ($$(findstring $$($1_NATURE), HOTSPOT NATIVE MIXED), )
330 # CDT includes a Makefile editor, so if CDT support was indicated there's no harm in
331 # including the make sources as well, since the cost of indexing them is miniscule
332 $1_LINKED_RESOURCES += \
333 <link> \
334 <name>make</name> \
335 <type>2</type> \
336 <location>$$(subst \\,/,$$(call FixPath, $(TOPDIR)/make))</location> \
337 </link> \
338 <link> \
339 <name>src/hotspot</name> \
340 <type>2</type> \
341 <location>$$(subst \\,/,$$(call FixPath, $(TOPDIR)/src/hotspot))</location> \
342 </link>$$(NEWLINE)
343 endif
344
345 ifneq ($$(findstring $$($1_NATURE), NATIVE MIXED), )
346 $1_LINKED_RESOURCES += $$(foreach src,$(NATIVE_DIRS), \
347 <link> \
348 <name>$$(strip $$(src))</name> \
349 <type>2</type> \
350 <location>$$(subst \\,/,$$(call FixPath, $(TOPDIR)/$$(src)))</location> \
351 </link>$$(NEWLINE))
352 endif
353 endif
354
355 $$(eval $$(call SetupTextFileProcessing, $1_CREATE_WORKSPACE_FILE, \
356 SOURCE_FILES := $(TOPDIR)/make/ide/eclipse/workspace.template, \
357 OUTPUT_FILE := $$($1_WORKSPACE_FILE), \
358 REPLACEMENTS := \
359 @@BUILD_MANAGERS@@ => $$($1_BUILD_MANAGERS) ; \
360 @@NATURES@@ => $$($1_NATURES) ; \
361 @@LINKED_RESOURCES@@ => $$($1_LINKED_RESOURCES), \
362 ))
363
364 TARGETS += $$($1_CREATE_WORKSPACE_FILE)
365
366endef
367
368ifeq ($(WORKSPACE), java)
369 $(eval $(call SetupEclipseWorkspace, SETUP_WORKSPACE, \
370 NATURE := JAVA, \
371 SHARED := $(SHARED), \
372 ))
373else ifeq ($(WORKSPACE), hotspot)
374 $(eval $(call SetupEclipseWorkspace, SETUP_WORKSPACE, \
375 NATURE := HOTSPOT, \
376 SHARED := $(SHARED), \
377 ))
378else ifeq ($(WORKSPACE), native)
379 $(eval $(call SetupEclipseWorkspace, SETUP_WORKSPACE, \
380 NATURE := NATIVE, \
381 SHARED := $(SHARED), \
382 ))
383else
384 $(eval $(call SetupEclipseWorkspace, SETUP_WORKSPACE, \
385 NATURE := MIXED, \
386 SHARED := $(SHARED), \
387 ))
388endif
389
390all: $(TARGETS)
diff --git a/make/ide/eclipse/classpath.template b/make/ide/eclipse/classpath.template
0new file mode 100644391new file mode 100644
index 0000000..6900cd7
--- /dev/null
+++ b/make/ide/eclipse/classpath.template
@@ -0,0 +1,4 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 @@CLASSPATH@@
4</classpath>
diff --git a/make/ide/eclipse/native.template b/make/ide/eclipse/native.template
0new file mode 1006445new file mode 100644
index 0000000..37f0a7a
--- /dev/null
+++ b/make/ide/eclipse/native.template
@@ -0,0 +1,56 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
3 <storageModule moduleId="org.eclipse.cdt.core.language.mapping">
4 <project-mappings>
5 <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="org.eclipse.cdt.core.c"/>
6 <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="org.eclipse.cdt.core.c"/>
7 <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="org.eclipse.cdt.core.c++"/>
8 <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="org.eclipse.cdt.core.c++"/>
9 </project-mappings>
10 </storageModule>
11
12 <storageModule moduleId="scannerConfiguration">
13 <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
14 </storageModule>
15
16 <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
17
18 <storageModule moduleId="org.eclipse.cdt.core.settings">
19 <cconfiguration id="cdt.managedbuild.toolchain.gnu.cross.base.@@WORKSPACE@@">
20 <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
21
22 <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++">
23 <externalSettings/>
24 <extensions>
25 <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
26 <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
27 <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
28 <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
29 <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
30 <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
31 </extensions>
32 </storageModule>
33
34 <storageModule moduleId="cdtBuildSystem" version="4.0.0">
35 <configuration buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.cross.base.@@WORKSPACE@@" name="C/C++" parent="org.eclipse.cdt.build.core.emptycfg">
36 <folderInfo id="cdt.managedbuild.toolchain.gnu.cross.base.@@WORKSPACE@@.@@MINOR@@" name="/" resourcePath="">
37 <toolChain id="cdt.managedbuild.toolchain.gnu.cross.base.@@MINOR@@" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.base">
38 <option id="cdt.managedbuild.option.gnu.cross.path.@@MINOR@@" name="Path" superClass="cdt.managedbuild.option.gnu.cross.path" value="@@ENV@@" valueType="string"/>
39 <targetPlatform archList="all" binaryParser="" id="cdt.managedbuild.targetPlatform.gnu.cross.@@WORKSPACE@@" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
40 <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"/>
41 </toolChain>
42 </folderInfo>
43 <sourceEntries>
44 @@SRC@@
45 </sourceEntries>
46 </configuration>
47 </storageModule>
48 </cconfiguration>
49 </storageModule>
50
51 <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets">
52 <buildTargets>
53 @@MAKE_TARGETS@@
54 </buildTargets>
55 </storageModule>
56</cproject>
diff --git a/make/ide/eclipse/settings.template b/make/ide/eclipse/settings.template
0new file mode 10064457new file mode 100644
index 0000000..346c0f6
--- /dev/null
+++ b/make/ide/eclipse/settings.template
@@ -0,0 +1,22 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<project>
3 <configuration id="cdt.managedbuild.toolchain.gnu.cross.base.@@WORKSPACE@@" name="C/C++">
4 <extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
5 <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"/>
6 <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"/>
7 <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">
8 <language-scope id="org.eclipse.cdt.core.c"/>
9 <language-scope id="org.eclipse.cdt.core.c++"/>
10 </provider>
11 <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">
12 <language id="org.eclipse.cdt.core.c">
13 @@CSETTINGS@@
14 </language>
15
16 <language id="org.eclipse.cdt.core.c++">
17 @@CXXSETTINGS@@
18 </language>
19 </provider>
20 </extension>
21 </configuration>
22</project>
diff --git a/make/ide/eclipse/workspace.template b/make/ide/eclipse/workspace.template
0new file mode 10064423new file mode 100644
index 0000000..328ee0c
--- /dev/null
+++ b/make/ide/eclipse/workspace.template
@@ -0,0 +1,16 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>jdk</name>
4 <comment>The HotSpot Virtual Machine, Runtime Environment, and Development Kit</comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 @@BUILD_MANAGERS@@
9 </buildSpec>
10 <natures>
11 @@NATURES@@
12 </natures>
13 <linkedResources>
14 @@LINKED_RESOURCES@@
15 </linkedResources>
16</projectDescription>
diff --git a/make/ide/idea/jdk/template/src/idea/JdkIdeaAntLogger.java b/make/ide/idea/jdk/template/src/idea/JdkIdeaAntLogger.java
index d58fa40..9634fb9 100644
--- a/make/ide/idea/jdk/template/src/idea/JdkIdeaAntLogger.java
+++ b/make/ide/idea/jdk/template/src/idea/JdkIdeaAntLogger.java
@@ -54,7 +54,7 @@ public final class JdkIdeaAntLogger extends DefaultLogger {
54 /**54 /**
55 * This is just a way to pass in customized binary string predicates;55 * This is just a way to pass in customized binary string predicates;
56 *56 *
57 * TODO: replace with @code{BiPredicate<String, String>} and method reference when moving to 857 * TODO: replace with {@code BiPredicate<String, String>} and method reference when moving to 8
58 */58 */
59 enum StringBinaryPredicate {59 enum StringBinaryPredicate {
60 CONTAINS() {60 CONTAINS() {
diff --git a/make/ide/idea/langtools/template/src/idea/LangtoolsIdeaAntLogger.java b/make/ide/idea/langtools/template/src/idea/LangtoolsIdeaAntLogger.java
index 11ebfbf..8eb5313 100644
--- a/make/ide/idea/langtools/template/src/idea/LangtoolsIdeaAntLogger.java
+++ b/make/ide/idea/langtools/template/src/idea/LangtoolsIdeaAntLogger.java
@@ -54,7 +54,7 @@ public final class LangtoolsIdeaAntLogger extends DefaultLogger {
54 /**54 /**
55 * This is just a way to pass in customized binary string predicates;55 * This is just a way to pass in customized binary string predicates;
56 *56 *
57 * TODO: replace with @code{BiPredicate<String, String>} and method reference when moving to 857 * TODO: replace with {@code BiPredicate<String, String>} and method reference when moving to 8
58 */58 */
59 enum StringBinaryPredicate {59 enum StringBinaryPredicate {
60 CONTAINS() {60 CONTAINS() {
diff --git a/make/ide/visualstudio/hotspot/CreateVSProject.gmk b/make/ide/visualstudio/hotspot/CreateVSProject.gmk
index 2f1b7e0..17051fd 100644
--- a/make/ide/visualstudio/hotspot/CreateVSProject.gmk
+++ b/make/ide/visualstudio/hotspot/CreateVSProject.gmk
@@ -35,8 +35,8 @@ ifeq ($(call isTargetOs, windows), true)
35 # The next part is a bit hacky. We include the CompileJvm.gmk to be35 # The next part is a bit hacky. We include the CompileJvm.gmk to be
36 # able to extract flags, but we do not wish to execute the rules.36 # able to extract flags, but we do not wish to execute the rules.
3737
38 # Use server as base for defines and includes38 # Use primary variant for defines and includes
39 JVM_VARIANT=server39 JVM_VARIANT := $(JVM_VARIANT_MAIN)
4040
41 include HotspotCommon.gmk41 include HotspotCommon.gmk
42 include lib/CompileJvm.gmk42 include lib/CompileJvm.gmk
diff --git a/make/jdk/src/classes/build/tools/charsetmapping/SPI.java b/make/jdk/src/classes/build/tools/charsetmapping/SPI.java
index 3ed09fd..15e0b9f 100644
--- a/make/jdk/src/classes/build/tools/charsetmapping/SPI.java
+++ b/make/jdk/src/classes/build/tools/charsetmapping/SPI.java
@@ -1,5 +1,5 @@
1/*1/*
2 * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.2 * Copyright (c) 2018, 2023, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *4 *
5 * This code is free software; you can redistribute it and/or modify it5 * This code is free software; you can redistribute it and/or modify it
@@ -50,18 +50,19 @@ public class SPI {
50 out.println(line);50 out.println(line);
51 } else {51 } else {
52 charsets.values()52 charsets.values()
53 .stream()53 .stream()
54 .filter(cs -> cs.pkgName.equals("sun.nio.cs.ext") &&54 .filter(cs -> cs.pkgName.equals("sun.nio.cs.ext") &&
55 !cs.isInternal &&55 !cs.isInternal &&
56 (cs.os == null || cs.os.equals(os)))56 (cs.os == null || cs.os.equals(os)))
57 .forEach( cs -> {57 .forEach( cs -> {
58 out.printf(" charset(\"%s\", \"%s\",%n", cs.csName, cs.clzName);58 out.printf(" charset(\"%s\", \"%s\",%n", cs.csName, cs.clzName);
59 out.printf(" new String[] {%n");59 out.printf(" new String[] {%n");
60 for (String alias : cs.aliases) {60 for (String alias : cs.aliases) {
61 out.printf(" \"%s\",%n", alias);61 out.printf(" \"%s\",%n",
62 }62 alias);
63 out.printf(" });%n%n");63 }
64 });64 out.printf(" });%n%n");
65 });
65 }66 }
66 }67 }
67 } else if (type.startsWith("stdcs")) { // StandardCharsets.java68 } else if (type.startsWith("stdcs")) { // StandardCharsets.java
@@ -93,8 +94,15 @@ public class SPI {
93 .filter(cs -> cs.pkgName.equals("sun.nio.cs"))94 .filter(cs -> cs.pkgName.equals("sun.nio.cs"))
94 .forEach( cs -> {95 .forEach( cs -> {
95 if (cs.aliases == null || cs.aliases.length == 0) {96 if (cs.aliases == null || cs.aliases.length == 0) {
96 out.printf(" static String[] aliases_%s() { return null; }%n%n",97 if (cs.csName.equals("GB18030")) {
97 cs.clzName);98 out.printf(" static String[] aliases_GB18030() { return new String[] {%n");
99 out.printf(" GB18030.IS_2000 ? \"gb18030-2000\" : \"gb18030-2022\"%n");
100 out.printf(" };%n");
101 out.printf(" }%n%n");
102 } else {
103 out.printf(" static String[] aliases_%s() { return null; }%n%n",
104 cs.clzName);
105 }
98 } else {106 } else {
99 boolean methodEnd = true;107 boolean methodEnd = true;
100 // non-final for SJIS and MS932 to support sun.nio.cs.map108 // non-final for SJIS and MS932 to support sun.nio.cs.map
diff --git a/make/jdk/src/classes/build/tools/classlist/HelloClasslist.java b/make/jdk/src/classes/build/tools/classlist/HelloClasslist.java
index ed11801..d24aee5 100644
--- a/make/jdk/src/classes/build/tools/classlist/HelloClasslist.java
+++ b/make/jdk/src/classes/build/tools/classlist/HelloClasslist.java
@@ -1,5 +1,5 @@
1/*1/*
2 * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.2 * Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *4 *
5 * This code is free software; you can redistribute it and/or modify it5 * This code is free software; you can redistribute it and/or modify it
@@ -147,6 +147,12 @@ public class HelloClasslist {
147 invoke(handle("staticMethod_V", MethodType.methodType(void.class)));147 invoke(handle("staticMethod_V", MethodType.methodType(void.class)));
148148
149 LOGGER.log(Level.FINE, "New Date: " + newDate + " - old: " + oldDate);149 LOGGER.log(Level.FINE, "New Date: " + newDate + " - old: " + oldDate);
150
151 // The Striped64$Cell is loaded rarely only when there's a contention among
152 // multiple threads performing LongAdder.increment(). This results in
153 // an inconsistency in the classlist between builds (see JDK-8295951).
154 // To avoid the problem, load the class explicitly.
155 Class<?> striped64Class = Class.forName("java.util.concurrent.atomic.Striped64$Cell");
150 }156 }
151157
152 public HelloClasslist() {}158 public HelloClasslist() {}
diff --git a/make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java b/make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java
index d6c5022..17ecb75 100644
--- a/make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java
+++ b/make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java
@@ -69,6 +69,7 @@ public class CLDRConverter {
69 private static String WINZONES_SOURCE_FILE;69 private static String WINZONES_SOURCE_FILE;
70 private static String PLURALS_SOURCE_FILE;70 private static String PLURALS_SOURCE_FILE;
71 private static String DAYPERIODRULE_SOURCE_FILE;71 private static String DAYPERIODRULE_SOURCE_FILE;
72 private static String COVERAGELEVELS_FILE;
72 static String DESTINATION_DIR = "build/gensrc";73 static String DESTINATION_DIR = "build/gensrc";
7374
74 static final String LOCALE_NAME_PREFIX = "locale.displayname.";75 static final String LOCALE_NAME_PREFIX = "locale.displayname.";
@@ -258,6 +259,7 @@ public class CLDRConverter {
258 WINZONES_SOURCE_FILE = CLDR_BASE + "/supplemental/windowsZones.xml";259 WINZONES_SOURCE_FILE = CLDR_BASE + "/supplemental/windowsZones.xml";
259 PLURALS_SOURCE_FILE = CLDR_BASE + "/supplemental/plurals.xml";260 PLURALS_SOURCE_FILE = CLDR_BASE + "/supplemental/plurals.xml";
260 DAYPERIODRULE_SOURCE_FILE = CLDR_BASE + "/supplemental/dayPeriods.xml";261 DAYPERIODRULE_SOURCE_FILE = CLDR_BASE + "/supplemental/dayPeriods.xml";
262 COVERAGELEVELS_FILE = CLDR_BASE + "/properties/coverageLevels.txt";
261263
262 if (BASE_LOCALES.isEmpty()) {264 if (BASE_LOCALES.isEmpty()) {
263 setupBaseLocales("en-US");265 setupBaseLocales("en-US");
@@ -359,13 +361,18 @@ public class CLDRConverter {
359 private static List<Bundle> readBundleList() throws Exception {361 private static List<Bundle> readBundleList() throws Exception {
360 List<Bundle> retList = new ArrayList<>();362 List<Bundle> retList = new ArrayList<>();
361 Path path = FileSystems.getDefault().getPath(SOURCE_FILE_DIR);363 Path path = FileSystems.getDefault().getPath(SOURCE_FILE_DIR);
364 var coverageMap = coverageLevelsMap();
362 try (DirectoryStream<Path> dirStr = Files.newDirectoryStream(path)) {365 try (DirectoryStream<Path> dirStr = Files.newDirectoryStream(path)) {
363 for (Path entry : dirStr) {366 for (Path entry : dirStr) {
364 String fileName = entry.getFileName().toString();367 String fileName = entry.getFileName().toString();
365 if (fileName.endsWith(".xml")) {368 if (fileName.endsWith(".xml")) {
366 String id = fileName.substring(0, fileName.indexOf('.'));369 String id = fileName.substring(0, fileName.indexOf('.'));
367 Locale cldrLoc = Locale.forLanguageTag(toLanguageTag(id));370 Locale cldrLoc = Locale.forLanguageTag(toLanguageTag(id));
368 StringBuilder sb = getCandLocales(cldrLoc);371 List<Locale> candList = getCandidateLocales(cldrLoc);
372 if (!"root".equals(id) && candList.stream().noneMatch(coverageMap::containsKey)) {
373 continue;
374 }
375 StringBuilder sb = getCandLocales(candList);
369 if (sb.indexOf("root") == -1) {376 if (sb.indexOf("root") == -1) {
370 sb.append("root");377 sb.append("root");
371 }378 }
@@ -510,8 +517,7 @@ public class CLDRConverter {
510 parser.parse(srcfile, handler);517 parser.parse(srcfile, handler);
511 }518 }
512519
513 private static StringBuilder getCandLocales(Locale cldrLoc) {520 private static StringBuilder getCandLocales(List<Locale> candList) {
514 List<Locale> candList = getCandidateLocales(cldrLoc);
515 StringBuilder sb = new StringBuilder();521 StringBuilder sb = new StringBuilder();
516 for (Locale loc : candList) {522 for (Locale loc : candList) {
517 if (!loc.equals(Locale.ROOT)) {523 if (!loc.equals(Locale.ROOT)) {
@@ -1195,6 +1201,26 @@ public class CLDRConverter {
1195 }));1201 }));
1196 }1202 }
11971203
1204 private static Map<Locale, String> coverageLevelsMap() throws Exception {
1205 // First, parse `coverageLevels.txt` file
1206 var covMap = Files.readAllLines(Path.of(COVERAGELEVELS_FILE)).stream()
1207 .filter(line -> !line.isBlank() && !line.startsWith("#"))
1208 .map(line -> line.split("[\s\t]*;[\s\t]*", 3))
1209 .filter(a -> a[1].matches("basic|moderate|modern|comprehensive"))
1210 .collect(Collectors.toMap(
1211 a -> Locale.forLanguageTag(a[0].replaceAll("_", "-")),
1212 a -> a[1],
1213 (v1, v2) -> v2, // should never happen
1214 HashMap::new));
1215
1216 // Add other common (non-seed) locales (below `basic` coverage level) as of v42
1217 ResourceBundle.getBundle(CLDRConverter.class.getPackageName() + ".OtherCommonLocales")
1218 .keySet()
1219 .forEach(k -> covMap.put(Locale.forLanguageTag(k), ""));
1220
1221 return covMap;
1222 }
1223
1198 // for debug1224 // for debug
1199 static void dumpMap(Map<String, Object> map) {1225 static void dumpMap(Map<String, Object> map) {
1200 map.entrySet().stream()1226 map.entrySet().stream()
diff --git a/make/jdk/src/classes/build/tools/cldrconverter/OtherCommonLocales.properties b/make/jdk/src/classes/build/tools/cldrconverter/OtherCommonLocales.properties
1201new file mode 1006441227new file mode 100644
index 0000000..b7bb733
--- /dev/null
+++ b/make/jdk/src/classes/build/tools/cldrconverter/OtherCommonLocales.properties
@@ -0,0 +1,140 @@
1#
2# Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#
5# This code is free software; you can redistribute it and/or modify it
6# under the terms of the GNU General Public License version 2 only, as
7# published by the Free Software Foundation. Oracle designates this
8# particular file as subject to the "Classpath" exception as provided
9# by Oracle in the LICENSE file that accompanied this code.
10#
11# This code is distributed in the hope that it will be useful, but WITHOUT
12# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14# version 2 for more details (a copy is included in the LICENSE file that
15# accompanied this code).
16#
17# You should have received a copy of the GNU General Public License version
18# 2 along with this work; if not, write to the Free Software Foundation,
19# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20#
21# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22# or visit www.oracle.com if you need additional information or have any
23# questions.
24#
25
26# Other common (non-seed) locales that are below `Basic` coverage level
27# as of CLDR v42 (Extracted from
28# https://github.com/unicode-org/cldr-staging/blob/main/docs/charts/42/tsv/locale-coverage.tsv)
29
30agq=Aghem
31ak=Akan
32ann=Obolo
33asa=Asu
34az-Cyrl=Azerbaijani (Cyrillic)
35bas=Basaa
36bem=Bemba
37bez=Bena
38bm=Bambara
39bo=Tibetan
40ccp=Chakma
41ce=Chechen
42cgg=Chiga
43ckb=Central Kurdish
44dav=Taita
45dje=Zarma
46dua=Duala
47dyo=Jola-Fonyi
48dz=Dzongkha
49ebu=Embu
50ee=Ewe
51eo=Esperanto
52ewo=Ewondo
53ff=Fula
54frr=Northern Frisian
55fur=Friulian
56fy=Western Frisian
57gsw=Swiss German
58guz=Gusii
59gv=Manx
60haw=Hawaiian
61ii=Sichuan Yi
62jgo=Ngomba
63jmc=Machame
64kab=Kabyle
65kam=Kamba
66kde=Makonde
67khq=Koyra Chiini
68ki=Kikuyu
69kkj=Kako
70kl=Kalaallisut
71kln=Kalenjin
72ksb=Shambala
73ksf=Bafia
74ksh=Colognian
75ku=Kurdish
76kw=Cornish
77lag=Langi
78lb=Luxembourgish
79lg=Ganda
80lkt=Lakota
81ln=Lingala
82lrc=Northern Luri
83lu=Luba-Katanga
84luo=Luo
85luy=Luyia
86mas=Masai
87mdf=Moksha
88mer=Meru
89mfe=Morisyen
90mg=Malagasy
91mgh=Makhuwa-Meetto
92mgo=Meta��
93mt=Maltese
94mua=Mundang
95mzn=Mazanderani
96naq=Nama
97nd=North Ndebele
98nds=Low German
99nmg=Kwasio
100nnh=Ngiemboon
101nus=Nuer
102nyn=Nyankole
103oc=Occitan
104om=Oromo
105os=Ossetic
106pa-Arab=Punjabi (Arabic)
107pis=Pijin
108rn=Rundi
109rof=Rombo
110rw=Kinyarwanda
111rwk=Rwa
112sah=Yakut
113saq=Samburu
114sbp=Sangu
115se=Northern Sami
116seh=Sena
117ses=Koyraboro Senni
118sg=Sango
119shi=Tachelhit
120shi-Latn=Tachelhit (Latin)
121smn=Inari Sami
122sms=Skolt Sami
123sn=Shona
124teo=Teso
125tok=Toki Pona
126twq=Tasawaq
127tzm=Central Atlas Tamazight
128ug=Uyghur
129uz-Arab=Uzbek (Arabic)
130vai=Vai
131vai-Latn=Vai (Latin)
132vun=Vunjo
133wae=Walser
134xog=Soga
135yav=Yangben
136yi=Yiddish
137zgh=Standard Moroccan Tamazight
138
139# Not listed, but existed
140sr-Latn=Serbian (Latin)
diff --git a/make/jdk/src/classes/build/tools/depend/Depend.java b/make/jdk/src/classes/build/tools/depend/Depend.java
index ce58ced..4dcf130 100644
--- a/make/jdk/src/classes/build/tools/depend/Depend.java
+++ b/make/jdk/src/classes/build/tools/depend/Depend.java
@@ -33,6 +33,7 @@ import com.sun.source.tree.MemberReferenceTree;
33import com.sun.source.tree.MemberSelectTree;33import com.sun.source.tree.MemberSelectTree;
34import com.sun.source.tree.MethodTree;34import com.sun.source.tree.MethodTree;
35import com.sun.source.tree.ModifiersTree;35import com.sun.source.tree.ModifiersTree;
36import com.sun.source.tree.PrimitiveTypeTree;
36import com.sun.source.tree.Tree;37import com.sun.source.tree.Tree;
37import com.sun.source.tree.VariableTree;38import com.sun.source.tree.VariableTree;
38import java.io.File;39import java.io.File;
@@ -140,9 +141,12 @@ public class Depend implements Plugin {
140 public void init(JavacTask jt, String... args) {141 public void init(JavacTask jt, String... args) {
141 addExports();142 addExports();
142143
144 Path internalAPIDigestFile;
145 Map<String, String> internalAPI = new HashMap<>();
143 AtomicBoolean noApiChange = new AtomicBoolean();146 AtomicBoolean noApiChange = new AtomicBoolean();
147 Context context = ((BasicJavacTask) jt).getContext();
148 JavaCompiler compiler = JavaCompiler.instance(context);
144 try {149 try {
145 Context context = ((BasicJavacTask) jt).getContext();
146 Options options = Options.instance(context);150 Options options = Options.instance(context);
147 String modifiedInputs = options.get("modifiedInputs");151 String modifiedInputs = options.get("modifiedInputs");
148 if (modifiedInputs == null) {152 if (modifiedInputs == null) {
@@ -157,8 +161,18 @@ public class Depend implements Plugin {
157 Set<Path> modified = Files.readAllLines(Paths.get(modifiedInputs)).stream()161 Set<Path> modified = Files.readAllLines(Paths.get(modifiedInputs)).stream()
158 .map(Paths::get)162 .map(Paths::get)
159 .collect(Collectors.toSet());163 .collect(Collectors.toSet());
160 Path internalAPIDigestFile = Paths.get(internalAPIPath);164 internalAPIDigestFile = Paths.get(internalAPIPath);
161 JavaCompiler compiler = JavaCompiler.instance(context);165 if (Files.isReadable(internalAPIDigestFile)) {
166 try {
167 Files.readAllLines(internalAPIDigestFile, StandardCharsets.UTF_8)
168 .forEach(line -> {
169 String[] keyAndValue = line.split("=");
170 internalAPI.put(keyAndValue[0], keyAndValue[1]);
171 });
172 } catch (IOException ex) {
173 throw new IllegalStateException(ex);
174 }
175 }
162 Class<?> initialFileParserIntf = Class.forName("com.sun.tools.javac.main.JavaCompiler$InitialFileParserIntf");176 Class<?> initialFileParserIntf = Class.forName("com.sun.tools.javac.main.JavaCompiler$InitialFileParserIntf");
163 Class<?> initialFileParser = Class.forName("com.sun.tools.javac.main.JavaCompiler$InitialFileParser");177 Class<?> initialFileParser = Class.forName("com.sun.tools.javac.main.JavaCompiler$InitialFileParser");
164 Field initialParserKeyField = initialFileParser.getDeclaredField("initialParserKey");178 Field initialParserKeyField = initialFileParser.getDeclaredField("initialParserKey");
@@ -169,7 +183,7 @@ public class Depend implements Plugin {
169 new Class<?>[] {initialFileParserIntf},183 new Class<?>[] {initialFileParserIntf},
170 new FilteredInitialFileParser(compiler,184 new FilteredInitialFileParser(compiler,
171 modified,185 modified,
172 internalAPIDigestFile,186 internalAPI,
173 noApiChange,187 noApiChange,
174 debug));188 debug));
175 context.<Object>put(key, initialParserInstance);189 context.<Object>put(key, initialParserInstance);
@@ -213,7 +227,17 @@ public class Depend implements Plugin {
213 }227 }
214 }228 }
215 }229 }
216 if (te.getKind() == Kind.COMPILATION && !noApiChange.get()) {230 if (te.getKind() == Kind.COMPILATION && !noApiChange.get() &&
231 compiler.errorCount() == 0) {
232 try (OutputStream out = Files.newOutputStream(internalAPIDigestFile)) {
233 String hashes = internalAPI.entrySet()
234 .stream()
235 .map(e -> e.getKey() + "=" + e.getValue())
236 .collect(Collectors.joining("\n"));
237 out.write(hashes.getBytes(StandardCharsets.UTF_8));
238 } catch (IOException ex) {
239 throw new IllegalStateException(ex);
240 }
217 String previousSignature = null;241 String previousSignature = null;
218 File digestFile = new File(args[0]);242 File digestFile = new File(args[0]);
219 try (InputStream in = new FileInputStream(digestFile)) {243 try (InputStream in = new FileInputStream(digestFile)) {
@@ -258,20 +282,8 @@ public class Depend implements Plugin {
258282
259 private com.sun.tools.javac.util.List<JCCompilationUnit> doFilteredParse(283 private com.sun.tools.javac.util.List<JCCompilationUnit> doFilteredParse(
260 JavaCompiler compiler, Iterable<JavaFileObject> fileObjects, Set<Path> modified,284 JavaCompiler compiler, Iterable<JavaFileObject> fileObjects, Set<Path> modified,
261 Path internalAPIDigestFile, AtomicBoolean noApiChange,285 Map<String, String> internalAPI, AtomicBoolean noApiChange,
262 boolean debug) {286 boolean debug) {
263 Map<String, String> internalAPI = new LinkedHashMap<>();
264 if (Files.isReadable(internalAPIDigestFile)) {
265 try {
266 Files.readAllLines(internalAPIDigestFile, StandardCharsets.UTF_8)
267 .forEach(line -> {
268 String[] keyAndValue = line.split("=");
269 internalAPI.put(keyAndValue[0], keyAndValue[1]);
270 });
271 } catch (IOException ex) {
272 throw new IllegalStateException(ex);
273 }
274 }
275 Map<JavaFileObject, JCCompilationUnit> files2CUT = new IdentityHashMap<>();287 Map<JavaFileObject, JCCompilationUnit> files2CUT = new IdentityHashMap<>();
276 boolean fullRecompile = modified.stream()288 boolean fullRecompile = modified.stream()
277 .map(Path::toString)289 .map(Path::toString)
@@ -289,7 +301,6 @@ public class Depend implements Plugin {
289 result.add(parsed);301 result.add(parsed);
290 }302 }
291 }303 }
292
293 if (fullRecompile) {304 if (fullRecompile) {
294 for (JavaFileObject jfo : fileObjects) {305 for (JavaFileObject jfo : fileObjects) {
295 if (!modified.contains(Path.of(jfo.getName()))) {306 if (!modified.contains(Path.of(jfo.getName()))) {
@@ -301,15 +312,6 @@ public class Depend implements Plugin {
301 result.add(parsed);312 result.add(parsed);
302 }313 }
303 }314 }
304 try (OutputStream out = Files.newOutputStream(internalAPIDigestFile)) {
305 String hashes = internalAPI.entrySet()
306 .stream()
307 .map(e -> e.getKey() + "=" + e.getValue())
308 .collect(Collectors.joining("\n"));
309 out.write(hashes.getBytes(StandardCharsets.UTF_8));
310 } catch (IOException ex) {
311 throw new IllegalStateException(ex);
312 }
313 } else {315 } else {
314 noApiChange.set(true);316 noApiChange.set(true);
315 }317 }
@@ -835,7 +837,7 @@ public class Depend implements Plugin {
835 !isPrivate(((VariableTree) m).getModifiers()) ||837 !isPrivate(((VariableTree) m).getModifiers()) ||
836 isRecordComponent((VariableTree) m);838 isRecordComponent((VariableTree) m);
837 case BLOCK -> false;839 case BLOCK -> false;
838 default -> throw new IllegalStateException("Unexpected tree kind: " + m.getKind());840 default -> false;
839 };841 };
840 }842 }
841843
@@ -878,24 +880,30 @@ public class Depend implements Plugin {
878 return super.visitModifiers(node, p);880 return super.visitModifiers(node, p);
879 }881 }
880882
883 @Override
884 public Void visitPrimitiveType(PrimitiveTypeTree node, Void p) {
885 update(node.getPrimitiveTypeKind().name());
886 return super.visitPrimitiveType(node, p);
887 }
888
881 }889 }
882890
883 private class FilteredInitialFileParser implements InvocationHandler {891 private class FilteredInitialFileParser implements InvocationHandler {
884892
885 private final JavaCompiler compiler;893 private final JavaCompiler compiler;
886 private final Set<Path> modified;894 private final Set<Path> modified;
887 private final Path internalAPIDigestFile;895 private final Map<String, String> internalAPI;
888 private final AtomicBoolean noApiChange;896 private final AtomicBoolean noApiChange;
889 private final boolean debug;897 private final boolean debug;
890898
891 public FilteredInitialFileParser(JavaCompiler compiler,899 public FilteredInitialFileParser(JavaCompiler compiler,
892 Set<Path> modified,900 Set<Path> modified,
893 Path internalAPIDigestFile,901 Map<String, String> internalAPI,
894 AtomicBoolean noApiChange,902 AtomicBoolean noApiChange,
895 boolean debug) {903 boolean debug) {
896 this.compiler = compiler;904 this.compiler = compiler;
897 this.modified = modified;905 this.modified = modified;
898 this.internalAPIDigestFile = internalAPIDigestFile;906 this.internalAPI = internalAPI;
899 this.noApiChange = noApiChange;907 this.noApiChange = noApiChange;
900 this.debug = debug;908 this.debug = debug;
901 }909 }
@@ -907,7 +915,7 @@ public class Depend implements Plugin {
907 case "parse" -> doFilteredParse(compiler,915 case "parse" -> doFilteredParse(compiler,
908 (Iterable<JavaFileObject>) args[0],916 (Iterable<JavaFileObject>) args[0],
909 modified,917 modified,
910 internalAPIDigestFile,918 internalAPI,
911 noApiChange,919 noApiChange,
912 debug);920 debug);
913 default -> throw new UnsupportedOperationException();921 default -> throw new UnsupportedOperationException();
diff --git a/make/jdk/src/classes/build/tools/depend/DependTest.java b/make/jdk/src/classes/build/tools/depend/DependTest.java
index 1b45184..810397b 100644
--- a/make/jdk/src/classes/build/tools/depend/DependTest.java
+++ b/make/jdk/src/classes/build/tools/depend/DependTest.java
@@ -28,6 +28,7 @@ import com.sun.source.util.Plugin;
28import java.io.File;28import java.io.File;
29import java.io.IOException;29import java.io.IOException;
30import java.io.OutputStream;30import java.io.OutputStream;
31import java.io.Writer;
31import java.net.URI;32import java.net.URI;
32import java.net.URISyntaxException;33import java.net.URISyntaxException;
33import java.nio.file.Files;34import java.nio.file.Files;
@@ -54,6 +55,8 @@ public class DependTest {
54 test.testRecords();55 test.testRecords();
55 test.testImports();56 test.testImports();
56 test.testModifiers();57 test.testModifiers();
58 test.testPrimitiveTypeChanges();
59 test.testWithErrors();
57 }60 }
5861
59 public void testMethods() throws Exception {62 public void testMethods() throws Exception {
@@ -302,6 +305,27 @@ public class DependTest {
302 "package test; public record Test (int x, int y) {" +305 "package test; public record Test (int x, int y) {" +
303 "public Test (int x, int y, int z) { this(x, y); } }", // additional ctr306 "public Test (int x, int y, int z) { this(x, y); } }", // additional ctr
304 true);307 true);
308 doOrdinaryTest("package test; public record Test (int x) { }",
309 "package test; public record Test (long x) { unresolved f; }", //erroneous record member, should not crash
310 false);
311 }
312
313 public void testPrimitiveTypeChanges() throws Exception {
314 doOrdinaryTest("package test; public record Test (int x) { }",
315 "package test; public record Test (long x) { }",
316 true);
317 doOrdinaryTest("package test; public record Test (int x) { }",
318 "package test; public record Test (Integer x) { }",
319 true);
320 doOrdinaryTest("package test; public record Test (Integer x) { }",
321 "package test; public record Test (int x) { }",
322 true);
323 }
324
325 public void testWithErrors() throws Exception {
326 doOrdinaryTest("package test; public record Test (int x) { }",
327 "package test; public record Test (long x) { static unresolved f; }",
328 false); //the API change should not be recorded for code with errors
305 }329 }
306330
307 private final JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();331 private final JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
@@ -310,6 +334,7 @@ public class DependTest {
310 private Path scratchClasses;334 private Path scratchClasses;
311 private Path apiHash;335 private Path apiHash;
312 private Path treeHash;336 private Path treeHash;
337 private Path modifiedFiles;
313338
314 private void setupClass() throws IOException {339 private void setupClass() throws IOException {
315 depend = Paths.get(Depend.class.getProtectionDomain().getCodeSource().getLocation().getPath());340 depend = Paths.get(Depend.class.getProtectionDomain().getCodeSource().getLocation().getPath());
@@ -328,6 +353,7 @@ public class DependTest {
328353
329 apiHash = scratch.resolve("api");354 apiHash = scratch.resolve("api");
330 treeHash = scratch.resolve("tree");355 treeHash = scratch.resolve("tree");
356 modifiedFiles = scratch.resolve("modified-files");
331 }357 }
332358
333 private void doOrdinaryTest(String codeBefore, String codeAfter, boolean hashChangeExpected) throws Exception {359 private void doOrdinaryTest(String codeBefore, String codeAfter, boolean hashChangeExpected) throws Exception {
@@ -335,11 +361,16 @@ public class DependTest {
335 }361 }
336362
337 private void doOrdinaryTest(String codeBefore, String codeAfter, boolean apiHashChangeExpected, boolean treeHashChangeExpected) throws Exception {363 private void doOrdinaryTest(String codeBefore, String codeAfter, boolean apiHashChangeExpected, boolean treeHashChangeExpected) throws Exception {
364 try (Writer out = Files.newBufferedWriter(modifiedFiles)) {
365 out.append("module-info.java\n");
366 out.append("test.Test.java\n");
367 }
338 List<String> options =368 List<String> options =
339 Arrays.asList("-d", scratchClasses.toString(),369 Arrays.asList("-d", scratchClasses.toString(),
340 "-processorpath", depend.toString() + File.pathSeparator + scratchServices.toString(),370 "-processorpath", depend.toString() + File.pathSeparator + scratchServices.toString(),
341 "-Xplugin:depend " + apiHash.toString() + " " + treeHash.toString(),371 "-Xplugin:depend " + apiHash.toString(),
342 "-XDmodifiedInputs=build-all");372 "-XDinternalAPIPath=" + treeHash.toString(),
373 "-XDmodifiedInputs=" + modifiedFiles.toString());
343 List<TestJavaFileObject> beforeFiles =374 List<TestJavaFileObject> beforeFiles =
344 Arrays.asList(new TestJavaFileObject("module-info", "module m { exports test; }"),375 Arrays.asList(new TestJavaFileObject("module-info", "module m { exports test; }"),
345 new TestJavaFileObject("test.Test", codeBefore));376 new TestJavaFileObject("test.Test", codeBefore));
@@ -369,11 +400,19 @@ public class DependTest {
369 }400 }
370401
371 private void doModuleTest(String codeBefore, String codeAfter, boolean apiHashChangeExpected, boolean treeHashChangeExpected) throws Exception {402 private void doModuleTest(String codeBefore, String codeAfter, boolean apiHashChangeExpected, boolean treeHashChangeExpected) throws Exception {
403 try (Writer out = Files.newBufferedWriter(modifiedFiles)) {
404 out.append("module-info.java\n");
405 out.append("test.Test1.java\n");
406 out.append("test.Test2.java\n");
407 out.append("test.TestImpl1.java\n");
408 out.append("test.TestImpl2.java\n");
409 }
372 List<String> options =410 List<String> options =
373 Arrays.asList("-d", scratchClasses.toString(),411 Arrays.asList("-d", scratchClasses.toString(),
374 "-processorpath", depend.toString() + File.pathSeparator + scratchServices.toString(),412 "-processorpath", depend.toString() + File.pathSeparator + scratchServices.toString(),
375 "-Xplugin:depend " + apiHash.toString() + " " + treeHash.toString(),413 "-Xplugin:depend " + apiHash.toString() + " " + treeHash.toString(),
376 "-XDmodifiedInputs=build-all");414 "-XDinternalAPIPath=" + treeHash.toString(),
415 "-XDmodifiedInputs=" + modifiedFiles.toString());
377 List<TestJavaFileObject> beforeFiles =416 List<TestJavaFileObject> beforeFiles =
378 Arrays.asList(new TestJavaFileObject("module-info", codeBefore),417 Arrays.asList(new TestJavaFileObject("module-info", codeBefore),
379 new TestJavaFileObject("test.Test1", "package test; public interface Test1 {}"),418 new TestJavaFileObject("test.Test1", "package test; public interface Test1 {}"),
@@ -406,10 +445,12 @@ public class DependTest {
406445
407 private static final class TestJavaFileObject extends SimpleJavaFileObject {446 private static final class TestJavaFileObject extends SimpleJavaFileObject {
408447
448 private final String className;
409 private final String code;449 private final String code;
410450
411 public TestJavaFileObject(String className, String code) throws URISyntaxException {451 public TestJavaFileObject(String className, String code) throws URISyntaxException {
412 super(new URI("mem:/" + className.replace('.', '/') + ".java"), Kind.SOURCE);452 super(new URI("mem:/" + className.replace('.', '/') + ".java"), Kind.SOURCE);
453 this.className = className;
413 this.code = code;454 this.code = code;
414 }455 }
415456
@@ -418,5 +459,10 @@ public class DependTest {
418 return code;459 return code;
419 }460 }
420461
462 @Override
463 public String getName() {
464 return className + ".java";
465 }
466
421 }467 }
422}468}
diff --git a/make/modules/java.base/Java.gmk b/make/modules/java.base/Java.gmk
index 25c14d2..3c867e2 100644
--- a/make/modules/java.base/Java.gmk
+++ b/make/modules/java.base/Java.gmk
@@ -25,7 +25,9 @@
2525
26DOCLINT += -Xdoclint:all/protected \26DOCLINT += -Xdoclint:all/protected \
27 '-Xdoclint/package:java.*,javax.*'27 '-Xdoclint/package:java.*,javax.*'
28JAVAC_FLAGS += -XDstringConcat=inline28JAVAC_FLAGS += -XDstringConcat=inline \
29 --enable-preview
30DISABLED_WARNINGS_java += preview
29COPY += .icu .dat .spp .nrm content-types.properties \31COPY += .icu .dat .spp .nrm content-types.properties \
30 hijrah-config-Hijrah-umalqura_islamic-umalqura.properties32 hijrah-config-Hijrah-umalqura_islamic-umalqura.properties
31CLEAN += intrinsic.properties33CLEAN += intrinsic.properties
@@ -33,7 +35,9 @@ CLEAN += intrinsic.properties
33EXCLUDE_FILES += \35EXCLUDE_FILES += \
34 $(TOPDIR)/src/java.base/share/classes/jdk/internal/module/ModuleLoaderMap.java36 $(TOPDIR)/src/java.base/share/classes/jdk/internal/module/ModuleLoaderMap.java
3537
36EXCLUDES += java/lang/doc-files38EXCLUDES += java/lang/doc-files \
39 jdk/internal/classfile/snippet-files \
40 jdk/internal/classfile/components/snippet-files
3741
38# Exclude BreakIterator classes that are just used in compile process to generate42# Exclude BreakIterator classes that are just used in compile process to generate
39# data files and shouldn't go in the product43# data files and shouldn't go in the product
diff --git a/make/modules/java.base/Lib.gmk b/make/modules/java.base/Lib.gmk
index 3b78257..93c0a36 100644
--- a/make/modules/java.base/Lib.gmk
+++ b/make/modules/java.base/Lib.gmk
@@ -47,8 +47,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBNET, \
47 DISABLED_WARNINGS_gcc_NetworkInterface.c := unused-function, \47 DISABLED_WARNINGS_gcc_NetworkInterface.c := unused-function, \
48 DISABLED_WARNINGS_clang_net_util_md.c := format-nonliteral, \48 DISABLED_WARNINGS_clang_net_util_md.c := format-nonliteral, \
49 DISABLED_WARNINGS_microsoft_InetAddress.c := 4244, \49 DISABLED_WARNINGS_microsoft_InetAddress.c := 4244, \
50 DISABLED_WARNINGS_microsoft_NetworkInterface.c := 4133, \
51 DISABLED_WARNINGS_microsoft_NetworkInterface_winXP.c := 4133, \
52 DISABLED_WARNINGS_microsoft_ResolverConfigurationImpl.c := 4996, \50 DISABLED_WARNINGS_microsoft_ResolverConfigurationImpl.c := 4996, \
53 LDFLAGS := $(LDFLAGS_JDKLIB) \51 LDFLAGS := $(LDFLAGS_JDKLIB) \
54 $(call SET_SHARED_LIBRARY_ORIGIN), \52 $(call SET_SHARED_LIBRARY_ORIGIN), \
diff --git a/make/modules/java.desktop/lib/Awt2dLibraries.gmk b/make/modules/java.desktop/lib/Awt2dLibraries.gmk
index 96576bb..47cfea0 100644
--- a/make/modules/java.desktop/lib/Awt2dLibraries.gmk
+++ b/make/modules/java.desktop/lib/Awt2dLibraries.gmk
@@ -451,7 +451,7 @@ else
451 -DHB_NO_PRAGMA_GCC_DIAGNOSTIC451 -DHB_NO_PRAGMA_GCC_DIAGNOSTIC
452 endif452 endif
453 ifeq ($(call isTargetOs, linux macosx), true)453 ifeq ($(call isTargetOs, linux macosx), true)
454 HARFBUZZ_CFLAGS += -DHAVE_INTEL_ATOMIC_PRIMITIVES454 HARFBUZZ_CFLAGS += -DHAVE_INTEL_ATOMIC_PRIMITIVES -DHB_NO_VISIBILITY
455 endif455 endif
456456
457 # Early re-canonizing has to be disabled to workaround an internal XlC compiler error457 # Early re-canonizing has to be disabled to workaround an internal XlC compiler error
diff --git a/make/modules/java.security.jgss/Lib.gmk b/make/modules/java.security.jgss/Lib.gmk
index d9f6114..5f5de81 100644
--- a/make/modules/java.security.jgss/Lib.gmk
+++ b/make/modules/java.security.jgss/Lib.gmk
@@ -64,9 +64,7 @@ ifneq ($(BUILD_CRYPTO), false)
64 CFLAGS := $(CFLAGS_JDKLIB), \64 CFLAGS := $(CFLAGS_JDKLIB), \
65 LDFLAGS := $(LDFLAGS_JDKLIB) \65 LDFLAGS := $(LDFLAGS_JDKLIB) \
66 $(call SET_SHARED_LIBRARY_ORIGIN), \66 $(call SET_SHARED_LIBRARY_ORIGIN), \
67 LIBS := advapi32.lib Secur32.lib netapi32.lib kernel32.lib user32.lib \67 LIBS := advapi32.lib Secur32.lib kernel32.lib ws2_32.lib, \
68 gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib \
69 ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib, \
70 ))68 ))
7169
72 TARGETS += $(BUILD_LIBW2K_LSA_AUTH)70 TARGETS += $(BUILD_LIBW2K_LSA_AUTH)
diff --git a/make/modules/jdk.internal.vm.ci/Java.gmk b/make/modules/jdk.internal.vm.ci/Java.gmk
index ad4991e..8720c97 100644
--- a/make/modules/jdk.internal.vm.ci/Java.gmk
+++ b/make/modules/jdk.internal.vm.ci/Java.gmk
@@ -26,13 +26,5 @@
26# -parameters provides method's parameters information in class file,26# -parameters provides method's parameters information in class file,
27# JVMCI compilers make use of that information for various sanity checks.27# JVMCI compilers make use of that information for various sanity checks.
28# Don't use Indy strings concatenation to have good JVMCI startup performance.28# Don't use Indy strings concatenation to have good JVMCI startup performance.
29# The exports are needed since JVMCI is dynamically exported (see
30# jdk.vm.ci.services.internal.ReflectionAccessJDK::openJVMCITo).
3129
32JAVAC_FLAGS += -parameters -XDstringConcat=inline30JAVAC_FLAGS += -parameters -XDstringConcat=inline
33
34## WORKAROUND jdk.internal.vm.ci source structure issue
35JVMCI_MODULESOURCEPATH := $(MODULESOURCEPATH) \
36 $(subst /$(MODULE)/,/*/, $(filter-out %processor/src, \
37 $(wildcard $(TOPDIR)/src/$(MODULE)/share/classes/*/src)))
38MODULESOURCEPATH := $(call PathList, $(JVMCI_MODULESOURCEPATH))
diff --git a/make/modules/jdk.jartool/Java.gmk b/make/modules/jdk.jartool/Java.gmk
index 1cf56a3..016c2bc 100644
--- a/make/modules/jdk.jartool/Java.gmk
+++ b/make/modules/jdk.jartool/Java.gmk
@@ -25,3 +25,5 @@
2525
26DISABLED_WARNINGS_java += missing-explicit-ctor26DISABLED_WARNINGS_java += missing-explicit-ctor
27JAVAC_FLAGS += -XDstringConcat=inline27JAVAC_FLAGS += -XDstringConcat=inline
28JAVAC_FLAGS += --enable-preview
29DISABLED_WARNINGS_java += preview
diff --git a/make/test/BuildMicrobenchmark.gmk b/make/test/BuildMicrobenchmark.gmk
index 1c89328..9c20b23 100644
--- a/make/test/BuildMicrobenchmark.gmk
+++ b/make/test/BuildMicrobenchmark.gmk
@@ -96,6 +96,15 @@ $(eval $(call SetupJavaCompilation, BUILD_JDK_MICROBENCHMARK, \
96 BIN := $(MICROBENCHMARK_CLASSES), \96 BIN := $(MICROBENCHMARK_CLASSES), \
97 JAVAC_FLAGS := --add-exports java.base/sun.security.util=ALL-UNNAMED \97 JAVAC_FLAGS := --add-exports java.base/sun.security.util=ALL-UNNAMED \
98 --add-exports java.base/sun.invoke.util=ALL-UNNAMED \98 --add-exports java.base/sun.invoke.util=ALL-UNNAMED \
99 --add-exports java.base/jdk.internal.classfile=ALL-UNNAMED \
100 --add-exports java.base/jdk.internal.classfile.attribute=ALL-UNNAMED \
101 --add-exports java.base/jdk.internal.classfile.constantpool=ALL-UNNAMED \
102 --add-exports java.base/jdk.internal.classfile.instruction=ALL-UNNAMED \
103 --add-exports java.base/jdk.internal.classfile.java.lang.constant=ALL-UNNAMED \
104 --add-exports java.base/jdk.internal.classfile.components=ALL-UNNAMED \
105 --add-exports java.base/jdk.internal.classfile.impl=ALL-UNNAMED \
106 --add-exports java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
107 --add-exports java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED \
99 --add-exports java.base/jdk.internal.vm=ALL-UNNAMED \108 --add-exports java.base/jdk.internal.vm=ALL-UNNAMED \
100 --enable-preview, \109 --enable-preview, \
101 JAVA_FLAGS := --add-modules jdk.unsupported --limit-modules java.management \110 JAVA_FLAGS := --add-modules jdk.unsupported --limit-modules java.management \
diff --git a/make/test/BuildTestLib.gmk b/make/test/BuildTestLib.gmk
index f677d25..b9f0320 100644
--- a/make/test/BuildTestLib.gmk
+++ b/make/test/BuildTestLib.gmk
@@ -1,5 +1,5 @@
1#1#
2# Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.2# Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#4#
5# This code is free software; you can redistribute it and/or modify it5# This code is free software; you can redistribute it and/or modify it
@@ -36,10 +36,11 @@ TEST_LIB_SUPPORT := $(SUPPORT_OUTPUTDIR)/test/lib
3636
37$(eval $(call SetupJavaCompilation, BUILD_WB_JAR, \37$(eval $(call SetupJavaCompilation, BUILD_WB_JAR, \
38 TARGET_RELEASE := $(TARGET_RELEASE_NEWJDK_UPGRADED), \38 TARGET_RELEASE := $(TARGET_RELEASE_NEWJDK_UPGRADED), \
39 SRC := $(TEST_LIB_SOURCE_DIR)/sun $(TEST_LIB_SOURCE_DIR)/jdk/test/whitebox/parser, \39 SRC := $(TEST_LIB_SOURCE_DIR)/jdk/test/whitebox/parser, \
40 BIN := $(TEST_LIB_SUPPORT)/wb_classes, \40 BIN := $(TEST_LIB_SUPPORT)/wb_classes, \
41 JAR := $(TEST_LIB_SUPPORT)/wb.jar, \41 JAR := $(TEST_LIB_SUPPORT)/wb.jar, \
42 DISABLED_WARNINGS := deprecation removal, \42 DISABLED_WARNINGS := deprecation removal preview, \
43 JAVAC_FLAGS := --enable-preview, \
43))44))
4445
45TARGETS += $(BUILD_WB_JAR)46TARGETS += $(BUILD_WB_JAR)
@@ -51,7 +52,8 @@ $(eval $(call SetupJavaCompilation, BUILD_TEST_LIB_JAR, \
51 BIN := $(TEST_LIB_SUPPORT)/test-lib_classes, \52 BIN := $(TEST_LIB_SUPPORT)/test-lib_classes, \
52 HEADERS := $(TEST_LIB_SUPPORT)/test-lib_headers, \53 HEADERS := $(TEST_LIB_SUPPORT)/test-lib_headers, \
53 JAR := $(TEST_LIB_SUPPORT)/test-lib.jar, \54 JAR := $(TEST_LIB_SUPPORT)/test-lib.jar, \
54 DISABLED_WARNINGS := try deprecation rawtypes unchecked serial cast removal, \55 DISABLED_WARNINGS := try deprecation rawtypes unchecked serial cast removal preview, \
56 JAVAC_FLAGS := --enable-preview, \
55))57))
5658
57TARGETS += $(BUILD_TEST_LIB_JAR)59TARGETS += $(BUILD_TEST_LIB_JAR)
diff --git a/make/test/JtregNativeHotspot.gmk b/make/test/JtregNativeHotspot.gmk
index 5c7126b..1d58c72 100644
--- a/make/test/JtregNativeHotspot.gmk
+++ b/make/test/JtregNativeHotspot.gmk
@@ -1521,7 +1521,13 @@ endif
1521ifeq ($(ASAN_ENABLED), true)1521ifeq ($(ASAN_ENABLED), true)
1522 # Any executable which launches the JVM and uses a custom launcher needs to explicitly link in the1522 # Any executable which launches the JVM and uses a custom launcher needs to explicitly link in the
1523 # default ASan options.1523 # default ASan options.
1524 BUILD_HOTSPOT_JTREG_EXTRA_FILES := $(TOPDIR)/make/data/asan/asan_default_options.c1524 BUILD_HOTSPOT_JTREG_EXTRA_FILES += $(TOPDIR)/make/data/asan/asan_default_options.c
1525endif
1526
1527ifeq ($(LSAN_ENABLED), true)
1528 # Any executable which launches the JVM and uses a custom launcher needs to explicitly link in the
1529 # default LSan options.
1530 BUILD_HOTSPOT_JTREG_EXTRA_FILES += $(TOPDIR)/make/data/lsan/lsan_default_options.c
1525endif1531endif
15261532
1527# This evaluation is expensive and should only be done if this target was1533# This evaluation is expensive and should only be done if this target was
diff --git a/make/test/JtregNativeJdk.gmk b/make/test/JtregNativeJdk.gmk
index ba3135b..34d6bff 100644
--- a/make/test/JtregNativeJdk.gmk
+++ b/make/test/JtregNativeJdk.gmk
@@ -135,7 +135,13 @@ endif
135ifeq ($(ASAN_ENABLED), true)135ifeq ($(ASAN_ENABLED), true)
136 # Any executable which launches the JVM and uses a custom launcher needs to explicitly link in the136 # Any executable which launches the JVM and uses a custom launcher needs to explicitly link in the
137 # default ASan options.137 # default ASan options.
138 BUILD_JDK_JTREG_EXTRA_FILES := $(TOPDIR)/make/data/asan/asan_default_options.c138 BUILD_JDK_JTREG_EXTRA_FILES += $(TOPDIR)/make/data/asan/asan_default_options.c
139endif
140
141ifeq ($(LSAN_ENABLED), true)
142 # Any executable which launches the JVM and uses a custom launcher needs to explicitly link in the
143 # default LSan options.
144 BUILD_JDK_JTREG_EXTRA_FILES += $(TOPDIR)/make/data/lsan/lsan_default_options.c
139endif145endif
140146
141# This evaluation is expensive and should only be done if this target was147# This evaluation is expensive and should only be done if this target was
diff --git a/src/demo/share/jfc/SwingSet2/resources/swingset_de.properties b/src/demo/share/jfc/SwingSet2/resources/swingset_de.properties
index 578a1c8..fca26a5 100644
--- a/src/demo/share/jfc/SwingSet2/resources/swingset_de.properties
+++ b/src/demo/share/jfc/SwingSet2/resources/swingset_de.properties
@@ -1,4 +1,4 @@
1# Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.1# Copyright (c) 2010, 2022, Oracle and/or its affiliates. All rights reserved.
2#2#
3# Redistribution and use in source and binary forms, with or without3# Redistribution and use in source and binary forms, with or without
4# modification, are permitted provided that the following conditions4# modification, are permitted provided that the following conditions
@@ -671,4 +671,3 @@ TreeDemo.accessible_description=Diese Demo zeigt ein Beispiel f\u00FCr die Verwe
671TreeDemo.tooltip=JTree-Demo671TreeDemo.tooltip=JTree-Demo
672TreeDemo.name=Baumdemo672TreeDemo.name=Baumdemo
673TreeDemo.music=Musik673TreeDemo.music=Musik
674
diff --git a/src/demo/share/jfc/SwingSet2/resources/swingset_ja.properties b/src/demo/share/jfc/SwingSet2/resources/swingset_ja.properties
index cb99c27..77f97e5 100644
--- a/src/demo/share/jfc/SwingSet2/resources/swingset_ja.properties
+++ b/src/demo/share/jfc/SwingSet2/resources/swingset_ja.properties
@@ -1,4 +1,4 @@
1# Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.1# Copyright (c) 2010, 2022, Oracle and/or its affiliates. All rights reserved.
2#2#
3# Redistribution and use in source and binary forms, with or without3# Redistribution and use in source and binary forms, with or without
4# modification, are permitted provided that the following conditions4# modification, are permitted provided that the following conditions
@@ -48,7 +48,7 @@ SourceCode.loading=<html><body bgcolor="#ffffff">\u30BD\u30FC\u30B9\u30FB\u30B3\
4848
49### Status ###49### Status ###
5050
51Status.loading=\u8AAD\u8FBC\u307F\u4E2D: 51Status.loading=\u8AAD\u8FBC\u307F\u4E2D:
52Status.popupMenuAccessible=Shift+F10: \u30DD\u30C3\u30D7\u30A2\u30C3\u30D7\u30FB\u30E1\u30CB\u30E5\u30FC\u306E\u6709\u52B9\u531652Status.popupMenuAccessible=Shift+F10: \u30DD\u30C3\u30D7\u30A2\u30C3\u30D7\u30FB\u30E1\u30CB\u30E5\u30FC\u306E\u6709\u52B9\u5316
5353
54### Menu Bar ###54### Menu Bar ###
@@ -184,7 +184,7 @@ MultiMenu.single_accessible_description=SwingSet2\u306E\u30A6\u30A3\u30F3\u30C9\
184184
185### Button Demo ###185### Button Demo ###
186186
187ButtonDemo.accessible_description=ButtonDemo\u3067\u306F\u3001JButton\u3001JRadioButton\u3001JToggleButton\u304A\u3088\u3073JCheckBox\u306E\u4F7F\u7528\u4F8B\u3092\u7D39\u4ECB\u3057\u307E\u3059 187ButtonDemo.accessible_description=ButtonDemo\u3067\u306F\u3001JButton\u3001JRadioButton\u3001JToggleButton\u304A\u3088\u3073JCheckBox\u306E\u4F7F\u7528\u4F8B\u3092\u7D39\u4ECB\u3057\u307E\u3059
188ButtonDemo.tooltip=JButton\u3001JRadioButton\u3001JToggleButton\u3001JCheckbox\u30C7\u30E2188ButtonDemo.tooltip=JButton\u3001JRadioButton\u3001JToggleButton\u3001JCheckbox\u30C7\u30E2
189ButtonDemo.name=Button\u30C7\u30E2189ButtonDemo.name=Button\u30C7\u30E2
190190
@@ -202,16 +202,16 @@ ButtonDemo.imagetogglebuttons=\u30A4\u30E1\u30FC\u30B8\u30FB\u30C8\u30B0\u30EB\u
202ButtonDemo.textcheckboxes=\u30C6\u30AD\u30B9\u30C8\u30FB\u30C1\u30A7\u30C3\u30AF\u30FB\u30DC\u30C3\u30AF\u30B9202ButtonDemo.textcheckboxes=\u30C6\u30AD\u30B9\u30C8\u30FB\u30C1\u30A7\u30C3\u30AF\u30FB\u30DC\u30C3\u30AF\u30B9
203ButtonDemo.imagecheckboxes=\u30A4\u30E1\u30FC\u30B8\u30FB\u30C1\u30A7\u30C3\u30AF\u30FB\u30DC\u30C3\u30AF\u30B9203ButtonDemo.imagecheckboxes=\u30A4\u30E1\u30FC\u30B8\u30FB\u30C1\u30A7\u30C3\u30AF\u30FB\u30DC\u30C3\u30AF\u30B9
204204
205ButtonDemo.button1=1 205ButtonDemo.button1=1
206ButtonDemo.button2=2206ButtonDemo.button2=2
207ButtonDemo.button3=<html><font size=2 color=red><bold>3</font></html>207ButtonDemo.button3=<html><font size=2 color=red><bold>3</font></html>
208208
209ButtonDemo.radio1=\u30DC\u30BF\u30F31 209ButtonDemo.radio1=\u30DC\u30BF\u30F31
210ButtonDemo.radio2=\u30DC\u30BF\u30F32210ButtonDemo.radio2=\u30DC\u30BF\u30F32
211ButtonDemo.radio3=\u30DC\u30BF\u30F33211ButtonDemo.radio3=\u30DC\u30BF\u30F33
212ButtonDemo.radioX=<html><font size=2 color=red>3<bold>(HTML)</bold></font></html>212ButtonDemo.radioX=<html><font size=2 color=red>3<bold>(HTML)</bold></font></html>
213213
214ButtonDemo.check1=1 214ButtonDemo.check1=1
215ButtonDemo.check2=2215ButtonDemo.check2=2
216ButtonDemo.check3=3216ButtonDemo.check3=3
217ButtonDemo.checkX=<html><font size=2 color=red>3<bold>(HTML)</bold></font></html>217ButtonDemo.checkX=<html><font size=2 color=red>3<bold>(HTML)</bold></font></html>
@@ -219,7 +219,7 @@ ButtonDemo.checkX=<html><font size=2 color=red>3<bold>(HTML)</bold></font></html
219ButtonDemo.customradio=\u30AB\u30B9\u30BF\u30E0\u306E"\u30E1\u30BF\u30EA\u30C3\u30AF\u8ABF"\u30E9\u30B8\u30AA\u30FB\u30DC\u30BF\u30F3219ButtonDemo.customradio=\u30AB\u30B9\u30BF\u30E0\u306E"\u30E1\u30BF\u30EA\u30C3\u30AF\u8ABF"\u30E9\u30B8\u30AA\u30FB\u30DC\u30BF\u30F3
220ButtonDemo.customcheck=\u30AB\u30B9\u30BF\u30E0\u306E\u96FB\u7403\u30C1\u30A7\u30C3\u30AF\u30FB\u30DC\u30C3\u30AF\u30B9220ButtonDemo.customcheck=\u30AB\u30B9\u30BF\u30E0\u306E\u96FB\u7403\u30C1\u30A7\u30C3\u30AF\u30FB\u30DC\u30C3\u30AF\u30B9
221221
222ButtonDemo.phone=\u96FB\u8A71 222ButtonDemo.phone=\u96FB\u8A71
223ButtonDemo.write=\u66F8\u8FBC\u307F223ButtonDemo.write=\u66F8\u8FBC\u307F
224ButtonDemo.peace=\u30D4\u30FC\u30B9224ButtonDemo.peace=\u30D4\u30FC\u30B9
225225
@@ -427,7 +427,7 @@ ProgressBarDemo.stop_button=\u30C6\u30AD\u30B9\u30C8\u306E\u30ED\u30FC\u30C9\u50
427ProgressBarDemo.accessible_text_loading_progress=\u30C6\u30AD\u30B9\u30C8\u306E\u30ED\u30FC\u30C9\u4E2D427ProgressBarDemo.accessible_text_loading_progress=\u30C6\u30AD\u30B9\u30C8\u306E\u30ED\u30FC\u30C9\u4E2D
428ProgressBarDemo.accessible_text_area_name=\u30ED\u30FC\u30C9\u4E2D\u306E\u30C6\u30AD\u30B9\u30C8428ProgressBarDemo.accessible_text_area_name=\u30ED\u30FC\u30C9\u4E2D\u306E\u30C6\u30AD\u30B9\u30C8
429429
430ProgressBarDemo.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\u3002430ProgressBarDemo.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
431431
432ProgressBarDemo.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...432ProgressBarDemo.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...
433433
@@ -451,7 +451,7 @@ SliderDemo.accessible_description=\u3053\u306E\u30C7\u30E2\u3067\u306F\u3001JSli
451SliderDemo.tooltip=JSlider\u30C7\u30E2451SliderDemo.tooltip=JSlider\u30C7\u30E2
452SliderDemo.name=Slider\u30C7\u30E2452SliderDemo.name=Slider\u30C7\u30E2
453453
454SliderDemo.slidervalue=Slider\u306E\u5024: 454SliderDemo.slidervalue=Slider\u306E\u5024:
455SliderDemo.horizontal=\u6C34\u5E73455SliderDemo.horizontal=\u6C34\u5E73
456SliderDemo.vertical=\u5782\u76F4456SliderDemo.vertical=\u5782\u76F4
457SliderDemo.plain=\u30D7\u30EC\u30FC\u30F3457SliderDemo.plain=\u30D7\u30EC\u30FC\u30F3
@@ -671,4 +671,3 @@ TreeDemo.accessible_description=\u3053\u306E\u30C7\u30E2\u3067\u306F\u3001JTree\
671TreeDemo.tooltip=JTree\u30C7\u30E2671TreeDemo.tooltip=JTree\u30C7\u30E2
672TreeDemo.name=Tree\u30C7\u30E2672TreeDemo.name=Tree\u30C7\u30E2
673TreeDemo.music=\u97F3\u697D673TreeDemo.music=\u97F3\u697D
674
diff --git a/src/demo/share/jfc/SwingSet2/resources/swingset_zh_CN.properties b/src/demo/share/jfc/SwingSet2/resources/swingset_zh_CN.properties
index 211e0d7..12d3c88 100644
--- a/src/demo/share/jfc/SwingSet2/resources/swingset_zh_CN.properties
+++ b/src/demo/share/jfc/SwingSet2/resources/swingset_zh_CN.properties
@@ -1,4 +1,4 @@
1# Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.1# Copyright (c) 2010, 2022, Oracle and/or its affiliates. All rights reserved.
2#2#
3# Redistribution and use in source and binary forms, with or without3# Redistribution and use in source and binary forms, with or without
4# modification, are permitted provided that the following conditions4# modification, are permitted provided that the following conditions
@@ -48,7 +48,7 @@ SourceCode.loading=<html><body bgcolor="#ffffff">\u6B63\u5728\u52A0\u8F7D\u548C\
4848
49### Status ###49### Status ###
5050
51Status.loading=\u6B63\u5728\u52A0\u8F7D: 51Status.loading=\u6B63\u5728\u52A0\u8F7D:
52Status.popupMenuAccessible=\u8BF7\u6309 Shift-F10 \u7EC4\u5408\u952E\u6FC0\u6D3B\u5F39\u51FA\u5F0F\u83DC\u535552Status.popupMenuAccessible=\u8BF7\u6309 Shift-F10 \u7EC4\u5408\u952E\u6FC0\u6D3B\u5F39\u51FA\u5F0F\u83DC\u5355
5353
54### Menu Bar ###54### Menu Bar ###
@@ -184,7 +184,7 @@ MultiMenu.single_accessible_description=\u5728\u5C4F\u5E55\u4E0A\u521B\u5EFA Swi
184184
185### Button Demo ###185### Button Demo ###
186186
187ButtonDemo.accessible_description=ButtonDemo \u663E\u793A\u4E86\u4F7F\u7528 JButton, JRadioButton, JToggleButton \u548C JCheckBox \u7684\u793A\u4F8B 187ButtonDemo.accessible_description=ButtonDemo \u663E\u793A\u4E86\u4F7F\u7528 JButton, JRadioButton, JToggleButton \u548C JCheckBox \u7684\u793A\u4F8B
188ButtonDemo.tooltip=JButton, JRadioButton, JToggleButton, JCheckbox \u6F14\u793A188ButtonDemo.tooltip=JButton, JRadioButton, JToggleButton, JCheckbox \u6F14\u793A
189ButtonDemo.name=\u6309\u94AE\u6F14\u793A189ButtonDemo.name=\u6309\u94AE\u6F14\u793A
190190
@@ -202,16 +202,16 @@ ButtonDemo.imagetogglebuttons=\u56FE\u50CF\u5207\u6362\u6309\u94AE
202ButtonDemo.textcheckboxes=\u6587\u672C\u590D\u9009\u6846202ButtonDemo.textcheckboxes=\u6587\u672C\u590D\u9009\u6846
203ButtonDemo.imagecheckboxes=\u56FE\u50CF\u590D\u9009\u6846203ButtonDemo.imagecheckboxes=\u56FE\u50CF\u590D\u9009\u6846
204204
205ButtonDemo.button1=\u4E00 205ButtonDemo.button1=\u4E00
206ButtonDemo.button2=\u4E8C206ButtonDemo.button2=\u4E8C
207ButtonDemo.button3=<html><font size=2 color=red><bold>\u4E09!</font></html>207ButtonDemo.button3=<html><font size=2 color=red><bold>\u4E09!</font></html>
208208
209ButtonDemo.radio1=\u5355\u9009\u4E00 209ButtonDemo.radio1=\u5355\u9009\u4E00
210ButtonDemo.radio2=\u5355\u9009\u4E8C210ButtonDemo.radio2=\u5355\u9009\u4E8C
211ButtonDemo.radio3=\u5355\u9009\u4E09211ButtonDemo.radio3=\u5355\u9009\u4E09
212ButtonDemo.radioX=<html><font size=2 color=red>\u4E09<bold> (HTML!)</bold></font></html>212ButtonDemo.radioX=<html><font size=2 color=red>\u4E09<bold> (HTML!)</bold></font></html>
213213
214ButtonDemo.check1=\u4E00 214ButtonDemo.check1=\u4E00
215ButtonDemo.check2=\u4E8C215ButtonDemo.check2=\u4E8C
216ButtonDemo.check3=\u4E09216ButtonDemo.check3=\u4E09
217ButtonDemo.checkX=<html><font size=2 color=red>\u4E09<bold> (HTML!)</bold></font></html>217ButtonDemo.checkX=<html><font size=2 color=red>\u4E09<bold> (HTML!)</bold></font></html>
@@ -219,7 +219,7 @@ ButtonDemo.checkX=<html><font size=2 color=red>\u4E09<bold> (HTML!)</bold></font
219ButtonDemo.customradio=\u5B9A\u5236 "chrome" \u5355\u9009\u6309\u94AE\u3002219ButtonDemo.customradio=\u5B9A\u5236 "chrome" \u5355\u9009\u6309\u94AE\u3002
220ButtonDemo.customcheck=\u5B9A\u5236\u201C\u706F\u6CE1\u201D\u590D\u9009\u6846\u3002220ButtonDemo.customcheck=\u5B9A\u5236\u201C\u706F\u6CE1\u201D\u590D\u9009\u6846\u3002
221221
222ButtonDemo.phone=\u7535\u8BDD 222ButtonDemo.phone=\u7535\u8BDD
223ButtonDemo.write=\u5199223ButtonDemo.write=\u5199
224ButtonDemo.peace=\u5E73\u9759224ButtonDemo.peace=\u5E73\u9759
225225
@@ -427,7 +427,7 @@ ProgressBarDemo.stop_button=\u505C\u6B62\u52A0\u8F7D\u6587\u672C
427ProgressBarDemo.accessible_text_loading_progress=\u6587\u672C\u52A0\u8F7D\u8FDB\u5EA6427ProgressBarDemo.accessible_text_loading_progress=\u6587\u672C\u52A0\u8F7D\u8FDB\u5EA6
428ProgressBarDemo.accessible_text_area_name=\u52A0\u8F7D\u7684\u6587\u672C\u6B63\u5728\u9010\u6E10\u589E\u591A428ProgressBarDemo.accessible_text_area_name=\u52A0\u8F7D\u7684\u6587\u672C\u6B63\u5728\u9010\u6E10\u589E\u591A
429429
430ProgressBarDemo.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\u5EA6430ProgressBarDemo.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
431431
432ProgressBarDemo.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...432ProgressBarDemo.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...
433433
@@ -451,7 +451,7 @@ SliderDemo.accessible_description=\u6B64\u6F14\u793A\u663E\u793A\u4E86\u4F7F\u75
451SliderDemo.tooltip=JSlider \u6F14\u793A451SliderDemo.tooltip=JSlider \u6F14\u793A
452SliderDemo.name=\u6ED1\u5757\u6F14\u793A452SliderDemo.name=\u6ED1\u5757\u6F14\u793A
453453
454SliderDemo.slidervalue=\u6ED1\u5757\u503C: 454SliderDemo.slidervalue=\u6ED1\u5757\u503C:
455SliderDemo.horizontal=\u6C34\u5E73455SliderDemo.horizontal=\u6C34\u5E73
456SliderDemo.vertical=\u5782\u76F4456SliderDemo.vertical=\u5782\u76F4
457SliderDemo.plain=\u65E0\u683C\u5F0F457SliderDemo.plain=\u65E0\u683C\u5F0F
@@ -671,4 +671,3 @@ TreeDemo.accessible_description=\u6B64\u6F14\u793A\u663E\u793A\u4E86\u4F7F\u7528
671TreeDemo.tooltip=JTree \u6F14\u793A671TreeDemo.tooltip=JTree \u6F14\u793A
672TreeDemo.name=\u6811\u6F14\u793A672TreeDemo.name=\u6811\u6F14\u793A
673TreeDemo.music=\u97F3\u4E50673TreeDemo.music=\u97F3\u4E50
674
diff --git a/src/hotspot/cpu/aarch64/aarch64.ad b/src/hotspot/cpu/aarch64/aarch64.ad
index 6868c49..b604b6a 100644
--- a/src/hotspot/cpu/aarch64/aarch64.ad
+++ b/src/hotspot/cpu/aarch64/aarch64.ad
@@ -1191,6 +1191,10 @@ public:
11911191
1192 // predicate controlling addressing modes1192 // predicate controlling addressing modes
1193 bool size_fits_all_mem_uses(AddPNode* addp, int shift);1193 bool size_fits_all_mem_uses(AddPNode* addp, int shift);
1194
1195 // Convert BootTest condition to Assembler condition.
1196 // Replicate the logic of cmpOpOper::ccode() and cmpOpUOper::ccode().
1197 Assembler::Condition to_assembler_cond(BoolTest::mask cond);
1194%}1198%}
11951199
1196source %{1200source %{
@@ -2301,6 +2305,12 @@ const bool Matcher::match_rule_supported(int opcode) {
2301 ret_value = false;2305 ret_value = false;
2302 }2306 }
2303 break;2307 break;
2308 case Op_ExpandBits:
2309 case Op_CompressBits:
2310 if (!(UseSVE > 1 && VM_Version::supports_svebitperm())) {
2311 ret_value = false;
2312 }
2313 break;
2304 }2314 }
23052315
2306 return ret_value; // Per default match rules are supported.2316 return ret_value; // Per default match rules are supported.
@@ -2521,6 +2531,50 @@ bool size_fits_all_mem_uses(AddPNode* addp, int shift) {
2521 return true;2531 return true;
2522}2532}
25232533
2534// Convert BootTest condition to Assembler condition.
2535// Replicate the logic of cmpOpOper::ccode() and cmpOpUOper::ccode().
2536Assembler::Condition to_assembler_cond(BoolTest::mask cond) {
2537 Assembler::Condition result;
2538 switch(cond) {
2539 case BoolTest::eq:
2540 result = Assembler::EQ; break;
2541 case BoolTest::ne:
2542 result = Assembler::NE; break;
2543 case BoolTest::le:
2544 result = Assembler::LE; break;
2545 case BoolTest::ge:
2546 result = Assembler::GE; break;
2547 case BoolTest::lt:
2548 result = Assembler::LT; break;
2549 case BoolTest::gt:
2550 result = Assembler::GT; break;
2551 case BoolTest::ule:
2552 result = Assembler::LS; break;
2553 case BoolTest::uge:
2554 result = Assembler::HS; break;
2555 case BoolTest::ult:
2556 result = Assembler::LO; break;
2557 case BoolTest::ugt:
2558 result = Assembler::HI; break;
2559 case BoolTest::overflow:
2560 result = Assembler::VS; break;
2561 case BoolTest::no_overflow:
2562 result = Assembler::VC; break;
2563 default:
2564 ShouldNotReachHere();
2565 return Assembler::Condition(-1);
2566 }
2567
2568 // Check conversion
2569 if (cond & BoolTest::unsigned_compare) {
2570 assert(cmpOpUOper((BoolTest::mask)((int)cond & ~(BoolTest::unsigned_compare))).ccode() == result, "Invalid conversion");
2571 } else {
2572 assert(cmpOpOper(cond).ccode() == result, "Invalid conversion");
2573 }
2574
2575 return result;
2576}
2577
2524// Binary src (Replicate con)2578// Binary src (Replicate con)
2525bool is_valid_sve_arith_imm_pattern(Node* n, Node* m) {2579bool is_valid_sve_arith_imm_pattern(Node* n, Node* m) {
2526 if (n == NULL || m == NULL) {2580 if (n == NULL || m == NULL) {
@@ -4257,6 +4311,17 @@ operand immI_positive()
4257 interface(CONST_INTER);4311 interface(CONST_INTER);
4258%}4312%}
42594313
4314// BoolTest condition for signed compare
4315operand immI_cmp_cond()
4316%{
4317 predicate(n->get_int() < (int)(BoolTest::unsigned_compare));
4318 match(ConI);
4319
4320 op_cost(0);
4321 format %{ %}
4322 interface(CONST_INTER);
4323%}
4324
4260operand immL_255()4325operand immL_255()
4261%{4326%{
4262 predicate(n->get_long() == 255L);4327 predicate(n->get_long() == 255L);
@@ -8931,14 +8996,12 @@ instruct compareAndSwapNAcq(iRegINoSp res, indirect mem, iRegNNoSp oldval, iRegN
8931// can't check the type of memory ordering here, so we always emit a8996// can't check the type of memory ordering here, so we always emit a
8932// STLXR.8997// STLXR.
89338998
8934// This section is generated from aarch64_ad_cas.m48999// This section is generated from cas.m4
8935
89369000
89379001
8938// This pattern is generated automatically from cas.m4.9002// This pattern is generated automatically from cas.m4.
8939// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE9003// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
8940instruct compareAndExchangeB(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{9004instruct compareAndExchangeB(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
8941
8942 match(Set res (CompareAndExchangeB mem (Binary oldval newval)));9005 match(Set res (CompareAndExchangeB mem (Binary oldval newval)));
8943 ins_cost(2 * VOLATILE_REF_COST);9006 ins_cost(2 * VOLATILE_REF_COST);
8944 effect(TEMP_DEF res, KILL cr);9007 effect(TEMP_DEF res, KILL cr);
@@ -8957,7 +9020,6 @@ instruct compareAndExchangeB(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
8957// This pattern is generated automatically from cas.m4.9020// This pattern is generated automatically from cas.m4.
8958// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE9021// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
8959instruct compareAndExchangeS(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{9022instruct compareAndExchangeS(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
8960
8961 match(Set res (CompareAndExchangeS mem (Binary oldval newval)));9023 match(Set res (CompareAndExchangeS mem (Binary oldval newval)));
8962 ins_cost(2 * VOLATILE_REF_COST);9024 ins_cost(2 * VOLATILE_REF_COST);
8963 effect(TEMP_DEF res, KILL cr);9025 effect(TEMP_DEF res, KILL cr);
@@ -8976,7 +9038,6 @@ instruct compareAndExchangeS(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
8976// This pattern is generated automatically from cas.m4.9038// This pattern is generated automatically from cas.m4.
8977// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE9039// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
8978instruct compareAndExchangeI(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{9040instruct compareAndExchangeI(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
8979
8980 match(Set res (CompareAndExchangeI mem (Binary oldval newval)));9041 match(Set res (CompareAndExchangeI mem (Binary oldval newval)));
8981 ins_cost(2 * VOLATILE_REF_COST);9042 ins_cost(2 * VOLATILE_REF_COST);
8982 effect(TEMP_DEF res, KILL cr);9043 effect(TEMP_DEF res, KILL cr);
@@ -8994,7 +9055,6 @@ instruct compareAndExchangeI(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
8994// This pattern is generated automatically from cas.m4.9055// This pattern is generated automatically from cas.m4.
8995// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE9056// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
8996instruct compareAndExchangeL(iRegLNoSp res, indirect mem, iRegL oldval, iRegL newval, rFlagsReg cr) %{9057instruct compareAndExchangeL(iRegLNoSp res, indirect mem, iRegL oldval, iRegL newval, rFlagsReg cr) %{
8997
8998 match(Set res (CompareAndExchangeL mem (Binary oldval newval)));9058 match(Set res (CompareAndExchangeL mem (Binary oldval newval)));
8999 ins_cost(2 * VOLATILE_REF_COST);9059 ins_cost(2 * VOLATILE_REF_COST);
9000 effect(TEMP_DEF res, KILL cr);9060 effect(TEMP_DEF res, KILL cr);
@@ -9012,7 +9072,6 @@ instruct compareAndExchangeL(iRegLNoSp res, indirect mem, iRegL oldval, iRegL ne
9012// This pattern is generated automatically from cas.m4.9072// This pattern is generated automatically from cas.m4.
9013// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE9073// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
9014instruct compareAndExchangeN(iRegNNoSp res, indirect mem, iRegN oldval, iRegN newval, rFlagsReg cr) %{9074instruct compareAndExchangeN(iRegNNoSp res, indirect mem, iRegN oldval, iRegN newval, rFlagsReg cr) %{
9015
9016 match(Set res (CompareAndExchangeN mem (Binary oldval newval)));9075 match(Set res (CompareAndExchangeN mem (Binary oldval newval)));
9017 ins_cost(2 * VOLATILE_REF_COST);9076 ins_cost(2 * VOLATILE_REF_COST);
9018 effect(TEMP_DEF res, KILL cr);9077 effect(TEMP_DEF res, KILL cr);
@@ -9158,7 +9217,6 @@ instruct compareAndExchangePAcq(iRegPNoSp res, indirect mem, iRegP oldval, iRegP
9158// This pattern is generated automatically from cas.m4.9217// This pattern is generated automatically from cas.m4.
9159// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE9218// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
9160instruct weakCompareAndSwapB(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{9219instruct weakCompareAndSwapB(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
9161
9162 match(Set res (WeakCompareAndSwapB mem (Binary oldval newval)));9220 match(Set res (WeakCompareAndSwapB mem (Binary oldval newval)));
9163 ins_cost(2 * VOLATILE_REF_COST);9221 ins_cost(2 * VOLATILE_REF_COST);
9164 effect(KILL cr);9222 effect(KILL cr);
@@ -9178,7 +9236,6 @@ instruct weakCompareAndSwapB(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
9178// This pattern is generated automatically from cas.m4.9236// This pattern is generated automatically from cas.m4.
9179// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE9237// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
9180instruct weakCompareAndSwapS(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{9238instruct weakCompareAndSwapS(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
9181
9182 match(Set res (WeakCompareAndSwapS mem (Binary oldval newval)));9239 match(Set res (WeakCompareAndSwapS mem (Binary oldval newval)));
9183 ins_cost(2 * VOLATILE_REF_COST);9240 ins_cost(2 * VOLATILE_REF_COST);
9184 effect(KILL cr);9241 effect(KILL cr);
@@ -9198,7 +9255,6 @@ instruct weakCompareAndSwapS(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
9198// This pattern is generated automatically from cas.m4.9255// This pattern is generated automatically from cas.m4.
9199// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE9256// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
9200instruct weakCompareAndSwapI(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{9257instruct weakCompareAndSwapI(iRegINoSp res, indirect mem, iRegI oldval, iRegI newval, rFlagsReg cr) %{
9201
9202 match(Set res (WeakCompareAndSwapI mem (Binary oldval newval)));9258 match(Set res (WeakCompareAndSwapI mem (Binary oldval newval)));
9203 ins_cost(2 * VOLATILE_REF_COST);9259 ins_cost(2 * VOLATILE_REF_COST);
9204 effect(KILL cr);9260 effect(KILL cr);
@@ -9218,7 +9274,6 @@ instruct weakCompareAndSwapI(iRegINoSp res, indirect mem, iRegI oldval, iRegI ne
9218// This pattern is generated automatically from cas.m4.9274// This pattern is generated automatically from cas.m4.
9219// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE9275// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
9220instruct weakCompareAndSwapL(iRegINoSp res, indirect mem, iRegL oldval, iRegL newval, rFlagsReg cr) %{9276instruct weakCompareAndSwapL(iRegINoSp res, indirect mem, iRegL oldval, iRegL newval, rFlagsReg cr) %{
9221
9222 match(Set res (WeakCompareAndSwapL mem (Binary oldval newval)));9277 match(Set res (WeakCompareAndSwapL mem (Binary oldval newval)));
9223 ins_cost(2 * VOLATILE_REF_COST);9278 ins_cost(2 * VOLATILE_REF_COST);
9224 effect(KILL cr);9279 effect(KILL cr);
@@ -9238,7 +9293,6 @@ instruct weakCompareAndSwapL(iRegINoSp res, indirect mem, iRegL oldval, iRegL ne
9238// This pattern is generated automatically from cas.m4.9293// This pattern is generated automatically from cas.m4.
9239// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE9294// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
9240instruct weakCompareAndSwapN(iRegINoSp res, indirect mem, iRegN oldval, iRegN newval, rFlagsReg cr) %{9295instruct weakCompareAndSwapN(iRegINoSp res, indirect mem, iRegN oldval, iRegN newval, rFlagsReg cr) %{
9241
9242 match(Set res (WeakCompareAndSwapN mem (Binary oldval newval)));9296 match(Set res (WeakCompareAndSwapN mem (Binary oldval newval)));
9243 ins_cost(2 * VOLATILE_REF_COST);9297 ins_cost(2 * VOLATILE_REF_COST);
9244 effect(KILL cr);9298 effect(KILL cr);
@@ -14056,6 +14110,31 @@ instruct maxI_immM1_reg(iRegINoSp dst, immI_M1 imm, iRegIorL2I src)
14056 %}14110 %}
14057%}14111%}
1405814112
14113// This pattern is automatically generated from aarch64_ad.m4
14114// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
14115instruct bits_reverse_I(iRegINoSp dst, iRegIorL2I src)
14116%{
14117 match(Set dst (ReverseI src));
14118 ins_cost(INSN_COST);
14119 format %{ "rbitw $dst, $src" %}
14120 ins_encode %{
14121 __ rbitw($dst$$Register, $src$$Register);
14122 %}
14123 ins_pipe(ialu_reg);
14124%}
14125
14126// This pattern is automatically generated from aarch64_ad.m4
14127// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
14128instruct bits_reverse_L(iRegLNoSp dst, iRegL src)
14129%{
14130 match(Set dst (ReverseL src));
14131 ins_cost(INSN_COST);
14132 format %{ "rbit $dst, $src" %}
14133 ins_encode %{
14134 __ rbit($dst$$Register, $src$$Register);
14135 %}
14136 ins_pipe(ialu_reg);
14137%}
1405914138
1406014139
14061// END This section of the file is automatically generated. Do not edit --------------14140// END This section of the file is automatically generated. Do not edit --------------
@@ -14964,8 +15043,7 @@ instruct convF2HF_reg_reg(iRegINoSp dst, vRegF src, vRegF tmp) %{
14964 %}15043 %}
14965 effect(TEMP tmp);15044 effect(TEMP tmp);
14966 ins_encode %{15045 ins_encode %{
14967 __ fcvtsh($tmp$$FloatRegister, $src$$FloatRegister);15046 __ flt_to_flt16($dst$$Register, $src$$FloatRegister, $tmp$$FloatRegister);
14968 __ smov($dst$$Register, $tmp$$FloatRegister, __ H, 0);
14969 %}15047 %}
14970 ins_pipe(pipe_slow);15048 ins_pipe(pipe_slow);
14971%}15049%}
@@ -14977,8 +15055,7 @@ instruct convHF2F_reg_reg(vRegF dst, iRegINoSp src, vRegF tmp) %{
14977 %}15055 %}
14978 effect(TEMP tmp);15056 effect(TEMP tmp);
14979 ins_encode %{15057 ins_encode %{
14980 __ mov($tmp$$FloatRegister, __ H, 0, $src$$Register);15058 __ flt16_to_flt($dst$$FloatRegister, $src$$Register, $tmp$$FloatRegister);
14981 __ fcvths($dst$$FloatRegister, $tmp$$FloatRegister);
14982 %}15059 %}
14983 ins_pipe(pipe_slow);15060 ins_pipe(pipe_slow);
14984%}15061%}
@@ -17325,6 +17402,157 @@ instruct encode_ascii_array(iRegP_R2 src, iRegP_R1 dst, iRegI_R3 len,
17325 ins_pipe(pipe_class_memory);17402 ins_pipe(pipe_class_memory);
17326%}17403%}
1732717404
17405//----------------------------- CompressBits/ExpandBits ------------------------
17406
17407instruct compressBitsI_reg(iRegINoSp dst, iRegIorL2I src, iRegIorL2I mask,
17408 vRegF tdst, vRegF tsrc, vRegF tmask) %{
17409 match(Set dst (CompressBits src mask));
17410 effect(TEMP tdst, TEMP tsrc, TEMP tmask);
17411 format %{ "mov $tsrc, $src\n\t"
17412 "mov $tmask, $mask\n\t"
17413 "bext $tdst, $tsrc, $tmask\n\t"
17414 "mov $dst, $tdst"
17415 %}
17416 ins_encode %{
17417 __ mov($tsrc$$FloatRegister, __ S, 0, $src$$Register);
17418 __ mov($tmask$$FloatRegister, __ S, 0, $mask$$Register);
17419 __ sve_bext($tdst$$FloatRegister, __ S, $tsrc$$FloatRegister, $tmask$$FloatRegister);
17420 __ mov($dst$$Register, $tdst$$FloatRegister, __ S, 0);
17421 %}
17422 ins_pipe(pipe_slow);
17423%}
17424
17425instruct compressBitsI_memcon(iRegINoSp dst, memory4 mem, immI mask,
17426 vRegF tdst, vRegF tsrc, vRegF tmask) %{
17427 match(Set dst (CompressBits (LoadI mem) mask));
17428 effect(TEMP tdst, TEMP tsrc, TEMP tmask);
17429 format %{ "ldrs $tsrc, $mem\n\t"
17430 "ldrs $tmask, $mask\n\t"
17431 "bext $tdst, $tsrc, $tmask\n\t"
17432 "mov $dst, $tdst"
17433 %}
17434 ins_encode %{
17435 loadStore(C2_MacroAssembler(&cbuf), &MacroAssembler::ldrs, $tsrc$$FloatRegister, $mem->opcode(),
17436 as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 4);
17437 __ ldrs($tmask$$FloatRegister, $constantaddress($mask));
17438 __ sve_bext($tdst$$FloatRegister, __ S, $tsrc$$FloatRegister, $tmask$$FloatRegister);
17439 __ mov($dst$$Register, $tdst$$FloatRegister, __ S, 0);
17440 %}
17441 ins_pipe(pipe_slow);
17442%}
17443
17444instruct compressBitsL_reg(iRegLNoSp dst, iRegL src, iRegL mask,
17445 vRegD tdst, vRegD tsrc, vRegD tmask) %{
17446 match(Set dst (CompressBits src mask));
17447 effect(TEMP tdst, TEMP tsrc, TEMP tmask);
17448 format %{ "mov $tsrc, $src\n\t"
17449 "mov $tmask, $mask\n\t"
17450 "bext $tdst, $tsrc, $tmask\n\t"
17451 "mov $dst, $tdst"
17452 %}
17453 ins_encode %{
17454 __ mov($tsrc$$FloatRegister, __ D, 0, $src$$Register);
17455 __ mov($tmask$$FloatRegister, __ D, 0, $mask$$Register);
17456 __ sve_bext($tdst$$FloatRegister, __ D, $tsrc$$FloatRegister, $tmask$$FloatRegister);
17457 __ mov($dst$$Register, $tdst$$FloatRegister, __ D, 0);
17458 %}
17459 ins_pipe(pipe_slow);
17460%}
17461
17462instruct compressBitsL_memcon(iRegLNoSp dst, memory8 mem, immL mask,
17463 vRegF tdst, vRegF tsrc, vRegF tmask) %{
17464 match(Set dst (CompressBits (LoadL mem) mask));
17465 effect(TEMP tdst, TEMP tsrc, TEMP tmask);
17466 format %{ "ldrd $tsrc, $mem\n\t"
17467 "ldrd $tmask, $mask\n\t"
17468 "bext $tdst, $tsrc, $tmask\n\t"
17469 "mov $dst, $tdst"
17470 %}
17471 ins_encode %{
17472 loadStore(C2_MacroAssembler(&cbuf), &MacroAssembler::ldrd, $tsrc$$FloatRegister, $mem->opcode(),
17473 as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 8);
17474 __ ldrd($tmask$$FloatRegister, $constantaddress($mask));
17475 __ sve_bext($tdst$$FloatRegister, __ D, $tsrc$$FloatRegister, $tmask$$FloatRegister);
17476 __ mov($dst$$Register, $tdst$$FloatRegister, __ D, 0);
17477 %}
17478 ins_pipe(pipe_slow);
17479%}
17480
17481instruct expandBitsI_reg(iRegINoSp dst, iRegIorL2I src, iRegIorL2I mask,
17482 vRegF tdst, vRegF tsrc, vRegF tmask) %{
17483 match(Set dst (ExpandBits src mask));
17484 effect(TEMP tdst, TEMP tsrc, TEMP tmask);
17485 format %{ "mov $tsrc, $src\n\t"
17486 "mov $tmask, $mask\n\t"
17487 "bdep $tdst, $tsrc, $tmask\n\t"
17488 "mov $dst, $tdst"
17489 %}
17490 ins_encode %{
17491 __ mov($tsrc$$FloatRegister, __ S, 0, $src$$Register);
17492 __ mov($tmask$$FloatRegister, __ S, 0, $mask$$Register);
17493 __ sve_bdep($tdst$$FloatRegister, __ S, $tsrc$$FloatRegister, $tmask$$FloatRegister);
17494 __ mov($dst$$Register, $tdst$$FloatRegister, __ S, 0);
17495 %}
17496 ins_pipe(pipe_slow);
17497%}
17498
17499instruct expandBitsI_memcon(iRegINoSp dst, memory4 mem, immI mask,
17500 vRegF tdst, vRegF tsrc, vRegF tmask) %{
17501 match(Set dst (ExpandBits (LoadI mem) mask));
17502 effect(TEMP tdst, TEMP tsrc, TEMP tmask);
17503 format %{ "ldrs $tsrc, $mem\n\t"
17504 "ldrs $tmask, $mask\n\t"
17505 "bdep $tdst, $tsrc, $tmask\n\t"
17506 "mov $dst, $tdst"
17507 %}
17508 ins_encode %{
17509 loadStore(C2_MacroAssembler(&cbuf), &MacroAssembler::ldrs, $tsrc$$FloatRegister, $mem->opcode(),
17510 as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 4);
17511 __ ldrs($tmask$$FloatRegister, $constantaddress($mask));
17512 __ sve_bdep($tdst$$FloatRegister, __ S, $tsrc$$FloatRegister, $tmask$$FloatRegister);
17513 __ mov($dst$$Register, $tdst$$FloatRegister, __ S, 0);
17514 %}
17515 ins_pipe(pipe_slow);
17516%}
17517
17518instruct expandBitsL_reg(iRegLNoSp dst, iRegL src, iRegL mask,
17519 vRegD tdst, vRegD tsrc, vRegD tmask) %{
17520 match(Set dst (ExpandBits src mask));
17521 effect(TEMP tdst, TEMP tsrc, TEMP tmask);
17522 format %{ "mov $tsrc, $src\n\t"
17523 "mov $tmask, $mask\n\t"
17524 "bdep $tdst, $tsrc, $tmask\n\t"
17525 "mov $dst, $tdst"
17526 %}
17527 ins_encode %{
17528 __ mov($tsrc$$FloatRegister, __ D, 0, $src$$Register);
17529 __ mov($tmask$$FloatRegister, __ D, 0, $mask$$Register);
17530 __ sve_bdep($tdst$$FloatRegister, __ D, $tsrc$$FloatRegister, $tmask$$FloatRegister);
17531 __ mov($dst$$Register, $tdst$$FloatRegister, __ D, 0);
17532 %}
17533 ins_pipe(pipe_slow);
17534%}
17535
17536
17537instruct expandBitsL_memcon(iRegINoSp dst, memory8 mem, immL mask,
17538 vRegF tdst, vRegF tsrc, vRegF tmask) %{
17539 match(Set dst (ExpandBits (LoadL mem) mask));
17540 effect(TEMP tdst, TEMP tsrc, TEMP tmask);
17541 format %{ "ldrd $tsrc, $mem\n\t"
17542 "ldrd $tmask, $mask\n\t"
17543 "bdep $tdst, $tsrc, $tmask\n\t"
17544 "mov $dst, $tdst"
17545 %}
17546 ins_encode %{
17547 loadStore(C2_MacroAssembler(&cbuf), &MacroAssembler::ldrd, $tsrc$$FloatRegister, $mem->opcode(),
17548 as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 8);
17549 __ ldrd($tmask$$FloatRegister, $constantaddress($mask));
17550 __ sve_bdep($tdst$$FloatRegister, __ D, $tsrc$$FloatRegister, $tmask$$FloatRegister);
17551 __ mov($dst$$Register, $tdst$$FloatRegister, __ D, 0);
17552 %}
17553 ins_pipe(pipe_slow);
17554%}
17555
17328// ============================================================================17556// ============================================================================
17329// This name is KNOWN by the ADLC and cannot be changed.17557// This name is KNOWN by the ADLC and cannot be changed.
17330// The ADLC forces a 'TypeRawPtr::BOTTOM' output type17558// The ADLC forces a 'TypeRawPtr::BOTTOM' output type
diff --git a/src/hotspot/cpu/aarch64/aarch64_ad.m4 b/src/hotspot/cpu/aarch64/aarch64_ad.m4
index 4b4d79a..f56e383 100644
--- a/src/hotspot/cpu/aarch64/aarch64_ad.m4
+++ b/src/hotspot/cpu/aarch64/aarch64_ad.m4
@@ -615,4 +615,19 @@ MINMAX_DRAW_INSN(Max, I, _, 1, gt)
615MINMAX_DRAW_INSN(Max, I, _, 1, gt, rev)615MINMAX_DRAW_INSN(Max, I, _, 1, gt, rev)
616MINMAX_DRAW_INSN(Max, I, _, M1, ge)616MINMAX_DRAW_INSN(Max, I, _, M1, ge)
617MINMAX_DRAW_INSN(Max, I, _, M1, ge, rev)617MINMAX_DRAW_INSN(Max, I, _, M1, ge, rev)
618618dnl
619define(`BITS_REVERSE', `// This pattern is automatically generated from aarch64_ad.m4
620// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
621instruct bits_reverse_$1(iReg$1NoSp dst, iReg$1`'ORL2I($1) src)
622%{
623 match(Set dst (Reverse$1 src));
624 ins_cost(INSN_COST);
625 format %{ "$2 $dst, $src" %}
626 ins_encode %{
627 __ $2($dst$$Register, $src$$Register);
628 %}
629 ins_pipe(ialu_reg);
630%}
631')dnl
632BITS_REVERSE(I, rbitw)
633BITS_REVERSE(L, rbit)
diff --git a/src/hotspot/cpu/aarch64/aarch64_vector.ad b/src/hotspot/cpu/aarch64/aarch64_vector.ad
index 3142787..4c3523b 100644
--- a/src/hotspot/cpu/aarch64/aarch64_vector.ad
+++ b/src/hotspot/cpu/aarch64/aarch64_vector.ad
@@ -5137,6 +5137,61 @@ instruct vmaskcmp_neon(vReg dst, vReg src1, vReg src2, immI cond) %{
5137 ins_pipe(pipe_slow);5137 ins_pipe(pipe_slow);
5138%}5138%}
51395139
5140instruct vmaskcmp_zeroI_neon(vReg dst, vReg src, immI0 zero, immI_cmp_cond cond) %{
5141 predicate(UseSVE == 0);
5142 match(Set dst (VectorMaskCmp (Binary src (ReplicateB zero)) cond));
5143 match(Set dst (VectorMaskCmp (Binary src (ReplicateS zero)) cond));
5144 match(Set dst (VectorMaskCmp (Binary src (ReplicateI zero)) cond));
5145 format %{ "vmaskcmp_zeroI_neon $dst, $src, #0, $cond" %}
5146 ins_encode %{
5147 Assembler::Condition condition = to_assembler_cond((BoolTest::mask)$cond$$constant);
5148 BasicType bt = Matcher::vector_element_basic_type(this);
5149 uint length_in_bytes = Matcher::vector_length_in_bytes(this);
5150 __ neon_compare_zero($dst$$FloatRegister, bt, $src$$FloatRegister,
5151 condition, /* isQ */ length_in_bytes == 16);
5152 %}
5153 ins_pipe(pipe_slow);
5154%}
5155
5156instruct vmaskcmp_zeroL_neon(vReg dst, vReg src, immL0 zero, immI_cmp_cond cond) %{
5157 predicate(UseSVE == 0);
5158 match(Set dst (VectorMaskCmp (Binary src (ReplicateL zero)) cond));
5159 format %{ "vmaskcmp_zeroL_neon $dst, $src, #0, $cond" %}
5160 ins_encode %{
5161 Assembler::Condition condition = to_assembler_cond((BoolTest::mask)$cond$$constant);
5162 uint length_in_bytes = Matcher::vector_length_in_bytes(this);
5163 __ neon_compare_zero($dst$$FloatRegister, T_LONG, $src$$FloatRegister,
5164 condition, /* isQ */ length_in_bytes == 16);
5165 %}
5166 ins_pipe(pipe_slow);
5167%}
5168
5169instruct vmaskcmp_zeroF_neon(vReg dst, vReg src, immF0 zero, immI_cmp_cond cond) %{
5170 predicate(UseSVE == 0);
5171 match(Set dst (VectorMaskCmp (Binary src (ReplicateF zero)) cond));
5172 format %{ "vmaskcmp_zeroF_neon $dst, $src, #0, $cond" %}
5173 ins_encode %{
5174 Assembler::Condition condition = to_assembler_cond((BoolTest::mask)$cond$$constant);
5175 uint length_in_bytes = Matcher::vector_length_in_bytes(this);
5176 __ neon_compare_zero($dst$$FloatRegister, T_FLOAT, $src$$FloatRegister,
5177 condition, /* isQ */ length_in_bytes == 16);
5178 %}
5179 ins_pipe(pipe_slow);
5180%}
5181
5182instruct vmaskcmp_zeroD_neon(vReg dst, vReg src, immD0 zero, immI_cmp_cond cond) %{
5183 predicate(UseSVE == 0);
5184 match(Set dst (VectorMaskCmp (Binary src (ReplicateD zero)) cond));
5185 format %{ "vmaskcmp_zeroD_neon $dst, $src, #0, $cond" %}
5186 ins_encode %{
5187 Assembler::Condition condition = to_assembler_cond((BoolTest::mask)$cond$$constant);
5188 uint length_in_bytes = Matcher::vector_length_in_bytes(this);
5189 __ neon_compare_zero($dst$$FloatRegister, T_DOUBLE, $src$$FloatRegister,
5190 condition, /* isQ */ length_in_bytes == 16);
5191 %}
5192 ins_pipe(pipe_slow);
5193%}
5194
5140instruct vmaskcmp_sve(pReg dst, vReg src1, vReg src2, immI cond, rFlagsReg cr) %{5195instruct vmaskcmp_sve(pReg dst, vReg src1, vReg src2, immI cond, rFlagsReg cr) %{
5141 predicate(UseSVE > 0);5196 predicate(UseSVE > 0);
5142 match(Set dst (VectorMaskCmp (Binary src1 src2) cond));5197 match(Set dst (VectorMaskCmp (Binary src1 src2) cond));
@@ -5689,6 +5744,18 @@ instruct vmask_gen_imm(pReg pd, immL con, rFlagsReg cr) %{
5689 ins_pipe(pipe_slow);5744 ins_pipe(pipe_slow);
5690%}5745%}
56915746
5747instruct vmask_gen_sub(pReg pd, iRegL src1, iRegL src2, rFlagsReg cr) %{
5748 predicate(UseSVE > 0);
5749 match(Set pd (VectorMaskGen (SubL src1 src2)));
5750 effect(KILL cr);
5751 format %{ "vmask_gen_sub $pd, $src2, $src1\t# KILL cr" %}
5752 ins_encode %{
5753 BasicType bt = Matcher::vector_element_basic_type(this);
5754 __ sve_whilelo($pd$$PRegister, __ elemType_to_regVariant(bt), $src2$$Register, $src1$$Register);
5755 %}
5756 ins_pipe(pipe_slow);
5757%}
5758
5692// ------------------------------ Popcount vector ------------------------------5759// ------------------------------ Popcount vector ------------------------------
56935760
5694// vector popcount - INT5761// vector popcount - INT
diff --git a/src/hotspot/cpu/aarch64/aarch64_vector_ad.m4 b/src/hotspot/cpu/aarch64/aarch64_vector_ad.m4
index 9c45839..277c972 100644
--- a/src/hotspot/cpu/aarch64/aarch64_vector_ad.m4
+++ b/src/hotspot/cpu/aarch64/aarch64_vector_ad.m4
@@ -3553,6 +3553,42 @@ instruct vmaskcmp_neon(vReg dst, vReg src1, vReg src2, immI cond) %{
3553 ins_pipe(pipe_slow);3553 ins_pipe(pipe_slow);
3554%}3554%}
35553555
3556instruct vmaskcmp_zeroI_neon(vReg dst, vReg src, immI0 zero, immI_cmp_cond cond) %{
3557 predicate(UseSVE == 0);
3558 match(Set dst (VectorMaskCmp (Binary src (ReplicateB zero)) cond));
3559 match(Set dst (VectorMaskCmp (Binary src (ReplicateS zero)) cond));
3560 match(Set dst (VectorMaskCmp (Binary src (ReplicateI zero)) cond));
3561 format %{ "vmaskcmp_zeroI_neon $dst, $src, #0, $cond" %}
3562 ins_encode %{
3563 Assembler::Condition condition = to_assembler_cond((BoolTest::mask)$cond$$constant);
3564 BasicType bt = Matcher::vector_element_basic_type(this);
3565 uint length_in_bytes = Matcher::vector_length_in_bytes(this);
3566 __ neon_compare_zero($dst$$FloatRegister, bt, $src$$FloatRegister,
3567 condition, /* isQ */ length_in_bytes == 16);
3568 %}
3569 ins_pipe(pipe_slow);
3570%}
3571dnl
3572dnl VMASKCMP_ZERO_NEON($1, $2 )
3573dnl VMASKCMP_ZERO_NEON(type, basic_type)
3574define(`VMASKCMP_ZERO_NEON', `
3575instruct vmaskcmp_zero$1_neon(vReg dst, vReg src, imm`$1'0 zero, immI_cmp_cond cond) %{
3576 predicate(UseSVE == 0);
3577 match(Set dst (VectorMaskCmp (Binary src (Replicate$1 zero)) cond));
3578 format %{ "vmaskcmp_zero$1_neon $dst, $src, #0, $cond" %}
3579 ins_encode %{
3580 Assembler::Condition condition = to_assembler_cond((BoolTest::mask)$cond$$constant);
3581 uint length_in_bytes = Matcher::vector_length_in_bytes(this);
3582 __ neon_compare_zero($dst$$FloatRegister, $2, $src$$FloatRegister,
3583 condition, /* isQ */ length_in_bytes == 16);
3584 %}
3585 ins_pipe(pipe_slow);
3586%}')dnl
3587dnl
3588VMASKCMP_ZERO_NEON(L, T_LONG)
3589VMASKCMP_ZERO_NEON(F, T_FLOAT)
3590VMASKCMP_ZERO_NEON(D, T_DOUBLE)
3591
3556instruct vmaskcmp_sve(pReg dst, vReg src1, vReg src2, immI cond, rFlagsReg cr) %{3592instruct vmaskcmp_sve(pReg dst, vReg src1, vReg src2, immI cond, rFlagsReg cr) %{
3557 predicate(UseSVE > 0);3593 predicate(UseSVE > 0);
3558 match(Set dst (VectorMaskCmp (Binary src1 src2) cond));3594 match(Set dst (VectorMaskCmp (Binary src1 src2) cond));
@@ -4072,6 +4108,18 @@ instruct vmask_gen_imm(pReg pd, immL con, rFlagsReg cr) %{
4072 ins_pipe(pipe_slow);4108 ins_pipe(pipe_slow);
4073%}4109%}
40744110
4111instruct vmask_gen_sub(pReg pd, iRegL src1, iRegL src2, rFlagsReg cr) %{
4112 predicate(UseSVE > 0);
4113 match(Set pd (VectorMaskGen (SubL src1 src2)));
4114 effect(KILL cr);
4115 format %{ "vmask_gen_sub $pd, $src2, $src1\t# KILL cr" %}
4116 ins_encode %{
4117 BasicType bt = Matcher::vector_element_basic_type(this);
4118 __ sve_whilelo($pd$$PRegister, __ elemType_to_regVariant(bt), $src2$$Register, $src1$$Register);
4119 %}
4120 ins_pipe(pipe_slow);
4121%}
4122
4075// ------------------------------ Popcount vector ------------------------------4123// ------------------------------ Popcount vector ------------------------------
40764124
4077// vector popcount - INT4125// vector popcount - INT
diff --git a/src/hotspot/cpu/aarch64/assembler_aarch64.hpp b/src/hotspot/cpu/aarch64/assembler_aarch64.hpp
index 3f266f4..6ef17c9 100644
--- a/src/hotspot/cpu/aarch64/assembler_aarch64.hpp
+++ b/src/hotspot/cpu/aarch64/assembler_aarch64.hpp
@@ -2653,12 +2653,6 @@ template<typename R, typename... Rx>
2653 INSN(cnt, 0, 0b100000010110, 0); // accepted arrangements: T8B, T16B2653 INSN(cnt, 0, 0b100000010110, 0); // accepted arrangements: T8B, T16B
2654 INSN(uaddlp, 1, 0b100000001010, 2); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S2654 INSN(uaddlp, 1, 0b100000001010, 2); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
2655 INSN(uaddlv, 1, 0b110000001110, 1); // accepted arrangements: T8B, T16B, T4H, T8H, T4S2655 INSN(uaddlv, 1, 0b110000001110, 1); // accepted arrangements: T8B, T16B, T4H, T8H, T4S
2656 // Zero compare.
2657 INSN(cmeq, 0, 0b100000100110, 3); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
2658 INSN(cmge, 1, 0b100000100010, 3); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
2659 INSN(cmgt, 0, 0b100000100010, 3); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
2660 INSN(cmle, 1, 0b100000100110, 3); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
2661 INSN(cmlt, 0, 0b100000101010, 3); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
26622656
2663#undef INSN2657#undef INSN
26642658
@@ -3190,6 +3184,48 @@ public:
31903184
3191#undef INSN3185#undef INSN
31923186
3187 // AdvSIMD compare with zero (vector)
3188 void cm(Condition cond, FloatRegister Vd, SIMD_Arrangement T, FloatRegister Vn) {
3189 starti;
3190 assert(T != T1Q && T != T1D, "invalid arrangement");
3191 int cond_op;
3192 switch (cond) {
3193 case EQ: cond_op = 0b001; break;
3194 case GE: cond_op = 0b100; break;
3195 case GT: cond_op = 0b000; break;
3196 case LE: cond_op = 0b101; break;
3197 case LT: cond_op = 0b010; break;
3198 default:
3199 ShouldNotReachHere();
3200 break;
3201 }
3202
3203 f(0, 31), f((int)T & 1, 30), f((cond_op >> 2) & 1, 29);
3204 f(0b01110, 28, 24), f((int)T >> 1, 23, 22), f(0b10000010, 21, 14);
3205 f(cond_op & 0b11, 13, 12), f(0b10, 11, 10), rf(Vn, 5), rf(Vd, 0);
3206 }
3207
3208 // AdvSIMD Floating-point compare with zero (vector)
3209 void fcm(Condition cond, FloatRegister Vd, SIMD_Arrangement T, FloatRegister Vn) {
3210 starti;
3211 assert(T == T2S || T == T4S || T == T2D, "invalid arrangement");
3212 int cond_op;
3213 switch (cond) {
3214 case EQ: cond_op = 0b010; break;
3215 case GT: cond_op = 0b000; break;
3216 case GE: cond_op = 0b001; break;
3217 case LE: cond_op = 0b011; break;
3218 case LT: cond_op = 0b100; break;
3219 default:
3220 ShouldNotReachHere();
3221 break;
3222 }
3223
3224 f(0, 31), f((int)T & 1, 30), f(cond_op & 1, 29), f(0b011101, 28, 23);
3225 f(((int)(T >> 1) & 1), 22), f(0b10000011, 21, 14);
3226 f((cond_op >> 1) & 0b11, 13, 12), f(0b10, 11, 10), rf(Vn, 5), rf(Vd, 0);
3227 }
3228
3193 void ext(FloatRegister Vd, SIMD_Arrangement T, FloatRegister Vn, FloatRegister Vm, int index)3229 void ext(FloatRegister Vd, SIMD_Arrangement T, FloatRegister Vn, FloatRegister Vm, int index)
3194 {3230 {
3195 starti;3231 starti;
diff --git a/src/hotspot/cpu/aarch64/bytes_aarch64.hpp b/src/hotspot/cpu/aarch64/bytes_aarch64.hpp
index 672f03b..6d4a18d 100644
--- a/src/hotspot/cpu/aarch64/bytes_aarch64.hpp
+++ b/src/hotspot/cpu/aarch64/bytes_aarch64.hpp
@@ -27,6 +27,7 @@
27#define CPU_AARCH64_BYTES_AARCH64_HPP27#define CPU_AARCH64_BYTES_AARCH64_HPP
2828
29#include "memory/allStatic.hpp"29#include "memory/allStatic.hpp"
30#include "utilities/byteswap.hpp"
3031
31class Bytes: AllStatic {32class Bytes: AllStatic {
32 public:33 public:
@@ -44,23 +45,13 @@ class Bytes: AllStatic {
44 // Efficient reading and writing of unaligned unsigned data in Java45 // Efficient reading and writing of unaligned unsigned data in Java
45 // byte ordering (i.e. big-endian ordering). Byte-order reversal is46 // byte ordering (i.e. big-endian ordering). Byte-order reversal is
46 // needed since x86 CPUs use little-endian format.47 // needed since x86 CPUs use little-endian format.
47 static inline u2 get_Java_u2(address p) { return swap_u2(get_native_u2(p)); }48 static inline u2 get_Java_u2(address p) { return byteswap(get_native_u2(p)); }
48 static inline u4 get_Java_u4(address p) { return swap_u4(get_native_u4(p)); }49 static inline u4 get_Java_u4(address p) { return byteswap(get_native_u4(p)); }
49 static inline u8 get_Java_u8(address p) { return swap_u8(get_native_u8(p)); }50 static inline u8 get_Java_u8(address p) { return byteswap(get_native_u8(p)); }
5051
51 static inline void put_Java_u2(address p, u2 x) { put_native_u2(p, swap_u2(x)); }52 static inline void put_Java_u2(address p, u2 x) { put_native_u2(p, byteswap(x)); }
52 static inline void put_Java_u4(address p, u4 x) { put_native_u4(p, swap_u4(x)); }53 static inline void put_Java_u4(address p, u4 x) { put_native_u4(p, byteswap(x)); }
53 static inline void put_Java_u8(address p, u8 x) { put_native_u8(p, swap_u8(x)); }54 static inline void put_Java_u8(address p, u8 x) { put_native_u8(p, byteswap(x)); }
54
55
56 // Efficient swapping of byte ordering
57 static inline u2 swap_u2(u2 x); // compiler-dependent implementation
58 static inline u4 swap_u4(u4 x); // compiler-dependent implementation
59 static inline u8 swap_u8(u8 x);
60};55};
6156
62
63// The following header contains the implementations of swap_u2, swap_u4, and swap_u8[_base]
64#include OS_CPU_HEADER(bytes)
65
66#endif // CPU_AARCH64_BYTES_AARCH64_HPP57#endif // CPU_AARCH64_BYTES_AARCH64_HPP
diff --git a/src/hotspot/cpu/aarch64/c1_CodeStubs_aarch64.cpp b/src/hotspot/cpu/aarch64/c1_CodeStubs_aarch64.cpp
index 4a60b88..59d721e 100644
--- a/src/hotspot/cpu/aarch64/c1_CodeStubs_aarch64.cpp
+++ b/src/hotspot/cpu/aarch64/c1_CodeStubs_aarch64.cpp
@@ -63,18 +63,6 @@ void CounterOverflowStub::emit_code(LIR_Assembler* ce) {
63 __ b(_continuation);63 __ b(_continuation);
64}64}
6565
66RangeCheckStub::RangeCheckStub(CodeEmitInfo* info, LIR_Opr index, LIR_Opr array)
67 : _index(index), _array(array), _throw_index_out_of_bounds_exception(false) {
68 assert(info != NULL, "must have info");
69 _info = new CodeEmitInfo(info);
70}
71
72RangeCheckStub::RangeCheckStub(CodeEmitInfo* info, LIR_Opr index)
73 : _index(index), _array(), _throw_index_out_of_bounds_exception(true) {
74 assert(info != NULL, "must have info");
75 _info = new CodeEmitInfo(info);
76}
77
78void RangeCheckStub::emit_code(LIR_Assembler* ce) {66void RangeCheckStub::emit_code(LIR_Assembler* ce) {
79 __ bind(_entry);67 __ bind(_entry);
80 if (_info->deoptimize_on_exception()) {68 if (_info->deoptimize_on_exception()) {
@@ -208,14 +196,6 @@ void NewObjectArrayStub::emit_code(LIR_Assembler* ce) {
208 assert(_result->as_register() == r0, "result must in r0");196 assert(_result->as_register() == r0, "result must in r0");
209 __ b(_continuation);197 __ b(_continuation);
210}198}
211// Implementation of MonitorAccessStubs
212
213MonitorEnterStub::MonitorEnterStub(LIR_Opr obj_reg, LIR_Opr lock_reg, CodeEmitInfo* info)
214: MonitorAccessStub(obj_reg, lock_reg)
215{
216 _info = new CodeEmitInfo(info);
217}
218
219199
220void MonitorEnterStub::emit_code(LIR_Assembler* ce) {200void MonitorEnterStub::emit_code(LIR_Assembler* ce) {
221 assert(__ rsp_offset() == 0, "frame size should be fixed");201 assert(__ rsp_offset() == 0, "frame size should be fixed");
diff --git a/src/hotspot/cpu/aarch64/c1_Defs_aarch64.hpp b/src/hotspot/cpu/aarch64/c1_Defs_aarch64.hpp
index e92c538..9470caa 100644
--- a/src/hotspot/cpu/aarch64/c1_Defs_aarch64.hpp
+++ b/src/hotspot/cpu/aarch64/c1_Defs_aarch64.hpp
@@ -1,5 +1,5 @@
1/*1/*
2 * Copyright (c) 2000, 2022, Oracle and/or its affiliates. All rights reserved.2 * Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
3 * Copyright (c) 2014, Red Hat Inc. All rights reserved.3 * Copyright (c) 2014, Red Hat Inc. All rights reserved.
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 *5 *
@@ -82,4 +82,9 @@ enum {
82 pd_two_operand_lir_form = false82 pd_two_operand_lir_form = false
83};83};
8484
85// the number of stack required by ArrayCopyStub
86enum {
87 pd_arraycopystub_reserved_argument_area_size = 2
88};
89
85#endif // CPU_AARCH64_C1_DEFS_AARCH64_HPP90#endif // CPU_AARCH64_C1_DEFS_AARCH64_HPP
diff --git a/src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp
index be91a35..ef21b75 100644
--- a/src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp
+++ b/src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp
@@ -1,5 +1,5 @@
1/*1/*
2 * Copyright (c) 2000, 2022, Oracle and/or its affiliates. All rights reserved.2 * Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
3 * Copyright (c) 2014, 2020, Red Hat Inc. All rights reserved.3 * Copyright (c) 2014, 2020, Red Hat Inc. All rights reserved.
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 *5 *
@@ -1814,10 +1814,12 @@ void LIR_Assembler::arith_op(LIR_Code code, LIR_Opr left, LIR_Opr right, LIR_Opr
1814void LIR_Assembler::arith_fpu_implementation(LIR_Code code, int left_index, int right_index, int dest_index, bool pop_fpu_stack) { Unimplemented(); }1814void LIR_Assembler::arith_fpu_implementation(LIR_Code code, int left_index, int right_index, int dest_index, bool pop_fpu_stack) { Unimplemented(); }
18151815
18161816
1817void LIR_Assembler::intrinsic_op(LIR_Code code, LIR_Opr value, LIR_Opr unused, LIR_Opr dest, LIR_Op* op) {1817void LIR_Assembler::intrinsic_op(LIR_Code code, LIR_Opr value, LIR_Opr tmp, LIR_Opr dest, LIR_Op* op) {
1818 switch(code) {1818 switch(code) {
1819 case lir_abs : __ fabsd(dest->as_double_reg(), value->as_double_reg()); break;1819 case lir_abs : __ fabsd(dest->as_double_reg(), value->as_double_reg()); break;
1820 case lir_sqrt: __ fsqrtd(dest->as_double_reg(), value->as_double_reg()); break;1820 case lir_sqrt: __ fsqrtd(dest->as_double_reg(), value->as_double_reg()); break;
1821 case lir_f2hf: __ flt_to_flt16(dest->as_register(), value->as_float_reg(), tmp->as_float_reg()); break;
1822 case lir_hf2f: __ flt16_to_flt(dest->as_float_reg(), value->as_register(), tmp->as_float_reg()); break;
1821 default : ShouldNotReachHere();1823 default : ShouldNotReachHere();
1822 }1824 }
1823}1825}
@@ -3185,7 +3187,8 @@ void LIR_Assembler::atomic_op(LIR_Code code, LIR_Opr src, LIR_Opr data, LIR_Opr
3185 __ encode_heap_oop(rscratch2, obj);3187 __ encode_heap_oop(rscratch2, obj);
3186 obj = rscratch2;3188 obj = rscratch2;
3187 }3189 }
3188 assert_different_registers(obj, addr.base(), tmp, rscratch1, dst);3190 assert_different_registers(obj, addr.base(), tmp, rscratch1);
3191 assert_different_registers(dst, addr.base(), tmp, rscratch1);
3189 __ lea(tmp, addr);3192 __ lea(tmp, addr);
3190 (_masm->*xchg)(dst, obj, tmp);3193 (_masm->*xchg)(dst, obj, tmp);
3191 if (is_oop && UseCompressedOops) {3194 if (is_oop && UseCompressedOops) {
diff --git a/src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp b/src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp
index a281501..2d12590 100644
--- a/src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp
+++ b/src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp
@@ -1,5 +1,5 @@
1/*1/*
2 * Copyright (c) 2005, 2022, Oracle and/or its affiliates. All rights reserved.2 * Copyright (c) 2005, 2023, Oracle and/or its affiliates. All rights reserved.
3 * Copyright (c) 2014, Red Hat Inc. All rights reserved.3 * Copyright (c) 2014, Red Hat Inc. All rights reserved.
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 *5 *
@@ -752,20 +752,35 @@ void LIRGenerator::do_MathIntrinsic(Intrinsic* x) {
752 switch (x->id()) {752 switch (x->id()) {
753 case vmIntrinsics::_dabs:753 case vmIntrinsics::_dabs:
754 case vmIntrinsics::_dsqrt:754 case vmIntrinsics::_dsqrt:
755 case vmIntrinsics::_dsqrt_strict: {755 case vmIntrinsics::_dsqrt_strict:
756 case vmIntrinsics::_floatToFloat16:
757 case vmIntrinsics::_float16ToFloat: {
756 assert(x->number_of_arguments() == 1, "wrong type");758 assert(x->number_of_arguments() == 1, "wrong type");
757 LIRItem value(x->argument_at(0), this);759 LIRItem value(x->argument_at(0), this);
758 value.load_item();760 value.load_item();
761 LIR_Opr src = value.result();
759 LIR_Opr dst = rlock_result(x);762 LIR_Opr dst = rlock_result(x);
760763
761 switch (x->id()) {764 switch (x->id()) {
762 case vmIntrinsics::_dsqrt:765 case vmIntrinsics::_dsqrt:
763 case vmIntrinsics::_dsqrt_strict: {766 case vmIntrinsics::_dsqrt_strict: {
764 __ sqrt(value.result(), dst, LIR_OprFact::illegalOpr);767 __ sqrt(src, dst, LIR_OprFact::illegalOpr);
765 break;768 break;
766 }769 }
767 case vmIntrinsics::_dabs: {770 case vmIntrinsics::_dabs: {
768 __ abs(value.result(), dst, LIR_OprFact::illegalOpr);771 __ abs(src, dst, LIR_OprFact::illegalOpr);
772 break;
773 }
774 case vmIntrinsics::_floatToFloat16: {
775 LIR_Opr tmp = new_register(T_FLOAT);
776 __ move(LIR_OprFact::floatConst(-0.0), tmp);
777 __ f2hf(src, dst, tmp);
778 break;
779 }
780 case vmIntrinsics::_float16ToFloat: {
781 LIR_Opr tmp = new_register(T_FLOAT);
782 __ move(LIR_OprFact::floatConst(-0.0), tmp);
783 __ hf2f(src, dst, tmp);
769 break;784 break;
770 }785 }
771 default:786 default:
diff --git a/src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp
index 3aa7acf..1fd71eb 100644
--- a/src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp
+++ b/src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp
@@ -108,7 +108,7 @@ int C1_MacroAssembler::lock_object(Register hdr, Register obj, Register disp_hdr
108 // significant 2 bits cleared and page_size is a power of 2108 // significant 2 bits cleared and page_size is a power of 2
109 mov(rscratch1, sp);109 mov(rscratch1, sp);
110 sub(hdr, hdr, rscratch1);110 sub(hdr, hdr, rscratch1);
111 ands(hdr, hdr, aligned_mask - os::vm_page_size());111 ands(hdr, hdr, aligned_mask - (int)os::vm_page_size());
112 // for recursive locking, the result is zero => save it in the displaced header112 // for recursive locking, the result is zero => save it in the displaced header
113 // location (NULL in the displaced hdr location indicates recursive locking)113 // location (NULL in the displaced hdr location indicates recursive locking)
114 str(hdr, Address(disp_hdr, 0));114 str(hdr, Address(disp_hdr, 0));
diff --git a/src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp
index 121b2b9..ceb8712 100644
--- a/src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp
+++ b/src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp
@@ -925,7 +925,7 @@ void C2_MacroAssembler::neon_compare(FloatRegister dst, BasicType bt, FloatRegis
925 case BoolTest::eq: fcmeq(dst, size, src1, src2); break;925 case BoolTest::eq: fcmeq(dst, size, src1, src2); break;
926 case BoolTest::ne: {926 case BoolTest::ne: {
927 fcmeq(dst, size, src1, src2);927 fcmeq(dst, size, src1, src2);
928 notr(dst, T16B, dst);928 notr(dst, isQ ? T16B : T8B, dst);
929 break;929 break;
930 }930 }
931 case BoolTest::ge: fcmge(dst, size, src1, src2); break;931 case BoolTest::ge: fcmge(dst, size, src1, src2); break;
@@ -941,7 +941,7 @@ void C2_MacroAssembler::neon_compare(FloatRegister dst, BasicType bt, FloatRegis
941 case BoolTest::eq: cmeq(dst, size, src1, src2); break;941 case BoolTest::eq: cmeq(dst, size, src1, src2); break;
942 case BoolTest::ne: {942 case BoolTest::ne: {
943 cmeq(dst, size, src1, src2);943 cmeq(dst, size, src1, src2);
944 notr(dst, T16B, dst);944 notr(dst, isQ ? T16B : T8B, dst);
945 break;945 break;
946 }946 }
947 case BoolTest::ge: cmge(dst, size, src1, src2); break;947 case BoolTest::ge: cmge(dst, size, src1, src2); break;
@@ -959,6 +959,26 @@ void C2_MacroAssembler::neon_compare(FloatRegister dst, BasicType bt, FloatRegis
959 }959 }
960}960}
961961
962void C2_MacroAssembler::neon_compare_zero(FloatRegister dst, BasicType bt, FloatRegister src,
963 Condition cond, bool isQ) {
964 SIMD_Arrangement size = esize2arrangement((unsigned)type2aelembytes(bt), isQ);
965 if (bt == T_FLOAT || bt == T_DOUBLE) {
966 if (cond == Assembler::NE) {
967 fcm(Assembler::EQ, dst, size, src);
968 notr(dst, isQ ? T16B : T8B, dst);
969 } else {
970 fcm(cond, dst, size, src);
971 }
972 } else {
973 if (cond == Assembler::NE) {
974 cm(Assembler::EQ, dst, size, src);
975 notr(dst, isQ ? T16B : T8B, dst);
976 } else {
977 cm(cond, dst, size, src);
978 }
979 }
980}
981
962// Compress the least significant bit of each byte to the rightmost and clear982// Compress the least significant bit of each byte to the rightmost and clear
963// the higher garbage bits.983// the higher garbage bits.
964void C2_MacroAssembler::bytemask_compress(Register dst) {984void C2_MacroAssembler::bytemask_compress(Register dst) {
diff --git a/src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp b/src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp
index 1c4c53f..16cf209 100644
--- a/src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp
+++ b/src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp
@@ -1,5 +1,5 @@
1/*1/*
2 * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved.2 * Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *4 *
5 * This code is free software; you can redistribute it and/or modify it5 * This code is free software; you can redistribute it and/or modify it
@@ -35,9 +35,6 @@
35 enum shift_kind kind = Assembler::LSL, unsigned shift = 0);35 enum shift_kind kind = Assembler::LSL, unsigned shift = 0);
3636
37 public:37 public:
38 void emit_entry_barrier_stub(C2EntryBarrierStub* stub);
39 static int entry_barrier_stub_size();
40
41 void string_compare(Register str1, Register str2,38 void string_compare(Register str1, Register str2,
42 Register cnt1, Register cnt2, Register result,39 Register cnt1, Register cnt2, Register result,
43 Register tmp1, Register tmp2, FloatRegister vtmp1,40 Register tmp1, Register tmp2, FloatRegister vtmp1,
@@ -82,6 +79,9 @@
82 void neon_compare(FloatRegister dst, BasicType bt, FloatRegister src1,79 void neon_compare(FloatRegister dst, BasicType bt, FloatRegister src1,
83 FloatRegister src2, int cond, bool isQ);80 FloatRegister src2, int cond, bool isQ);
8481
82 void neon_compare_zero(FloatRegister dst, BasicType bt, FloatRegister src,
83 Condition cond, bool isQ);
84
85 void sve_compare(PRegister pd, BasicType bt, PRegister pg,85 void sve_compare(PRegister pd, BasicType bt, PRegister pg,
86 FloatRegister zn, FloatRegister zm, int cond);86 FloatRegister zn, FloatRegister zm, int cond);
8787
diff --git a/src/hotspot/cpu/aarch64/cas.m4 b/src/hotspot/cpu/aarch64/cas.m4
index 780182f..f8aac0c 100644
--- a/src/hotspot/cpu/aarch64/cas.m4
+++ b/src/hotspot/cpu/aarch64/cas.m4
@@ -19,7 +19,7 @@ dnl Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
19dnl or visit www.oracle.com if you need additional information or have any19dnl or visit www.oracle.com if you need additional information or have any
20dnl questions.20dnl questions.
21dnl21dnl
22dnl 22dnl
23dnl Process this file with m4 cas.m4 to generate the CAE and wCAS23dnl Process this file with m4 cas.m4 to generate the CAE and wCAS
24dnl instructions used in aarch64.ad.24dnl instructions used in aarch64.ad.
25dnl25dnl
@@ -33,19 +33,23 @@ dnl
33// can't check the type of memory ordering here, so we always emit a33// can't check the type of memory ordering here, so we always emit a
34// STLXR.34// STLXR.
3535
36// This section is generated from aarch64_ad_cas.m436// This section is generated from cas.m4
37
3837
38dnl Return Arg1 with two spaces before it. We need this because m4
39dnl strips leading spaces from macro args.
40define(`INDENT', ` $1')dnl
41dnl
39define(`CAS_INSN',42define(`CAS_INSN',
40`43`
41// This pattern is generated automatically from cas.m4.44// This pattern is generated automatically from cas.m4.
42// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE45// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
43instruct compareAndExchange$1$6(iReg$2NoSp res, indirect mem, iReg$2 oldval, iReg$2 newval, rFlagsReg cr) %{46instruct compareAndExchange$1$6(iReg$2NoSp res, indirect mem, iReg$2 oldval, iReg$2 newval, rFlagsReg cr) %{
44 ifelse($1$6,PAcq,'predicate(needs_acquiring_load_exclusive(n) && (n->as_LoadStore()->barrier_data() == 0));`,47ifelse($1$6,PAcq,INDENT(predicate(needs_acquiring_load_exclusive(n) && (n->as_LoadStore()->barrier_data() == 0));),
45 $1,P,'predicate(n->as_LoadStore()->barrier_data() == 0);`,48 $1,P,INDENT(predicate(n->as_LoadStore()->barrier_data() == 0);),
46 $6,Acq,'predicate(needs_acquiring_load_exclusive(n));`)49 $6,Acq,INDENT(predicate(needs_acquiring_load_exclusive(n));),
50 `dnl')
47 match(Set res (CompareAndExchange$1 mem (Binary oldval newval)));51 match(Set res (CompareAndExchange$1 mem (Binary oldval newval)));
48 ifelse($6,Acq,'ins_cost(VOLATILE_REF_COST);`,' ins_cost(2 * VOLATILE_REF_COST);`)52 ifelse($6,Acq,'ins_cost(VOLATILE_REF_COST);`,'ins_cost(2 * VOLATILE_REF_COST);`)
49 effect(TEMP_DEF res, KILL cr);53 effect(TEMP_DEF res, KILL cr);
50 format %{54 format %{
51 "cmpxchg$5`'ifelse($6,Acq,_acq,) $res = $mem, $oldval, $newval\t# ($3, weak) if $mem == $oldval then $mem <-- $newval"55 "cmpxchg$5`'ifelse($6,Acq,_acq,) $res = $mem, $oldval, $newval\t# ($3, weak) if $mem == $oldval then $mem <-- $newval"
@@ -62,9 +66,9 @@ define(`CAS_INSN4',
62// This pattern is generated automatically from cas.m4.66// This pattern is generated automatically from cas.m4.
63// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE67// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
64instruct compareAndExchange$1$7(iReg$2NoSp res, indirect mem, iReg$2 oldval, iReg$2 newval, rFlagsReg cr) %{68instruct compareAndExchange$1$7(iReg$2NoSp res, indirect mem, iReg$2 oldval, iReg$2 newval, rFlagsReg cr) %{
65 ifelse($7,Acq,'predicate(needs_acquiring_load_exclusive(n));`)69ifelse($7,Acq,INDENT(predicate(needs_acquiring_load_exclusive(n));),`dnl')
66 match(Set res (CompareAndExchange$1 mem (Binary oldval newval)));70 match(Set res (CompareAndExchange$1 mem (Binary oldval newval)));
67 ifelse($7,Acq,'ins_cost(VOLATILE_REF_COST);`,' ins_cost(2 * VOLATILE_REF_COST);`)71 ifelse($7,Acq,'ins_cost(VOLATILE_REF_COST);`,'ins_cost(2 * VOLATILE_REF_COST);`)
68 effect(TEMP_DEF res, KILL cr);72 effect(TEMP_DEF res, KILL cr);
69 format %{73 format %{
70 "cmpxchg$5`'ifelse($7,Acq,_acq,) $res = $mem, $oldval, $newval\t# ($3, weak) if $mem == $oldval then $mem <-- $newval"74 "cmpxchg$5`'ifelse($7,Acq,_acq,) $res = $mem, $oldval, $newval\t# ($3, weak) if $mem == $oldval then $mem <-- $newval"
@@ -96,9 +100,9 @@ define(`CAS_INSN2',
96// This pattern is generated automatically from cas.m4.100// This pattern is generated automatically from cas.m4.
97// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE101// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
98instruct weakCompareAndSwap$1$6(iRegINoSp res, indirect mem, iReg$2 oldval, iReg$2 newval, rFlagsReg cr) %{102instruct weakCompareAndSwap$1$6(iRegINoSp res, indirect mem, iReg$2 oldval, iReg$2 newval, rFlagsReg cr) %{
99 ifelse($6,Acq,' predicate(needs_acquiring_load_exclusive(n));`)103ifelse($6,Acq,INDENT(predicate(needs_acquiring_load_exclusive(n));),`dnl')
100 match(Set res (WeakCompareAndSwap$1 mem (Binary oldval newval)));104 match(Set res (WeakCompareAndSwap$1 mem (Binary oldval newval)));
101 ifelse($6,Acq,'ins_cost(VOLATILE_REF_COST);`,' ins_cost(2 * VOLATILE_REF_COST);`)105 ifelse($6,Acq,'ins_cost(VOLATILE_REF_COST);`,'ins_cost(2 * VOLATILE_REF_COST);`)
102 effect(KILL cr);106 effect(KILL cr);
103 format %{107 format %{
104 "cmpxchg$5`'ifelse($6,Acq,_acq,) $res = $mem, $oldval, $newval\t# ($3, weak) if $mem == $oldval then $mem <-- $newval"108 "cmpxchg$5`'ifelse($6,Acq,_acq,) $res = $mem, $oldval, $newval\t# ($3, weak) if $mem == $oldval then $mem <-- $newval"
@@ -117,11 +121,12 @@ define(`CAS_INSN3',
117// This pattern is generated automatically from cas.m4.121// This pattern is generated automatically from cas.m4.
118// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE122// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
119instruct weakCompareAndSwap$1$6(iRegINoSp res, indirect mem, iReg$2 oldval, iReg$2 newval, rFlagsReg cr) %{123instruct weakCompareAndSwap$1$6(iRegINoSp res, indirect mem, iReg$2 oldval, iReg$2 newval, rFlagsReg cr) %{
120 ifelse($1$6,PAcq,'predicate(needs_acquiring_load_exclusive(n) && (n->as_LoadStore()->barrier_data() == 0));`,124ifelse($1$6,PAcq,INDENT(predicate(needs_acquiring_load_exclusive(n) && (n->as_LoadStore()->barrier_data() == 0));),
121 $1,P,'predicate(n->as_LoadStore()->barrier_data() == 0);`,125 $1,P,INDENT(predicate(n->as_LoadStore()->barrier_data() == 0);),
122 $6,Acq,'predicate(needs_acquiring_load_exclusive(n));`)126 $6,Acq,INDENT(predicate(needs_acquiring_load_exclusive(n));),
127 `dnl')
123 match(Set res (WeakCompareAndSwap$1 mem (Binary oldval newval)));128 match(Set res (WeakCompareAndSwap$1 mem (Binary oldval newval)));
124 ifelse($6,Acq,'ins_cost(VOLATILE_REF_COST);`,' ins_cost(2 * VOLATILE_REF_COST);`)129 ifelse($6,Acq,'ins_cost(VOLATILE_REF_COST);`,'ins_cost(2 * VOLATILE_REF_COST);`)
125 effect(KILL cr);130 effect(KILL cr);
126 format %{131 format %{
127 "cmpxchg$5`'ifelse($6,Acq,_acq,) $res = $mem, $oldval, $newval\t# ($3, weak) if $mem == $oldval then $mem <-- $newval"132 "cmpxchg$5`'ifelse($6,Acq,_acq,) $res = $mem, $oldval, $newval\t# ($3, weak) if $mem == $oldval then $mem <-- $newval"
diff --git a/src/hotspot/cpu/aarch64/codeBuffer_aarch64.cpp b/src/hotspot/cpu/aarch64/codeBuffer_aarch64.cpp
index 3bc12a1..7d49970 100644
--- a/src/hotspot/cpu/aarch64/codeBuffer_aarch64.cpp
+++ b/src/hotspot/cpu/aarch64/codeBuffer_aarch64.cpp
@@ -30,7 +30,7 @@ void CodeBuffer::share_trampoline_for(address dest, int caller_offset) {
30 if (_shared_trampoline_requests == nullptr) {30 if (_shared_trampoline_requests == nullptr) {
31 constexpr unsigned init_size = 8;31 constexpr unsigned init_size = 8;
32 constexpr unsigned max_size = 256;32 constexpr unsigned max_size = 256;
33 _shared_trampoline_requests = new SharedTrampolineRequests(init_size, max_size);33 _shared_trampoline_requests = new (mtCompiler)SharedTrampolineRequests(init_size, max_size);
34 }34 }
3535
36 bool created;36 bool created;
@@ -42,6 +42,8 @@ void CodeBuffer::share_trampoline_for(address dest, int caller_offset) {
42 _finalize_stubs = true;42 _finalize_stubs = true;
43}43}
4444
45#define __ masm.
46
45static bool emit_shared_trampolines(CodeBuffer* cb, CodeBuffer::SharedTrampolineRequests* requests) {47static bool emit_shared_trampolines(CodeBuffer* cb, CodeBuffer::SharedTrampolineRequests* requests) {
46 if (requests == nullptr) {48 if (requests == nullptr) {
47 return true;49 return true;
@@ -49,39 +51,35 @@ static bool emit_shared_trampolines(CodeBuffer* cb, CodeBuffer::SharedTrampoline
4951
50 MacroAssembler masm(cb);52 MacroAssembler masm(cb);
5153
52 bool p_succeeded = true;
53 auto emit = [&](address dest, const CodeBuffer::Offsets &offsets) {54 auto emit = [&](address dest, const CodeBuffer::Offsets &offsets) {
54 masm.set_code_section(cb->stubs());55 assert(cb->stubs()->remaining() >= MacroAssembler::max_trampoline_stub_size(), "pre-allocated trampolines");
55 if (!is_aligned(masm.offset(), wordSize)) {
56 if (cb->stubs()->maybe_expand_to_ensure_remaining(NativeInstruction::instruction_size) && cb->blob() == NULL) {
57 ciEnv::current()->record_failure("CodeCache is full");
58 p_succeeded = false;
59 return p_succeeded;
60 }
61 masm.align(wordSize);
62 }
63
64 LinkedListIterator<int> it(offsets.head());56 LinkedListIterator<int> it(offsets.head());
65 int offset = *it.next();57 int offset = *it.next();
66 for (; !it.is_empty(); offset = *it.next()) {58 address stub = __ emit_trampoline_stub(offset, dest);
67 masm.relocate(trampoline_stub_Relocation::spec(cb->insts()->start() + offset));59 assert(stub, "pre-allocated trampolines");
68 }
69 masm.set_code_section(cb->insts());
7060
71 address stub = masm.emit_trampoline_stub(offset, dest);61 address reloc_pc = cb->stubs()->end() - NativeCallTrampolineStub::instruction_size;
72 if (stub == nullptr) {62 while (!it.is_empty()) {
73 ciEnv::current()->record_failure("CodeCache is full");63 offset = *it.next();
74 p_succeeded = false;64 address caller_pc = cb->insts()->start() + offset;
65 cb->stubs()->relocate(reloc_pc, trampoline_stub_Relocation::spec(caller_pc));
75 }66 }
7667 return true;
77 return p_succeeded;
78 };68 };
7969
80 requests->iterate(emit);70 assert(requests->number_of_entries() >= 1, "at least one");
71 const int total_requested_size = MacroAssembler::max_trampoline_stub_size() * requests->number_of_entries();
72 if (cb->stubs()->maybe_expand_to_ensure_remaining(total_requested_size) && cb->blob() == NULL) {
73 ciEnv::current()->record_failure("CodeCache is full");
74 return false;
75 }
8176
82 return p_succeeded;77 requests->iterate(emit);
78 return true;
83}79}
8480
81#undef __
82
85bool CodeBuffer::pd_finalize_stubs() {83bool CodeBuffer::pd_finalize_stubs() {
86 return emit_shared_stubs_to_interp<MacroAssembler>(this, _shared_stub_to_interp_requests)84 return emit_shared_stubs_to_interp<MacroAssembler>(this, _shared_stub_to_interp_requests)
87 && emit_shared_trampolines(this, _shared_trampoline_requests);85 && emit_shared_trampolines(this, _shared_trampoline_requests);
diff --git a/src/hotspot/cpu/aarch64/compiledIC_aarch64.cpp b/src/hotspot/cpu/aarch64/compiledIC_aarch64.cpp
index e922fc1..d09375f 100644
--- a/src/hotspot/cpu/aarch64/compiledIC_aarch64.cpp
+++ b/src/hotspot/cpu/aarch64/compiledIC_aarch64.cpp
@@ -1,5 +1,5 @@
1/*1/*
2 * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.2 * Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
3 * Copyright (c) 2014, 2018, Red Hat Inc. All rights reserved.3 * Copyright (c) 2014, 2018, Red Hat Inc. All rights reserved.
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 *5 *
@@ -71,15 +71,14 @@ address CompiledStaticCall::emit_to_interp_stub(CodeBuffer &cbuf, address mark)
71#undef __71#undef __
7272
73int CompiledStaticCall::to_interp_stub_size() {73int CompiledStaticCall::to_interp_stub_size() {
74 // isb; movk; movz; movz; movk; movz; movz; br74 return MacroAssembler::static_call_stub_size();
75 return 8 * NativeInstruction::instruction_size;
76}75}
7776
78int CompiledStaticCall::to_trampoline_stub_size() {77int CompiledStaticCall::to_trampoline_stub_size() {
79 // Somewhat pessimistically, we count 3 instructions here (although78 // Somewhat pessimistically, we count 3 instructions here (although
80 // there are only two) because we sometimes emit an alignment nop.79 // there are only two) because we sometimes emit an alignment nop.
81 // Trampoline stubs are always word aligned.80 // Trampoline stubs are always word aligned.
82 return 3 * NativeInstruction::instruction_size + wordSize;81 return MacroAssembler::max_trampoline_stub_size();
83}82}
8483
85// Relocation entries for call stub, compiled java to interpreter.84// Relocation entries for call stub, compiled java to interpreter.
diff --git a/src/hotspot/cpu/aarch64/downcallLinker_aarch64.cpp b/src/hotspot/cpu/aarch64/downcallLinker_aarch64.cpp
index 9f74009..9c9d78e 100644
--- a/src/hotspot/cpu/aarch64/downcallLinker_aarch64.cpp
+++ b/src/hotspot/cpu/aarch64/downcallLinker_aarch64.cpp
@@ -1,5 +1,5 @@
1/*1/*
2 * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved.2 * Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved.
3 * Copyright (c) 2019, Arm Limited. All rights reserved.3 * Copyright (c) 2019, Arm Limited. All rights reserved.
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 *5 *
@@ -90,7 +90,8 @@ public:
90 }90 }
91};91};
9292
93static const int native_invoker_code_size = 1024;93static const int native_invoker_code_base_size = 256;
94static const int native_invoker_size_per_arg = 8;
9495
95RuntimeStub* DowncallLinker::make_downcall_stub(BasicType* signature,96RuntimeStub* DowncallLinker::make_downcall_stub(BasicType* signature,
96 int num_args,97 int num_args,
@@ -100,8 +101,9 @@ RuntimeStub* DowncallLinker::make_downcall_stub(BasicType* signature,
100 const GrowableArray<VMStorage>& output_registers,101 const GrowableArray<VMStorage>& output_registers,
101 bool needs_return_buffer,102 bool needs_return_buffer,
102 int captured_state_mask) {103 int captured_state_mask) {
103 int locs_size = 64;104 int code_size = native_invoker_code_base_size + (num_args * native_invoker_size_per_arg);
104 CodeBuffer code("nep_invoker_blob", native_invoker_code_size, locs_size);105 int locs_size = 1; // must be non-zero
106 CodeBuffer code("nep_invoker_blob", code_size, locs_size);
105 DowncallStubGenerator g(&code, signature, num_args, ret_bt, abi,107 DowncallStubGenerator g(&code, signature, num_args, ret_bt, abi,
106 input_registers, output_registers,108 input_registers, output_registers,
107 needs_return_buffer, captured_state_mask);109 needs_return_buffer, captured_state_mask);
diff --git a/src/hotspot/cpu/aarch64/foreignGlobals_aarch64.cpp b/src/hotspot/cpu/aarch64/foreignGlobals_aarch64.cpp
index e20c7e4..90c1942 100644
--- a/src/hotspot/cpu/aarch64/foreignGlobals_aarch64.cpp
+++ b/src/hotspot/cpu/aarch64/foreignGlobals_aarch64.cpp
@@ -176,6 +176,10 @@ static void move_stack(MacroAssembler* masm, Register tmp_reg, int in_stk_bias,
176static void move_v128(MacroAssembler* masm, int out_stk_bias,176static void move_v128(MacroAssembler* masm, int out_stk_bias,
177 FloatRegister from_reg, VMStorage to_reg) {177 FloatRegister from_reg, VMStorage to_reg) {
178 switch (to_reg.type()) {178 switch (to_reg.type()) {
179 case StorageType::INTEGER:
180 assert(to_reg.segment_mask() == REG64_MASK, "only moves to 64-bit registers supported");
181 masm->fmovd(as_Register(to_reg), from_reg);
182 break;
179 case StorageType::VECTOR:183 case StorageType::VECTOR:
180 assert(to_reg.segment_mask() == V128_MASK, "only moves to v128 registers supported");184 assert(to_reg.segment_mask() == V128_MASK, "only moves to v128 registers supported");
181 masm->fmovd(as_FloatRegister(to_reg), from_reg);185 masm->fmovd(as_FloatRegister(to_reg), from_reg);
diff --git a/src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp
index 90b9b64..316548a 100644
--- a/src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp
+++ b/src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp
@@ -119,6 +119,111 @@ void BarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators
119 }119 }
120}120}
121121
122void BarrierSetAssembler::copy_load_at(MacroAssembler* masm,
123 DecoratorSet decorators,
124 BasicType type,
125 size_t bytes,
126 Register dst1,
127 Register dst2,
128 Address src,
129 Register tmp) {
130 if (bytes == 1) {
131 assert(dst2 == noreg, "invariant");
132 __ ldrb(dst1, src);
133 } else if (bytes == 2) {
134 assert(dst2 == noreg, "invariant");
135 __ ldrh(dst1, src);
136 } else if (bytes == 4) {
137 assert(dst2 == noreg, "invariant");
138 __ ldrw(dst1, src);
139 } else if (bytes == 8) {
140 assert(dst2 == noreg, "invariant");
141 __ ldr(dst1, src);
142 } else if (bytes == 16) {
143 assert(dst2 != noreg, "invariant");
144 assert(dst2 != dst1, "invariant");
145 __ ldp(dst1, dst2, src);
146 } else {
147 // Not the right size
148 ShouldNotReachHere();
149 }
150 if ((decorators & ARRAYCOPY_CHECKCAST) != 0 && UseCompressedOops) {
151 __ decode_heap_oop(dst1);
152 }
153}
154
155void BarrierSetAssembler::copy_store_at(MacroAssembler* masm,
156 DecoratorSet decorators,
157 BasicType type,
158 size_t bytes,
159 Address dst,
160 Register src1,
161 Register src2,
162 Register tmp1,
163 Register tmp2,
164 Register tmp3) {
165 if ((decorators & ARRAYCOPY_CHECKCAST) != 0 && UseCompressedOops) {
166 __ encode_heap_oop(src1);
167 }
168 if (bytes == 1) {
169 assert(src2 == noreg, "invariant");
170 __ strb(src1, dst);
171 } else if (bytes == 2) {
172 assert(src2 == noreg, "invariant");
173 __ strh(src1, dst);
174 } else if (bytes == 4) {
175 assert(src2 == noreg, "invariant");
176 __ strw(src1, dst);
177 } else if (bytes == 8) {
178 assert(src2 == noreg, "invariant");
179 __ str(src1, dst);
180 } else if (bytes == 16) {
181 assert(src2 != noreg, "invariant");
182 assert(src2 != src1, "invariant");
183 __ stp(src1, src2, dst);
184 } else {
185 // Not the right size
186 ShouldNotReachHere();
187 }
188}
189
190void BarrierSetAssembler::copy_load_at(MacroAssembler* masm,
191 DecoratorSet decorators,
192 BasicType type,
193 size_t bytes,
194 FloatRegister dst1,
195 FloatRegister dst2,
196 Address src,
197 Register tmp1,
198 Register tmp2,
199 FloatRegister vec_tmp) {
200 if (bytes == 32) {
201 __ ldpq(dst1, dst2, src);
202 } else {
203 ShouldNotReachHere();
204 }
205}
206
207void BarrierSetAssembler::copy_store_at(MacroAssembler* masm,
208 DecoratorSet decorators,
209 BasicType type,
210 size_t bytes,
211 Address dst,
212 FloatRegister src1,
213 FloatRegister src2,
214 Register tmp1,
215 Register tmp2,
216 Register tmp3,
217 FloatRegister vec_tmp1,
218 FloatRegister vec_tmp2,
219 FloatRegister vec_tmp3) {
220 if (bytes == 32) {
221 __ stpq(src1, src2, dst);
222 } else {
223 ShouldNotReachHere();
224 }
225}
226
122void BarrierSetAssembler::try_resolve_jobject_in_native(MacroAssembler* masm, Register jni_env,227void BarrierSetAssembler::try_resolve_jobject_in_native(MacroAssembler* masm, Register jni_env,
123 Register obj, Register tmp, Label& slowpath) {228 Register obj, Register tmp, Label& slowpath) {
124 // If mask changes we need to ensure that the inverse is still encodable as an immediate229 // If mask changes we need to ensure that the inverse is still encodable as an immediate
@@ -299,3 +404,18 @@ void BarrierSetAssembler::c2i_entry_barrier(MacroAssembler* masm) {
299 __ bind(method_live);404 __ bind(method_live);
300}405}
301406
407void BarrierSetAssembler::check_oop(MacroAssembler* masm, Register obj, Register tmp1, Register tmp2, Label& error) {
408 // Check if the oop is in the right area of memory
409 __ mov(tmp2, (intptr_t) Universe::verify_oop_mask());
410 __ andr(tmp1, obj, tmp2);
411 __ mov(tmp2, (intptr_t) Universe::verify_oop_bits());
412
413 // Compare tmp1 and tmp2. We don't use a compare
414 // instruction here because the flags register is live.
415 __ eor(tmp1, tmp1, tmp2);
416 __ cbnz(tmp1, error);
417
418 // make sure klass is 'reasonable', which is not zero.
419 __ load_klass(obj, obj); // get klass
420 __ cbz(obj, error); // if klass is NULL it is broken
421}
diff --git a/src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp b/src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp
index f308603..bfe9df8 100644
--- a/src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp
+++ b/src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp
@@ -48,6 +48,52 @@ public:
48 Register src, Register dst, Register count, RegSet saved_regs) {}48 Register src, Register dst, Register count, RegSet saved_regs) {}
49 virtual void arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop,49 virtual void arraycopy_epilogue(MacroAssembler* masm, DecoratorSet decorators, bool is_oop,
50 Register start, Register count, Register tmp, RegSet saved_regs) {}50 Register start, Register count, Register tmp, RegSet saved_regs) {}
51
52 virtual void copy_load_at(MacroAssembler* masm,
53 DecoratorSet decorators,
54 BasicType type,
55 size_t bytes,
56 Register dst1,
57 Register dst2,
58 Address src,
59 Register tmp);
60
61 virtual void copy_store_at(MacroAssembler* masm,
62 DecoratorSet decorators,
63 BasicType type,
64 size_t bytes,
65 Address dst,
66 Register src1,
67 Register src2,
68 Register tmp1,
69 Register tmp2,
70 Register tmp3);
71
72 virtual void copy_load_at(MacroAssembler* masm,
73 DecoratorSet decorators,
74 BasicType type,
75 size_t bytes,
76 FloatRegister dst1,
77 FloatRegister dst2,
78 Address src,
79 Register tmp1,
80 Register tmp2,
81 FloatRegister vec_tmp);
82
83 virtual void copy_store_at(MacroAssembler* masm,
84 DecoratorSet decorators,
85 BasicType type,
86 size_t bytes,
87 Address dst,
88 FloatRegister src1,
89 FloatRegister src2,
90 Register tmp1,
91 Register tmp2,
92 Register tmp3,
93 FloatRegister vec_tmp1,
94 FloatRegister vec_tmp2,
95 FloatRegister vec_tmp3);
96
51 virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,97 virtual void load_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
52 Register dst, Address src, Register tmp1, Register tmp2);98 Register dst, Address src, Register tmp1, Register tmp2);
53 virtual void store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,99 virtual void store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
@@ -72,6 +118,8 @@ public:
72 virtual void nmethod_entry_barrier(MacroAssembler* masm, Label* slow_path, Label* continuation, Label* guard);118 virtual void nmethod_entry_barrier(MacroAssembler* masm, Label* slow_path, Label* continuation, Label* guard);
73 virtual void c2i_entry_barrier(MacroAssembler* masm);119 virtual void c2i_entry_barrier(MacroAssembler* masm);
74120
121 virtual void check_oop(MacroAssembler* masm, Register obj, Register tmp1, Register tmp2, Label& error);
122
75 virtual bool supports_instruction_patching() {123 virtual bool supports_instruction_patching() {
76 NMethodPatchingType patching_type = nmethod_patching_type();124 NMethodPatchingType patching_type = nmethod_patching_type();
77 return patching_type == NMethodPatchingType::conc_instruction_and_data_patch ||125 return patching_type == NMethodPatchingType::conc_instruction_and_data_patch ||
diff --git a/src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp
index 0693a2c..6f4d201 100644
--- a/src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp
+++ b/src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.cpp
@@ -1,5 +1,5 @@
1/*1/*
2 * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved.2 * Copyright (c) 2019, 2023, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *4 *
5 * This code is free software; you can redistribute it and/or modify it5 * This code is free software; you can redistribute it and/or modify it
@@ -444,6 +444,19 @@ void ZBarrierSetAssembler::generate_c2_load_barrier_stub(MacroAssembler* masm, Z
444 __ b(*stub->continuation());444 __ b(*stub->continuation());
445}445}
446446
447#endif // COMPILER2
448
447#undef __449#undef __
450#define __ masm->
448451
449#endif // COMPILER2452void ZBarrierSetAssembler::check_oop(MacroAssembler* masm, Register obj, Register tmp1, Register tmp2, Label& error) {
453 // Check if mask is good.
454 // verifies that ZAddressBadMask & r0 == 0
455 __ ldr(tmp2, Address(rthread, ZThreadLocalData::address_bad_mask_offset()));
456 __ andr(tmp1, obj, tmp2);
457 __ cbnz(tmp1, error);
458
459 BarrierSetAssembler::check_oop(masm, obj, tmp1, tmp2, error);
460}
461
462#undef __
diff --git a/src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.hpp b/src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.hpp
index ac32d91..c852dac 100644
--- a/src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.hpp
+++ b/src/hotspot/cpu/aarch64/gc/z/zBarrierSetAssembler_aarch64.hpp
@@ -97,6 +97,8 @@ public:
97 void generate_c2_load_barrier_stub(MacroAssembler* masm,97 void generate_c2_load_barrier_stub(MacroAssembler* masm,
98 ZLoadBarrierStubC2* stub) const;98 ZLoadBarrierStubC2* stub) const;
99#endif // COMPILER299#endif // COMPILER2
100
101 void check_oop(MacroAssembler* masm, Register obj, Register tmp1, Register tmp2, Label& error);
100};102};
101103
102#endif // CPU_AARCH64_GC_Z_ZBARRIERSETASSEMBLER_AARCH64_HPP104#endif // CPU_AARCH64_GC_Z_ZBARRIERSETASSEMBLER_AARCH64_HPP
diff --git a/src/hotspot/cpu/aarch64/globals_aarch64.hpp b/src/hotspot/cpu/aarch64/globals_aarch64.hpp
index bc1e3ba..046c0ef 100644
--- a/src/hotspot/cpu/aarch64/globals_aarch64.hpp
+++ b/src/hotspot/cpu/aarch64/globals_aarch64.hpp
@@ -1,5 +1,5 @@
1/*1/*
2 * Copyright (c) 2000, 2022, Oracle and/or its affiliates. All rights reserved.2 * Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
3 * Copyright (c) 2015, 2019, Red Hat Inc. All rights reserved.3 * Copyright (c) 2015, 2019, Red Hat Inc. All rights reserved.
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 *5 *
@@ -88,6 +88,8 @@ define_pd_global(intx, InlineSmallCode, 1000);
88 "Use Neon for CRC32 computation") \88 "Use Neon for CRC32 computation") \
89 product(bool, UseCRC32, false, \89 product(bool, UseCRC32, false, \
90 "Use CRC32 instructions for CRC32 computation") \90 "Use CRC32 instructions for CRC32 computation") \
91 product(bool, UseCryptoPmullForCRC32, false, \
92 "Use Crypto PMULL instructions for CRC32 computation") \
91 product(bool, UseSIMDForMemoryOps, false, \93 product(bool, UseSIMDForMemoryOps, false, \
92 "Use SIMD instructions in generated memory move code") \94 "Use SIMD instructions in generated memory move code") \
93 product(bool, UseSIMDForArrayEquals, true, \95 product(bool, UseSIMDForArrayEquals, true, \
diff --git a/src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp b/src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp
index 2857c44..c6611b8 100644
--- a/src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp
+++ b/src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp
@@ -1,5 +1,5 @@
1/*1/*
2 * Copyright (c) 2003, 2022, Oracle and/or its affiliates. All rights reserved.2 * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved.
3 * Copyright (c) 2014, 2020, Red Hat Inc. All rights reserved.3 * Copyright (c) 2014, 2020, Red Hat Inc. All rights reserved.
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 *5 *
@@ -802,7 +802,7 @@ void InterpreterMacroAssembler::lock_object(Register lock_reg)
802 // copy802 // copy
803 mov(rscratch1, sp);803 mov(rscratch1, sp);
804 sub(swap_reg, swap_reg, rscratch1);804 sub(swap_reg, swap_reg, rscratch1);
805 ands(swap_reg, swap_reg, (uint64_t)(7 - os::vm_page_size()));805 ands(swap_reg, swap_reg, (uint64_t)(7 - (int)os::vm_page_size()));
806806
807 // Save the test result, for recursive case, the result is zero807 // Save the test result, for recursive case, the result is zero
808 str(swap_reg, Address(lock_reg, mark_offset));808 str(swap_reg, Address(lock_reg, mark_offset));
diff --git a/src/hotspot/cpu/aarch64/jvmciCodeInstaller_aarch64.cpp b/src/hotspot/cpu/aarch64/jvmciCodeInstaller_aarch64.cpp
index e0d9d6c..6ffb9aa 100644
--- a/src/hotspot/cpu/aarch64/jvmciCodeInstaller_aarch64.cpp
+++ b/src/hotspot/cpu/aarch64/jvmciCodeInstaller_aarch64.cpp
@@ -130,21 +130,21 @@ void CodeInstaller::pd_relocate_JavaMethod(CodeBuffer &cbuf, methodHandle& metho
130 assert(!method->is_static(), "cannot call static method with invokeinterface");130 assert(!method->is_static(), "cannot call static method with invokeinterface");
131 NativeCall* call = nativeCall_at(_instructions->start() + pc_offset);131 NativeCall* call = nativeCall_at(_instructions->start() + pc_offset);
132 _instructions->relocate(call->instruction_address(), virtual_call_Relocation::spec(_invoke_mark_pc));132 _instructions->relocate(call->instruction_address(), virtual_call_Relocation::spec(_invoke_mark_pc));
133 call->trampoline_jump(cbuf, SharedRuntime::get_resolve_virtual_call_stub());133 call->trampoline_jump(cbuf, SharedRuntime::get_resolve_virtual_call_stub(), JVMCI_CHECK);
134 break;134 break;
135 }135 }
136 case INVOKESTATIC: {136 case INVOKESTATIC: {
137 assert(method->is_static(), "cannot call non-static method with invokestatic");137 assert(method->is_static(), "cannot call non-static method with invokestatic");
138 NativeCall* call = nativeCall_at(_instructions->start() + pc_offset);138 NativeCall* call = nativeCall_at(_instructions->start() + pc_offset);
139 _instructions->relocate(call->instruction_address(), relocInfo::static_call_type);139 _instructions->relocate(call->instruction_address(), relocInfo::static_call_type);
140 call->trampoline_jump(cbuf, SharedRuntime::get_resolve_static_call_stub());140 call->trampoline_jump(cbuf, SharedRuntime::get_resolve_static_call_stub(), JVMCI_CHECK);
141 break;141 break;
142 }142 }
143 case INVOKESPECIAL: {143 case INVOKESPECIAL: {
144 assert(!method->is_static(), "cannot call static method with invokespecial");144 assert(!method->is_static(), "cannot call static method with invokespecial");
145 NativeCall* call = nativeCall_at(_instructions->start() + pc_offset);145 NativeCall* call = nativeCall_at(_instructions->start() + pc_offset);
146 _instructions->relocate(call->instruction_address(), relocInfo::opt_virtual_call_type);146 _instructions->relocate(call->instruction_address(), relocInfo::opt_virtual_call_type);
147 call->trampoline_jump(cbuf, SharedRuntime::get_resolve_opt_virtual_call_stub());147 call->trampoline_jump(cbuf, SharedRuntime::get_resolve_opt_virtual_call_stub(), JVMCI_CHECK);
148 break;148 break;
149 }149 }
150 default:150 default:
diff --git a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
index 8cd6d80..ce8ccc8 100644
--- a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
+++ b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
@@ -926,8 +926,7 @@ address MacroAssembler::trampoline_call(Address entry) {
926address MacroAssembler::emit_trampoline_stub(int insts_call_instruction_offset,926address MacroAssembler::emit_trampoline_stub(int insts_call_instruction_offset,
927 address dest) {927 address dest) {
928 // Max stub size: alignment nop, TrampolineStub.928 // Max stub size: alignment nop, TrampolineStub.
929 address stub = start_a_stub(NativeInstruction::instruction_size929 address stub = start_a_stub(max_trampoline_stub_size());
930 + NativeCallTrampolineStub::instruction_size);
931 if (stub == NULL) {930 if (stub == NULL) {
932 return NULL; // CodeBuffer::expand failed931 return NULL; // CodeBuffer::expand failed
933 }932 }
@@ -959,6 +958,11 @@ address MacroAssembler::emit_trampoline_stub(int insts_call_instruction_offset,
959 return stub_start_addr;958 return stub_start_addr;
960}959}
961960
961int MacroAssembler::max_trampoline_stub_size() {
962 // Max stub size: alignment nop, TrampolineStub.
963 return NativeInstruction::instruction_size + NativeCallTrampolineStub::instruction_size;
964}
965
962void MacroAssembler::emit_static_call_stub() {966void MacroAssembler::emit_static_call_stub() {
963 // CompiledDirectStaticCall::set_to_interpreted knows the967 // CompiledDirectStaticCall::set_to_interpreted knows the
964 // exact layout of this stub.968 // exact layout of this stub.
@@ -971,6 +975,11 @@ void MacroAssembler::emit_static_call_stub() {
971 br(rscratch1);975 br(rscratch1);
972}976}
973977
978int MacroAssembler::static_call_stub_size() {
979 // isb; movk; movz; movz; movk; movz; movz; br
980 return 8 * NativeInstruction::instruction_size;
981}
982
974void MacroAssembler::c2bool(Register x) {983void MacroAssembler::c2bool(Register x) {
975 // implements x == 0 ? 0 : 1984 // implements x == 0 ? 0 : 1
976 // note: must only look at least-significant byte of x985 // note: must only look at least-significant byte of x
@@ -3594,6 +3603,65 @@ void MacroAssembler::update_word_crc32(Register crc, Register v, Register tmp,
3594 eor(crc, crc, tmp);3603 eor(crc, crc, tmp);
3595}3604}
35963605
3606void MacroAssembler::kernel_crc32_using_crypto_pmull(Register crc, Register buf,
3607 Register len, Register tmp0, Register tmp1, Register tmp2, Register tmp3) {
3608 Label CRC_by4_loop, CRC_by1_loop, CRC_less128, CRC_by128_pre, CRC_by32_loop, CRC_less32, L_exit;
3609 assert_different_registers(crc, buf, len, tmp0, tmp1, tmp2);
3610
3611 subs(tmp0, len, 384);
3612 mvnw(crc, crc);
3613 br(Assembler::GE, CRC_by128_pre);
3614 BIND(CRC_less128);
3615 subs(len, len, 32);
3616 br(Assembler::GE, CRC_by32_loop);
3617 BIND(CRC_less32);
3618 adds(len, len, 32 - 4);
3619 br(Assembler::GE, CRC_by4_loop);
3620 adds(len, len, 4);
3621 br(Assembler::GT, CRC_by1_loop);
3622 b(L_exit);
3623
3624 BIND(CRC_by32_loop);
3625 ldp(tmp0, tmp1, Address(buf));
3626 crc32x(crc, crc, tmp0);
3627 ldp(tmp2, tmp3, Address(buf, 16));
3628 crc32x(crc, crc, tmp1);
3629 add(buf, buf, 32);
3630 crc32x(crc, crc, tmp2);
3631 subs(len, len, 32);
3632 crc32x(crc, crc, tmp3);
3633 br(Assembler::GE, CRC_by32_loop);
3634 cmn(len, (u1)32);
3635 br(Assembler::NE, CRC_less32);
3636 b(L_exit);
3637
3638 BIND(CRC_by4_loop);
3639 ldrw(tmp0, Address(post(buf, 4)));
3640 subs(len, len, 4);
3641 crc32w(crc, crc, tmp0);
3642 br(Assembler::GE, CRC_by4_loop);
3643 adds(len, len, 4);
3644 br(Assembler::LE, L_exit);
3645 BIND(CRC_by1_loop);
3646 ldrb(tmp0, Address(post(buf, 1)));
3647 subs(len, len, 1);
3648 crc32b(crc, crc, tmp0);
3649 br(Assembler::GT, CRC_by1_loop);
3650 b(L_exit);
3651
3652 BIND(CRC_by128_pre);
3653 kernel_crc32_common_fold_using_crypto_pmull(crc, buf, len, tmp0, tmp1, tmp2,
3654 4*256*sizeof(juint) + 8*sizeof(juint));
3655 mov(crc, 0);
3656 crc32x(crc, crc, tmp0);
3657 crc32x(crc, crc, tmp1);
3658
3659 cbnz(len, CRC_less128);
3660
3661 BIND(L_exit);
3662 mvnw(crc, crc);
3663}
3664
3597void MacroAssembler::kernel_crc32_using_crc32(Register crc, Register buf,3665void MacroAssembler::kernel_crc32_using_crc32(Register crc, Register buf,
3598 Register len, Register tmp0, Register tmp1, Register tmp2,3666 Register len, Register tmp0, Register tmp1, Register tmp2,
3599 Register tmp3) {3667 Register tmp3) {
@@ -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